From 08fe36979f2e210b2c3050d10738e10224fecc24 Mon Sep 17 00:00:00 2001
From: Dirk Zimoch <dirk.zimoch@psi.ch>
Date: Tue, 16 Feb 2016 13:56:49 +0100
Subject: [PATCH] make sure version is built even if library only consists of
 other libraries but no local code

---
 App/tools/driver.makefile | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/App/tools/driver.makefile b/App/tools/driver.makefile
index d34f9120..1b5b6d70 100644
--- a/App/tools/driver.makefile
+++ b/App/tools/driver.makefile
@@ -123,13 +123,16 @@ BUILD_EPICS_VERSIONS = $(filter ${INSTALLED_EPICS_VERSIONS},${EPICS_VERSIONS})
 $(foreach v,$(sort $(basename ${BUILD_EPICS_VERSIONS})),$(eval EPICS_VERSIONS_$v=$(filter $v.%,${BUILD_EPICS_VERSIONS})))
 
 #check only what is needed to build the lib? But what is that?
-VERSIONCHECKFILES = $(filter-out /% -none-, ${SOURCES} ${DBDS} ${TEMPLATES} ${SCRIPTS} $(foreach v,3.13 3.14 3.15, ${SOURCES_$v} ${DBDS_$v}))
+VERSIONCHECKFILES = $(filter-out /% -none-, $(wildcard *makefile* *Makefile* *.db *.template *.subs *.dbd *.cmd) ${SOURCES} ${DBDS} ${TEMPLATES} ${SCRIPTS} $(foreach v,3.13 3.14 3.15, ${SOURCES_$v} ${DBDS_$v}))
 VERSIONCHECKCMD = ${MAKEHOME}/getVersion.tcl ${VERSIONDEBUGFLAG} ${VERSIONCHECKFILES}
 LIBVERSION = $(or $(filter-out test,$(shell ${VERSIONCHECKCMD} 2>/dev/null)),${USER},test)
 VERSIONDEBUGFLAG = $(if ${VERSIONDEBUG}, -d)
 
-# Default project name is name of current directory.
+# Default module name is name of current directory.
 # But don't use "src" or "snl", go up directory tree instead.
+# Avoid using environment variables for MODULE or PROJECT
+MODULE=
+PROJECT=
 PRJDIR:=$(subst -,_,$(subst .,_,$(notdir $(patsubst %Lib,%,$(patsubst %/snl,%,$(patsubst %/src,%,${PWD}))))))
 PRJ = $(or ${MODULE},${PROJECT},${PRJDIR})
 export PRJ
@@ -603,11 +606,6 @@ LIBOBJS += $(if $(MODULEDBD), $(addsuffix $(OBJ),$(basename ${REGISTRYFILE} ${EX
 
 endif # both, 3.13 and 3.14 from here
 
-# If we build a library, provide a version variable.
-ifneq ($(MODULELIB),)
-LIBOBJS += $(addsuffix $(OBJ),$(basename ${VERSIONFILE}))
-endif # MODULELIB
-
 # for backward compatibility
 # Provide a global symbol for every version with the same
 # major and equal or smaller minor version number.
@@ -692,6 +690,11 @@ ifneq ($(strip ${DBDFILES}),)
 MODULEDBD=${PRJ}.dbd
 endif
 
+# If we build a library, provide a version variable.
+ifneq ($(MODULELIB),)
+LIBOBJS += $(addsuffix $(OBJ),$(basename ${VERSIONFILE}))
+endif # MODULELIB
+
 debug::
 	@echo "BUILDCLASSES = ${BUILDCLASSES}"
 	@echo "OS_CLASS = ${OS_CLASS}"
@@ -790,7 +793,7 @@ debug::
 	@echo "INSTALL_CFG = $(INSTALL_CFG)"
 	@echo "INSTALL_CFGS = $(INSTALL_CFGS)"
 
-INSTALLS += ${INSTALL_CFGS} ${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}
 
 ${INSTALLRULE} ${INSTALLS}
 
-- 
GitLab