Implement conv-mach-opt.mak 27/4527/6
authorEvan Ramos <evan@hpccharm.com>
Mon, 27 Aug 2018 18:35:29 +0000 (13:35 -0500)
committerEvan Ramos <evan@hpccharm.com>
Fri, 31 Aug 2018 17:02:04 +0000 (12:02 -0500)
This file allows Makefiles to see variables determined at configure time
without invoking a shell script, which is slow.

Change-Id: I558f898db13b50306bb7f0bc349d61cfd6d365fc

30 files changed:
build
examples/ampi/pingpong/Makefile
examples/bigsim/Makefile
examples/bigsim/tools/Makefile
examples/charm++/TRAM/Makefile
src/QuickThreads/mkfiles/aix
src/QuickThreads/mkfiles/aix-light
src/QuickThreads/mkfiles/aix-light64
src/QuickThreads/mkfiles/generic
src/QuickThreads/mkfiles/generic-light
src/QuickThreads/mkfiles/generic-mic64
src/QuickThreads/mkfiles/generic64
src/QuickThreads/mkfiles/generic64-light
src/QuickThreads/mkfiles/generic_alloca
src/QuickThreads/mkfiles/i386-gcc
src/arch/common/special.sh
src/arch/cuda/hybridAPI/Makefile
src/arch/template/README
src/libs/ck-libs/Makefile
src/libs/ck-libs/ampi/Makefile
src/libs/ck-libs/liveViz/Makefile
src/libs/ck-libs/pythonCCS/Makefile
src/scripts/Make.gpu
src/scripts/Makefile
src/scripts/charmc
src/scripts/configure.ac
tests/Makefile
tests/charm++/partitions/Makefile
tests/charm++/provisioning/Makefile
tests/charm++/streamingAllToAll/Makefile

diff --git a/build b/build
index e09b58ba1aee3d558fea70ef7b24e8a19ed3cc6f..971594b72cddc8c21a82b0690c1fa973149caaef 100755 (executable)
--- a/build
+++ b/build
@@ -827,11 +827,13 @@ chmod +x $ConvUsr
 # Create conv-mach-opt headers with special build-time options
 ConvHeader="$DESTINATION/tmp/conv-mach-opt.h"
 ConvSh="$DESTINATION/tmp/conv-mach-opt.sh"
-if [ ! -f $ConvSh -o ! -f $ConvHeader ]
+ConvMak="$DESTINATION/tmp/conv-mach-opt.mak"
+if [ ! -f "$ConvSh" -o ! -f "$ConvHeader" -o ! -f "$ConvMak" ]
 then
-  Echo "Generating $ConvHeader, conv-mach-opt.sh"
-  echo '/* Build-time options header, automatically generated by charm/build*/'> $ConvHeader
-  echo '# Built-time options header, automatically generated by charm/build'> $ConvSh
+  Echo "Generating $ConvHeader, conv-mach-opt.sh, conv-mach-opt.mak"
+  echo '/* Build-time options header, automatically generated by charm/build */' > $ConvHeader
+  echo '# Build-time options header, automatically generated by charm/build' > $ConvSh
+  echo '# Build-time options header, automatically generated by charm/build' > $ConvMak
   echo '[ -z "$CHARMINC" ] && CHARMINC="."' >> $ConvSh
 fi
 if test -n "$COMPILER"
@@ -859,6 +861,7 @@ then
       echo '#include "'conv-mach-$i.h'"' >> $ConvHeader
       if [ $BUILD_CUDA -eq 1 ]; then
         echo 'CUDA_DIR="'$CUDA_DIR'"'>>$ConvSh
+        echo "CUDA_DIR:=$CUDA_DIR" >> $ConvMak
       fi
       echo '. $CHARMINC/'"conv-mach-$i.sh" >> $ConvSh
     done
@@ -867,13 +870,16 @@ fi
 if test  "$BUILD_SHARED"  = "-build-shared"
 then
     echo "CMK_NO_BUILD_SHARED=false" >> $ConvSh
+    echo "CMK_NO_BUILD_SHARED:=false" >> $ConvMak
 else
     echo "CMK_NO_BUILD_SHARED=true" >> $ConvSh
+    echo "CMK_NO_BUILD_SHARED:=true" >> $ConvMak
 fi
 
 if test  -n "$WITH_ROMIO" 
 then
     echo "CMK_AMPI_WITH_ROMIO=\"true\"" >> $ConvSh
+    echo "CMK_AMPI_WITH_ROMIO:=true" >> $ConvMak
 fi
 
 if test -n "$WITH_PRODUCTION"
@@ -896,15 +902,21 @@ then
     echo "CMK_WITH_TAU=\"true\"" >> $ConvSh
 fi
 
-echo $BASEVERSION > $DESTINATION/tmp/.vdir
-echo $BASEVERSION | sed -e 's@-.*@@' > $DESTINATION/tmp/.gdir
+CMK_VDIR="$BASEVERSION"
+echo "$CMK_VDIR" > $DESTINATION/tmp/.vdir
+echo 'CMK_VDIR="'$CMK_VDIR'"' >> $ConvSh
+echo "CMK_VDIR:=$CMK_VDIR" >> $ConvMak
+CMK_GDIR="`echo $BASEVERSION | sed -e 's@-.*@@'`"
+echo "$CMK_GDIR" > $DESTINATION/tmp/.gdir
+echo 'CMK_GDIR="'$CMK_GDIR'"' >> $ConvSh
+echo "CMK_GDIR:=$CMK_GDIR" >> $ConvMak
 
 echo 'BUILDOPTS="'$OPTS'"'  >> $ConvSh
 echo "SRCBASE=$srcbase" > $DESTINATION/tmp/charmpath.mk
 
 echo "CONFIG_OPTS=\"$CONFIG_OPTS\"" > "$DESTINATION/tmp/config_opts.sh"
 chmod +x "$DESTINATION/tmp/config_opts.sh"
-echo "OPTSATBUILDTIME += $OPTS" > "$DESTINATION/tmp/buildopts.mk"
+echo "OPTSATBUILDTIME+=$OPTS" >> $ConvMak
 
 fi
 
index 80cf44a5665feb99286b6e0e4eac464edfc83c22..edf738511b51099b540acc6f5402e8220657f289 100644 (file)
@@ -1,4 +1,5 @@
 -include ../../common.mk
