Replaced O.<T_A> files CONFIG_APP_INCLUDE and RULES_INCLUDE creation with

defs and rules in configure files CONFIG_APP_INCLUDE and RULES_BUILD
Allow new CFGS - user RULES* file to be installed into a cfg directory.
New expand facility to expand @xxx@ variables.
This commit is contained in:
Janet B. Anderson
2008-03-24 22:03:08 +00:00
parent 716dabdba1
commit 74ff11919f

View File

@@ -103,13 +103,33 @@ LIBTARGETS += $(LIBNAME) $(INSTALL_LIBS) \
$(INSTALL_LIBS): $(INSTALL_SHRLIBS) $(INSTALL_DLL_LINK_LIBS) $(INSTALL_LOADABLE_SHRLIBS)
#---------------------------------------------------------------
ifneq ($(CONFIG),$(TOP)/configure)
# Include created RULES* files from current top
#
# NOTE: A Makefile which installs cfg RULES* files
# cannot use defs or rules from those installed cfg files
#
RULES_TOP:=$(INSTALL_LOCATION)
ifneq ($(CONFIG),$(TOP)/configure)
-include $(TOP)/configure/RULES_BUILD
endif
-include $(TOP)/configure/O.$(T_A)/RULES_INCLUDE
-include $(wildcard $(strip $(RULES_TOP))/cfg/RULES*)
# Include RULES* files from tops defined in RELEASE* files
ifneq ($(RELEASE_TOPS),)
define TOP_RULES_template
RULES_TOP:=$$($(1))
ifneq ($$(CONFIG),$$($(1))/configure)
-include $$(strip $$($(1)))/configure/RULES_BUILD
endif
-include $$(wildcard $$(strip $($(1)))/cfg/RULES*)
endef
$(foreach top, $(RELEASE_TOPS), \
$(eval $(call TOP_RULES_template,$(top)) ))
endif
#---------------------------------------------------------------
-include $(CONFIG)/RULES_FILE_TYPE
# Main targets
install: buildInstall
@@ -123,7 +143,7 @@ build : inc
build: $(OBJSNAME) $(LIBTARGETS) $(PRODTARGETS) $(TESTPRODNAME) \
$(TARGETS) $(TESTSCRIPTS)
inc : $(COMMON_INC) $(INSTALL_INC)
inc : $(COMMON_INC) $(INSTALL_INC) $(INSTALL_CONFIGS)
buildInstall : \
$(INSTALL_SCRIPTS) $(INSTALL_PROD) $(INSTALL_MUNCHS) \
@@ -131,8 +151,7 @@ buildInstall : \
$(INSTALL_OBJS) \
$(INSTALL_DOCS) \
$(INSTALL_HTMLS) \
$(INSTALL_TEMPLATE) \
$(INSTALL_CONFIGS)
$(INSTALL_TEMPLATE)
ifdef BIN_INSTALLS
buildInstall : binInstalls
@@ -332,11 +351,6 @@ runtests: $(TESTSCRIPTS_$(BUILD_CLASS))
@$(RM) $@
@echo '($$e=$$0)=~s/.t$$/$(EXE)/;exec "./$$e" or die "exec failed";'>$@
# Ext, app and module rules
RULES_INCLUDE CONFIG_APP_INCLUDE: $(wildcard $(TOP)/configure/RELEASE*)
@$(RM) $@
$(PERL) $(TOOLS)/convertRelease.pl -h $(EPICS_HOST_ARCH) $@
binInstalls: $(BIN_INSTALLS)
@echo "Installing $(^F)"
@$(INSTALL) -d -m 555 $^ $(INSTALL_BIN)
@@ -350,7 +364,7 @@ $(INSTALL_BIN)/%: ../os/$(OS_CLASS)/%
@$(INSTALL_PRODUCT) -d -m 555 $< $(INSTALL_BIN)
$(INSTALL_BIN)/%: %
@echo "Installing binary $@"
@echo "Installing created file $@"
@$(INSTALL_PRODUCT) -d -m 555 $< $(INSTALL_BIN)
$(INSTALL_BIN)/%: ../%
@@ -443,6 +457,8 @@ $(INSTALL_TEMPLATES_SUBDIR)/%: %
@echo "Installing $@"
@$(INSTALL) -d -m 644 $< $(@D)
-include $(CONFIG)/RULES_EXPAND
.PRECIOUS: %.i %.o %.c %.nm %.cpp %.cc
.PRECIOUS: $(COMMON_INC)