From e1b980db5a71940d58c8173f4a91ae5945ada31a Mon Sep 17 00:00:00 2001 From: Dirk Zimoch Date: Fri, 16 Aug 2019 09:56:58 +0200 Subject: [PATCH] fix automatic building of menus, even when only indirectly referenced --- App/tools/driver.makefile | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/App/tools/driver.makefile b/App/tools/driver.makefile index c690488..c6256e8 100644 --- a/App/tools/driver.makefile +++ b/App/tools/driver.makefile @@ -365,13 +365,14 @@ export DBD_SRCS RECORDS = $(filter %Record, $(basename $(notdir $(SRCS)))) export RECORDS -MENUS = $(patsubst %.dbd,%.h,$(wildcard menu*.dbd)) +MENUS = $(basename $(filter menu%.dbd, $(notdir $(DBDS)))) +MENUS += $(if ${DBDS}, $(shell awk '/^\s*include.*\/ {print gensub(/.*(menu.*)\.dbd.*/,"\\1","g")}' ${DBDS})) export MENUS BPTS = $(patsubst %.data,%.dbd,$(wildcard bpt*.data)) export BPTS -HDRS = ${HEADERS} ${RECORDS:%=${COMMON_DIR}/%.h} +HDRS = ${HEADERS} ${RECORDS:%=${COMMON_DIR}/%.h} ${MENUS:%=${COMMON_DIR}/%.h} HDRS += ${HEADERS_${EPICS_BASETYPE}} HDRS += ${HEADERS_${EPICSVERSION}} export HDRS @@ -800,14 +801,15 @@ debug:: @echo "TEMPLS = ${TEMPLS}" @echo "MODULE_LOCATION = ${MODULE_LOCATION}" -# In 3.14.8- this is required to build %Record.h files +# In 3.14.8- this is required to build %Record.h and menu%.h files ${BUILDRULE} ${RECORDS:%=${COMMON_DIR}/%.h} +${BUILDRULE} ${MENUS:%=${COMMON_DIR}/%.h} ${BUILDRULE} MODULEINFOS ${BUILDRULE} ${MODULEDBD} ${BUILDRULE} ${DEPFILE} -# In 3.15+ this is required to build %Record.h files -COMMON_INC = ${RECORDS:%=${COMMON_DIR}/%.h} +# In 3.15+ this is required to build %Record.h and menu%.h files +COMMON_INC = ${RECORDS:%=${COMMON_DIR}/%.h} ${MENUS:%=${COMMON_DIR}/%.h} # Include default EPICS Makefiles (version dependent). # Avoid library installation when doing 'make build'.