#************************************************************************* # Copyright (c) 2002 The University of Chicago, as Operator of Argonne # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. # EPICS BASE Versions 3.13.7 # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* # # $Id$ # all: install build install buildInstall: $(CHECK_RELEASE_$(CHECK_RELEASE)) rebuild: clean install ACTIONS = inc ACTIONS += build ACTIONS += install ACTIONS += buildInstall ACTIONS += browse actionPart = $(word 1, $(subst $(DIVIDER), ,$@)) archPart = $(word 2, $(subst $(DIVIDER), ,$@)) actionArchTargets = $(foreach x, $(ACTIONS),\ $(foreach arch,$(BUILD_ARCHS), $(x)$(DIVIDER)$(arch))) cleanArchTargets = $(foreach arch,$(BUILD_ARCHS), clean$(DIVIDER)$(arch)) buildDirs = $(addprefix O.,$(BUILD_ARCHS)) $(actionArchTargets) : $(buildDirs) O.Common $(MAKE) -C O.$(archPart) -f ../Makefile TOP=$(TOP)/.. T_A=$(archPart) $(actionPart) $(BUILD_ARCHS) : % : O.% O.Common $(MAKE) -C O.$@ -f ../Makefile TOP=$(TOP)/.. T_A=$@ $(ACTIONS):%: $(foreach arch, $(BUILD_ARCHS), %$(DIVIDER)$(arch)) $(buildDirs): $(PERL) $(TOOLS)/makeMakefile.pl $@ $(TOP)/.. O.Common: $(MKDIR) O.Common # # RELEASE consistency checking # The RELEASE.$(EPICS_HOST_ARCH) files don't need to be included here: targetReleaseFiles = $(wildcard $(foreach arch, $(BUILD_ARCHS), \ $(TOP)/configure/RELEASE.Common.$(arch) \ $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).$(arch))) checkReleaseTargets = $(addprefix checkRelease, $(suffix $(targetReleaseFiles))) checkRelease: $(checkReleaseTargets) $(PERL) $(TOOLS)/convertRelease.pl -h $(EPICS_HOST_ARCH) $@ $(checkReleaseTargets):checkRelease.%: $(PERL) $(TOOLS)/convertRelease.pl -h $(EPICS_HOST_ARCH) -a $* checkRelease # # special clean rule # clean :: $(RMDIR) $(addprefix O.,$(BUILD_ARCHS)) O.Common $(cleanArchTargets) :: $(RMDIR) O.$(archPart) realclean :: $(RMDIR) O.* .PHONY : $(actionArchTargets) .PHONY : $(cleanArchTargets) .PHONY : $(BUILD_ARCHS) .PHONY : $(ACTIONS) clean realclean all .PHONY : checkRelease $(checkReleaseTargets)