From d9337eda8a903aa653e8030791c96aaaf9fd2631 Mon Sep 17 00:00:00 2001 From: Dirk Zimoch Date: Tue, 18 Feb 2025 17:23:58 +0100 Subject: [PATCH] streamline header file generation and allow extra GEN_HEADERS --- App/tools/driver.makefile | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/App/tools/driver.makefile b/App/tools/driver.makefile index 2bf5267..d9a2d9a 100644 --- a/App/tools/driver.makefile +++ b/App/tools/driver.makefile @@ -227,6 +227,7 @@ help: @echo " SOURCES (*.c *.cc *.cpp *.st *.stt *.gt)" @echo " DBDS (*.dbd)" @echo " HEADERS () [only those to install]" + @echo " GEN_HEADERS () extra (to menus and records) generated headers" @echo " TEMPLATES (*.template *.db *.subs) [db files]" @echo " SCRIPTS (*.cmd *.iocsh) [startup and other scripts]" @echo " BINS () [programs to install]" @@ -403,17 +404,18 @@ export DBD_SRCS #record dbd files given in DBDS RECORDS = $(filter %Record, $(basename $(notdir $(SRCS)))) -export RECORDS MENUS = $(basename $(filter menu%.dbd, $(notdir $(DBDS)))) MENUS += $(basename $(basename $(filter menu%.dbd.pod, $(notdir $(DBDS))))) MENUS += $(basename $(notdir $(wildcard $(foreach m,$(if $(filter-out -none-,${DBDS}), $(shell awk '/^\s*include.*\/ {print gensub(/.*(menu.*\.dbd).*/,"\\1","g")}' $(filter-out -none-,${DBDS}))),$(addsuffix $m,$(sort $(dir $(DBDS)))))))) -export MENUS + +GEN_HDRS = ${GEN_HEADERS} ${MENUS} ${RECORDS} +export GEN_HDRS BPTS = $(patsubst %.data,%.dbd,$(wildcard bpt*.data)) export BPTS -HDRS = ${RECORDS:%=${COMMON_DIR}/%.h} ${MENUS:%=${COMMON_DIR}/%.h} +HDRS = ${GEN_HDRS:%=${COMMON_DIR}/%.h} HDRSX = ${HEADERS} HDRSX += ${HEADERS_${EPICS_BASETYPE}} HDRSX += ${HEADERS_${EPICSVERSION}} @@ -865,8 +867,7 @@ debug:: @echo "SHRLIBNAME = ${SHRLIBNAME}" @echo "LOADABLE_SHRLIBNAME = ${LOADABLE_SHRLIBNAME}" @echo "LIBTARGETS = ${LIBTARGETS}" - @echo "RECORDS = ${RECORDS}" - @echo "MENUS = ${MENUS}" + @echo "GEN_HDRS = ${GEN_HDRS}" @echo "BPTS = ${BPTS}" @echo "HDRS = ${HDRS}" @$(foreach s,$(filter SOURCES%,${.VARIABLES}),echo "$s = $($s)";) @@ -879,15 +880,14 @@ debug:: @echo "MODULE_LOCATION = ${MODULE_LOCATION}" # 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} ${GEN_HDRS:%=${COMMON_DIR}/%.h} ${BUILDRULE} MODULEINFOS ${BUILDRULE} ${MODULEDBD} ${BUILDRULE} ${DEPFILE} ${BUILDRULE} AUTO_MODULES # In 3.15+ this is required to build %Record.h and menu%.h files -COMMON_INC = ${RECORDS:%=${COMMON_DIR}/%.h} ${MENUS:%=${COMMON_DIR}/%.h} +COMMON_INC = ${GEN_HDRS:%=${COMMON_DIR}/%.h} # Include default EPICS Makefiles (version dependent). # Avoid library installation when doing 'make build'.