aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreschnett <eschnett@5c1b1641-b641-47ec-b3d9-0f93d4c445ee>2014-12-01 19:30:36 +0000
committereschnett <eschnett@5c1b1641-b641-47ec-b3d9-0f93d4c445ee>2014-12-01 19:30:36 +0000
commitc227bd2e1ff19706ee2c64659c7a557c146cb7b5 (patch)
tree5f2bb368b2ec6da689f174085a6cd28ca2d9df05
parent80b68cf6e6598d823ceac251ac51e499dded1b3a (diff)
Delay building LORENE
git-svn-id: http://svn.cactuscode.org/projects/ExternalLibraries/LORENE/trunk@62 5c1b1641-b641-47ec-b3d9-0f93d4c445ee
-rw-r--r--configuration.ccl7
-rw-r--r--configure.sh243
-rwxr-xr-xsrc/build.sh138
-rwxr-xr-xsrc/detect.sh115
-rw-r--r--src/make.code.deps12
5 files changed, 269 insertions, 246 deletions
diff --git a/configuration.ccl b/configuration.ccl
index 241a44d..b9bd024 100644
--- a/configuration.ccl
+++ b/configuration.ccl
@@ -2,9 +2,10 @@
PROVIDES LORENE
{
- SCRIPT configure.sh
+ SCRIPT src/detect.sh
LANG bash
- OPTIONS LORENE_DIR LORENE_INSTALL_DIR LORENE_EXTRA_LIB_DIRS LORENE_EXTRA_LIBS
+ OPTIONS LORENE_DIR LORENE_EXTRA_LIB_DIRS LORENE_EXTRA_LIBS LORENE_INSTALL_DIR
}
-REQUIRES LAPACK BLAS GSL
+REQUIRES BLAS LAPACK GSL
+REQUIRES LORENE
diff --git a/configure.sh b/configure.sh
deleted file mode 100644
index 51ce117..0000000
--- a/configure.sh
+++ /dev/null
@@ -1,243 +0,0 @@
-#! /bin/bash
-
-################################################################################
-# Prepare
-################################################################################
-
-# Set up shell
-if [ "$(echo ${VERBOSE} | tr '[:upper:]' '[:lower:]')" = 'yes' ]; then
- set -x # Output commands
-fi
-set -e # Abort on errors
-
-
-
-################################################################################
-# Search
-################################################################################
-
-if [ -z "${LORENE_DIR}" ]; then
- echo "BEGIN MESSAGE"
- echo "LORENE selected, but LORENE_DIR not set."
- echo "END MESSAGE"
-else
- echo "BEGIN MESSAGE"
- echo "Using LORENE in ${LORENE_DIR}"
- echo "END MESSAGE"
-fi
-
-
-
-################################################################################
-# Build
-################################################################################
-
-if [ -z "${LORENE_DIR}" \
- -o "$(echo "${LORENE_DIR}" | tr '[a-z]' '[A-Z]')" = 'BUILD' ]
-then
- echo "BEGIN MESSAGE"
- echo "Using bundled LORENE..."
- echo "END MESSAGE"
-
- # check for required tools. Do this here so that we don't require them when
- # using the system library
- if [ x$TAR = x ] ; then
- echo 'BEGIN ERROR'
- echo 'Could not find tar command. Please make sure that (gnu) tar is present'
- echo 'and that the TAR variable is set to its location.'
- echo 'END ERROR'
- exit 1
- fi
- if [ x$PATCH = x ] ; then
- echo 'BEGIN ERROR'
- echo 'Could not find patch command. Please make sure that (gnu) tar is present'
- echo 'and that the PATCH variable is set to its location.'
- echo 'END ERROR'
- exit 1
- fi
-
- # Set locations
- THORN=LORENE
- NAME=Lorene
- SRCDIR="$(dirname $0)"
- BUILD_DIR=${SCRATCH_BUILD}/build/${THORN}
- if [ -z "${LORENE_INSTALL_DIR}" ]; then
- INSTALL_DIR=${SCRATCH_BUILD}/external/${THORN}
- else
- echo "BEGIN MESSAGE"
- echo "Installing LORENE into ${LORENE_INSTALL_DIR}"
- echo "END MESSAGE"
- INSTALL_DIR=${LORENE_INSTALL_DIR}
- fi
- DONE_FILE=${SCRATCH_BUILD}/done/${THORN}
- LORENE_DIR=${INSTALL_DIR}
-
- if [ -e ${DONE_FILE} -a ${DONE_FILE} -nt ${SRCDIR}/dist/${NAME}.tar.gz \
- -a ${DONE_FILE} -nt ${SRCDIR}/configure.sh ]
- then
- echo "BEGIN MESSAGE"
- echo "LORENE has already been built; doing nothing"
- echo "END MESSAGE"
- else
- echo "BEGIN MESSAGE"
- echo "Building LORENE"
- echo "END MESSAGE"
-
- # Build in a subshell
- (
- exec >&2 # Redirect stdout to stderr
- if [ "$(echo ${VERBOSE} | tr '[:upper:]' '[:lower:]')" = 'yes' ]; then
- set -x # Output commands
- fi
- set -e # Abort on errors
- cd ${SCRATCH_BUILD}
-
- # Set up environment
- unset LIBS
- if echo '' ${ARFLAGS} | grep 64 > /dev/null 2>&1; then
- export OBJECT_MODE=64
- fi
-
- #######################################################################
- # determine OPENMP_MODE from the OPENMP option
- # if this option isn't set, then OPENMP_MODE will default to 'no'
- OPENMP_MODE='no'
- if test -n "${OPENMP}"; then
-
- OPENMP=`echo ${OPENMP} | tr '[:upper:]' '[:lower:]'`
-
- if test "${OPENMP}" != 'yes' -a "${OPENMP}" != 'no'; then
- echo 'BEGIN ERROR'
- echo "configure: error: Didn't recognize setting of OPENMP=\"$OPENMP\" (should be either \"yes\" or \"no\")"
- echo 'END ERROR'
- exit 1
- fi
- OPENMP_MODE="${OPENMP}"
- fi
-
- echo "LORENE: Preparing directory structure..."
- mkdir build external done 2> /dev/null || true
- rm -rf ${BUILD_DIR} ${INSTALL_DIR}
- mkdir ${BUILD_DIR} ${INSTALL_DIR}
-
- echo "LORENE: Unpacking archive..."
- pushd ${BUILD_DIR}
- ${TAR?} xzf ${SRCDIR}/dist/${NAME}.tar.gz
- ${PATCH?} -p0 < ${SRCDIR}/dist/des.patch
- ${PATCH?} -p0 < ${SRCDIR}/dist/makesystem.patch
- ${PATCH?} -p0 < ${SRCDIR}/dist/pgplot.patch
- ${PATCH?} -p0 < ${SRCDIR}/dist/openmp.patch
- ${PATCH?} -p0 < ${SRCDIR}/dist/check_fopen_error.patch
- # Some (ancient but still used) versions of patch don't support the
- # patch format used here but also don't report an error using the
- # exit code. So we use this patch to test for this
- ${PATCH?} -p0 < ${SRCDIR}/dist/patchtest.patch
- if [ ! -e Lorene/.patch_tmp ]; then
- echo 'BEGIN ERROR'
- echo 'The version of patch is too old to understand this patch format.'
- echo 'Please set the PATCH environment variable to a more recent '
- echo 'version of the patch command.'
- echo 'END ERROR'
- exit 1
- fi
- rm -f Lorene/.patch_tmp
- # Prevent overly long lines
- for file in $(find ${NAME} -name '*.f'); do
- # Remove CVS Header comments
- perl -pi -e 's{\$Header.*\$}{\$Header\$}g' $file
- # Replace tabs with eight blanks
- perl -pi -e 's{\t}{ }' $file
- # Remove in-line comments (in lines without quotes)
- perl -pi -e 's{^([^'\''"]*?)!.*$}{$1}' $file
- # Break long lines
- perl -pi -e 's{^([ 0-9].{71})(.+)}{$1\n \$$2}' $file
- done
-
- echo "LORENE: Configuring..."
- cd ${NAME}
- if echo ${F77} | grep -i xlf > /dev/null 2>&1; then
- FIXEDF77FLAGS=-qfixed
- fi
- export HOME_LORENE=${BUILD_DIR}/${NAME}
- cat > local_settings <<EOF
-CXX = ${CXX}
-CXXFLAGS = ${CXXFLAGS} ${CPPFLAGS} $(test x${OPENMP_MODE} = xyes && echo ${CXX_OPENMP_FLAGS} ${CPP_OPENMP_FLAGS}) \$(addprefix -I,${SYS_INC_DIRS}) ${LDFLAGS}
-CXXFLAGS_G = ${CXXFLAGS} ${CPPFLAGS} $(test x${OPENMP_MODE} = xyes && echo ${CXX_OPENMP_FLAGS} ${CPP_OPENMP_FLAGS}) ${LDFLAGS}
-F77 = ${F77}
-F77FLAGS = ${F77FLAGS} ${FIXEDF77FLAGS} $(test x${OPENMP_MODE} = xyes && echo ${F77_OPENMP_FLAGS}) ${LDFLAGS}
-F77FLAGS_G = ${F77FLAGS} ${FIXEDF77FLAGS} $(test x${OPENMP_MODE} = xyes && echo ${F77_OPENMP_FLAGS}) ${LDFLAGS}
-INC = -I\$(HOME_LORENE)/C++/Include -I\$(HOME_LORENE)/C++/Include_extra \$(addprefix -I,${GSL_INC_DIRS})
-RANLIB = ${RANLIB}
-# We don't need dependencies since we always build from scratch
-#MAKEDEPEND = ${CXX_DEPEND} \$(INC) \$< ${CXX_DEPEND_OUT} && mv \$@ \$(df).d
-MAKEDEPEND = : > \$(df).d
-DEPDIR = .deps
-FFT_DIR = FFT991
-LIB_CXX = ${LIBS}
-LIB_LAPACK = ${LAPACK_LIBS} ${BLAS_LIBS}
-LIB_PGPLOT =
-LIB_GSL = ${GSL_LIBS}
-DONTBUILDDEBUGLIB = yes
-EOF
- if [ -n "$XARGS" ]; then echo "XARGS = $XARGS" >> local_settings; fi
- if [ -n "$FIND" ]; then echo "FIND = $FIND" >> local_settings; fi
-
- echo "LORENE: Building..."
- # Note that this builds two versions of the library, a
- # "regular" version and a "debug" version. Both are identical
- # (since we specified identical build options above), and we
- # ignore the "debug" version.
- ${MAKE} cpp fortran export
-
- echo "LORENE: Installing..."
- mv ${BUILD_DIR}/${NAME}/Lib ${INSTALL_DIR}
- mkdir ${INSTALL_DIR}/C++
- mv ${BUILD_DIR}/${NAME}/C++/Include ${INSTALL_DIR}/C++
- mkdir ${INSTALL_DIR}/Export
- mkdir ${INSTALL_DIR}/Export/C++
- mv ${BUILD_DIR}/${NAME}/Export/C++/Include ${INSTALL_DIR}/Export/C++
- popd
-
- echo "LORENE: Cleaning up..."
- rm -rf ${BUILD_DIR}
-
- date > ${DONE_FILE}
- echo "LORENE: Done."
- )
-
- if (( $? )); then
- echo 'BEGIN ERROR'
- echo 'Error while building LORENE. Aborting.'
- echo 'END ERROR'
- exit 1
- fi
- fi
-
-fi
-
-
-
-################################################################################
-# Configure Cactus
-################################################################################
-
-# Set options
-LORENE_INC_DIRS="${LORENE_DIR}/Export/C++/Include ${LORENE_DIR}/C++/Include"
-LORENE_LIB_DIRS="${LORENE_DIR}/Lib ${LORENE_EXTRA_LIB_DIRS}"
-LORENE_LIBS="lorene_export lorene lorenef77 ${LORENE_EXTRA_LIBS}"
-
-LORENE_INC_DIRS="$(${CCTK_HOME}/lib/sbin/strip-incdirs.sh ${LORENE_INC_DIRS})"
-LORENE_LIB_DIRS="$(${CCTK_HOME}/lib/sbin/strip-libdirs.sh ${LORENE_LIB_DIRS})"
-
-# Pass options to Cactus
-echo "BEGIN MAKE_DEFINITION"
-echo "LORENE_DIR = ${LORENE_DIR}"
-echo "LORENE_INC_DIRS = ${LORENE_INC_DIRS}"
-echo "LORENE_LIB_DIRS = ${LORENE_LIB_DIRS}"
-echo "LORENE_LIBS = ${LORENE_LIBS}"
-# echo "HOME_LORENE = ${LORENE_DIR}"
-echo "END MAKE_DEFINITION"
-
-echo 'INCLUDE_DIRECTORY $(LORENE_INC_DIRS)'
-echo 'LIBRARY_DIRECTORY $(LORENE_LIB_DIRS)'
-echo 'LIBRARY $(LORENE_LIBS)'
diff --git a/src/build.sh b/src/build.sh
new file mode 100755
index 0000000..70e5a4f
--- /dev/null
+++ b/src/build.sh
@@ -0,0 +1,138 @@
+#! /bin/bash
+
+################################################################################
+# Prepare
+################################################################################
+
+# Set up shell
+if [ "$(echo ${VERBOSE} | tr '[:upper:]' '[:lower:]')" = 'yes' ]; then
+ set -x # Output commands
+fi
+set -e # Abort on errors
+
+
+
+# Set locations
+THORN=LORENE
+NAME=Lorene
+SRCDIR="$(dirname $0)"
+BUILD_DIR=${SCRATCH_BUILD}/build/${THORN}
+if [ -z "${LORENE_INSTALL_DIR}" ]; then
+ INSTALL_DIR=${SCRATCH_BUILD}/external/${THORN}
+else
+ echo "BEGIN MESSAGE"
+ echo "Installing LORENE into ${LORENE_INSTALL_DIR}"
+ echo "END MESSAGE"
+ INSTALL_DIR=${LORENE_INSTALL_DIR}
+fi
+DONE_FILE=${SCRATCH_BUILD}/done/${THORN}
+LORENE_DIR=${INSTALL_DIR}
+
+# Set up environment
+unset LIBS
+if echo '' ${ARFLAGS} | grep 64 > /dev/null 2>&1; then
+ export OBJECT_MODE=64
+fi
+
+echo "LORENE: Preparing directory structure..."
+mkdir build external done 2> /dev/null || true
+rm -rf ${BUILD_DIR} ${INSTALL_DIR}
+mkdir ${BUILD_DIR} ${INSTALL_DIR}
+
+echo "LORENE: Unpacking archive..."
+pushd ${BUILD_DIR}
+${TAR?} xzf ${SRCDIR}/../dist/${NAME}.tar.gz
+${PATCH?} -p0 < ${SRCDIR}/../dist/des.patch
+${PATCH?} -p0 < ${SRCDIR}/../dist/makesystem.patch
+${PATCH?} -p0 < ${SRCDIR}/../dist/pgplot.patch
+${PATCH?} -p0 < ${SRCDIR}/../dist/openmp.patch
+${PATCH?} -p0 < ${SRCDIR}/../dist/check_fopen_error.patch
+# Some (ancient but still used) versions of patch don't support the
+# patch format used here but also don't report an error using the exit
+# code. So we use this patch to test for this
+${PATCH?} -p0 < ${SRCDIR}/../dist/patchtest.patch
+if [ ! -e Lorene/.patch_tmp ]; then
+ echo 'BEGIN ERROR'
+ echo 'The version of patch is too old to understand this patch format.'
+ echo 'Please set the PATCH environment variable to a more recent '
+ echo 'version of the patch command.'
+ echo 'END ERROR'
+ exit 1
+fi
+rm -f Lorene/.patch_tmp
+# Prevent overly long lines
+for file in $(find ${NAME} -name '*.f'); do
+ # Remove CVS Header comments
+ perl -pi -e 's{\$Header.*\$}{\$Header\$}g' $file
+ # Replace tabs with eight blanks
+ perl -pi -e 's{\t}{ }' $file
+ # Remove in-line comments (in lines without quotes)
+ perl -pi -e 's{^([^'\''"]*?)!.*$}{$1}' $file
+ # Break long lines
+ perl -pi -e 's{^([ 0-9].{71})(.+)}{$1\n \$$2}' $file
+done
+
+echo "LORENE: Configuring..."
+cd ${NAME}
+
+# determine OPENMP_MODE from the OPENMP option
+OPENMP_MODE='no'
+if test -n "${OPENMP}"; then
+ OPENMP=`echo ${OPENMP} | tr '[:upper:]' '[:lower:]'`
+ if test "${OPENMP}" != 'yes' -a "${OPENMP}" != 'no'; then
+ echo 'BEGIN ERROR'
+ echo "Didn't recognize setting of OPENMP=\"$OPENMP\" (should be either \"yes\" or \"no\")"
+ echo 'END ERROR'
+ exit 1
+ fi
+ OPENMP_MODE="${OPENMP}"
+fi
+
+if echo ${F77} | grep -i xlf > /dev/null 2>&1; then
+ FIXEDF77FLAGS=-qfixed
+fi
+export HOME_LORENE=${BUILD_DIR}/${NAME}
+cat > local_settings <<EOF
+CXX = ${CXX}
+CXXFLAGS = ${CXXFLAGS} ${CPPFLAGS} $(test x${OPENMP_MODE} = xyes && echo ${CXX_OPENMP_FLAGS} ${CPP_OPENMP_FLAGS}) \$(addprefix -I,${SYS_INC_DIRS}) ${LDFLAGS}
+CXXFLAGS_G = ${CXXFLAGS} ${CPPFLAGS} $(test x${OPENMP_MODE} = xyes && echo ${CXX_OPENMP_FLAGS} ${CPP_OPENMP_FLAGS}) ${LDFLAGS}
+F77 = ${F77}
+F77FLAGS = ${F77FLAGS} ${FIXEDF77FLAGS} $(test x${OPENMP_MODE} = xyes && echo ${F77_OPENMP_FLAGS}) ${LDFLAGS}
+F77FLAGS_G = ${F77FLAGS} ${FIXEDF77FLAGS} $(test x${OPENMP_MODE} = xyes && echo ${F77_OPENMP_FLAGS}) ${LDFLAGS}
+INC = -I\$(HOME_LORENE)/C++/Include -I\$(HOME_LORENE)/C++/Include_extra \$(addprefix -I,${GSL_INC_DIRS})
+RANLIB = ${RANLIB}
+# We don't need dependencies since we always build from scratch
+#MAKEDEPEND = ${CXX_DEPEND} \$(INC) \$< ${CXX_DEPEND_OUT} && mv \$@ \$(df).d
+MAKEDEPEND = : > \$(df).d
+DEPDIR = .deps
+FFT_DIR = FFT991
+LIB_CXX = ${LIBS}
+LIB_LAPACK = ${LAPACK_LIBS} ${BLAS_LIBS}
+LIB_PGPLOT =
+LIB_GSL = ${GSL_LIBS}
+DONTBUILDDEBUGLIB = yes
+EOF
+if [ -n "$XARGS" ]; then echo "XARGS = $XARGS" >> local_settings; fi
+if [ -n "$FIND" ]; then echo "FIND = $FIND" >> local_settings; fi
+
+echo "LORENE: Building..."
+# Note that this builds two versions of the library, a "regular"
+# version and a "debug" version. Both are identical (since we
+# specified identical build options above), and we ignore the "debug"
+# version.
+${MAKE} cpp fortran export
+
+echo "LORENE: Installing..."
+mv ${BUILD_DIR}/${NAME}/Lib ${INSTALL_DIR}
+mkdir ${INSTALL_DIR}/C++
+mv ${BUILD_DIR}/${NAME}/C++/Include ${INSTALL_DIR}/C++
+mkdir ${INSTALL_DIR}/Export
+mkdir ${INSTALL_DIR}/Export/C++
+mv ${BUILD_DIR}/${NAME}/Export/C++/Include ${INSTALL_DIR}/Export/C++
+popd
+
+echo "LORENE: Cleaning up..."
+rm -rf ${BUILD_DIR}
+
+date > ${DONE_FILE}
+echo "LORENE: Done."
diff --git a/src/detect.sh b/src/detect.sh
new file mode 100755
index 0000000..5ff7af1
--- /dev/null
+++ b/src/detect.sh
@@ -0,0 +1,115 @@
+#! /bin/bash
+
+################################################################################
+# Prepare
+################################################################################
+
+# Set up shell
+if [ "$(echo ${VERBOSE} | tr '[:upper:]' '[:lower:]')" = 'yes' ]; then
+ set -x # Output commands
+fi
+set -e # Abort on errors
+
+
+
+################################################################################
+# Search
+################################################################################
+
+if [ -z "${LORENE_DIR}" ]; then
+ echo "BEGIN MESSAGE"
+ echo "LORENE selected, but LORENE_DIR not set."
+ echo "END MESSAGE"
+else
+ echo "BEGIN MESSAGE"
+ echo "Using LORENE in ${LORENE_DIR}"
+ echo "END MESSAGE"
+fi
+
+
+
+################################################################################
+# Build
+################################################################################
+
+if [ -z "${LORENE_DIR}" \
+ -o "$(echo "${LORENE_DIR}" | tr '[a-z]' '[A-Z]')" = 'BUILD' ]
+then
+ echo "BEGIN MESSAGE"
+ echo "Using bundled LORENE..."
+ echo "END MESSAGE"
+
+ # Check for required tools. Do this here so that we don't require
+ # them when using the system library.
+ if [ "x$TAR" = x ] ; then
+ echo 'BEGIN ERROR'
+ echo 'Could not find tar command.'
+ echo 'Please make sure that the (GNU) tar command is present,'
+ echo 'and that the TAR variable is set to its location.'
+ echo 'END ERROR'
+ exit 1
+ fi
+ if [ "x$PATCH" = x ] ; then
+ echo 'BEGIN ERROR'
+ echo 'Could not find patch command.'
+ echo 'Please make sure that the patch command is present,'
+ echo 'and that the PATCH variable is set to its location.'
+ echo 'END ERROR'
+ exit 1
+ fi
+
+ # Set locations
+ THORN=LORENE
+ NAME=Lorene
+ SRCDIR="$(dirname $0)"
+ BUILD_DIR=${SCRATCH_BUILD}/build/${THORN}
+ if [ -z "${LORENE_INSTALL_DIR}" ]; then
+ INSTALL_DIR=${SCRATCH_BUILD}/external/${THORN}
+ else
+ echo "BEGIN MESSAGE"
+ echo "Installing LORENE into ${LORENE_INSTALL_DIR}"
+ echo "END MESSAGE"
+ INSTALL_DIR=${LORENE_INSTALL_DIR}
+ fi
+ DONE_FILE=${SCRATCH_BUILD}/done/${THORN}
+ LORENE_DIR=${INSTALL_DIR}
+else
+ THORN=LORENE
+ DONE_FILE=${SCRATCH_BUILD}/done/${THORN}
+ mkdir ${SCRATCH_BUILD}/done 2> /dev/null || true
+ date > ${DONE_FILE}
+fi
+
+
+
+################################################################################
+# Configure Cactus
+################################################################################
+
+# Pass configuration options to build script
+echo "BEGIN MAKE_DEFINITION"
+echo "LORENE_EXTRA_LIB_DIRS = ${LORENE_EXTRA_LIB_DIRS}"
+echo "LORENE_EXTRA_LIBS = ${LORENE_EXTRA_LIBS}"
+echo "LORENE_INSTALL_DIR = ${LORENE_INSTALL_DIR}"
+echo "END MAKE_DEFINITION"
+
+# Set options
+LORENE_INC_DIRS="${LORENE_DIR}/Export/C++/Include ${LORENE_DIR}/C++/Include"
+LORENE_LIB_DIRS="${LORENE_DIR}/Lib ${LORENE_EXTRA_LIB_DIRS}"
+LORENE_LIBS="lorene_export lorene lorenef77 ${LORENE_EXTRA_LIBS}"
+
+LORENE_INC_DIRS="$(${CCTK_HOME}/lib/sbin/strip-incdirs.sh ${LORENE_INC_DIRS})"
+LORENE_LIB_DIRS="$(${CCTK_HOME}/lib/sbin/strip-libdirs.sh ${LORENE_LIB_DIRS})"
+
+# Pass options to Cactus
+echo "BEGIN MAKE_DEFINITION"
+echo "LORENE_DIR = ${LORENE_DIR}"
+echo "LORENE_INC_DIRS = ${LORENE_INC_DIRS}"
+echo "LORENE_LIB_DIRS = ${LORENE_LIB_DIRS}"
+echo "LORENE_LIBS = ${LORENE_LIBS}"
+# echo "HOME_LORENE = ${LORENE_DIR}"
+echo "END MAKE_DEFINITION"
+
+echo 'INCLUDE_DIRECTORY $(LORENE_INC_DIRS)'
+echo 'LIBRARY_DIRECTORY $(LORENE_LIB_DIRS)'
+echo 'LIBRARY $(LORENE_LIBS)'
diff --git a/src/make.code.deps b/src/make.code.deps
new file mode 100644
index 0000000..29353e3
--- /dev/null
+++ b/src/make.code.deps
@@ -0,0 +1,12 @@
+# Main make.code.deps file for thorn LORENE
+
+export BLAS_DIR BLAS_INC_DIRS BLAS_LIB_DIRS BLAS_LIBS
+export GSL_DIR GSL_INC_DIRS GSL_LIB_DIRS GSL_LIBS
+export LAPACK_DIR LAPACK_INC_DIRS LAPACK_LIB_DIRS LAPACK_LIBS
+
+export LORENE_EXTRA_LIB_DIRS LORENE_EXTRA_LIBS
+export LORENE_INSTALL_DIR
+
+$(CCTK_TARGET) $(OBJS): $(SCRATCH_BUILD)/done/$(THORN)
+$(SCRATCH_BUILD)/done/$(THORN): $(SRCDIR)/build.sh
+ $(SRCDIR)/build.sh