Standardize make commands to use "$(MAKE) -C" 06/406/3
authorMichael Robson <mprobson@illinois.edu>
Wed, 15 Oct 2014 21:50:25 +0000 (16:50 -0500)
committerMichael Robson <mprobson@illinois.edu>
Wed, 15 Oct 2014 22:05:45 +0000 (17:05 -0500)
Previously these commands were using a variety of make and $(MAKE).
$(MAKE) is preferred for recursive calls because it will use the version
of make used to invoke the top level call. This also passes the
MAKEFLAGS variable for sub-makes. See section 5.7.1 of the GNU make
manual for more info.

Another form of variation was the use of "cd DIR ; make", which is
will not correctly catch errors, or "cd DIR && make", which will correctly
catch errors. I have used the -C flag instead per the instructions in
section 5.7 of the GNU make manual on recursive use of make. This will
generate the equivalent of "cd DIR && make" which will fail if the cd
fails instead of not cd'ing and silently continuing.

Change-Id: I139231172c7422ac556a5a81f734f541173746d0

examples/Makefile
src/libs/Makefile
src/scripts/Makefile
tests/Makefile

index 4e04bac393d4506e65142ac7c59fc619e0566c51..b2bdf0cbbc4714bc3f8f73da66cf2780f71a5e68 100644 (file)
@@ -1,14 +1,13 @@
 DIRS=charm++ converse ampi armci bigsim
 
-
 all:
        for d in $(DIRS); do \
-               (cd $$d; $(MAKE) all OPTS='$(OPTS)' || exit 1) || exit 1; \
+               ($(MAKE) -C $$d all OPTS='$(OPTS)' || exit 1) || exit 1; \
        done
 
 test:
        for d in $(DIRS); do \
-               (cd $$d; $(MAKE) test OPTS='$(OPTS)' TESTOPTS='$(TESTOPTS)' || exit 1) || exit 1; \
+               ($(MAKE) -C $$d test OPTS='$(OPTS)' TESTOPTS='$(TESTOPTS)' || exit 1) || exit 1; \
        done
 
 test-fem:
@@ -16,10 +15,12 @@ test-fem:
 
 bgtest:
        for d in charm++ ampi armci; do \
-               (cd $$d; $(MAKE) bgtest OPTS='$(OPTS)' TESTOPTS='$(TESTOPTS)' || exit 1) || exit 1; \
+               ($(MAKE) -C $$d bgtest OPTS='$(OPTS)' TESTOPTS='$(TESTOPTS)' || exit 1) || exit 1; \
        done
 
 clean:
-       for d in $(DIRS); do (cd $$d; $(MAKE) clean OPTS='$(OPTS)'); done
+       for d in $(DIRS); do \
+               ($(MAKE) -C $$d clean OPTS='$(OPTS)'); \
+       done
        rm -f TAGS #*#
        rm -f core *~
index 50c965cae568ba62d34407802c5be840aad0a85c..15cd54f5d23e83cd9bb12cc28292247641cba21c 100644 (file)
@@ -3,15 +3,15 @@ CHARMC=../../bin/charmc $(OPTS)
 all: convlibs charmlibs otherlibs
 
 convlibs:
-       cd conv-libs; $(MAKE) all OPTS='$(OPTS)'
+       $(MAKE) -C conv-libs all OPTS='$(OPTS)'
 
 charmlibs: convlibs
-       cd ck-libs; $(MAKE) all OPTS='$(OPTS)'
+       $(MAKE) -C ck-libs all OPTS='$(OPTS)'
 
 otherlibs: charmlibs
-       cd other; $(MAKE) all OPTS='$(OPTS)'
+       $(MAKE) -C other all OPTS='$(OPTS)'
 
 clean:
-       cd conv-libs; $(MAKE) clean
-       cd ck-libs; $(MAKE) clean
-       cd other; $(MAKE) clean
+       $(MAKE) -C conv-libs clean
+       $(MAKE) -C ck-libs clean
+       $(MAKE) -C other clean
index 380573364808b98a970e73581fa856d0526fa190..11324ac818ade1f6439b7563dafed6e68d72cca6 100644 (file)
@@ -33,8 +33,8 @@ CXXFLAGS=-I.
 all: charm++ bigsim LIBS AMPI f90charm TSM SM PVM doc everylb
 
 all-test: bigsim LIBS
-       cd ../tests ; $(MAKE) all OPTS='$(OPTS)'
-       cd ../examples ; $(MAKE) all OPTS='$(OPTS)'
+       $(MAKE) -C ../tests all OPTS='$(OPTS)'
+       $(MAKE) -C ../examples all OPTS='$(OPTS)'
 
 charm++: charm-target
        @echo "$(OPTS)" > OPTS
