auto link dependence modules for WIN32

This commit is contained in:
Xiaoqiang Wang
2020-05-04 13:43:40 +02:00
parent c6304e8991
commit 1e93dd0198
+12
View File
@@ -824,6 +824,7 @@ ${BUILDRULE} ${MENUS:%=${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}
@@ -1102,6 +1103,17 @@ ${EXPORTFILE}: $(filter-out $(basename ${EXPORTFILE})$(OBJ),${LIBOBJS})
$(RM) $@
$(NM) $^ ${BASELIBS:%=${EPICS_BASE}/lib/${T_A}/${LIB_PREFIX}%$(LSUFFIX)} ${CORELIB} | awk '$(makexportfile)' > $@
define ADD_MODULE
$(firstword $(subst /, ,$1))_DIR = $${EPICS_MODULES}/$1/R$${EPICSVERSION}/lib/$${T_A}
LIB_LIBS += $(firstword $(subst /, ,$1))
endef
# Append modules from .d files for linking.
AUTO_MODULES: ${LIBOBJS}
ifeq (${OS_CLASS},WIN32)
$(foreach m,$(sort $(shell cat *.d 2>/dev/null | sed 's/ /\n/g' | sed -n 's%${EPICS_MODULES}/\([^/]*\)/\([^/]*\)/.*%\1/\2%p' | sort -u)),$(eval $(call ADD_MODULE,${m})))
endif
# Create dependency file for recursive requires.
${DEPFILE}: ${LIBOBJS} $(USERMAKEFILE)
@echo "Collecting dependencies"