+-include ../../include/conv-mach-opt.mak
 OPTS=-O3 
 MPIOPTS=-O3
 CHARMC=../../../bin/ampicxx $(OPTS)
@@ -18,15 +19,13 @@ pipe: pingpong-pipeline.c
 
 # This test runs longer on BGQ, so reduce the number of iterations run there:
 test: all
-       CHARMINC=../../../include . ../../../tmp/conv-mach.sh ; \
-       if [ "$$CMK_BLUEGENEQ" = "1" ] ; \
-       then \
-         $(call run, +p1 ./pgm 1000 16 +vp2) ; \
-         $(call run, +p2 ./pgm 100 16 +vp2) ; \
-       else \
-         $(call run, +p1 ./pgm 100000 16 +vp2) ; \
-         $(call run, +p2 ./pgm 10000 16 +vp2) ; \
-       fi ;
+ifeq ($(CMK_BLUEGENEQ),1)
+       $(call run, +p1 ./pgm 1000 16 +vp2)
+       $(call run, +p2 ./pgm 100 16 +vp2)
+else
+       $(call run, +p1 ./pgm 100000 16 +vp2)
+       $(call run, +p2 ./pgm 10000 16 +vp2)
+endif
 
 bgtest: all
        $(call run, +p1 ./pgm 10 16 +vp2 +x1 +y1 +z1 )
index c88664c3b127acdbf1eb4b8eac9851e4edee7dc1..9c9f4c7d739cfad4e787a279092e95d034dd2544 100644 (file)
@@ -1,9 +1,11 @@
+-include ../../../include/conv-mach-opt.mak
+
 DIRS = \
   emulator \
 # Disabled due to host/target incompatibility described in bug #89
 #  tools \
 
-ifneq (0,$(shell CHARMINC=../../tmp; if test -f $$CHARMINC/conv-config.sh; then . $$CHARMINC/conv-config.sh; echo $$CMK_TRACE_ENABLED; fi))
+ifneq (0,$(CMK_TRACE_ENABLED))
   DIRS += sdag
 endif
 
index 2a493a8b1827197a47e40079d1b6fd8ba470330e..85543bcb2ba9d4861282c5da99d719f6c1cba548 100644 (file)
@@ -4,10 +4,6 @@ DIRS = \
 
 TESTDIRS = $(DIRS)
 
-ifneq (,$(shell CHARMINC=../../../../include/; if test -f ./conv-config.sh; then . ./conv-config.sh; echo $$BGP_FLOOR; fi))
-  TESTDIRS =
-endif
-
 all: $(foreach i,$(DIRS),build-$i)
 
 test: $(foreach i,$(TESTDIRS),test-$i)
index 10990bae72c529f7c552cda9517d22c1f175618d..a720bc15fc6ade14871e2d6b1ddd16e5d24a77fc 100644 (file)
@@ -1,3 +1,5 @@
+-include ../../../include/conv-mach-opt.mak
+
 DIRS = \
   randomAccessGroup \
   randomAccessArray \
@@ -6,7 +8,7 @@ DIRS = \
 
 TESTDIRS = $(DIRS)
 
-ifneq (,$(shell CHARMINC=../../../include . ../../../tmp/conv-config.sh ; [ "$$CMK_COMPILER" = "bgxlc" ] && echo "skip"))
+ifeq ($(CMK_COMPILER),bgxlc)
   TESTDIRS =
 endif
 
index b0b3da71d5d7f8179ceb802fcd2b6d391f001ada..f96fc304cb7a48b511957027e6507aee340f25ca 100644 (file)
@@ -1,4 +1,6 @@
-CC=../../bin/charmc -I. -ma $(OPTS)
+CHARMDIR := ../..
+-include $(CHARMDIR)/include/conv-mach-opt.mak
+CHARMC := $(CHARMDIR)/bin/charmc -I. -ma $(OPTS)
 
 all: qt stp testpgm
 
@@ -8,8 +10,7 @@ qt: md/setjmp_d.h qt.c md/setjmp.c
        $(CC) -c -o qt.o qt.c
        $(CC) -c -o qtmds.o md/setjmp.c
        $(CC) -o libckqt.a qt.o qtmds.o
-       CHARMINC=..; . ../conv-config.sh;       \
-       $(CC) -shared -o libckqt.$$CMK_SHARED_SUF qt.o qtmds.o
+       $(CC) -shared -o libckqt.$(CMK_SHARED_SUF) qt.o qtmds.o
 
 stp:
        $(CC) -c stp.c
index 598faf481155cc9608c8986c0ab38c3282bbdb5f..03b1415effb271d2420550418d22d3496b01530f 100644 (file)
@@ -1,5 +1,6 @@
-
-CHARMC=../../bin/charmc -I. -ma $(OPTS)
+CHARMDIR := ../..
+-include $(CHARMDIR)/include/conv-mach-opt.mak
+CHARMC := $(CHARMDIR)/bin/charmc -I. -ma $(OPTS)
 
 all: qt stp testpgm
 
@@ -8,8 +9,7 @@ qt: md/setjmp_d.h qt.c md/setjmp_m.c
        ../system_ln md/setjmp_d.h qtmd.h
        $(CHARMC) -pedantic -c -o qt.o qt.c
        $(CHARMC) -c -o qtmds.o md/setjmp_m.c
-       CHARMINC=..; . ../conv-config.sh;       \
-       $(CHARMC) -shared -o libckqt.$$CMK_SHARED_SUF qt.o qtmds.o
+       $(CHARMC) -shared -o libckqt.$(CMK_SHARED_SUF) qt.o qtmds.o
        $(CHARMC) -o libckqt.a qt.o qtmds.o 
 
 stp:
index 5c7a1f735749fea95fe7c73421cba75d350b2b82..0e61690754e42dd851ce0a0a1cf022469eaede32 100644 (file)
@@ -1,6 +1,7 @@
-
-CHARMC=../../bin/charmc -I. -ma $(OPTS)
-CHARMC_SHARED = ../../bin/charmc -seq -I. -shared $(OPTS)
+CHARMDIR := ../..
+-include $(CHARMDIR)/include/conv-mach-opt.mak
+CHARMC := $(CHARMDIR)/bin/charmc -I. -ma $(OPTS)
+CHARMC_SHARED := $(CHARMDIR)/bin/charmc -seq -I. -shared $(OPTS)
 
 all: qt stp testpgm
 
