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