Changes in directory llvm-test/External/SPEC/CFP2006/436.cactusADM:

Makefile updated: 1.2 -> 1.3
---
Log message:

Added support for SPEC benchmarks with mutiple directories. Stolen from the
POVRay way of doing things.


---
Diffs of the changes:  (+124 -17)

 Makefile |  141 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 124 insertions(+), 17 deletions(-)


Index: llvm-test/External/SPEC/CFP2006/436.cactusADM/Makefile
diff -u llvm-test/External/SPEC/CFP2006/436.cactusADM/Makefile:1.2 
llvm-test/External/SPEC/CFP2006/436.cactusADM/Makefile:1.3
--- llvm-test/External/SPEC/CFP2006/436.cactusADM/Makefile:1.2  Wed Sep  6 
15:41:12 2006
+++ llvm-test/External/SPEC/CFP2006/436.cactusADM/Makefile      Thu Sep  7 
19:59:14 2006
@@ -6,14 +6,18 @@
 
 LEVEL = ../../../..
 
-Source = PreLoop.F StaggeredLeapfrog1a.F StaggeredLeapfrog1a_TS.F              
\
-         StaggeredLeapfrog2.F planewaves.F teukwaves.F datestamp.c regex.c     
\
+TOPSources            := \
+         PreLoop.F StaggeredLeapfrog1a.F StaggeredLeapfrog1a_TS.F              
\
+         StaggeredLeapfrog2.F planewaves.F teukwaves.F datestamp.c regex.c
+PUGHSources           := \
          $(addprefix $(SPEC_BENCH_DIR)/src/PUGH/,                              
\
            GHExtension.c FinishReceiveGA.c Startup.c Evolve.c Storage.c        
\
            SetupGroup.c PostSendGA.c SetupPGH.c SetupPGV.c LoadAware.c Comm.c  
\
-           cctk_ThornBindings.c Overloadables.c PughUtils.c PostReceiveGA.c)   
\
+           cctk_ThornBindings.c Overloadables.c PughUtils.c PostReceiveGA.c)
+TIMESources           := \
          $(addprefix $(SPEC_BENCH_DIR)/src/Time/,                              
\
-           Courant.c Initialise.c cctk_ThornBindings.c Given.c Simple.c)       
\
+           Courant.c Initialise.c cctk_ThornBindings.c Given.c Simple.c)
+CACTUSSources         := \
          $(addprefix $(SPEC_BENCH_DIR)/src/Cactus/,                            
\
            ScheduleTraverse.c Groups.c Dummies.c File.c CactusDefaultEvolve.c  
\
            BinaryTree.c Hash.c Malloc.c CactusTimers.c CallStartupFunctions.c  
\
@@ -32,13 +36,17 @@
            SetParams.c cctk_ThornBindings.c OverloadComm.c Names.c             
\
            InitialiseDataStructures.c StringList.c DefaultTimers.c             
\
            StoreNamedData.c ScheduleSorter.c Complex.c OverloadMain.c          
\
-           Traverse.c SKBinTree.c snprintf.c)                                  
\
+           Traverse.c SKBinTree.c snprintf.c)
+IOUTILSources         := \
          $(addprefix $(SPEC_BENCH_DIR)/src/IOUtil/,                            
\
            CheckpointRecovery.c Utils.c AdvertisedFiles.c Startup.c            
\
-           cctk_ThornBindings.c)                                               
\
-         $(SPEC_BENCH_DIR)/src/IDLinearWaves/cctk_ThornBindings.c              
\
+           cctk_ThornBindings.c)
+IDLINEARWAVESSources  := \
+         $(SPEC_BENCH_DIR)/src/IDLinearWaves/cctk_ThornBindings.c
+BENCHADMSRCSources    := \
          $(addprefix $(SPEC_BENCH_DIR)/src/BenchADMsrc/,                       
\
-           Startup.c ParamCheck.c cctk_ThornBindings.c)                        
\
+           Startup.c ParamCheck.c cctk_ThornBindings.c)
+CACTUSBINDINGSSources := \
          $(addprefix $(SPEC_BENCH_DIR)/src/CactusBindings/,                    
\
            ParameterRecoveryEinstein.c ParameterRecoveryCactus.c               
\
            TIME_private.c OverloadThorns.c Cactus.c PUGH_Register.c            
\
@@ -80,36 +88,135 @@
            ImplementationBindings.c DRIVER_restricted.c                        
\
            IOUtil_FortranWrapper.c ScheduleCartGrid3D.c                        
\
            FortranThornFunctions.c GRID_restricted.c                           
\
-           ParameterRecoveryBoundary.c)                                        
\
+           ParameterRecoveryBoundary.c)
+CARTGRID3DSources     := \
          $(addprefix $(SPEC_BENCH_DIR)/src/CartGrid3D/,                        
\
            SymmetryWrappers.c GHExtension.c DecodeSymParameters.c              
\
            SetSymmetry.c Startup.c CartGrid3D.c Symmetry.c ParamCheck.c        
\
-           cctk_ThornBindings.c)                                               
\
+           cctk_ThornBindings.c)
+EINSTEINSources       := \
          $(addprefix $(SPEC_BENCH_DIR)/src/Einstein/,                          
\
            Courant.c InitialEinstein.c MaskInit.c Slicing.c InitialFlat.c      
\
            carttosphere.c InitSymBound.c LapseInits.c cctk_ThornBindings.c     
\
-           ShiftInits.c evaltrK.c ConfPhys.c)                                  
\
+           ShiftInits.c evaltrK.c ConfPhys.c)
+PUGHREDUCESources     := \
          $(addprefix $(SPEC_BENCH_DIR)/src/PUGHReduce/,                        
\
            ReductionNormInf.c ReductionMax.c ReductionMin.c ReductionSum.c     
\
            Startup.c Reduction.c ReductionNorm1.c ReductionNorm2.c             
\
-           cctk_ThornBindings.c)                                               
\
+           cctk_ThornBindings.c)
+BOUNDARYSources       := \
          $(addprefix $(SPEC_BENCH_DIR)/src/Boundary/,                          
\
            FlatBoundary.c ScalarBoundary.c RadiationBoundary.c RobinBoundary.c 
\
-           CopyBoundary.c cctk_ThornBindings.c)                                
\
+           CopyBoundary.c cctk_ThornBindings.c)
+PUGHSLABSources       := \
          $(addprefix $(SPEC_BENCH_DIR)/src/PUGHSlab/,                          
\
            DatatypeConversion.c GetHyperslab.c Mapping.c Hyperslab.c           
\
-           cctk_ThornBindings.c NewHyperslab.c)                                
\
+           cctk_ThornBindings.c NewHyperslab.c)
+IOASCIISources        := \
          $(addprefix $(SPEC_BENCH_DIR)/src/IOASCII/,                           
\
            Output1D.c Output2D.c Output3D.c Startup.c cctk_ThornBindings.c     
\
-           ChooseOutput.c Write1D.c Write2D.c Write3D.c)                       
\
+           ChooseOutput.c Write1D.c Write2D.c Write3D.c)
+IOBASICSources        := \
          $(addprefix $(SPEC_BENCH_DIR)/src/IOBasic/,                           
\
            WriteScalar.c OutputScalar.c OutputInfo.c Startup.c WriteInfo.c     
\
            cctk_ThornBindings.c)
 
