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

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