@@ -9,8 +10,7 @@ qt: md/setjmp_d.h qt.c md/setjmp64_.c
        ../system_ln  md/setjmp_d.h qtmd.h
        $(CHARMC) -c -o qt.o qt.c
        $(CHARMC) -c -o qtmds.o md/setjmp64_.c
-       CHARMINC=..; . ../conv-config.sh;       \
-       $(CHARMC) -shared -o libckqt.$$CMK_SHARED_SUF qt.o qtmds.o
+       $(CHARMC) -shared -o libckqt.$(CMK_SHARED_SUF) qt.o qtmds.o
        $(CHARMC) -o libckqt.a qt.o qtmds.o 
 
 stp:
index 5d4cb8a1c800489366a88075c35627493580964d..bc77c1f16947173460783963ff04afee5170faaa 100644 (file)
@@ -1,5 +1,6 @@
-
-CHARMC = ../../bin/charmc -seq -I.
+CHARMDIR := ../..
+-include $(CHARMDIR)/include/conv-mach-opt.mak
+CHARMC := $(CHARMDIR)/bin/charmc -seq -I.
 
 all: qt stp testpgm
 
@@ -8,8 +9,7 @@ qt: md/setjmp_d.h qt.c md/setjmp.c
        ../system_ln md/setjmp_d.h qtmd.h
        $(CHARMC) -pedantic -c -o qt.o qt.c
        $(CHARMC) -c -o qtmds.o md/setjmp.c
-       CHARMINC=..; . ../conv-config.sh;       \
-       $(CHARMC) -shared -o libckqt.$$CMK_SHARED_SUF qt.o qtmds.o
+       $(CHARMC) -shared -o libckqt.$(CMK_SHARED_SUF) qt.o qtmds.o
        $(CHARMC) -o libckqt.a qt.o qtmds.o 
 
 stp:
index ad619e0ff722fd676ad88976dd2aa3a05b8c5ce1..02d13cd4df50c53a7067fcc95d04ba1be190054c 100644 (file)
@@ -1,5 +1,6 @@
-
-CHARMC = ../../bin/charmc -seq -I. -U_FORTIFY_SOURCE
+CHARMDIR := ../..
+-include $(CHARMDIR)/include/conv-mach-opt.mak
+CHARMC := $(CHARMDIR)/bin/charmc -seq -I. -U_FORTIFY_SOURCE
 
 all: qt stp testpgm
 
@@ -8,8 +9,7 @@ qt: md/setjmp_d.h qt.c md/setjmp_m.c
        ../system_ln md/setjmp_d.h qtmd.h
        $(CHARMC) -pedantic -c -o qt.o qt.c
        $(CHARMC) -c -o qtmds.o md/setjmp_m.c
-       CHARMINC=..; . ../conv-config.sh;       \
-       $(CHARMC) -shared -o libckqt.$$CMK_SHARED_SUF qt.o qtmds.o
+       $(CHARMC) -shared -o libckqt.$(CMK_SHARED_SUF) qt.o qtmds.o
        $(CHARMC) -o libckqt.a qt.o qtmds.o 
 
 stp:
index 9e8344dd63782f5369bd818ae45ca44bcbcd1de9..c1e441390ec6bdff24baad8f232ddd76475bb5c6 100644 (file)
@@ -1,6 +1,7 @@
-
-CHARMC = ../../bin/charmc -I. $(OPTS)
-CHARMC_SHARED = ../../bin/charmc -I. -shared $(OPTS)
+CHARMDIR := ../..
+-include $(CHARMDIR)/include/conv-mach-opt.mak
+CHARMC := $(CHARMDIR)/bin/charmc -I. $(OPTS)
+CHARMC_SHARED := $(CHARMDIR)/bin/charmc -I. -shared $(OPTS)
 
 all: qt stp testpgm
 
@@ -9,8 +10,7 @@ qt: md/setjmp_d.h qt.c md/setjmp64.c
        ../system_ln  md/setjmp_d.h qtmd.h
        $(CHARMC) -c -o qt.o qt.c
        $(CHARMC) -c -o qtmds.o md/setjmp64.c
-       CHARMINC=..; . ../conv-config.sh;       \
-       $(CHARMC_SHARED) -o libckqt.$$CMK_SHARED_SUF qt.o qtmds.o
+       $(CHARMC_SHARED) -o libckqt.$(CMK_SHARED_SUF) qt.o qtmds.o
        $(CHARMC) -o libckqt.a qt.o qtmds.o 
 
 stp:
index a2c33de3b480b85c09c4cfdf3eab2b920b17fce8..1f2cc17819681cd295220c5afe320729fafaf1e1 100644 (file)
@@ -1,6 +1,7 @@
-
-CHARMC = ../../bin/charmc -seq -I. $(OPTS)
-CHARMC_SHARED = ../../bin/charmc -seq -I. -shared $(OPTS)
+CHARMDIR := ../..
+-include $(CHARMDIR)/include/conv-mach-opt.mak
+CHARMC := $(CHARMDIR)/bin/charmc -seq -I. $(OPTS)
+CHARMC_SHARED := $(CHARMDIR)/bin/charmc -seq -I. -shared $(OPTS)
 
 all: qt stp testpgm
 
@@ -9,8 +10,7 @@ qt: md/setjmp_d.h qt.c md/setjmp64.c
        ../system_ln  md/setjmp_d.h qtmd.h
        $(CHARMC) -c -o qt.o qt.c
        $(CHARMC) -c -o qtmds.o md/setjmp64.c
-       CHARMINC=..; . ../conv-config.sh;       \
-       $(CHARMC_SHARED) -o libckqt.$$CMK_SHARED_SUF qt.o qtmds.o
+       $(CHARMC_SHARED) -o libckqt.$(CMK_SHARED_SUF) qt.o qtmds.o
        $(CHARMC) -o libckqt.a qt.o qtmds.o 
 
 stp:
