summaryrefslogtreecommitdiff
path: root/lib/make
diff options
context:
space:
mode:
authoreschnett <eschnett@17b73243-c579-4c4c-a9d2-2d5706c11dac>2012-07-24 14:40:21 +0000
committereschnett <eschnett@17b73243-c579-4c4c-a9d2-2d5706c11dac>2012-07-24 14:40:21 +0000
commitf7bdf7268a003af3ac0b3ee148d4c196a16827f6 (patch)
tree7aa0d22a69a6fb4233d2bddac8d8983be7b3d79c /lib/make
parent2e40a9adfe3ec3fc72dc5ca21ff38208eddd34a0 (diff)
Correct dependency calculation for CUDA
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4850 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'lib/make')
-rwxr-xr-xlib/make/configure18
-rw-r--r--lib/make/configure.in14
-rw-r--r--lib/make/make.config.defn.in102
-rw-r--r--lib/make/make.config.rules.in16
4 files changed, 75 insertions, 75 deletions
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 <<EOF
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
-char a88VAc;
+char 6Okejz;
int main() {
-rLztEw
+1xVIuB
; return 0; }
EOF
if { (eval echo configure:6875: \"$ac_link\") 1>&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