@@ -49,7 +49,7 @@ SM: converse $(L)/libsm.a
 PVM: converse $(L)/libpvmc.a
 
 AMR: charm++ LIBS
-       cd libs/ck-libs/amr; make all OPTS='$(OPTS)'
+       $(MAKE) -C libs/ck-libs/amr all OPTS='$(OPTS)'
 
 FEM: charm++ AMPI
        $(MAKE) -C libs/ck-libs/ FEM
@@ -106,11 +106,11 @@ $(L)/libckmain.a: main.o
 translators: charmxi conv-cpm
 
 msa: charm++
-       cd libs/ck-libs/multiphaseSharedArrays && $(MAKE)
+       $(MAKE) -C libs/ck-libs/multiphaseSharedArrays
 
 jade: charm++ msa
 #      make the lib, include
-       cd langs/jade && $(MAKE)
+       $(MAKE) -C langs/jade
 
 
 # This should be done offline, since the user does not need to compile
@@ -119,9 +119,9 @@ jade: charm++ msa
 # care of.
 #jadeall: jade
 #      make parser.g -> .java files
-#      cd langs/jade && $(MAKE) p
+#      $(MAKE) -C langs/jade p
 #      make the jade.jar file
-#      cd ../java/charm/jade && $(MAKE)
+#      $(MAKE) -C ../java/charm/jade
 
 #include TAU defs
 TAU_MAKEFILE=Make.tau
@@ -133,44 +133,44 @@ Tau:
        $(MAKE) $(L)/libtrace-Tau.a $(L)/libtrace-all.a TAU_TRACE_OBJ=libtrace-Tau.o
 
 LIBS: CONVLIBS CHARMLIBS everylb
-       cd libs; $(MAKE) otherlibs
+       $(MAKE) -C libs otherlibs
        echo "Built LIBS Successfully"
 
 bgtest: bigsim LIBS
-       cd ../tests ; $(MAKE) bgtest OPTS='$(OPTS)'
-       cd ../examples ; $(MAKE) bgtest OPTS='$(OPTS)'
+       $(MAKE) -C ../tests bgtest OPTS='$(OPTS)'
+       $(MAKE) -C ../examples bgtest OPTS='$(OPTS)'
 
 syncfttest causalfttest mpisyncfttest mlogfttest: charm++ LIBS
-       cd ../tests ; $(MAKE) $@ OPTS='$(OPTS)'
+       $(MAKE) -C ../tests $@ OPTS='$(OPTS)'
 
 test: bigsim LIBS
-       cd ../tests ; $(MAKE) test OPTS='$(OPTS)'
-       cd ../examples ; $(MAKE) test OPTS='$(OPTS)'
+       $(MAKE) -C ../tests test OPTS='$(OPTS)'
+       $(MAKE) -C ../examples test OPTS='$(OPTS)'
 
 test-converse: converse
-       cd ../tests ; $(MAKE) test-converse  OPTS='$(OPTS)'
+       $(MAKE) -C ../tests test-converse  OPTS='$(OPTS)'
 
 test-charm: charm++
-       cd ../tests ; $(MAKE) test-charm  OPTS='$(OPTS)'
+       $(MAKE) -C ../tests test-charm  OPTS='$(OPTS)'
 
 test-AMPI: AMPI
-       cd ../tests ; $(MAKE) test-AMPI  OPTS='$(OPTS)'
+       $(MAKE) -C ../tests test-AMPI  OPTS='$(OPTS)'
 
 test-fem: FEM
-       cd ../tests ; $(MAKE) test-fem  OPTS='$(OPTS)'
-       cd ../examples ; $(MAKE) test-fem  OPTS='$(OPTS)'
+       $(MAKE) -C ../tests test-fem  OPTS='$(OPTS)'
+       $(MAKE) -C ../examples test-fem  OPTS='$(OPTS)'
 
 ps-doc: basics
-       cd ../doc ; make ps
+       $(MAKE) -C ../doc ps
 
 pdf-doc: basics
-       cd ../doc ; make pdf
+       $(MAKE) -C ../doc pdf
 
 html-doc: basics
-       cd ../doc ; make html
+       $(MAKE) -C ../doc html
 
 doc: basics
-       cd ../doc ; make doc
+       $(MAKE) -C ../doc doc
 
 CHARMC=../bin/charmc $(CHARMOPTS) $(OPTS)
 
@@ -449,9 +449,9 @@ fmain-ok: fmain.f90
        -@touch fmain-ok
 
 QUICK_THREADS: $(CVHEADERS)
-       -( cd QuickThreads && $(MAKE) clean )
+       -( $(MAKE) -C QuickThreads clean )
        ( cd QuickThreads;./configure )
