diff --git a/configure/CONFIG_COMMON b/configure/CONFIG_COMMON index 593127fc2..9963af751 100644 --- a/configure/CONFIG_COMMON +++ b/configure/CONFIG_COMMON @@ -24,6 +24,11 @@ BUILD_ARCHS = $(EPICS_HOST_ARCH) $(CROSS1) $(CROSS2) CONFIG_TARGETS += CONFIG_APP_INCLUDE RULES_INCLUDE CONFIG_INSTALLS += ../RULES_BUILD +#------------------------------------------------------- +# Check configure/RELEASE file for consistency +CHECK_RELEASE_YES = checkRelease +CHECK_RELEASE_NO = + #------------------------------------------------------- # Cross compile default, HOST or CROSS, CONFIG.crossCommon will override BUILD_CLASS = HOST diff --git a/configure/RULES.ioc b/configure/RULES.ioc new file mode 100644 index 000000000..c6c89428f --- /dev/null +++ b/configure/RULES.ioc @@ -0,0 +1,24 @@ +#RULES.ioc +include $(EPICS_BASE)/configure/RULES_DIRS + +all: install + +buildInstall : build + +install: buildInstall + +rebuild: clean install + +ifeq ($(wildcard $(TOP)/config/RELEASE.$(ARCH)),$(TOP)/config/RELEASE.$(ARCH)) +cdCommands: $(TOP)/config/RELEASE.$(ARCH) +endif + +cdCommands: Makefile $(TOP)/configure/RELEASE $(TOP)/configure/CONFIG +ifeq ($(IOCS_APPL_TOP),) + $(PERL) $(TOOLS)/convertRelease.pl -a $(ARCH) $@ +else + $(PERL) $(TOOLS)/convertRelease.pl -a $(ARCH) -t $(IOCS_APPL_TOP) $@ +endif + +clean: + @$(RM) cdCommands diff --git a/configure/RULES_ARCHS b/configure/RULES_ARCHS index 2a760da46..167451a82 100644 --- a/configure/RULES_ARCHS +++ b/configure/RULES_ARCHS @@ -4,6 +4,8 @@ all: install +build install buildInstall: $(CHECK_RELEASE_$(CHECK_RELEASE)) + rebuild: clean all ACTIONS = inc @@ -34,6 +36,9 @@ $(buildDirs): O.Common: $(MKDIR) O.Common +checkRelease: $(wildcard $(TOP)/configure/RELEASE*) + $(PERL) $(TOOLS)/convertRelease.pl -t $(TOP) $@ + # # special clean rule # @@ -47,4 +52,5 @@ clean$(DIVIDER)% :: .PHONY : $(buildActionArchTargets) .PHONY : $(buildArchs) .PHONY : $(ACTIONS) clean all +.PHONY : checkSupport diff --git a/configure/RULES_BUILD b/configure/RULES_BUILD index 904292537..78f98c63d 100644 --- a/configure/RULES_BUILD +++ b/configure/RULES_BUILD @@ -323,14 +323,8 @@ $(OBJLIB_MUNCHNAME):%.munch : %_ctdt$(OBJ) %$(OBJ) $(LDCMD) # Ext, app and module rules -CONFIG_APP_INCLUDE: $(wildcard $(TOP)/configure/RELEASE*) - @$(RM) $@ - @$(PERL) $(TOOLS)/makeConfigAppInclude.pl $(EPICS_HOST_ARCH) $(T_A) $@ $(TOP) - -RULES_INCLUDE: $(wildcard $(TOP)/configure/RELEASE*) - @$(RM) $@ - @$(PERL) $(TOOLS)/makeRulesInclude.pl $(EPICS_HOST_ARCH) $(T_A) $@ $(TOP) - +RULES_INCLUDE CONFIG_APP_INCLUDE: $(wildcard $(TOP)/configure/RELEASE*) + $(PERL) $(TOOLS)/convertRelease.pl -h $(EPICS_HOST_ARCH) $@ binInstalls: $(BIN_INSTALLS) @echo "Installing $(^F)" diff --git a/src/makeBaseApp/top/configure/Makefile b/src/makeBaseApp/top/configure/Makefile index 3e9979cec..32b201fce 100644 --- a/src/makeBaseApp/top/configure/Makefile +++ b/src/makeBaseApp/top/configure/Makefile @@ -4,6 +4,10 @@ TOP=.. include $(TOP)/configure/CONFIG +# Set the following to NO to disable consistency checking of +# the support applications defined in $(TOP)/configure/RELEASE +CHECK_RELEASE = YES + TARGETS = $(CONFIG_TARGETS) CONFIGS += $(subst ../,,$(wildcard $(CONFIG_INSTALLS))) diff --git a/src/makeBaseApp/top/configure/RULES.ioc b/src/makeBaseApp/top/configure/RULES.ioc index 34be190cf..5ba101303 100644 --- a/src/makeBaseApp/top/configure/RULES.ioc +++ b/src/makeBaseApp/top/configure/RULES.ioc @@ -1,17 +1,2 @@ #RULES.ioc -include $(EPICS_BASE)/configure/RULES_DIRS - -all: install - -buildInstall : build - -install: buildInstall - -rebuild: clean install - -cdCommands: Makefile $(TOOLS)/makeIocCdCommands.pl $(TOP)/configure/CONFIG \ - $(TOP)/configure/RELEASE - $(PERL) $(TOOLS)/makeIocCdCommands.pl $(ARCH) $(IOCS_APPL_TOP) - -clean: - @$(RM) cdCommands +include $(EPICS_BASE)/configure/RULES.ioc