beautypg.com

1 example procedure 1, Section 3.9.1.1 – HP XC System 2.x Software User Manual

Page 52

background image

srcdir = .

HYPRE_DIRS =\

utilities\

struct_matrix_vector\

struct_linear_solvers\

test

all:

@ \

for i in ${HYPRE_DIRS}; \

do \

if [ -d $$i ]; \

then \

echo "Making $$i ..."; \

(cd $$i; make); \

echo ""; \

fi; \

done

clean:

@ \

for i in ${HYPRE_DIRS}; \

do \

if [ -d $$i ]; \

then \

echo "Cleaning $$i ..."; \

(cd $$i; make clean); \

fi; \

done

veryclean:

@ \

for i in ${HYPRE_DIRS}; \

do \

if [ -d $$i ]; \

then \

echo "Very-cleaning $$i ..."; \

(cd $$i; make veryclean); \

fi; \

done

3.9.1.1 Example Procedure 1

Go through the directories serially and have the make procedure within each directory be
parallel.

For the purpose of this exercise we are only parallelizing the “make all” component. The
“clean” and “veryclean” components can be parallelized in a similar fashion.

Modified makefile:

all:

@ \

for i ${HYPRE_DIRS}; \

do \

if [ -d $$i ]; \

then \

echo "Making $$i ..."; \

echo $(PREFIX) $(MAKE) $(MAKE_J) -C $$i; \

$(PREFIX) $(MAKE) $(MAKE_J) -C $$i;

\

fi; \

done

3-12

Developing Applications