diff --git a/Makefile b/Makefile index 755f6260dd63390e15f06d1ba8c80cc7af834f17..0421fcd0d11fed67c449a57c1ba50aae87cfd730 100644 --- a/Makefile +++ b/Makefile @@ -19,7 +19,6 @@ install: ${INSTALL} -m 0755 bin/* ${PREFIX}/share/fsl/bin/ ${INSTALL} -m 0644 config/* ${PREFIX}/config/ ${INSTALL} -m 0755 config/supportedGencodes.sh ${PREFIX}/config/ - ${INSTALL} -m 0755 config/depend.sh ${PREFIX}/config/ ${INSTALL} -m 0644 doc/fsl.css ${PREFIX}/doc/ ${INSTALL} -m 0644 doc/images/* ${PREFIX}/doc/images/ ${INSTALL} -m 0644 etc/fslconf/* ${PREFIX}/etc/fslconf/ diff --git a/config/depend.sh b/config/depend.sh deleted file mode 100755 index 224219cbedde024f2062aff69833c4dd3754d5e1..0000000000000000000000000000000000000000 --- a/config/depend.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/sh -# -# This script is called by the depend.mk rule defined in -# $FSLDIR/config/rules.mk. -# -# It is assumed that this script is executed from a -# project directory (i.e. the project directory is the cwd). -# -# Automatically generate Make rules and dependencies for -# all source files in the project. This creates a file -# called depend.mk which contains a rule for every object -# file to be compiled, which has all header files -# that the source file includes as dependencies. If -# object files are to be saved into a separate build -# directory, the project Makefile should set the BUILDDIR -# variable. -# -# If the NVCC environment variable is set to a nvcc compiler, -# rules are generated for CUDA .cu files. If CUDA object files -# are to be saved into a separate build directory, the project -# Makefile should set the CUDABUILDDIR variable. -set -e - -echo "Building dependency file depend.mk" - -srcfiles=`find -name "*.c" -or -name "*.cc" -or -name "*.cxx" -or -name "*.cpp" -or -name "*.inc" -or -name "*.hpp" -or -name "*.cu"` - -for srcfile in ${srcfiles} dummyname; do - - if [ -f "${srcfile}" ]; then - srcfile="${srcfile#./}" - prefix="${srcfile%.*}" - basename="${prefix##*/}" - objfile="${basename}.o" - depfile="${basename}.mk" - - # if nvcc is present, use it for .cu files - if [ "${srcfile%.cu}" = "${prefix}" ]; then - if [ -f "${NVCC}" ]; then - ${NVCC} -MM -MT "${CUDABUILDDIR}${objfile}" -MF "${depfile}" \ - ${CPPFLAGS} ${INCFLAGS} "${srcfile}" > /dev/null 2>&1 - fi - else - ${CC} -MM -MT "${BUILDDIR}${objfile}" -MF "${depfile}" \ - ${CPPFLAGS} ${INCFLAGS} "${srcfile}" > /dev/null 2>&1 - fi - if [ -f "${depfile}" ]; then - cat "${depfile}" >> depend.mk - rm -f "${depfile}" - fi - - else - touch depend.mk - fi -done diff --git a/config/rules.mk b/config/rules.mk index edc95e460da65457c0520619db7b9d39b2135899..44aa7fa6acb97a40942270676c8cc62bb5273175 100644 --- a/config/rules.mk +++ b/config/rules.mk @@ -20,15 +20,46 @@ depend: ${RM} -f depend.mk ${MAKE} depend.mk +# Automatically generate Make rules and dependencies for +# all source files in the project. This creates a file +# called depend.mk which contains a rule for every object +# file to be compiled, which has all header files +# that the source file includes as dependencies. If +# object files are to be saved into a separate build +# directory, the project Makefile should set the BUILDDIR +# variable. +# +# If the NVCC environment variable is set to a nvcc compiler, +# rules are generated for CUDA .cu files. If CUDA object files +# are to be saved into a separate build directory, the project +# Makefile should set the CUDABUILDDIR variable. depend.mk: - @NVCC="${NVCC}" \ - CC="${CC}" \ - CPPFLAGS="${CPPFLAGS}" \ - INCFLAGS="${INCFLAGS}" \ - BUILDDIR="${BUILDDIR}" \ - CUDABUILDDIR="${CUDABUILDDIR}" \ - ${FSLCONFDIR}/depend.sh - + echo "Building dependency file depend.mk" ; \ + srcfiles=`find -name "*.c" -or -name "*.cc" -or -name "*.cxx" -or -name "*.cpp" -or -name "*.inc" -or -name "*.hpp" -or -name "*.cu"` ; \ + for srcfile in ${srcfiles} dummyname; do \ + if [ -f "${srcfile}" ]; then \ + srcfile="${srcfile#./}" ; \ + prefix="${srcfile%.*}" ; \ + basename="${prefix##*/}" ; \ + objfile="${basename}.o" ; \ + depfile="${basename}.mk" ; \ + if [ "${srcfile%.cu}" = "${prefix}" ]; then \ + if [ -f "${NVCC}" ]; then \ + ${NVCC} -MM -MT "${CUDABUILDDIR}${objfile}" -MF "${depfile}" \ + ${CPPFLAGS} ${INCFLAGS} "${srcfile}" > /dev/null 2>&1 ; \ + fi ; \ + else \ + ${CC} -MM -MT "${BUILDDIR}${objfile}" -MF "${depfile}" \ + ${CPPFLAGS} ${INCFLAGS} "${srcfile}" > /dev/null 2>&1 ; \ + fi ; \ + if [ -f "${depfile}" ]; then \ + cat "${depfile}" >> depend.mk ; \ + rm -f "${depfile}" ; \ + fi ; \ + else \ + touch depend.mk ; \ + fi ; \ + done install: @${MAKE} "DESTDIR=${FSLDEVDIR}" master-install-script