index f27710c0b9cd66db37eeb70824c851979340f53e..fc125426339fd0ef4a422ba12da922e1ecdc516e 100644 (file)
@@ -1,6 +1,7 @@
-
-CHARMC = ../../bin/charmc -seq -I. $(OPTS) -U_FORTIFY_SOURCE
-CHARMC_SHARED = ../../bin/charmc -seq -I. -shared $(OPTS)
+CHARMDIR := ../..
+-include $(CHARMDIR)/include/conv-mach-opt.mak
+CHARMC := $(CHARMDIR)/bin/charmc -seq -I. $(OPTS) -U_FORTIFY_SOURCE
+CHARMC_SHARED := $(CHARMDIR)/bin/charmc -seq -I. -shared $(OPTS)
 
 all: qt stp testpgm
 
@@ -13,8 +14,7 @@ qt: md/setjmp_d.h qt.c md/setjmp64_.c
 
        $(CHARMC_SHARED) -c -o qt_shared.o qt.c
        $(CHARMC_SHARED) -c -o qtmds_shared.o md/setjmp64_.c
-       CHARMINC=..; . ../conv-config.sh;       \
-       $(CHARMC_SHARED) -o libckqt.$$CMK_SHARED_SUF qt_shared.o qtmds_shared.o
+       $(CHARMC_SHARED) -o libckqt.$(CMK_SHARED_SUF) qt_shared.o qtmds_shared.o
 
 stp:
        $(CC) -c stp.c
index e0fbe98c1120f39b7fd96f27bc6c972419ffdd79..5b063ffaeef0c8b377c2b62cd4d31843c04437f0 100644 (file)
@@ -1,5 +1,6 @@
-
-CHARMC = ../../bin/charmc -I. -DALLOCA_H $(OPTS)
+CHARMDIR := ../..
+-include $(CHARMDIR)/include/conv-mach-opt.mak
+CHARMC := $(CHARMDIR)/bin/charmc -I. -DALLOCA_H $(OPTS)
 
 all: qt stp testpgm
 
@@ -9,8 +10,7 @@ qt: md/setjmp_d.h qt.c md/setjmp.c
        $(CHARMC) -pedantic -c -o qt.o qt.c
        $(CHARMC) -c -o qtmds.o md/setjmp.c
        $(CHARMC) -o libckqt.a qt.o qtmds.o 
-       CHARMINC=..; . ../conv-config.sh;       \
-       $(CHARMC) -shared -o libckqt.$$CMK_SHARED_SUF qt.o qtmds.o
+       $(CHARMC) -shared -o libckqt.$(CMK_SHARED_SUF) qt.o qtmds.o
 
 stp:
        $(CHARMC) -c stp.c
index 975b8712e6945d0304d393990b478fd997878f39..98005872c16fabfac1041943b922d8f733fcbda0 100644 (file)
@@ -1,6 +1,7 @@
-
+CHARMDIR := ../..
+-include $(CHARMDIR)/include/conv-mach-opt.mak
 #CC=gcc -I. -O2
-CHARMC = ../../bin/charmc -seq -I.
+CHARMC := $(CHARMDIR)/bin/charmc -seq -I.
 
 all: qt stp testpgm
 
@@ -9,8 +10,7 @@ qt: md/i386.h qt.c md/i386.s
        ln -s md/i386.h qtmd.h
        $(CHARMC) -o qt.o qt.c
        as --32 -o qtmds.o md/i386.s
-       CHARMINC=..; . ../conv-config.sh;       \
-       $(CHARMC) -shared -o libckqt.$$CMK_SHARED_SUF qt.o qtmds.o
+       $(CHARMC) -shared -o libckqt.$(CMK_SHARED_SUF) qt.o qtmds.o
        ar q libckqt.a qt.o qtmds.o
 
 stp:
index 91accd42d56e768cdc03fab0c1d1cc7c7111a46b..76521ea5098668d3fef7204810cc3c4da3181759 100755 (executable)
@@ -6,7 +6,7 @@ export CHARMINC=../include
 if test -n "$BUILD_CUDA"
 then
   echo "---------------------- special.sh for cuda executing ----------------"
-  if [ `cat .gdir` == "gni" ] ; then
+  if [ "$CMK_GDIR" == "gni" ] ; then
     export CRAY_CUDA_PROXY=1
   fi
 
index a863b80799604744992d40831fcd25bc4aea8bec..645cfb11f4371d45ea0ebca649ee172eeaf7b1f0 100644 (file)
@@ -1,5 +1,6 @@
 CHARMDIR=../..
-CUDA_PATH=$(shell CHARMINC=../.; . $$CHARMINC/conv-mach-opt.sh; echo $$CUDA_DIR;  )
+-include $(CHARMDIR)/include/conv-mach-opt.mak
+CUDA_PATH = $(CUDA_DIR)
 NVCC = $(CUDA_PATH)/bin/nvcc
 NVCC_FLAGS = -c -std=c++11 -use_fast_math -DGPU_MEMPOOL -D_MWAITXINTRIN_H_INCLUDED #-DGPU_PROFILE -DGPU_TRACE #-DGPU_MEMPOOL_DEBUG -DGPU_WRQ_VERBOSE #-device-debug -deviceemu
 NVCC_INC = -I$(CUDA_PATH)/include -I..
index a0cc512f4dc5863d362e0047b6b4fd2df1d44190..d253774a1e9e6c30ab918ad6753231c19cccdf8b 100644 (file)
@@ -60,9 +60,9 @@ two header files (conv-common/conv-mach).
 
 
 Other three files are needed during the charm build: conv-mach-pre.h,
-conv-mach-opt.h and conv-mach-opt.sh which are automatically generated by the
-build script with the properties retrieved from the system and the compile time
-options specified.
+conv-mach-opt.h, conv-mach-opt.sh, and conv-mach-opt.mak, which are
+automatically generated by the build script with the properties retrieved from
+the system and the compile time options specified.
 
 
 *** A more detailed description on which files are linked into charm. ***
index daffb2e0166afe18493189e9c6d02c988a3d6f8d..33bca3d18416414f3dac46cf37e123e963b48250 100644 (file)
@@ -1,4 +1,6 @@
-CHARMC=../../bin/charmc $(OPTS)
+CDIR := ../..
+-include $(CDIR)/include/conv-mach-opt.mak
+CHARMC=$(CDIR)/bin/charmc $(OPTS)
 CHARMINC=.
 
 SIMPLE_DIRS = completion cache sparseContiguousReducer tcharm ampi idxl \
@@ -38,8 +40,9 @@ datatransfer: ampi fem collide
 NDMeshStreamer: completion
 
 pythonCCS:
