From f7bdf7268a003af3ac0b3ee148d4c196a16827f6 Mon Sep 17 00:00:00 2001 From: eschnett Date: Tue, 24 Jul 2012 14:40:21 +0000 Subject: Correct dependency calculation for CUDA git-svn-id: http://svn.cactuscode.org/flesh/trunk@4850 17b73243-c579-4c4c-a9d2-2d5706c11dac --- lib/make/configure | 18 ++++---- lib/make/configure.in | 14 +++--- lib/make/make.config.defn.in | 102 +++++++++++++++++++++--------------------- lib/make/make.config.rules.in | 16 +++---- 4 files changed, 75 insertions(+), 75 deletions(-) (limited to 'lib') diff --git a/lib/make/configure b/lib/make/configure index 858bf2ae..8ad0dc99 100755 --- a/lib/make/configure +++ b/lib/make/configure @@ -1712,7 +1712,7 @@ fi # nvcc itself doesn't have warning flags. warnings will be given by C compilers. - : ${CUCC_WARN_FLAGS=''} +: ${CUCC_WARN_FLAGS=''} if test "$F77" = 'g77' ; then @@ -6865,10 +6865,10 @@ cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then @@ -7426,9 +7426,9 @@ LDFLAGS="$LDFLAGS $KNOWN_LDFLAGS" : ${CXX_DEPEND_OUT=' > $@'} -: ${CU_DEPEND='$(CUCC) -M'} +: ${CUCC_DEPEND='$(CUCC) -M $(CUCCFLAGS)'} -: ${CU_DEPEND_OUT=' > $@'} +: ${CUCC_DEPEND_OUT=' > $@'} : ${F77_DEPEND='$(FPP) -M $(FPPFLAGS)'} @@ -7454,7 +7454,7 @@ LDFLAGS="$LDFLAGS $KNOWN_LDFLAGS" : ${CL_POSTPROCESSING=''} -: ${CU_POSTPROCESSING=''} +: ${CUCC_POSTPROCESSING=''} : ${F77_POSTPROCESSING=''} @@ -8034,8 +8034,8 @@ s%@C_DEPEND@%$C_DEPEND%g s%@C_DEPEND_OUT@%$C_DEPEND_OUT%g s%@CXX_DEPEND@%$CXX_DEPEND%g s%@CXX_DEPEND_OUT@%$CXX_DEPEND_OUT%g -s%@CU_DEPEND@%$CU_DEPEND%g -s%@CU_DEPEND_OUT@%$CU_DEPEND_OUT%g +s%@CUCC_DEPEND@%$CUCC_DEPEND%g +s%@CUCC_DEPEND_OUT@%$CUCC_DEPEND_OUT%g s%@F77_DEPEND@%$F77_DEPEND%g s%@F77_DEPEND_OUT@%$F77_DEPEND_OUT%g s%@F_DEPEND@%$F_DEPEND%g @@ -8045,7 +8045,7 @@ s%@F_DEPEND_MODULES_OUT@%$F_DEPEND_MODULES_OUT%g s%@C_POSTPROCESSING@%$C_POSTPROCESSING%g s%@CXX_POSTPROCESSING@%$CXX_POSTPROCESSING%g s%@CL_POSTPROCESSING@%$CL_POSTPROCESSING%g -s%@CU_POSTPROCESSING@%$CU_POSTPROCESSING%g +s%@CUCC_POSTPROCESSING@%$CUCC_POSTPROCESSING%g s%@F77_POSTPROCESSING@%$F77_POSTPROCESSING%g s%@F_POSTPROCESSING@%$F_POSTPROCESSING%g s%@F90_POSTPROCESSING@%$F90_POSTPROCESSING%g diff --git a/lib/make/configure.in b/lib/make/configure.in index b673cbd3..f6fcfe10 100644 --- a/lib/make/configure.in +++ b/lib/make/configure.in @@ -315,7 +315,7 @@ fi # nvcc itself doesn't have warning flags. warnings will be given by C compilers. AC_SUBST(CUCC_WARN_FLAGS) - : ${CUCC_WARN_FLAGS=''} +: ${CUCC_WARN_FLAGS=''} AC_SUBST(F77_WARN_FLAGS) if test "$F77" = 'g77' ; then @@ -1258,10 +1258,10 @@ AC_SUBST(CXX_DEPEND) AC_SUBST(CXX_DEPEND_OUT) : ${CXX_DEPEND_OUT=' > $@'} -AC_SUBST(CU_DEPEND) -: ${CU_DEPEND='$(CUCC) -M'} -AC_SUBST(CU_DEPEND_OUT) -: ${CU_DEPEND_OUT=' > $@'} +AC_SUBST(CUCC_DEPEND) +: ${CUCC_DEPEND='$(CUCC) -M $(CUCCFLAGS)'} +AC_SUBST(CUCC_DEPEND_OUT) +: ${CUCC_DEPEND_OUT=' > $@'} AC_SUBST(F77_DEPEND) : ${F77_DEPEND='$(FPP) -M $(FPPFLAGS)'} @@ -1286,8 +1286,8 @@ AC_SUBST(CXX_POSTPROCESSING) : ${CXX_POSTPROCESSING=''} AC_SUBST(CL_POSTPROCESSING) : ${CL_POSTPROCESSING=''} -AC_SUBST(CU_POSTPROCESSING) -: ${CU_POSTPROCESSING=''} +AC_SUBST(CUCC_POSTPROCESSING) +: ${CUCC_POSTPROCESSING=''} AC_SUBST(F77_POSTPROCESSING) : ${F77_POSTPROCESSING=''} AC_SUBST(F_POSTPROCESSING) diff --git a/lib/make/make.config.defn.in b/lib/make/make.config.defn.in index 083f1827..9b8e13c6 100644 --- a/lib/make/make.config.defn.in +++ b/lib/make/make.config.defn.in @@ -23,9 +23,9 @@ export SHELL = @SHELL@ export MKDIR = @MKDIR@ export CC = @CC@ export CXX = @CXX@ +export CUCC = @CUCC@ export F90 = @F90@ export F77 = @F77@ -export CUCC = @CUCC@ export CPP = @CPP@ export FPP = @FPP@ export LD = @LD@ @@ -42,9 +42,9 @@ export GIT = @GIT@ export CFLAGS = @CFLAGS@ export CXXFLAGS = @CXXFLAGS@ +export CUCCFLAGS = @CUCCFLAGS@ export F90FLAGS = @F90FLAGS@ export F77FLAGS = @F77FLAGS@ -export CUCCFLAGS = @CUCCFLAGS@ export CPPFLAGS = @CPPFLAGS@ export FPPFLAGS = @FPPFLAGS@ @@ -55,10 +55,10 @@ export F_LINE_DIRECTIVES = @F_LINE_DIRECTIVES@ # CPP: @CPP_VERSION@ # CC: @CC_VERSION@ # CXX: @CXX_VERSION@ +# CUCC: @CUCC_VERSION@ # FPP: @FPP_VERSION@ # F77: @F77_VERSION@ # F90: @F90_VERSION@ -# CUCC: @CUCC_VERSION@ export MKDIRFLAGS = @MKDIRFLAGS@ @@ -75,52 +75,52 @@ export CPP_DEBUG_FLAGS = @CPP_DEBUG_FLAGS@ export FPP_DEBUG_FLAGS = @FPP_DEBUG_FLAGS@ export C_DEBUG_FLAGS = @C_DEBUG_FLAGS@ export CXX_DEBUG_FLAGS = @CXX_DEBUG_FLAGS@ +export CUCC_DEBUG_FLAGS = @CUCC_DEBUG_FLAGS@ export F90_DEBUG_FLAGS = @F90_DEBUG_FLAGS@ export F77_DEBUG_FLAGS = @F77_DEBUG_FLAGS@ -export CUCC_DEBUG_FLAGS = @CUCC_DEBUG_FLAGS@ # Optimisation flags export CPP_OPTIMISE_FLAGS = @CPP_OPTIMISE_FLAGS@ export FPP_OPTIMISE_FLAGS = @FPP_OPTIMISE_FLAGS@ export C_OPTIMISE_FLAGS = @C_OPTIMISE_FLAGS@ export CXX_OPTIMISE_FLAGS = @CXX_OPTIMISE_FLAGS@ +export CUCC_OPTIMISE_FLAGS = @CUCC_OPTIMISE_FLAGS@ export F90_OPTIMISE_FLAGS = @F90_OPTIMISE_FLAGS@ export F77_OPTIMISE_FLAGS = @F77_OPTIMISE_FLAGS@ -export CUCC_OPTIMISE_FLAGS = @CUCC_OPTIMISE_FLAGS@ # No-optimisation flags export C_NO_OPTIMISE_FLAGS = @C_NO_OPTIMISE_FLAGS@ export CXX_NO_OPTIMISE_FLAGS = @CXX_NO_OPTIMISE_FLAGS@ +export CUCC_NO_OPTIMISE_FLAGS = @CUCC_NO_OPTIMISE_FLAGS@ export F90_NO_OPTIMISE_FLAGS = @F90_NO_OPTIMISE_FLAGS@ export F77_NO_OPTIMISE_FLAGS = @F77_NO_OPTIMISE_FLAGS@ -export CUCC_NO_OPTIMISE_FLAGS = @CUCC_NO_OPTIMISE_FLAGS@ # Profiling flags export CPP_PROFILE_FLAGS = @CPP_PROFILE_FLAGS@ export FPP_PROFILE_FLAGS = @FPP_PROFILE_FLAGS@ export C_PROFILE_FLAGS = @C_PROFILE_FLAGS@ export CXX_PROFILE_FLAGS = @CXX_PROFILE_FLAGS@ +export CUCC_PROFILE_FLAGS = @CUCC_PROFILE_FLAGS@ export F90_PROFILE_FLAGS = @F90_PROFILE_FLAGS@ export F77_PROFILE_FLAGS = @F77_PROFILE_FLAGS@ -export CUCC_PROFILE_FLAGS = @CUCC_PROFILE_FLAGS@ # OpenMP flags export CPP_OPENMP_FLAGS = @CPP_OPENMP_FLAGS@ export FPP_OPENMP_FLAGS = @FPP_OPENMP_FLAGS@ export C_OPENMP_FLAGS = @C_OPENMP_FLAGS@ export CXX_OPENMP_FLAGS = @CXX_OPENMP_FLAGS@ +export CUCC_OPENMP_FLAGS = @CUCC_OPENMP_FLAGS@ export F90_OPENMP_FLAGS = @F90_OPENMP_FLAGS@ export F77_OPENMP_FLAGS = @F77_OPENMP_FLAGS@ -export CUCC_OPENMP_FLAGS = @CUCC_OPENMP_FLAGS@ # Warning flags export CPP_WARN_FLAGS = @CPP_WARN_FLAGS@ export FPP_WARN_FLAGS = @FPP_WARN_FLAGS@ export C_WARN_FLAGS = @C_WARN_FLAGS@ export CXX_WARN_FLAGS = @CXX_WARN_FLAGS@ +export CUCC_WARN_FLAGS = @CUCC_WARN_FLAGS@ export F90_WARN_FLAGS = @F90_WARN_FLAGS@ export F77_WARN_FLAGS = @F77_WARN_FLAGS@ -export CUCC_WARN_FLAGS = @CUCC_WARN_FLAGS@ # Most compilers use -c -o to compile only, some do something different export CCOMPILEONLY = @CCOMPILEONLY@ @@ -147,18 +147,18 @@ export CACTUSLIBLINKLINE = @CACTUSLIBLINKLINE@ export C_DEPEND = @C_DEPEND@ export CXX_DEPEND = @CXX_DEPEND@ export CL_DEPEND = @CL_DEPEND@ +export CUCC_DEPEND = @CUCC_DEPEND@ export F77_DEPEND = @F77_DEPEND@ export F_DEPEND = @F_DEPEND@ export F_DEPEND_MODULES = @F_DEPEND_MODULES@ -export CU_DEPEND = @CU_DEPEND@ export C_DEPEND_OUT = @C_DEPEND_OUT@ export CXX_DEPEND_OUT = @CXX_DEPEND_OUT@ export CL_DEPEND_OUT = @CL_DEPEND_OUT@ +export CUCC_DEPEND_OUT = @CUCC_DEPEND_OUT@ export F77_DEPEND_OUT = @F77_DEPEND_OUT@ export F_DEPEND_OUT = @F_DEPEND_OUT@ export F_DEPEND_MODULES_OUT = @F_DEPEND_MODULES_OUT@ -export CU_DEPEND_OUT = @CU_DEPEND_OUT@ # Some compilers are very picky about the names of C++ files export CXX_WORKING_NAME = @CXX_WORKING_NAME@ @@ -167,13 +167,13 @@ export CXX_WORKING_NAME = @CXX_WORKING_NAME@ export F90_SUFFIX = @F90_SUFFIX@ # How to postprocess object files -export C_POSTPROCESSING = @C_POSTPROCESSING@ -export CXX_POSTPROCESSING = @CXX_POSTPROCESSING@ +export C_POSTPROCESSING = @C_POSTPROCESSING@ +export CXX_POSTPROCESSING = @CXX_POSTPROCESSING@ export CL_POSTPROCESSING = @CL_POSTPROCESSING@ -export F77_POSTPROCESSING = @F77_POSTPROCESSING@ -export F_POSTPROCESSING = @F_POSTPROCESSING@ -export F90_POSTPROCESSING = @F90_POSTPROCESSING@ -export CU_POSTPROCESSING = @CU_POSTPROCESSING@ +export CUCC_POSTPROCESSING = @CUCC_POSTPROCESSING@ +export F77_POSTPROCESSING = @F77_POSTPROCESSING@ +export F_POSTPROCESSING = @F_POSTPROCESSING@ +export F90_POSTPROCESSING = @F90_POSTPROCESSING@ # Do we need to use ranlib ? export USE_RANLIB = @USE_RANLIB@ @@ -239,58 +239,58 @@ export EXE = @EXE@ export CCTK_DEBUG_MODE = @DEBUG_MODE@ ifeq ($(strip $(CCTK_DEBUG_MODE)),yes) - CPPFLAGS += $(CPP_DEBUG_FLAGS) - FPPFLAGS += $(FPP_DEBUG_FLAGS) - CFLAGS += $(C_DEBUG_FLAGS) - CXXFLAGS += $(CXX_DEBUG_FLAGS) - F77FLAGS += $(F77_DEBUG_FLAGS) - F90FLAGS += $(F90_DEBUG_FLAGS) + CPPFLAGS += $(CPP_DEBUG_FLAGS) + FPPFLAGS += $(FPP_DEBUG_FLAGS) + CFLAGS += $(C_DEBUG_FLAGS) + CXXFLAGS += $(CXX_DEBUG_FLAGS) CUCCFLAGS += $(CUCC_DEBUG_FLAGS) + F77FLAGS += $(F77_DEBUG_FLAGS) + F90FLAGS += $(F90_DEBUG_FLAGS) endif # Is this an optimising configuration ? CCTK_OPTIMISE_MODE = @OPTIMISE_MODE@ ifeq ($(strip $(CCTK_OPTIMISE_MODE)),yes) - CPPFLAGS += $(CPP_OPTIMISE_FLAGS) - FPPFLAGS += $(FPP_OPTIMISE_FLAGS) - CFLAGS += $(C_OPTIMISE_FLAGS) - CXXFLAGS += $(CXX_OPTIMISE_FLAGS) - F77FLAGS += $(F77_OPTIMISE_FLAGS) - F90FLAGS += $(F90_OPTIMISE_FLAGS) + CPPFLAGS += $(CPP_OPTIMISE_FLAGS) + FPPFLAGS += $(FPP_OPTIMISE_FLAGS) + CFLAGS += $(C_OPTIMISE_FLAGS) + CXXFLAGS += $(CXX_OPTIMISE_FLAGS) CUCCFLAGS += $(CUCC_OPTIMISE_FLAGS) + F77FLAGS += $(F77_OPTIMISE_FLAGS) + F90FLAGS += $(F90_OPTIMISE_FLAGS) else - CFLAGS += $(C_NO_OPTIMISE_FLAGS) - CXXFLAGS += $(CXX_NO_OPTIMISE_FLAGS) - F77FLAGS += $(F77_NO_OPTIMISE_FLAGS) - F90FLAGS += $(F90_NO_OPTIMISE_FLAGS) + CFLAGS += $(C_NO_OPTIMISE_FLAGS) + CXXFLAGS += $(CXX_NO_OPTIMISE_FLAGS) CUCCFLAGS += $(CUCC_NO_OPTIMISE_FLAGS) + F77FLAGS += $(F77_NO_OPTIMISE_FLAGS) + F90FLAGS += $(F90_NO_OPTIMISE_FLAGS) endif # Is this a profiling configuration ? CCTK_PROFILE_MODE = @PROFILE_MODE@ ifeq ($(strip $(CCTK_PROFILE_MODE)),yes) - CPPFLAGS += $(CPP_PROFILE_FLAGS) - FPPFLAGS += $(FPP_PROFILE_FLAGS) - CFLAGS += $(C_PROFILE_FLAGS) - CXXFLAGS += $(CXX_PROFILE_FLAGS) - F77FLAGS += $(F77_PROFILE_FLAGS) - F90FLAGS += $(F90_PROFILE_FLAGS) + CPPFLAGS += $(CPP_PROFILE_FLAGS) + FPPFLAGS += $(FPP_PROFILE_FLAGS) + CFLAGS += $(C_PROFILE_FLAGS) + CXXFLAGS += $(CXX_PROFILE_FLAGS) CUCCFLAGS += $(CUCC_PROFILE_FLAGS) + F77FLAGS += $(F77_PROFILE_FLAGS) + F90FLAGS += $(F90_PROFILE_FLAGS) endif # Are we building with OpenMP support ? CCTK_OPENMP_MODE = @OPENMP_MODE@ ifeq ($(strip $(CCTK_OPENMP_MODE)),yes) - CPPFLAGS += $(CPP_OPENMP_FLAGS) - FPPFLAGS += $(FPP_OPENMP_FLAGS) - CFLAGS += $(C_OPENMP_FLAGS) - CXXFLAGS += $(CXX_OPENMP_FLAGS) - F77FLAGS += $(F77_OPENMP_FLAGS) - F90FLAGS += $(F90_OPENMP_FLAGS) + CPPFLAGS += $(CPP_OPENMP_FLAGS) + FPPFLAGS += $(FPP_OPENMP_FLAGS) + CFLAGS += $(C_OPENMP_FLAGS) + CXXFLAGS += $(CXX_OPENMP_FLAGS) CUCCFLAGS += $(CUCC_OPENMP_FLAGS) + F77FLAGS += $(F77_OPENMP_FLAGS) + F90FLAGS += $(F90_OPENMP_FLAGS) endif # Are we building with all warnings switched on ? @@ -302,13 +302,13 @@ else endif ifeq ($(strip $(CCTK_WARN_MODE)),yes) - CPPFLAGS += $(CPP_WARN_FLAGS) - FPPFLAGS += $(FPP_WARN_FLAGS) - CFLAGS += $(C_WARN_FLAGS) - CXXFLAGS += $(CXX_WARN_FLAGS) - F77FLAGS += $(F77_WARN_FLAGS) - F90FLAGS += $(F90_WARN_FLAGS) + CPPFLAGS += $(CPP_WARN_FLAGS) + FPPFLAGS += $(FPP_WARN_FLAGS) + CFLAGS += $(C_WARN_FLAGS) + CXXFLAGS += $(CXX_WARN_FLAGS) CUCCFLAGS += $(CUCC_WARN_FLAGS) + F77FLAGS += $(F77_WARN_FLAGS) + F90FLAGS += $(F90_WARN_FLAGS) endif # Stuff specific to an architecture. diff --git a/lib/make/make.config.rules.in b/lib/make/make.config.rules.in index 9e292d06..6afb23c0 100644 --- a/lib/make/make.config.rules.in +++ b/lib/make/make.config.rules.in @@ -67,7 +67,7 @@ endif # object file. ifeq ($(strip $(PERL_BACKUP_NECESSARY)),) define DEPENDENCY_FIXER - $(PERL) -pi -e 's{^\Q$(basename $(basename $@)).o:\E}{$(basename $@).o $(basename $@).d:}' $@ + $(PERL) -pi -e 's{^\s*\Q$(basename $(basename $@)).o\E\s*:}{$(basename $@).o $(basename $@).d:}' $@ endef else define DEPENDENCY_FIXER @@ -86,17 +86,17 @@ define CXX_DEPENDENCIES $(DEPENDENCY_FIXER) endef +define CUCC_DEPENDENCIES + $(CUCC_DEPEND) $< $(INCLUDE_LINE) $(EXTRA_DEFINES:%=-D%) -DCCODE $(CUCC_DEPEND_OUT) + $(DEPENDENCY_FIXER) +endef + define CL_DEPENDENCIES # An OpenCL source file has no external dependencies $(CL_DEPEND) $< $(CL_DEPEND_OUT) $(DEPENDENCY_FIXER) endef -define CU_DEPENDENCIES - $(CU_DEPEND) $< $(INCLUDE_LINE) $(EXTRA_DEFINES:%=-D%) -DCCODE $(CU_DEPEND_OUT) - $(DEPENDENCY_FIXER) -endef - define F77_DEPENDENCIES $(F77_DEPEND) $(INCLUDE_LINE) $(EXTRA_DEFINES:%=-D%) -DFCODE $< $(F77_DEPEND_OUT) $(DEPENDENCY_FIXER) @@ -188,7 +188,7 @@ current_wd=`$(GET_WD)` ; cd $(SCRATCH_BUILD) ; $(CUCC) $(CUCCFLAGS) $(CCOMPILEON endef define POSTPROCESS_CU -$(CU_POSTPROCESSING) +$(CUCC_POSTPROCESSING) endef # Define how to do a F77 compilation @@ -338,7 +338,7 @@ endef $(NOTIFY_DIVIDER) %.cu.d: $(SRCDIR)/%.cu - $(CU_DEPENDENCIES) + $(CUCC_DEPENDENCIES) # Build rules for F77 -- cgit v1.2.3