diff --git a/configure/modules/RULES_E3 b/configure/modules/RULES_E3 index 790e8fb862a9988a7acae292441b8476d87386a0..5e708d4a047f410bbbac785b460c903430d3ba08 100644 --- a/configure/modules/RULES_E3 +++ b/configure/modules/RULES_E3 @@ -31,7 +31,7 @@ help: ## Install current module to $(EPICS_BASE)/require/$(E3_REQUIRE_VERSION)/siteMods install: install_module install_links -install_module: build db +install_module: build db_internal $(QUIET) $(E3_MODULE_MAKE_CMDS) install ## Uninstall the current module @@ -50,6 +50,9 @@ prebuild: conf debug: conf $(QUIET) $(E3_MODULE_MAKE_CMDS) debug +db_internal: conf + $(QUIET) $(E3_MODULE_MAKE_CMDS) db_internal + ## Clean, build, and install the current module rebuild: clean build install diff --git a/configure/modules/RULES_INFLATING_DB b/configure/modules/RULES_INFLATING_DB deleted file mode 100644 index 7c641c082709e10fd9216893139e17dabc991cca..0000000000000000000000000000000000000000 --- a/configure/modules/RULES_INFLATING_DB +++ /dev/null @@ -1,11 +0,0 @@ -db: $(SUBS) - -$(SUBS): - @printf "Inflating database ... %44s >>> %40s \n" "$@" "$(basename $(@)).db" - @rm -f $(basename $(@)).db.d $(basename $(@)).db - @$(MSI) -D $(USR_DBFLAGS) -o $(basename $(@)).db -S $@ > $(basename $(@)).db.d - @$(MSI) $(USR_DBFLAGS) -o $(basename $(@)).db -S $@ - - -.PHONY: db $(SUBS) - diff --git a/require-ess/tools/driver.makefile b/require-ess/tools/driver.makefile index f29fc62fa0c51b1f930b3d4bbcbd9502a5f5f505..a904f79b5a67923a0899e3f64d0a82fa28b58e95 100644 --- a/require-ess/tools/driver.makefile +++ b/require-ess/tools/driver.makefile @@ -196,6 +196,10 @@ export ${PRJ}_E3_GIT_DESC ${PRJ}_E3_GIT_STATUS := $(${PROJECT}_E3_GIT_STATUS) export ${PRJ}_E3_GIT_STATUS +export SUBS +export TMPS +export USR_DBFLAGS + # Some shell commands: RMDIR = rm -rf LN = ln -s @@ -261,7 +265,7 @@ debug:: # Loop over all EPICS versions for second run. MAKEVERSION = ${MAKE} -f ${USERMAKEFILE} LIBVERSION=${LIBVERSION} -build install debug:: ${IGNOREFILES} +build install debug db_internal:: ${IGNOREFILES} @+for VERSION in ${BUILD_EPICS_VERSIONS}; do ${MAKEVERSION} EPICSVERSION=$$VERSION $@; done #build: ${IGNOREFILES} @@ -360,6 +364,9 @@ CXXCMPLR=ANSI G++_ANSI = $(G++) -ansi OBJ=.o +O.%: + +$(MKDIR) $@ + ifndef T_A ## RUN 2 # Target achitecture not yet defined @@ -448,13 +455,29 @@ debug:: @echo "LIBVERSION = ${LIBVERSION}" # Loop over all architectures. -install build debug:: +install build debug:: $(COMMON_DIR) @+failed_builds=0; \ for ARCH in ${CROSS_COMPILER_TARGET_ARCHS}; do \ umask 002; echo MAKING ARCH $$ARCH; ${MAKE} -f ${USERMAKEFILE} T_A=$$ARCH $@ || ((failed_builds++)); \ done; \ ((failed_builds == 0)) + +db_internal: $(COMMON_DIR) + +define SUBS_EXPAND +vpath $(notdir $1) $(dir $1) +$(COMMON_DIR)/$(notdir $(basename $1).db): $(notdir $1) + @printf "Inflating database ... %44s >>> %40s \n" "$$^" "$$@" + $(MSI) -D $(USR_DBFLAGS) -o $(COMMON_DIR)/$$(notdir $$(basename $1).db) $2 $$^ > $(COMMON_DIR)/$$(notdir $$(basename $1).db).d + $(MSI) $(USR_DBFLAGS) -o $(COMMON_DIR)/$$(notdir $$(basename $1).db) $2 $$^ + +db_internal: $(COMMON_DIR)/$(notdir $(basename $1).db) +endef + +$(foreach file,$(SUBS),$(eval $(call SUBS_EXPAND,$(file),-S))) +$(foreach file,$(TMPS),$(eval $(call SUBS_EXPAND,$(file),))) + else # T_A ifeq ($(filter O.%,$(notdir ${CURDIR})),) @@ -480,9 +503,6 @@ install build: else -O.%: - +$(MKDIR) $@ - ifeq ($(shell echo "${LIBVERSION}" | grep -v -E "^$(VERSIONREGEX)\$$"),) install:: build @test ! -d ${MODULE_LOCATION}/lib/${T_A} || \ @@ -494,7 +514,7 @@ install:: build $(RMDIR) ${MODULE_LOCATION}/lib/${T_A}) endif -install build debug:: O.${EPICSVERSION}_Common O.${EPICSVERSION}_${T_A} +install build debug:: O.${EPICSVERSION}_${T_A} @${MAKE} -C O.${EPICSVERSION}_${T_A} -f ../${USERMAKEFILE} $@ endif