-       -(CHARMINC=../../../include;. $$CHARMINC/conv-config.sh; \
-       if test "$$CMK_BUILD_PYTHON" != ""; then ($(MAKE) -C $@ all OPTS='$(OPTS)'); fi)
+ifneq ($(CMK_BUILD_PYTHON),)
+       $(MAKE) -C $@ all OPTS='$(OPTS)'
+endif
 
 clean: $(foreach i,$(DIRS),clean-$i)
 
index cdec0c5435fb32072cb5aca2c9323685df2575ac..3ff1a15af1b5a0693d5d5fe3ba9223a3c17ec7e9 100644 (file)
@@ -1,4 +1,5 @@
-CDIR=$(shell cd ../../../.. && pwd)
+CDIR := $(shell cd ../../../.. && pwd)
+-include $(CDIR)/include/conv-mach-opt.mak
 CHARMC=$(CDIR)/bin/charmc $(OPTS)
 
 HEADERS=ampi.h ampif.h mpio.h mpiof.h ampiimpl.h
@@ -18,15 +19,15 @@ COMPATLIB=$(AMPI_LIBDIR)/libampi-compat.a
 ROMIOLIB=$(AMPI_LIBDIR)/libampiromio
 ROMIOLIBSHARED=
 
-AMPI_STATIC_ONLY=$(shell CHARMINC=$(CDIR)/tmp ; . $(CDIR)/tmp/conv-config.sh ; echo $$CMK_NO_BUILD_SHARED)
+AMPI_STATIC_ONLY := $(CMK_NO_BUILD_SHARED)
 
-SHARED_SUF=$(shell CHARMINC=$(CDIR)/tmp ; . $(CDIR)/tmp/conv-config.sh ; echo $$CMK_SHARED_SUF)
+SHARED_SUF := $(CMK_SHARED_SUF)
 
-ifeq ($(AMPI_STATIC_ONLY), false)
+ifeq ($(AMPI_STATIC_ONLY),false)
        ROMIOLIBSHARED=$(CDIR)/lib_so/libampiromio.$(SHARED_SUF)
 endif
 
-USE_ROMIO=$(shell CHARMINC=$(CDIR)/tmp ; . $(CDIR)/tmp/conv-config.sh ; echo $$CMK_AMPI_WITH_ROMIO)
+USE_ROMIO := $(CMK_AMPI_WITH_ROMIO)
 
 ifeq ($(USE_ROMIO),true)
        ROMIO=$(ROMIOLIB).a
index e7c1f48dfd117508c5065116e281c53579b85319..fede4bcafb52d7ee012df752c89b0f2935558deb 100644 (file)
@@ -1,4 +1,5 @@
 CDIR=../../../..
+-include $(CDIR)/include/conv-mach-opt.mak
 CHARMC=$(CDIR)/bin/charmc $(OPTS) -I../../..
 FLAGS=-DEXTERIOR_BLACK_PIXEL_ELIMINATION
 
@@ -13,7 +14,7 @@ all: $(DEST)
 
 $(DEST): $(OBJS) $(COMPAT) headers
        $(CHARMC) $(OBJS) $(COMPAT) -o $@
-       (cd $(CDIR)/tmp; . ./conv-mach-opt.sh && echo "$$CMK_LIBJPEG") > $(DEP)
+       echo $(CMK_LIBJPEG) > $(DEP)
 
 headers: $(HEADERS)
        cp $(HEADERS) $(CDIR)/include/
index e211ee3c5af035a436a9405c23eb8136374dbab8..f4df5e7bdf5097d0a2a43c68518f2107f8cbbb91 100644 (file)
@@ -1,4 +1,5 @@
 CDIR=../../../..
+-include $(CDIR)/include/conv-mach-opt.mak
 OPTS=-g -Wall
 CHARMC=$(CDIR)/bin/charmc $(OPTS)
 CHARMXI=$(CHARMC) -intrinsic
@@ -10,9 +11,11 @@ OBJS_DEBUG=charmdebug-python.o
 DEST=$(CDIR)/lib/libmodulePythonCCS.a
 DEST_DEBUG=$(CDIR)/lib/libmodulecharmdebug_python.a
 
+ifneq ($(CMK_BUILD_PYTHON),)
+all: conditional
+else
 all:
-       -(CHARMINC=../../../../include;. $$CHARMINC/conv-config.sh; \
-       if test "$$CMK_BUILD_PYTHON" != ""; then ($(MAKE) conditional OPTS='$(OPTS)' || exit 1); fi)
+endif
 
 conditional: $(DEST) $(DEST_DEBUG) headers
 
@@ -42,12 +45,10 @@ charmdebug_python.decl.h charmdebug_python.def.h: charmdebug-python.ci
        $(CHARMXI) charmdebug-python.ci
 
 pythonIncludes.h:
-       (CHARMINC=../../../../include;. $$CHARMINC/conv-config.sh; \
-       echo "#include \"python$$CMK_BUILD_PYTHON/Python.h\"" > pythonIncludes.h; \
-       echo "#include \"python$$CMK_BUILD_PYTHON/compile.h\"" >> pythonIncludes.h; \
-       echo "#include \"python$$CMK_BUILD_PYTHON/eval.h\"" >> pythonIncludes.h; \
-       echo "#include \"python$$CMK_BUILD_PYTHON/node.h\"" >> pythonIncludes.h \
-       ) 
+       echo "#include \"python$(CMK_BUILD_PYTHON)/Python.h\"" > pythonIncludes.h
+       echo "#include \"python$(CMK_BUILD_PYTHON)/compile.h\"" >> pythonIncludes.h
+       echo "#include \"python$(CMK_BUILD_PYTHON)/eval.h\"" >> pythonIncludes.h
+       echo "#include \"python$(CMK_BUILD_PYTHON)/node.h\"" >> pythonIncludes.h
 
 clean:
        rm -rf *.a *~ *.def.h *.decl.h *.o SunWS_cache $(DEST) $(DEST_DEBUG) pythonIncludes.h headers
