Merge remote-tracking branch 'lp-anj7/expanded-rules' into 7.0

* lp-anj7/expanded-rules:
  Generate module version files with new RULES_EXPAND facilities
  Extend RULES_EXPAND to add more features
  More generator doc updates
  Document <library>_API = <stem> for Makefiles
  Convert epicsShareAPI to epicsStdCall in modules/ca
  Update generator script
  Modify rules to allow multiple API.h libraries to be built
  Convert modules/ca to use LIBCA_API instead of epicsShare
  Try out a representative sample of APIs from multiple libraries
  Add build rules to generate and install *API.h header files
  Add script to generate *API.h headers
This commit is contained in:
Michael Davidsaver
2020-04-30 11:34:34 -07:00
117 changed files with 882 additions and 1112 deletions

View File

@@ -16,15 +16,23 @@ USR_CPPFLAGS += -DUSE_TYPED_RSET -DUSE_TYPED_DSET
# Shared library ABI version.
SHRLIB_VERSION = $(EPICS_DATABASE_MAJOR_VERSION).$(EPICS_DATABASE_MINOR_VERSION).$(EPICS_DATABASE_MAINTENANCE_VERSION)
API_HEADER = dbCoreAPI.h
dbCore_API = dbCore
LIBRARY_IOC += dbCore
dbCore_LIBS += ca Com
dbCore_SYS_LIBS_WIN32 += ws2_32
dbCore_RCS += dbCore.rc
dbStaticHost_RCS = dbStaticHost.rc
EXPAND_COMMON += databaseVersion.h@
EXPAND_ME += EPICS_DATABASE_MAJOR_VERSION
EXPAND_ME += EPICS_DATABASE_MINOR_VERSION
EXPAND_ME += EPICS_DATABASE_MAINTENANCE_VERSION
EXPAND_ME += EPICS_DATABASE_DEVELOPMENT_FLAG
INC += databaseVersion.h
INC += databaseVersionNum.h
PROD_LIBS = Com
@@ -40,13 +48,6 @@ include $(IOCDIR)/rsrv/Makefile
GENVERSION = epicsVCS.h
GENVERSIONMACRO = EPICS_VCS_VERSION
EXPANDVARS += EPICS_DATABASE_MAJOR_VERSION
EXPANDVARS += EPICS_DATABASE_MINOR_VERSION
EXPANDVARS += EPICS_DATABASE_MAINTENANCE_VERSION
EXPANDVARS += EPICS_DATABASE_DEVELOPMENT_FLAG
EXPANDFLAGS += $(foreach var,$(EXPANDVARS),-D$(var)="$(strip $($(var)))")
include $(TOP)/configure/RULES
include $(IOCDIR)/dbStatic/RULES
@@ -54,10 +55,4 @@ include $(IOCDIR)/bpt/RULES
include $(IOCDIR)/db/RULES
include $(IOCDIR)/dbtemplate/RULES
# Can't use EXPAND as generated headers must appear
# in O.Common, but EXPAND emits rules for O.$(T_A)
../O.Common/databaseVersionNum.h: ../databaseVersionNum.h@
$(MKDIR) $(COMMON_DIR)
$(EXPAND_TOOL) $(EXPANDFLAGS) $($@_EXPANDFLAGS) $< $@
epicsRelease$(DEP): $(COMMON_DIR)/$(GENVERSION)