+Source := $(notdir $(TOPSources))                                 \
+          $(addprefix pugh_,$(notdir $(PUGHSources)))             \
+          $(addprefix time_,$(notdir $(TIMESources)))             \
+          $(addprefix cactus_,$(notdir $(CACTUSSources)))         \
+          $(addprefix ioutil_,$(notdir $(IOUTILSources)))         \
+          $(addprefix idlw_,$(notdir $(IDLINEARWAVESSources)))    \
+          $(addprefix badmsrc_,$(notdir $(BENCHADMSRCSources)))   \
+          $(addprefix cbnds_,$(notdir $(CACTUSBINDINGSSources)))  \
+          $(addprefix cg3d_,$(notdir $(CARTGRID3DSources)))       \
+          $(addprefix einstein_,$(notdir $(EINSTEINSources)))     \
+          $(addprefix pughreduce_,$(notdir $(PUGHREDUCESources))) \
+          $(addprefix boundary_,$(notdir $(BOUNDARYSources)))     \
+          $(addprefix pughslab_,$(notdir $(PUGHSLABSources)))     \
+          $(addprefix ioascii_,$(notdir $(IOASCIISources)))       \
+          $(addprefix iobasic_,$(notdir $(IOBASICSources)))
+
+CPPFLAGS += \
+          -DCCODE                                 \
+          -I$(SPEC_BENCH_DIR)/src/PUGH            \
+          -I$(SPEC_BENCH_DIR)/src/Time            \
+          -I$(SPEC_BENCH_DIR)/src/Cactus          \
+          -I$(SPEC_BENCH_DIR)/src/IOUtil          \
+          -I$(SPEC_BENCH_DIR)/src/IDLinearWaves   \
+          -I$(SPEC_BENCH_DIR)/src/BenchADMsrc     \
+          -I$(SPEC_BENCH_DIR)/src/CactusBindings  \
+          -I$(SPEC_BENCH_DIR)/src/CartGrid3D      \
+          -I$(SPEC_BENCH_DIR)/src/Einstein        \
+          -I$(SPEC_BENCH_DIR)/src/PUGHReduce      \
+          -I$(SPEC_BENCH_DIR)/src/Boundary        \
+          -I$(SPEC_BENCH_DIR)/src/PUGHSlab        \
+          -I$(SPEC_BENCH_DIR)/src/IOASCII         \
+          -I$(SPEC_BENCH_DIR)/src/IOBasic         \
+          -I$(SPEC_BENCH_DIR)/src                 \
+          -I$(SPEC_BENCH_DIR)/src/include 
+
 include ../../Makefile.spec2006
 include $(PROJ_SRC_ROOT)/Makefile.FORTRAN
 
