From 92377f5d957711b4320748f1692d4b548b4405ea Mon Sep 17 00:00:00 2001 From: Dirk Zimoch <dirk.zimoch@psi.ch> Date: Wed, 7 Oct 2015 16:06:33 +0200 Subject: [PATCH] allow overwrite test versions but not numbered versions; handle SCRIPTS in subdirectories too; first approach on config and user interface files --- App/tools/driver.makefile | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/App/tools/driver.makefile b/App/tools/driver.makefile index a51e92e1..98f54052 100644 --- a/App/tools/driver.makefile +++ b/App/tools/driver.makefile @@ -420,7 +420,13 @@ else O.%: $(MKDIR) $@ -install build debug: O.${EPICSVERSION}_Common O.${EPICSVERSION}_${T_A} +ifeq ($(shell echo "${LIBVERSION}" | grep -v -E "^[0-9]+\.[0-9]+\.[0-9]+\$$"),) +install:: + @test ! -d ${MODULE_LOCATION}/R${EPICSVERSION}/lib/${T_A} || \ + (echo -e "Error: ${MODULE_LOCATION}/R${EPICSVERSION}/lib/${T_A} already exists.\nNote: If you really want to overwrite then uninstall first."; false) +endif + +install build debug:: O.${EPICSVERSION}_Common O.${EPICSVERSION}_${T_A} @${MAKE} -C O.${EPICSVERSION}_${T_A} -f ../${USERMAKEFILE} $@ endif @@ -434,7 +440,6 @@ else # in O.* $(foreach v, USR_INCLUDES USR_CFLAGS USR_CXXFLAGS USR_CPPFLAGS, $(eval $v+=$${$v_${OS_CLASS}} $${$v_${T_A}})) CFLAGS += ${EXTRA_CFLAGS} -TESTVERSION := $(shell echo "${LIBVERSION}" | grep -v -E "^[0-9]+\.[0-9]+\.[0-9]+\$$") MODULEDBD=${if $(strip ${DBDFILES}),${PRJ}.dbd} COMMON_DIR_3.14 = ../O.${EPICSVERSION}_Common @@ -486,7 +491,6 @@ debug: @echo "DBDFILES = ${DBDFILES}" @echo "TEMPLS = ${TEMPLS}" @echo "LIBVERSION = ${LIBVERSION}" - @echo "TESTVERSION = ${TESTVERSION}" @echo "MODULE_LOCATION = ${MODULE_LOCATION}" ifeq (${EPICS_BASETYPE},3.13) @@ -508,6 +512,7 @@ INSTALL_DB = ${INSTALL_REV}/db INSTALL_CFG = ${INSTALL_REV}/cfg INSTALL_DOC = ${MODULE_LOCATION}/doc INSTALL_SCR = ${INSTALL_REV} +INSTALL_UI = ${MODULE_LOCATION}/ui #INSTALL_DOCUS = $(addprefix ${INSTALL_DOC}/${PRJ}/,$(notdir ${DOCU})) @@ -703,10 +708,10 @@ INSTALL_DEPS = ${DEPFILE:%=${INSTALL_LIB}/%} INSTALL_DBDS = ${MODULEDBD:%=${INSTALL_DBD}/%} INSTALL_HDRS = $(addprefix ${INSTALL_INCLUDE}/,$(notdir ${HDRS})) INSTALL_DBS = $(addprefix ${INSTALL_DB}/,$(notdir ${TEMPLS})) -INSTALL_SCRS = $(SCR:%=$(INSTALL_SCR)/%) -INSTALL_CFGS = $(CFG:%=$(INSTALL_CFG)/%) +INSTALL_SCRS = $(addprefix ${INSTALL_SCR}/,$(notdir ${SCR})) +INSTALL_CFGS = $(CFG:%=${INSTALL_CFG}/%) -INSTALLS += ${INSTALL_SCRS} ${INSTALL_HDRS} ${INSTALL_DBDS} ${INSTALL_DBS} ${INSTALL_LIBS} ${INSTALL_DEPS} ${INSTALL_CFGS} +INSTALLS += ${INSTALL_CFGS} ${INSTALL_SCRS} ${INSTALL_HDRS} ${INSTALL_DBDS} ${INSTALL_DBS} ${INSTALL_LIBS} ${INSTALL_DEPS} ${INSTALL_CFGS} ${INSTALLRULE} ${INSTALLS} @@ -726,10 +731,17 @@ ${INSTALL_DBS}: $(notdir ${INSTALL_DBS}) @echo "Installing module template files $^ to $(@D)" $(INSTALL) -d -m444 $^ $(@D) -${INSTALL_SCRS}: ${SCR} +${INSTALL_SCRS}: $(notdir ${SCR}) @echo "Installing scripts $^ to $(@D)" $(INSTALL) -d -m444 $^ $(@D) +${INSTALL_CFGS}: ${CFGS} + @echo "Installing configuration files $^ to $(@D)" + $(INSTALL) -d -m444 $^ $(@D) + +${INSTALL_UIS}: $(notdir ${UIS}) + @echo "Installing user interfaces $^ to $(@D)" + $(INSTALL) -d -m444 $^ $(@D) # Create SNL code from st/stt file # (RULES.Vx only allows ../%.st, 3.14 has no .st rules at all) -- GitLab