Most errors found with: codespell -L cach,thst,odly,aslo,parm,parms,inpu,ges,prset,pevent,ptd,pring,valu,noo,noe,ned,inout,ro,siz,froms,nd,fo,singl,sart,multy,tthe,allong,ment,inate,nodel,tring,alse,ture,thi,wille,numer Some more manually found (its -> it's) c++20: Do not use apostrophe (e.g. can't) in unquoted #error message
94 lines
2.6 KiB
Plaintext
94 lines
2.6 KiB
Plaintext
#*************************************************************************
|
|
# Copyright (c) 2006 UChicago Argonne LLC, 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 is distributed subject to a Software License Agreement found
|
|
# in the file LICENSE that is included with this distribution.
|
|
#*************************************************************************
|
|
|
|
all: install
|
|
host: install$(DIVIDER)$(EPICS_HOST_ARCH)
|
|
|
|
ACTIONS = inc
|
|
ACTIONS += build
|
|
ACTIONS += install
|
|
ACTIONS += buildInstall
|
|
ACTIONS += runtests tapfiles clean-tests test-results junitfiles
|
|
|
|
actionArchTargets = $(foreach action, $(ACTIONS), \
|
|
$(addprefix $(action)$(DIVIDER), $(BUILD_ARCHS)))
|
|
|
|
cleanArchTargets = $(addprefix clean$(DIVIDER), $(BUILD_ARCHS))
|
|
|
|
buildDirs = $(addprefix O., $(BUILD_ARCHS))
|
|
|
|
# Include <top>/cfg/DIR_RULES* files from tops defined in RELEASE* files
|
|
# Do this here so they can add ACTIONS
|
|
#
|
|
RELEASE_CFG_DIR_RULES = $(foreach top, $(RELEASE_TOPS), \
|
|
$(wildcard $($(top))/cfg/DIR_RULES*))
|
|
ifneq ($(RELEASE_CFG_DIR_RULES),)
|
|
include $(RELEASE_CFG_DIR_RULES)
|
|
endif
|
|
|
|
# Create EPICS_HOST_ARCH dependencies for GNU make -j option.
|
|
# Needed in dirs where EPICS_HOST_ARCH build creates a tool used in
|
|
# cross arch builds
|
|
|
|
CROSS_ARCHS += $(CROSS1) $(CROSS2)
|
|
|
|
define DEP_template
|
|
$(2) : $(EPICS_HOST_ARCH)
|
|
$(1)$(DIVIDER)$(2) : $(1)$(DIVIDER)$(EPICS_HOST_ARCH) O.$(2)
|
|
endef
|
|
$(foreach action, $(ACTIONS), \
|
|
$(foreach arch, $(CROSS_ARCHS), \
|
|
$(eval $(call DEP_template,$(action),$(arch)))))
|
|
|
|
# Allows rebuild to work with parallel builds option, -j.
|
|
ifeq (rebuild,$(filter rebuild,$(MAKECMDGOALS)))
|
|
$(buildDirs) O.Common : clean
|
|
rebuild : install
|
|
endif
|
|
|
|
archPart = $(word 2, $(subst $(DIVIDER), ,$@))
|
|
actionPart = $(word 1, $(subst $(DIVIDER), ,$@))
|
|
$(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
|
|
|
|
# Clean rules
|
|
#
|
|
clean: archsCommonClean
|
|
|
|
archsCommonClean:
|
|
$(RMDIR) $(buildDirs) O.Common
|
|
|
|
archclean:
|
|
$(RMDIR) $(buildDirs)
|
|
|
|
$(cleanArchTargets):
|
|
$(RMDIR) O.$(archPart)
|
|
|
|
realclean:
|
|
$(RMDIR) O.*
|
|
|
|
.PHONY : $(actionArchTargets)
|
|
.PHONY : $(cleanArchTargets)
|
|
.PHONY : $(BUILD_ARCHS) rebuild archsCommonClean
|
|
.PHONY : $(ACTIONS) clean realclean archclean host all
|
|
|
|
include $(CONFIG)/RULES_COMMON
|