summaryrefslogtreecommitdiff
path: root/lib/make
diff options
context:
space:
mode:
authorgoodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac>2004-03-26 00:18:00 +0000
committergoodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac>2004-03-26 00:18:00 +0000
commit55357998e19e21fd85218f30eb7415ad4135bc15 (patch)
tree887840de59f7aea99e18b515b6e0a21a5a02a69d /lib/make
parentcf724d39baa6101da7ef202958a72d1c872f0656 (diff)
Implementation of configuration.ccl spec from Yaakoub Y El-Khamra.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@3602 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'lib/make')
-rw-r--r--lib/make/make.configuration14
-rw-r--r--lib/make/make.thornlib10
2 files changed, 19 insertions, 5 deletions
diff --git a/lib/make/make.configuration b/lib/make/make.configuration
index 8ec66b13..4e27b316 100644
--- a/lib/make/make.configuration
+++ b/lib/make/make.configuration
@@ -16,6 +16,11 @@ CONFIG = $(TOP)/config-data
BINDINGS_DIR = $(TOP)/bindings
FLESH_DIR = $(CCTK_HOME)/src
+# Some empty strings yye00 fills from configuration.ccl files
+#ConfigInc =
+#ConfigLibdir =
+#ConfigLib =
+
# Scratch build area - need this to make sure F90 module files end up all
# in one directory.
export SCRATCH_BUILD=$(TOP)/scratch
@@ -63,7 +68,7 @@ endif
# pretty confusing during a make clean !
ifeq ($(strip $(MAKECMDGOALS)),)
--include $(CONFIG)/make.thornlist
+-include $(CONFIG)/make.thornlist
endif
ifeq ($(strip $(MAKECMDGOALS)), utils)
@@ -76,7 +81,7 @@ endif
# Allow each thorn to include some global definitions
ifneq ($(strip $(THORNS)),)
--include $(THORNS:%=$(PACKAGE_DIR)/%/src/make.configuration.defn)
+-include $(THORNS:%=$(PACKAGE_DIR)/%/src/make.configuration.defn)
endif
ifeq ($(strip $(UTILS)),)
@@ -89,9 +94,10 @@ UTIL_DIR=$(EXEDIR)$(DIRSEP)$(CONFIG_NAME)
# Build the list of all libraries
ALLCACTUSLIBS = $(notdir $(CACTUSLIBS) $(THORN_LINKLIST) $(CACTUSLIBS))
+# Include all required external libraries from configuration
+-include $(TOP)/bindings/Configuration/make.link
# Build the executable
-
$(EXEDIR)$(DIRSEP)$(EXE): $(CONFIG)/make.thornlist $(CONFIG)/cctki_version.h $(patsubst %,$(CCTK_LIBDIR)/$(LIBNAME_PREFIX)%$(LIBNAME_SUFFIX),$(notdir $(THORNS) $(CACTUSLIBS)))
@echo Creating $(EXE) in $(EXEDIR) from $(THORNS)
$(CC) $(OPTIMISE_C) $(DEBUG_C) $(CFLAGS) $(CCOMPILEONLY)$(OPTIONSEP)$(TOP)$(DIRSEP)datestamp.o -I$(subst /,$(DIRSEP),$(CCTK_HOME)/src/include) -I$(CONFIG) $(subst /,$(DIRSEP),$(DATESTAMP))
@@ -203,7 +209,7 @@ $(TOP)/ThornList:
# Allow each thorn to include some global dependencies
ifneq ($(strip $(THORNS)),)
--include $(THORNS:%=$(PACKAGE_DIR)/%/src/make.configuration.deps)
+-include $(THORNS:%=$(PACKAGE_DIR)/%/src/make.configuration.deps) $(THORNS:%=$(BINDINGS_DIR)/Configuration/%/src/make.configuration.deps)
endif
# Catch the special case of a thorn being removed from the disk entirely.
diff --git a/lib/make/make.thornlib b/lib/make/make.thornlib
index cc98eefe..45fa91ac 100644
--- a/lib/make/make.thornlib
+++ b/lib/make/make.thornlib
@@ -17,9 +17,17 @@ DIVIDER = $(DIVEL)$(DIVEL)$(DIVEL)$(DIVEL)
# Include the main make definitions for this configuration
include $(CONFIG)/make.config.defn
+
+# Include the configuration make.code.def for the thorn if it is not cactus or cactusbindings
+INC_DIRS =
+ifneq ($(THORN), CactusBindings)
+ifneq ($(THORN), Cactus)
+-include $(TOP)/bindings/Configuration/$(THORN)/make.configuration.defn
+endif
+endif
# Add appropriate include lines
-INC_DIRS = $(SYS_INC_DIRS) $(SRCDIR) $(SRCDIR)/include $(CONFIG) $(TOP)/bindings/include $(CCTK_HOME)/src/include $(CCTK_HOME)/arrangements
+INC_DIRS += $(SYS_INC_DIRS) $(SRCDIR) $(SRCDIR)/include $(CONFIG) $(TOP)/bindings/include $(CCTK_HOME)/src/include $(CCTK_HOME)/arrangements
# Allow subdirectories to inherit these include directories
export INC_DIRS