-       ( cd QuickThreads ; $(MAKE) qt  OPTS='$(OPTS) -Wno-error' ) || ( echo "Did you try to build net-linux on a 64-bit system? Try net-linux-x86_64" && false )
+       ( $(MAKE) -C QuickThreads qt  OPTS='$(OPTS) -Wno-error' ) || ( echo "Did you try to build net-linux on a 64-bit system? Try net-linux-x86_64" && false )
        cp -f QuickThreads/libqt.a ../lib/libckqt.a
        -(CHARMINC=.; . ./conv-config.sh; \
          test -d ../lib_so && \
@@ -460,7 +460,7 @@ QUICK_THREADS: $(CVHEADERS)
        touch QUICK_THREADS
 
 CONVLIBS: converse
-       cd libs; $(MAKE) convlibs OPTS='$(OPTS)'
+       $(MAKE) -C libs convlibs OPTS='$(OPTS)'
 
 $(L)/libconv-core.a: $(LIBCONV_CORE)
        $(CHARMC) $(TAU_LIBS) -o $@ $(LIBCONV_CORE) 
@@ -681,7 +681,7 @@ charm-core: converse $(L)/libck.a $(L)/libckf.a $(L)/libckmain.a
 charm-target: loadbalancers default_libs comlib_objs mpi-main 
 
 CHARMLIBS: charm++ CONVLIBS 
-       cd libs; $(MAKE) charmlibs OPTS='$(OPTS)'
+       $(MAKE) -C libs charmlibs OPTS='$(OPTS)'
 
 $(L)/libck.a: $(LIBCK_CORE) 
        $(CHARMC) -o $@ $(LIBCK_CORE)
@@ -986,11 +986,11 @@ clean:
        rm -f core #*#
        rm -f core *~
        rm -f *.stamp
-       if [ -d charmrun-src ] ; then ( cd charmrun-src; make clean ) ; fi
-       -( cd doc && $(MAKE) clean )
-       ( cd libs; $(MAKE) clean )
-       ( cd ../examples && $(MAKE) clean )
-       ( cd ../tests && $(MAKE) clean )
+       if [ -d charmrun-src ] ; then ( $(MAKE) -C charmrun-src clean ) ; fi
+       -( $(MAKE) -C doc clean )
+       ( $(MAKE) -C libs clean )
+       ( $(MAKE) -C ../examples clean )
+       ( $(MAKE) -C ../tests clean )
 
 veryclean:
        rm -rf ../bin
index b7f09a4771ff96cbafad1446e250007e5b9c6b88..c6e217dad513b657418f4b5a2ed6102885b1ae71 100644 (file)
@@ -6,38 +6,40 @@ DIRS=util charm++ converse ampi
 
 all:
        for d in $(DIRS); do \
-               (cd $$d && $(MAKE) all OPTS='$(OPTS)' || exit 1) || exit 1; \
+               ($(MAKE) -C $$d all OPTS='$(OPTS)' || exit 1) || exit 1; \
        done
 
 test:
        for d in $(DIRS); do \
-               (cd $$d && $(MAKE) test OPTS='$(OPTS)' || exit 1) || exit 1; \
+               ($(MAKE) -C $$d test OPTS='$(OPTS)' || exit 1) || exit 1; \
        done
 
 bgtest:
        for d in charm++ ampi; do \
-               (cd $$d && $(MAKE) bgtest OPTS='$(OPTS)' || exit 1) || exit 1; \
+               ($(MAKE) -C $$d bgtest OPTS='$(OPTS)' || exit 1) || exit 1; \
        done
 
 syncfttest causalfttest mpisyncfttest mlogfttest:
        for d in charm++ ampi; do \
-               (cd $$d && $(MAKE) $@ OPTS='$(OPTS)' || exit 1) || exit 1; \
+               ($(MAKE) -C $$d $@ OPTS='$(OPTS)' || exit 1) || exit 1; \
        done
 
 test-converse:
-       cd converse; $(MAKE) test OPTS='$(OPTS)'
+       $(MAKE) -C converse test OPTS='$(OPTS)'
 
 test-charm:
-       cd charm++; $(MAKE) test OPTS='$(OPTS)'
+       $(MAKE) -C charm++ test OPTS='$(OPTS)'
 
 test-AMPI:
-       cd ampi; $(MAKE) test OPTS='$(OPTS)'
+       $(MAKE) -C ampi test OPTS='$(OPTS)'
 
 test-fem:
-       cd fem; $(MAKE) test OPTS='$(OPTS)'
+       $(MAKE) -C fem test OPTS='$(OPTS)'
 
 clean:
-       for d in $(DIRS); do (cd $$d && $(MAKE) clean OPTS='$(OPTS)'); done
+       for d in $(DIRS); do \
+               ($(MAKE) -C $$d clean OPTS='$(OPTS)'); \
+       done
        rm -f TAGS #*#
        rm -f core *~