index e1627e257c843fb556ff24714b569250f7f46320..00b0d6eaba96fb2eee97a487d82927d8e998f31d 100644 (file)
@@ -1,4 +1,5 @@
-BUILD_GPU_MANAGER=$(shell CHARMINC=.; if test -f ./conv-config.sh; then . ./conv-config.sh; echo $$BUILD_CUDA; fi )
+-include conv-mach-opt.mak
+BUILD_GPU_MANAGER := $(BUILD_CUDA)
 
 ifeq "$(BUILD_GPU_MANAGER)" "1"
 hybridAPI:
index e8994c6476ff04d76c6c1a178e55b262f5af64ba..9d4e22feeafd49cc2ec0f494b394033976e9c3d2 100644 (file)
@@ -26,6 +26,7 @@ L=../lib
 INC=../include
 
 include charmpath.mk
+include conv-mach-opt.mak
 
 CC=$(CHARMC)
 CXX=$(CHARMC)
@@ -325,15 +326,13 @@ headerlinks: dirs+sources Makefile $(ALLHEADERS)
        touch headerlinks
 
 dirs+sources:
-#      rm -f .gdir
-#      (cd .. ; basename "`pwd`" | sed -e 's@-.*@@')   > .gdir
        pwd
        find . -type l -exec rm {} \;
        rm -rf QuickThreads
        rm -rf hwloc
        rm -rf libs
        rm -rf ../bin ; mkdir ../bin
-       if case `cat .vdir` in *win64*) true;; *-win-*) true;; *) false;; esac; then \
+       if case $(CMK_VDIR) in *win64*) true;; *-win-*) true;; *) false;; esac; then \
                cp -f $(SRCBASE)/arch/win/unix2nt* ../bin; \
                cp -f $(SRCBASE)/arch/win/createlink.exe ../bin; \
        fi
@@ -365,9 +364,9 @@ dirs+sources:
        ./gathertree $(SRCBASE)/langs            langs
        ./gathertree $(SRCBASE)/langs/jade       langs/jade
        ./gathertree $(SRCBASE)/arch/common      .
-       ./gathertree $(SRCBASE)/arch/`cat .gdir` .
-       test -f $(SRCBASE)/arch/`cat .gdir`/gdir_link && cat $(SRCBASE)/arch/`cat .gdir`/gdir_link > .gdir.new && ./gathertree $(SRCBASE)/arch/`cat .gdir.new`      . || true
-       ./gatherflat $(SRCBASE)/arch/`cat .vdir` .
+       ./gathertree $(SRCBASE)/arch/$(CMK_GDIR) .
+       test -f $(SRCBASE)/arch/$(CMK_GDIR)/gdir_link && cat $(SRCBASE)/arch/$(CMK_GDIR)/gdir_link > .gdir.new && ./gathertree $(SRCBASE)/arch/`cat .gdir.new`      . || true
+       ./gatherflat $(SRCBASE)/arch/$(CMK_VDIR) .
        ./gathertree $(SRCBASE)/../examples             ../examples
        ./gathertree $(SRCBASE)/../tests                ../tests
        rm -f ../bin/dep.pl ; cp dep.pl ../bin/
@@ -380,11 +379,11 @@ dirs+sources:
 #      -ln -s ../../java/bin ../bin/charmjavabin
 #      -ln -s charmjavabin/* ../bin/
 #      -ln -s ../java ..
-#      rm -f .gdir
        rm -rf ../include ; mkdir ../include
        -./system_ln  ../tmp/conv-*.*h ../include
        -./system_ln  ../tmp/cc-*.*h ../include
        -./system_ln  ../tmp/conv-mach-opt.sh ../include
+       -./system_ln  ../tmp/conv-mach-opt.mak ../include
        if [ -x ./special.sh ] ; then SRCBASE=$(SRCBASE) ./special.sh ; fi
        if [ ! -f conv-common.h ] ; then ( touch conv-common.h ) ; fi
        touch dirs+sources