-CFLAGS += -DCCODE
-
 RUN_OPTIONS      = benchADM
 STDOUT_FILENAME := benchADM.out
+
+##===----------------------------------------------------------------------===##
+# Copy the source files to the working directory. Some files may have the
+# same names but are in different directories, so we add a prefix to
+# the filenames to prevent overwriting files.
+##===----------------------------------------------------------------------===##
+
+$(notdir $(TOPSources)) : % : \
+$(SPEC_BENCH_DIR)/src/%
+       cp $< $@
+$(addprefix pugh_,$(notdir $(PUGHSources))) : pugh_% : \
+$(SPEC_BENCH_DIR)/src/PUGH/%
+       cp $< $@
+$(addprefix time_,$(notdir $(TIMESources))) : time_% : \
+$(SPEC_BENCH_DIR)/src/Time/%
+       cp $< $@
+$(addprefix cactus_,$(notdir $(CACTUSSources))) : cactus_% : \
+$(SPEC_BENCH_DIR)/src/Cactus/%
+       cp $< $@
+$(addprefix ioutil_,$(notdir $(IOUTILSources))) : ioutil_% : \
+$(SPEC_BENCH_DIR)/src/IOUtil/%
+       cp $< $@
+$(addprefix idlw_,$(notdir $(IDLINEARWAVESSources))) : idlw_% : \
+$(SPEC_BENCH_DIR)/src/IDLinearWaves/%
+       cp $< $@
+$(addprefix badmsrc_,$(notdir $(BENCHADMSRCSources))) : badmsrc_% : \
+$(SPEC_BENCH_DIR)/src/BenchADMsrc/%
+       cp $< $@
+$(addprefix cbnds_,$(notdir $(CACTUSBINDINGSSources))) : cbnds_% : \
+$(SPEC_BENCH_DIR)/src/CactusBindings/%
+       cp $< $@
+$(addprefix cg3d_,$(notdir $(CARTGRID3DSources))) : cg3d_% : \
+$(SPEC_BENCH_DIR)/src/CartGrid3D/%
+       cp $< $@
+$(addprefix einstein_,$(notdir $(EINSTEINSources))) : einstein_% : \
+$(SPEC_BENCH_DIR)/src/Einstein/%
+       cp $< $@
+$(addprefix pughreduce_,$(notdir $(PUGHREDUCESources))) : pughreduce_% : \
+$(SPEC_BENCH_DIR)/src/PUGHReduce/%
+       cp $< $@
+$(addprefix boundary_,$(notdir $(BOUNDARYSources))) : boundary_% : \
+$(SPEC_BENCH_DIR)/src/Boundary/%
+       cp $< $@
+$(addprefix pughslab_,$(notdir $(PUGHSLABSources))) : pughslab_% : \
+$(SPEC_BENCH_DIR)/src/PUGHSlab/%
+       cp $< $@
+$(addprefix ioascii_,$(notdir $(IOASCIISources))) : ioascii_% : \
+$(SPEC_BENCH_DIR)/src/IOASCII/%
+       cp $< $@
+$(addprefix iobasic_,$(notdir $(IOBASICSources))) : iobasic_% : \
+$(SPEC_BENCH_DIR)/src/IOBasic/%
+       cp $< $@
+
+##===----------------------------------------------------------------------===##
+# Clean up all of the copied source files.
+##===----------------------------------------------------------------------===##
+
+clean::
+       $(RM) -f $(Source)



_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to