@@ -398,9 +397,9 @@ CLBLIBS=$(L)/libldb-rand.a $(L)/libldb-spray.a   $(L)/libldb-workstealing.a  $(L
 
 TRACELIBS = $(L)/libtrace-converse.a $(L)/libtracef_f.a 
 
-BUILD_TRACING := $(shell CHARMINC=.; if test -f ./conv-config.sh; then . ./conv-config.sh; echo $$CMK_TRACE_ENABLED; fi )
+BUILD_TRACING := $(CMK_TRACE_ENABLED)
 
-ifneq "$(BUILD_TRACING)" "0"
+ifneq ($(BUILD_TRACING),0)
 
 TRACELIBS += \
   $(L)/libtrace-projections.a \
@@ -417,8 +416,6 @@ TRACELIBS += \
 
 endif
 
-CMK_HAS_MMAP := $(shell CHARMINC=.; if test -f ./conv-config.sh; then . ./conv-config.sh; echo $$CMK_HAS_MMAP; fi )
-
 MEMLIBS = \
   $(L)/libmemory-default.a \
   $(L)/libmemory-os.a \
@@ -440,9 +437,9 @@ MEMLIBS += \
 
 endif
 
-BUILD_CHARMDEBUG := $(shell CHARMINC=.; if test -f ./conv-config.sh; then . ./conv-config.sh; echo $$CMK_CHARMDEBUG; fi )
+BUILD_CHARMDEBUG := $(CMK_CHARMDEBUG)
 
-ifneq "$(BUILD_CHARMDEBUG)" "0"
+ifneq ($(BUILD_CHARMDEBUG),0)
 ifneq ($(CMK_HAS_MMAP),0)
 
 MEMLIBS += \
@@ -456,7 +453,7 @@ MEMLIBS += \
 endif
 endif
 
-ifneq ($(findstring -win-,$(shell cat .vdir)),)
+ifneq ($(findstring -win64,$(CMK_VDIR))$(findstring -win-,$(CMK_VDIR)),)
   IS_WINDOWS := 1
 else
   IS_WINDOWS := 0
@@ -531,9 +528,7 @@ hwloc-target:  conv-autoconfig.h
        ( cp -f hwloc/src/.libs/libhwloc_embedded.a $(L) )
        ( cp -f hwloc/include/hwloc.h $(INC) )
        ( cp -LRf hwloc/include/hwloc $(INC) )
-       (CHARMINC=.; . ./conv-config.sh; \
-        test -d ../lib_so && \
-        cp -f hwloc/src/.libs/libhwloc_embedded.*$$CMK_SHARED_SUF* ../lib_so/ ) || true
+       ( test -d ../lib_so && cp -f hwloc/src/.libs/libhwloc_embedded.*$(CMK_SHARED_SUF)* ../lib_so/ ) || true
        touch $@
 
 charmrun-target: hwloc-target charmrun  sockRoutines.c sockRoutines.h ccs-server.c ccs-server.h sockRoutines-seq.o $(L)/libck.a $(L)/libhwloc_embedded.a $(CVLIBS) conv-static.o
@@ -544,9 +539,7 @@ QUICK_THREADS: $(CVHEADERS)
        ( cd QuickThreads;./configure )
        ( $(MAKE) -C QuickThreads qt  OPTS='$(OPTS) -Wno-error' ) || ( echo "Did you try to build netlrts-linux on a 64-bit system? Try netlrts-linux-x86_64" && false )
        cp -f QuickThreads/libckqt.a ../lib/
-       -(CHARMINC=.; . ./conv-config.sh; \
-         test -d ../lib_so && \
-         cp -f QuickThreads/libckqt.$$CMK_SHARED_SUF ../lib_so/ ) || true
+       -( test -d ../lib_so && cp -f QuickThreads/libckqt.$(CMK_SHARED_SUF) ../lib_so/ ) || true
        touch QUICK_THREADS
 
 CONVLIBS: converse
@@ -1094,8 +1087,6 @@ dependsCaseSensitive: cidepends
              echo '' >> $(DEPENDFILE) ; \
         done;  \
 
-# The build script should have spit out the build options into this makefile
--include buildopts.mk
 # If OPTS was not defined, use the build time options
 export OPTS ?= $(OPTSATBUILDTIME)
 ifeq ($(strip $(OPTS)),)
index ec9aab4ab27fb3759e008bd8cc3c4770b5e903f7..76f496c0822970503c9e9f1770c6d8e1f196a701 100755 (executable)
@@ -1375,7 +1375,7 @@ fi
 
 if [ "$TLSGLOBALS" = "1" ]
 then
-    if [ `cat $CHARMBIN/../tmp/.gdir` = "uth" ]
+    if [ "$CMK_GDIR" = "uth" ]
     then
       echo "Error: -tlsglobals is not supported with the uth machine layer."
       exit 1
index d25eec05086fde34478b74606f74d2f07d748f1c..8d94295a8fba4794a12501897cc2d09763a336e4 100644 (file)
@@ -25,6 +25,11 @@ sed -e '/Option added by configure/d' ../include/conv-mach-opt.sh  | sed -e '/^$
 cp -f conv-mach-opt.sh.clean   ../include/conv-mach-opt.sh
 rm -f conv-mach-opt.sh.clean
 
+#clean up conv-mach-opt.mak
+sed -e '/Option added by configure/d' ../include/conv-mach-opt.mak  | sed -e '/^$/d' > conv-mach-opt.mak.clean
+cp -f conv-mach-opt.mak.clean   ../include/conv-mach-opt.mak
+rm -f conv-mach-opt.mak.clean
+
 CHARMINC="."
 CHARMBIN="../bin"
 test -r ./conv-config.sh && . ./conv-config.sh
@@ -68,8 +73,42 @@ remove_flag() {
      /bin/rm -f tmp.$$
 }
 
+# add into conv-mach-opt.mak
+# add_make_flag $1 $2
+# $2 is description
+add_make_flag() {
+        key=`echo $1 | cut -d'=' -f1`
+        last=`grep "$key=" ../include/conv-mach-opt.mak 2>/dev/null | tail -1 | sed -e 's/ *#.*$//'`
+        skip=0
+       if test -n "$last" -a  "$last" = "$1"
+       then
+         skip=1
+        fi
+       if test $skip = 0
+        then
+         # The lack of whitespace around $1 here is necessary.
+         cat >> ../include/conv-mach-opt.mak << EOT
+
+$1# Option added by configure script's $2 section
+EOT
+       fi
+}
+
+# remove_make_flag $1
+remove_make_flag() {
+     sed -e '/^'"$1"'=/d' ../include/conv-mach-opt.mak > tmp.$$
+     cp tmp.$$ ../include/conv-mach-opt.mak
+     /bin/rm -f tmp.$$
+}
+
 add_flag "OPTS_CC='$OPTS_CC'"   'Pass through user-provided C compiler options'
 add_flag "OPTS_CXX='$OPTS_CXX'" 'Pass through user-provided C++ compiler options'
+add_make_flag "CMK_COMPILER:=$CMK_COMPILER" 'basic setup'
+add_make_flag "CMK_SMP:=$CMK_SMP" 'basic setup'
+add_make_flag "CMK_SHARED_SUF:=$CMK_SHARED_SUF" 'basic setup'
+add_make_flag "CMK_NO_PARTITIONS:=$CMK_NO_PARTITIONS" 'basic setup'
+add_make_flag "CMK_BLUEGENEQ:=$CMK_BLUEGENEQ" 'basic setup'
+add_make_flag "BUILD_CUDA:=$BUILD_CUDA" 'basic setup'
 
 # enable/disable error checking
 AC_ARG_ENABLE([error-checking],
@@ -129,10 +168,12 @@ then
   Echo "Charm tracing is disabled"
   AC_DEFINE_UNQUOTED(CMK_TRACE_ENABLED, 0, [disable tracing])
   add_flag CMK_TRACE_ENABLED=0
+  add_make_flag 'CMK_TRACE_ENABLED:=0' 'tracing'
 else
   Echo "Charm tracing is enabled"
   AC_DEFINE_UNQUOTED(CMK_TRACE_ENABLED, 1, [enable tracing])
   add_flag CMK_TRACE_ENABLED=1
+  add_make_flag 'CMK_TRACE_ENABLED:=1' 'tracing'
 fi
 
 AC_ARG_ENABLE([tracing-commthread],
@@ -160,10 +201,12 @@ then
   Echo "CharmDebug is disabled" 
   AC_DEFINE_UNQUOTED(CMK_CHARMDEBUG, 0, [disable charmdebug])
   add_flag CMK_CHARMDEBUG=0
+  add_make_flag 'CMK_CHARMDEBUG:=0'
 else
   Echo "CharmDebug is enabled" 
   AC_DEFINE_UNQUOTED(CMK_CHARMDEBUG, 1, [enable charmdebug])
   add_flag CMK_CHARMDEBUG=1
+  add_make_flag 'CMK_CHARMDEBUG:=1'
 fi
 
 AC_ARG_ENABLE([replay],
@@ -324,7 +367,7 @@ fi
 #
 AC_MSG_CHECKING(machine name)
 version=`pwd | awk -F/ '{print $(NF-1)}'`
-base_version=`cat .vdir`
+base_version="$CMK_VDIR"
 AC_DEFINE_UNQUOTED(CMK_MACHINE_NAME, "$version",[machine name])
 AC_MSG_RESULT($version)
 AC_SUBST(base_version)
@@ -1446,7 +1489,7 @@ then
   test_finish 1
 fi
 
-if test $BUILD_MPI -eq 1 -a -z "$BGP_FLOOR"
+if test $BUILD_MPI -eq 1
 then
   test_linkc "whether need to specify MPI library" "no" "yes" ""
   if test $pass -ne 1
@@ -2025,6 +2068,7 @@ EOT
 test_cxx "whether the mmap() syscall exists" "yes" "no" ""
 AC_DEFINE_UNQUOTED(CMK_HAS_MMAP, $pass, [whether the mmap() syscall exists])
 add_flag "CMK_HAS_MMAP=$pass"
+add_make_flag "CMK_HAS_MMAP:=$pass"
 
 #### check if mmap accepts MAP_ANON ####
 cat > $t <<EOT
@@ -2257,6 +2301,7 @@ AC_DEFINE_UNQUOTED(CMK_USE_LIBJPEG, $pass, [whether has libjpeg])
 if test $pass -eq 1
 then
         add_flag 'CMK_LIBJPEG="-ljpeg"' "libjpeg"
+        add_make_flag 'CMK_LIBJPEG:=-ljpeg' 'libjpeg'
 fi
 
 #### check if PAPI exists ####
@@ -2307,6 +2352,7 @@ AC_DEFINE_UNQUOTED(CMK_PYTHON_VERSION, ${PYTHON_VERSION}, [Python version])
 if test $pass -eq 1
 then
        add_flag "CMK_BUILD_PYTHON=$PYTHON_VERSION" "python"
+       add_make_flag "CMK_BUILD_PYTHON:=$PYTHON_VERSION" 'python'
 fi
 
 ## Cray specific test
@@ -2431,6 +2477,7 @@ test_linkso "whether can build shared library" "yes" "no" ""
 if test $pass -eq 0
 then 
        add_flag 'CMK_NO_BUILD_SHARED="true"' "build-shared"
+       add_make_flag 'CMK_NO_BUILD_SHARED:=true' 'build-shared'
 else
        BUILD_SHARED=1
         if test "$BUILD_MPI" = "1"
@@ -2452,6 +2499,7 @@ EOT
        if test $BUILD_SHARED -eq 0
        then
                add_flag 'CMK_NO_BUILD_SHARED="true"' "build-shared"
+               add_make_flag 'CMK_NO_BUILD_SHARED:=true' 'build-shared'
        fi
 fi
 
index 9939532fe30d2ae7c00bf44098af118ad833f3c7..eafe10e19892d99c8407ab3143fd31815bf6369a 100644 (file)
@@ -1,5 +1,5 @@
 # Temporary hack that needs to be removed / replaced
--include ../tmp/buildopts.mk
+-include ../include/conv-mach-opt.mak
 OPTS += $(OPTSATBUILDTIME)
 
 DIRS = \
index 40641e6f14b08d484c6391b5e43482e40c617482..a91b36afd9a0f1231ec3d15a6a9cf2a07907f7e2 100644 (file)
@@ -1,4 +1,5 @@
 -include ../../common.mk
+-include ../../../include/conv-mach-opt.mak
 CHARMC=../../../bin/charmc $(OPTS)
 
 OBJS = hello.o
@@ -18,16 +19,13 @@ hello.o: hello.C hello.decl.h
        $(CHARMC) -c hello.C
 
 test: all
-       CHARMINC=../../../include . ../../../tmp/conv-mach.sh ; \
-       CHARMINC=../../../include . ../../../tmp/conv-mach-opt.sh ; \
-       if [ "$$CMK_NO_PARTITIONS" = "1" ] ; \
-       then \
-         echo "Skipping test since build does not support partitions"; exit 0 ; \
-       elif [ "$$CMK_BLUEGENEQ" = "1" ] ; \
-       then \
-         echo "Skipping partitions test on BGQ"; exit 0 ; \
-       fi ; \
+ifeq ($(CMK_NO_PARTITIONS),1)
+       echo "Skipping test since build does not support partitions"
+else ifeq ($(CMK_BLUEGENEQ),1)
+       echo "Skipping partitions test on BGQ"
+else
        $(call run, ./hello +p4 10 2 +partitions 2)
+endif
 
 bgtest: all
        $(call run, ./hello +p4 10 2 +x2 +y2 +z2 +cth1 +wth1 +partitions 2)
index b9d187ac1ba2855a4d9efa5c3087abeb72622067..cd0c3b60d2e0eeedb857ffbf54c57801c4449dad 100644 (file)
@@ -1,8 +1,9 @@
 -include ../../common.mk
+-include ../../../include/conv-mach-opt.mak
 CHARMC=../../../bin/charmc $(OPTS)
 
-MACHINE_LAYER := $(shell cat "../../../tmp/.gdir")
-SMP := $(shell CHARMINC=../../../include . ../../../tmp/conv-config.sh ; echo "$$CMK_SMP")
+MACHINE_LAYER := $(CMK_GDIR)
+SMP := $(CMK_SMP)
 
 TARGET = launch
 
index 0c2466b844d4c4b90d070818ad936310ac31fd9d..7727e5259a5abe6f4ed79d879e409e702cf906c9 100644 (file)
@@ -1,11 +1,12 @@
 -include ../../common.mk
+-include ../../../include/conv-mach-opt.mak
 CHARMC=../../../bin/charmc $(OPTS)
 
 OBJS = ataTest.o
 
 TARGET = ataTest
 
-ifneq (,$(shell CHARMINC=../../../include . ../../../tmp/conv-config.sh ; [ "$$CMK_COMPILER" = "bgxlc" ] && echo "skip"))
+ifeq ($(CMK_COMPILER),bgxlc)
   TARGET =
 endif