1*19c3b8c2SApple OSS Distributions# -*- mode: makefile;-*- 2*19c3b8c2SApple OSS Distributions# 3*19c3b8c2SApple OSS Distributions# Copyright (C) 1999-2020 Apple Inc. All rights reserved. 4*19c3b8c2SApple OSS Distributions# 5*19c3b8c2SApple OSS Distributions# MakeInc.rule defines the targets and rules for 6*19c3b8c2SApple OSS Distributions# leaf directories once MakeInc.dir has recursed 7*19c3b8c2SApple OSS Distributions# into them. "do_XXX" may be double-colon rules 8*19c3b8c2SApple OSS Distributions# to allow the Makefile in the source directory 9*19c3b8c2SApple OSS Distributions# to augment the actions that will be performed. 10*19c3b8c2SApple OSS Distributions# 11*19c3b8c2SApple OSS Distributionsinclude $(SRCROOT)/makedefs/MakeInc.color 12*19c3b8c2SApple OSS Distributions 13*19c3b8c2SApple OSS Distributions# 14*19c3b8c2SApple OSS Distributions# Generic Install rules 15*19c3b8c2SApple OSS Distributions# 16*19c3b8c2SApple OSS Distributions 17*19c3b8c2SApple OSS Distributionsifndef INSTALL_KF_MI_LCL_LIST 18*19c3b8c2SApple OSS Distributions INSTALL_KF_MI_LCL_LIST = $(EXPORT_MI_LIST) 19*19c3b8c2SApple OSS Distributionsendif 20*19c3b8c2SApple OSS Distributions 21*19c3b8c2SApple OSS Distributionsifndef INSTALL_KF_MI_LCL_GEN_LIST 22*19c3b8c2SApple OSS Distributions INSTALL_KF_MI_LCL_GEN_LIST = $(EXPORT_MI_GEN_LIST) 23*19c3b8c2SApple OSS Distributionsendif 24*19c3b8c2SApple OSS Distributions 25*19c3b8c2SApple OSS Distributionsifndef INSTALL_KF_MD_LCL_LIST 26*19c3b8c2SApple OSS Distributions INSTALL_KF_MD_LCL_LIST = $(EXPORT_MD_LIST) 27*19c3b8c2SApple OSS Distributionsendif 28*19c3b8c2SApple OSS Distributions 29*19c3b8c2SApple OSS Distributionsifndef INSTALL_KF_MD_LCL_GEN_LIST 30*19c3b8c2SApple OSS Distributions INSTALL_KF_MD_LCL_GEN_LIST = $(EXPORT_MD_GEN_LIST) 31*19c3b8c2SApple OSS Distributionsendif 32*19c3b8c2SApple OSS Distributions 33*19c3b8c2SApple OSS Distributionsifndef INSTALL_KF_MI_LIST 34*19c3b8c2SApple OSS Distributions INSTALL_KF_MI_LIST = $(EXPORT_MI_LIST) 35*19c3b8c2SApple OSS Distributionsendif 36*19c3b8c2SApple OSS Distributions 37*19c3b8c2SApple OSS Distributionsifndef INSTALL_KF_MI_GEN_LIST 38*19c3b8c2SApple OSS Distributions INSTALL_KF_MI_GEN_LIST = $(EXPORT_MI_GEN_LIST) 39*19c3b8c2SApple OSS Distributionsendif 40*19c3b8c2SApple OSS Distributions 41*19c3b8c2SApple OSS Distributionsifndef INSTALL_KF_MD_LIST 42*19c3b8c2SApple OSS Distributions INSTALL_KF_MD_LIST = $(EXPORT_MD_LIST) 43*19c3b8c2SApple OSS Distributionsendif 44*19c3b8c2SApple OSS Distributions 45*19c3b8c2SApple OSS Distributionsifndef INSTALL_KF_MD_GEN_LIST 46*19c3b8c2SApple OSS Distributions INSTALL_KF_MD_GEN_LIST = $(EXPORT_MD_GEN_LIST) 47*19c3b8c2SApple OSS Distributionsendif 48*19c3b8c2SApple OSS Distributions 49*19c3b8c2SApple OSS Distributions$(eval $(call _setup_build_log_colors)) 50*19c3b8c2SApple OSS Distributions 51*19c3b8c2SApple OSS Distributions.PHONY: ALWAYS 52*19c3b8c2SApple OSS Distributions 53*19c3b8c2SApple OSS DistributionsALWAYS: 54*19c3b8c2SApple OSS Distributions 55*19c3b8c2SApple OSS Distributions# $(1) is the list of install paths 56*19c3b8c2SApple OSS Distributions# $(2) is "1" if it's a "GEN"-style rule that looks locally, or else $(SOURCE) 57*19c3b8c2SApple OSS Distributions# $(3) is the local temp directory for processing 58*19c3b8c2SApple OSS Distributions# $(4) is the unifdef flags 59*19c3b8c2SApple OSS Distributions# 60*19c3b8c2SApple OSS Distributions# $$$$$$$$ is a double-escaped "$$" to represent the current pid 61*19c3b8c2SApple OSS Distributions# of the shell process for creating uniquely named temporary files 62*19c3b8c2SApple OSS Distributions 63*19c3b8c2SApple OSS Distributionsdefine INSTALLHDRS_RULE_template 64*19c3b8c2SApple OSS Distributions 65*19c3b8c2SApple OSS Distributions.PHONY: $(3)_MKDIR 66*19c3b8c2SApple OSS Distributions 67*19c3b8c2SApple OSS Distributions$(3)_MKDIR: 68*19c3b8c2SApple OSS Distributions $$(_v)$$(MKDIR) ./$(3) 69*19c3b8c2SApple OSS Distributions $$(_v)$$(MKDIR) $(dir $(firstword $(1))) 70*19c3b8c2SApple OSS Distributions 71*19c3b8c2SApple OSS Distributions# Rebuild if unifdef flags change 72*19c3b8c2SApple OSS Distributions$(1): $(3)/.UNIFDEF_FLAGS 73*19c3b8c2SApple OSS Distributions$(3)/.UNIFDEF_FLAGS: ALWAYS | $(3)_MKDIR 74*19c3b8c2SApple OSS Distributions $$(_v)$$(REPLACECONTENTS) $$@ $$(UNIFDEF) $(4) 75*19c3b8c2SApple OSS Distributions 76*19c3b8c2SApple OSS Distributions$(1): $(dir $(firstword $(1)))% : $(if $(2),%,$$(SOURCE)/%) | $(3)_MKDIR 77*19c3b8c2SApple OSS Distributions @$$(LOG_INSTALLHDR) "$$*" 78*19c3b8c2SApple OSS Distributions $$(_v)$$(UNIFDEF) $(4) $$< > ./$(3)/$$*.unifdef.$$$$$$$$; \ 79*19c3b8c2SApple OSS Distributions if [ $$$$? -eq 2 ]; then \ 80*19c3b8c2SApple OSS Distributions $(ERR) Parse failure for $$<; \ 81*19c3b8c2SApple OSS Distributions exit 1; \ 82*19c3b8c2SApple OSS Distributions fi; \ 83*19c3b8c2SApple OSS Distributions $$(DECOMMENT) ./$(3)/$$*.unifdef.$$$$$$$$ r > \ 84*19c3b8c2SApple OSS Distributions ./$(3)/$$*.strip.$$$$$$$$ || exit 1; \ 85*19c3b8c2SApple OSS Distributions if [ -s ./$(3)/$$*.strip.$$$$$$$$ ]; then \ 86*19c3b8c2SApple OSS Distributions $$(INSTALL) $$(INSTALL_FLAGS) ./$(3)/$$*.unifdef.$$$$$$$$ $$@ || exit 1; \ 87*19c3b8c2SApple OSS Distributions fi; \ 88*19c3b8c2SApple OSS Distributions $$(RM) ./$(3)/$$*.unifdef.$$$$$$$$ ./$(3)/$$*.strip.$$$$$$$$ 89*19c3b8c2SApple OSS Distributionsendef 90*19c3b8c2SApple OSS Distributions 91*19c3b8c2SApple OSS Distributions# $(1) is the list of install paths 92*19c3b8c2SApple OSS Distributions# $(2) is the source path pattern (using % to match with $(5)) or source file 93*19c3b8c2SApple OSS Distributions# $(3) is the local temp directory for processing 94*19c3b8c2SApple OSS Distributions# $(4) is the unifdef flags 95*19c3b8c2SApple OSS Distributions# $(5) is the destination directory (when pattern matching) or empty 96*19c3b8c2SApple OSS Distributions# 97*19c3b8c2SApple OSS Distributions# $$$$$$$$ is a double-escaped "$$" to represent the current pid 98*19c3b8c2SApple OSS Distributions# of the shell process for creating uniquely named temporary files 99*19c3b8c2SApple OSS Distributions 100*19c3b8c2SApple OSS Distributionsdefine INSTALLPYTHON_RULE_template 101*19c3b8c2SApple OSS Distributions 102*19c3b8c2SApple OSS Distributions.PHONY: $(3)_MKDIR 103*19c3b8c2SApple OSS Distributions 104*19c3b8c2SApple OSS Distributions$(3)_MKDIR: 105*19c3b8c2SApple OSS Distributions $$(_v)$$(MKDIR) ./$(3) 106*19c3b8c2SApple OSS Distributions 107*19c3b8c2SApple OSS Distributions# Rebuild if unifdef flags change 108*19c3b8c2SApple OSS Distributions$(1): $(3)/.UNIFDEF_FLAGS 109*19c3b8c2SApple OSS Distributions$(3)/.UNIFDEF_FLAGS: ALWAYS | $(3)_MKDIR 110*19c3b8c2SApple OSS Distributions $$(_v)$$(REPLACECONTENTS) $$@ $$(UNIFDEF) -t $(4) 111*19c3b8c2SApple OSS Distributions 112*19c3b8c2SApple OSS Distributions$(1): $(5)% : $(2) | $(3)_MKDIR 113*19c3b8c2SApple OSS Distributions @$$(LOG_INSTALLPY) "$$*" 114*19c3b8c2SApple OSS Distributions $$(_v)$$(MKDIR) $$(dir $$@) $$(dir ./$(3)/$$*) 115*19c3b8c2SApple OSS Distributions $$(_v)$$(UNIFDEF) -t $(4) $$< > ./$(3)/$$*.unifdef.$$$$$$$$$$(suffix $$*); \ 116*19c3b8c2SApple OSS Distributions if [ $$$$? -eq 2 ]; then \ 117*19c3b8c2SApple OSS Distributions $(ERR) Parse failure for $$<; \ 118*19c3b8c2SApple OSS Distributions exit 1; \ 119*19c3b8c2SApple OSS Distributions fi; \ 120*19c3b8c2SApple OSS Distributions $$(INSTALL) $$(DATA_INSTALL_FLAGS) \ 121*19c3b8c2SApple OSS Distributions ./$(3)/$$*.unifdef.$$$$$$$$$$(suffix $$*) $$@ || exit 1; \ 122*19c3b8c2SApple OSS Distributions $$(PYTHON) $$(LLDBMACROS_SOURCE)/core/syntax_checker.py \ 123*19c3b8c2SApple OSS Distributions ./$(3)/$$*.unifdef.$$$$$$$$$$(suffix $$*) $$(_vstdout) || exit 1; \ 124*19c3b8c2SApple OSS Distributions $$(RM) ./$(3)/$$*.unifdef.$$$$$$$$$$(suffix $$*) 125*19c3b8c2SApple OSS Distributions $$(_v)if [ -n "$(5)" ]; then $$(TOUCH) "$(5)"; fi 126*19c3b8c2SApple OSS Distributionsendef 127*19c3b8c2SApple OSS Distributions 128*19c3b8c2SApple OSS Distributions# Template for Libsyscall header unifdef postprocessing in DSTROOT 129*19c3b8c2SApple OSS Distributions# $(1) is the install path 130*19c3b8c2SApple OSS Distributions# $(2) is the unifdef flags 131*19c3b8c2SApple OSS Distributions 132*19c3b8c2SApple OSS Distributionsdefine LIBSYSCALL_DO_UNIFDEF_HEADERS_RULE_template 133*19c3b8c2SApple OSS Distributionsdo_unifdef_headers:: 134*19c3b8c2SApple OSS Distributions $$(_v)[ \! -d "$(1)" ] || $$(FIND) -x "$(1)" -type f \( -name \*.h -o \ 135*19c3b8c2SApple OSS Distributions -name \*.defs -o -name \*.iig -o -name \*.modulemap \) \ 136*19c3b8c2SApple OSS Distributions -execdir $$(UNIFDEF) $(2) -o {} {} \; 137*19c3b8c2SApple OSS Distributions.PHONY: do_unifdef_headers 138*19c3b8c2SApple OSS Distributionsendef 139*19c3b8c2SApple OSS Distributions 140*19c3b8c2SApple OSS Distributions 141*19c3b8c2SApple OSS Distributions# 142*19c3b8c2SApple OSS Distributions# Empty the install lists of non-host headers if building the host headers alias 143*19c3b8c2SApple OSS Distributions# 144*19c3b8c2SApple OSS Distributions 145*19c3b8c2SApple OSS Distributionsifeq ($(INSTALLHDRS_SKIP_HOST),YES) 146*19c3b8c2SApple OSS Distributions 147*19c3b8c2SApple OSS DistributionsINSTALL_MI_LIST = 148*19c3b8c2SApple OSS DistributionsINSTALL_MI_GEN_LIST = 149*19c3b8c2SApple OSS DistributionsINSTALL_IF_MI_LIST = 150*19c3b8c2SApple OSS DistributionsINSTALL_IF_MI_GEN_LIST = 151*19c3b8c2SApple OSS DistributionsINSTALL_DRIVERKIT_MI_LIST = 152*19c3b8c2SApple OSS DistributionsINSTALL_DRIVERKIT_MI_GEN_LIST = 153*19c3b8c2SApple OSS DistributionsINSTALL_KF_MI_LIST = 154*19c3b8c2SApple OSS DistributionsINSTALL_KF_MI_GEN_LIST = 155*19c3b8c2SApple OSS DistributionsINSTALL_MI_LCL_LIST = 156*19c3b8c2SApple OSS DistributionsINSTALL_MI_LCL_GEN_LIST = 157*19c3b8c2SApple OSS DistributionsINSTALL_IF_MI_LCL_LIST = 158*19c3b8c2SApple OSS DistributionsINSTALL_IF_MI_LCL_GEN_LIST = 159*19c3b8c2SApple OSS DistributionsINSTALL_SF_MI_LCL_LIST = 160*19c3b8c2SApple OSS DistributionsINSTALL_SF_MI_LCL_GEN_LIST = 161*19c3b8c2SApple OSS DistributionsINSTALL_DRIVERKIT_MI_LCL_LIST = 162*19c3b8c2SApple OSS DistributionsINSTALL_DRIVERKIT_MI_LCL_GEN_LIST = 163*19c3b8c2SApple OSS DistributionsINSTALL_KF_MI_LCL_LIST = 164*19c3b8c2SApple OSS DistributionsINSTALL_KF_MI_LCL_GEN_LIST = 165*19c3b8c2SApple OSS DistributionsINSTALL_MD_LIST = 166*19c3b8c2SApple OSS DistributionsINSTALL_MD_GEN_LIST = 167*19c3b8c2SApple OSS DistributionsINSTALL_DRIVERKIT_MD_LIST = 168*19c3b8c2SApple OSS DistributionsINSTALL_DRIVERKIT_MD_GEN_LIST = 169*19c3b8c2SApple OSS DistributionsINSTALL_KF_MD_LIST = 170*19c3b8c2SApple OSS DistributionsINSTALL_KF_MD_GEN_LIST = 171*19c3b8c2SApple OSS DistributionsINSTALL_MD_LCL_LIST = 172*19c3b8c2SApple OSS DistributionsINSTALL_MD_LCL_GEN_LIST = 173*19c3b8c2SApple OSS DistributionsINSTALL_SF_MD_LCL_LIST = 174*19c3b8c2SApple OSS DistributionsINSTALL_SF_MD_LCL_GEN_LIST = 175*19c3b8c2SApple OSS DistributionsINSTALL_DRIVERKIT_MD_LCL_LIST = 176*19c3b8c2SApple OSS DistributionsINSTALL_DRIVERKIT_MD_LCL_GEN_LIST = 177*19c3b8c2SApple OSS DistributionsINSTALL_KF_MD_LCL_LIST = 178*19c3b8c2SApple OSS DistributionsINSTALL_KF_MD_LCL_GEN_LIST = 179*19c3b8c2SApple OSS Distributions 180*19c3b8c2SApple OSS Distributions# If there are no headers then there can be no module maps. 181*19c3b8c2SApple OSS DistributionsINSTALLHDRS_MODULEMAPS_SKIP_HOST = YES 182*19c3b8c2SApple OSS Distributions 183*19c3b8c2SApple OSS Distributionsendif 184*19c3b8c2SApple OSS Distributions 185*19c3b8c2SApple OSS Distributionsifeq ($(INSTALLHDRS_MODULEMAPS_SKIP_HOST),YES) 186*19c3b8c2SApple OSS DistributionsINSTALL_MODULEMAP_MI_LIST = 187*19c3b8c2SApple OSS DistributionsINSTALL_MODULEMAP_MI_LCL_LIST = 188*19c3b8c2SApple OSS DistributionsINSTALL_MODULEMAP_MD_LIST = 189*19c3b8c2SApple OSS DistributionsINSTALL_MODULEMAP_MD_LCL_LIST = 190*19c3b8c2SApple OSS Distributionsendif 191*19c3b8c2SApple OSS Distributions 192*19c3b8c2SApple OSS Distributions# 193*19c3b8c2SApple OSS Distributions# Machine-independent (public) files 194*19c3b8c2SApple OSS Distributions# 195*19c3b8c2SApple OSS Distributions 196*19c3b8c2SApple OSS DistributionsINSTALL_MI_INC_FILES = $(addprefix $(DSTROOT)/$(INCDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_MI_LIST)) 197*19c3b8c2SApple OSS DistributionsINSTALL_MI_INC_GEN_FILES = $(addprefix $(DSTROOT)/$(INCDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_MI_GEN_LIST)) 198*19c3b8c2SApple OSS DistributionsINSTALL_MODULEMAP_MI_INC_FILES = $(addprefix $(DSTROOT)/$(INCDIR)/$(INSTALL_MODULEMAP_MI_DIR)/,$(INSTALL_MODULEMAP_MI_LIST)) 199*19c3b8c2SApple OSS Distributions 200*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MI_INC_FILES),,incmidir,$(SINCFRAME_UNIFDEF))) 201*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MI_INC_GEN_FILES),1,incmigendir,$(SINCFRAME_UNIFDEF))) 202*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MODULEMAP_MI_INC_FILES),,mmincmidir,-t $(DATA_UNIFDEF))) 203*19c3b8c2SApple OSS Distributions 204*19c3b8c2SApple OSS DistributionsINSTALL_IF_MI_FILES = $(addprefix $(DSTROOT)/$(IINCDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_IF_MI_LIST)) 205*19c3b8c2SApple OSS DistributionsINSTALL_IF_MI_GEN_FILES = $(addprefix $(DSTROOT)/$(IINCDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_IF_MI_GEN_LIST)) 206*19c3b8c2SApple OSS Distributions 207*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_IF_MI_FILES),,iincmidir,$(SINCFRAME_UNIFDEF))) 208*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_IF_MI_GEN_FILES),1,iincmigendir,$(SINCFRAME_UNIFDEF))) 209*19c3b8c2SApple OSS Distributions 210*19c3b8c2SApple OSS Distributionsifeq ($(DRIVERKIT),1) 211*19c3b8c2SApple OSS DistributionsINSTALL_DRIVERKIT_MI_INC_FILES = $(addprefix $(DSTROOT)/$(DRIVERKITINCDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_DRIVERKIT_MI_LIST)) 212*19c3b8c2SApple OSS DistributionsINSTALL_DRIVERKIT_MI_INC_GEN_FILES = $(addprefix $(DSTROOT)/$(DRIVERKITINCDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_DRIVERKIT_MI_GEN_LIST)) 213*19c3b8c2SApple OSS Distributions 214*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_DRIVERKIT_MI_INC_FILES),,dkincmidir,$(DKINCFRAME_UNIFDEF))) 215*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_DRIVERKIT_MI_INC_GEN_FILES),1,dkincmigendir,$(DKINCFRAME_UNIFDEF))) 216*19c3b8c2SApple OSS Distributionsendif 217*19c3b8c2SApple OSS Distributions 218*19c3b8c2SApple OSS DistributionsINSTALL_KF_MI_FILES = $(addprefix $(DSTROOT)/$(KINCDIR)/$(EXPORT_MI_DIR)/, $(INSTALL_KF_MI_LIST)) 219*19c3b8c2SApple OSS DistributionsINSTALL_KF_MI_GEN_FILES = $(addprefix $(DSTROOT)/$(KINCDIR)/$(EXPORT_MI_DIR)/, $(INSTALL_KF_MI_GEN_LIST)) 220*19c3b8c2SApple OSS Distributions 221*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_KF_MI_FILES),,kincmidir,$(KINCFRAME_UNIFDEF))) 222*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_KF_MI_GEN_FILES),1,kincmigendir,$(KINCFRAME_UNIFDEF))) 223*19c3b8c2SApple OSS Distributions 224*19c3b8c2SApple OSS Distributions# 225*19c3b8c2SApple OSS Distributions# Machine-independent local (private) files 226*19c3b8c2SApple OSS Distributions# 227*19c3b8c2SApple OSS Distributions 228*19c3b8c2SApple OSS DistributionsINSTALL_MI_LCL_FILES = $(addprefix $(DSTROOT)/$(LCLDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_MI_LCL_LIST)) 229*19c3b8c2SApple OSS DistributionsINSTALL_MI_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(LCLDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_MI_LCL_GEN_LIST)) 230*19c3b8c2SApple OSS DistributionsINSTALL_MODULEMAP_MI_LCL_FILES = $(addprefix $(DSTROOT)/$(LCLDIR)/$(INSTALL_MODULEMAP_MI_DIR)/,$(INSTALL_MODULEMAP_MI_LCL_LIST)) 231*19c3b8c2SApple OSS Distributions 232*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MI_LCL_FILES),,pincmidir,$(SPINCFRAME_UNIFDEF))) 233*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MI_LCL_GEN_FILES),1,pincmigendir,$(SPINCFRAME_UNIFDEF))) 234*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MODULEMAP_MI_LCL_FILES),,mmpincmidir,-t $(PDATA_UNIFDEF))) 235*19c3b8c2SApple OSS Distributions 236*19c3b8c2SApple OSS DistributionsINSTALL_IF_MI_LCL_FILES = $(addprefix $(DSTROOT)/$(IPINCDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_IF_MI_LCL_LIST)) 237*19c3b8c2SApple OSS DistributionsINSTALL_IF_MI_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(IPINCDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_IF_MI_LCL_GEN_LIST)) 238*19c3b8c2SApple OSS Distributions 239*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_IF_MI_LCL_FILES),,ipincmidir,$(SPINCFRAME_UNIFDEF))) 240*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_IF_MI_LCL_GEN_FILES),1,ipincmigendir,$(SPINCFRAME_UNIFDEF))) 241*19c3b8c2SApple OSS Distributions 242*19c3b8c2SApple OSS DistributionsINSTALL_SF_MI_LCL_FILES = $(addprefix $(DSTROOT)/$(SPINCDIR)/$(INSTALL_MI_DIR)/, $(sort $(INSTALL_SF_MI_LCL_LIST))) 243*19c3b8c2SApple OSS DistributionsINSTALL_SF_MI_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(SPINCDIR)/$(INSTALL_MI_DIR)/, $(sort $(INSTALL_SF_MI_LCL_GEN_LIST))) 244*19c3b8c2SApple OSS Distributions 245*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_SF_MI_LCL_FILES),,spincmidir,$(SPINCFRAME_UNIFDEF))) 246*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_SF_MI_LCL_GEN_FILES),1,spincmigendir,$(SPINCFRAME_UNIFDEF))) 247*19c3b8c2SApple OSS Distributions 248*19c3b8c2SApple OSS Distributionsifeq ($(DRIVERKIT),1) 249*19c3b8c2SApple OSS DistributionsINSTALL_DRIVERKIT_MI_LCL_FILES = $(addprefix $(DSTROOT)/$(DRIVERKITLCLDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_DRIVERKIT_MI_LCL_LIST)) 250*19c3b8c2SApple OSS DistributionsINSTALL_DRIVERKIT_MI_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(DRIVERKITLCLDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_DRIVERKIT_MI_LCL_GEN_LIST)) 251*19c3b8c2SApple OSS Distributions 252*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_DRIVERKIT_MI_LCL_FILES),,dkpincmidir,$(DKPINCFRAME_UNIFDEF))) 253*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_DRIVERKIT_MI_LCL_GEN_FILES),1,dkpincmigendir,$(DKPINCFRAME_UNIFDEF))) 254*19c3b8c2SApple OSS Distributionsendif 255*19c3b8c2SApple OSS Distributions 256*19c3b8c2SApple OSS DistributionsINSTALL_KF_MI_LCL_FILES = $(addprefix $(DSTROOT)/$(KPINCDIR)/$(EXPORT_MI_DIR)/, $(INSTALL_KF_MI_LCL_LIST)) 257*19c3b8c2SApple OSS DistributionsINSTALL_KF_MI_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(KPINCDIR)/$(EXPORT_MI_DIR)/, $(INSTALL_KF_MI_LCL_GEN_LIST)) 258*19c3b8c2SApple OSS Distributions 259*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_KF_MI_LCL_FILES),,kpincmidir,$(KPINCFRAME_UNIFDEF))) 260*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_KF_MI_LCL_GEN_FILES),1,kpincmigendir,$(KPINCFRAME_UNIFDEF))) 261*19c3b8c2SApple OSS Distributions 262*19c3b8c2SApple OSS Distributions# 263*19c3b8c2SApple OSS Distributions# Machine-dependent (public) files 264*19c3b8c2SApple OSS Distributions# 265*19c3b8c2SApple OSS Distributions 266*19c3b8c2SApple OSS DistributionsINSTALL_MD_INC_FILES = $(addprefix $(DSTROOT)/$(INCDIR)/$(INSTALL_MD_DIR)/, $(INSTALL_MD_LIST)) 267*19c3b8c2SApple OSS DistributionsINSTALL_MD_INC_GEN_FILES = $(addprefix $(DSTROOT)/$(INCDIR)/$(INSTALL_MD_DIR)/, $(INSTALL_MD_GEN_LIST)) 268*19c3b8c2SApple OSS DistributionsINSTALL_MODULEMAP_MD_INC_FILES = $(addprefix $(DSTROOT)/$(INCDIR)/$(INSTALL_MODULEMAP_MD_DIR)/,$(INSTALL_MODULEMAP_MD_LIST)) 269*19c3b8c2SApple OSS Distributions 270*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MD_INC_FILES),,incdir,$(SINCFRAME_UNIFDEF))) 271*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MD_INC_GEN_FILES),1,incgendir,$(SINCFRAME_UNIFDEF))) 272*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MODULEMAP_MD_INC_FILES),,mmincdir,-t $(DATA_UNIFDEF))) 273*19c3b8c2SApple OSS Distributions 274*19c3b8c2SApple OSS Distributionsifeq ($(DRIVERKIT),1) 275*19c3b8c2SApple OSS DistributionsINSTALL_DRIVERKIT_MD_INC_FILES = $(addprefix $(DSTROOT)/$(DRIVERKITINCDIR)/$(INSTALL_MD_DIR)/, $(INSTALL_DRIVERKIT_MD_LIST)) 276*19c3b8c2SApple OSS DistributionsINSTALL_DRIVERKIT_MD_INC_GEN_FILES = $(addprefix $(DSTROOT)/$(DRIVERKITINCDIR)/$(INSTALL_MD_DIR)/, $(INSTALL_DRIVERKIT_MD_GEN_LIST)) 277*19c3b8c2SApple OSS Distributions 278*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_DRIVERKIT_MD_INC_FILES),,dkincdir,$(DKINCFRAME_UNIFDEF))) 279*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_DRIVERKIT_MD_INC_GEN_FILES),1,dkincgendir,$(DKINCFRAME_UNIFDEF))) 280*19c3b8c2SApple OSS Distributionsendif 281*19c3b8c2SApple OSS Distributions 282*19c3b8c2SApple OSS DistributionsINSTALL_KF_MD_FILES = $(addprefix $(DSTROOT)/$(KINCDIR)/$(EXPORT_MD_DIR)/, $(INSTALL_KF_MD_LIST)) 283*19c3b8c2SApple OSS DistributionsINSTALL_KF_MD_GEN_FILES = $(addprefix $(DSTROOT)/$(KINCDIR)/$(EXPORT_MD_DIR)/, $(INSTALL_KF_MD_GEN_LIST)) 284*19c3b8c2SApple OSS Distributions 285*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_KF_MD_FILES),,kincdir,$(KINCFRAME_UNIFDEF))) 286*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_KF_MD_GEN_FILES),1,kincgendir,$(KINCFRAME_UNIFDEF))) 287*19c3b8c2SApple OSS Distributions 288*19c3b8c2SApple OSS Distributions# 289*19c3b8c2SApple OSS Distributions# Machine-dependent local (private) files 290*19c3b8c2SApple OSS Distributions# 291*19c3b8c2SApple OSS Distributions 292*19c3b8c2SApple OSS DistributionsINSTALL_MD_LCL_FILES = $(addprefix $(DSTROOT)/$(LCLDIR)/$(INSTALL_MD_DIR)/, $(sort $(INSTALL_MD_LCL_LIST))) 293*19c3b8c2SApple OSS DistributionsINSTALL_MD_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(LCLDIR)/$(INSTALL_MD_DIR)/, $(sort $(INSTALL_MD_LCL_GEN_LIST))) 294*19c3b8c2SApple OSS DistributionsINSTALL_MODULEMAP_MD_LCL_FILES = $(addprefix $(DSTROOT)/$(LCLDIR)/$(INSTALL_MODULEMAP_MD_DIR)/,$(INSTALL_MODULEMAP_MD_LCL_LIST)) 295*19c3b8c2SApple OSS Distributions 296*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MD_LCL_FILES),,pincdir,$(SPINCFRAME_UNIFDEF))) 297*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MD_LCL_GEN_FILES),1,pincgendir,$(SPINCFRAME_UNIFDEF))) 298*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MODULEMAP_MD_LCL_FILES),,mmpincdir,-t $(PDATA_UNIFDEF))) 299*19c3b8c2SApple OSS Distributions 300*19c3b8c2SApple OSS DistributionsINSTALL_SF_MD_LCL_FILES = $(addprefix $(DSTROOT)/$(SPINCDIR)/$(INSTALL_MD_DIR)/, $(sort $(INSTALL_SF_MD_LCL_LIST))) 301*19c3b8c2SApple OSS DistributionsINSTALL_SF_MD_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(SPINCDIR)/$(INSTALL_MD_DIR)/, $(sort $(INSTALL_SF_MD_LCL_GEN_LIST))) 302*19c3b8c2SApple OSS Distributions 303*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_SF_MD_LCL_FILES),,spincdir,$(SPINCFRAME_UNIFDEF))) 304*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_SF_MD_LCL_GEN_FILES),1,spincgendir,$(SPINCFRAME_UNIFDEF))) 305*19c3b8c2SApple OSS Distributions 306*19c3b8c2SApple OSS Distributionsifeq ($(DRIVERKIT),1) 307*19c3b8c2SApple OSS DistributionsINSTALL_DRIVERKIT_MD_LCL_FILES = $(addprefix $(DSTROOT)/$(DRIVERKITLCLDIR)/$(INSTALL_MD_DIR)/, $(INSTALL_DRIVERKIT_MD_LCL_LIST)) 308*19c3b8c2SApple OSS DistributionsINSTALL_DRIVERKIT_MD_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(DRIVERKITLCLDIR)/$(INSTALL_MD_DIR)/, $(INSTALL_DRIVERKIT_MD_LCL_GEN_LIST)) 309*19c3b8c2SApple OSS Distributions 310*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_DRIVERKIT_MD_LCL_FILES),,dkpincdir,$(DKPINCFRAME_UNIFDEF))) 311*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_DRIVERKIT_MD_LCL_GEN_FILES),1,dkpincgendir,$(DKPINCFRAME_UNIFDEF))) 312*19c3b8c2SApple OSS Distributionsendif 313*19c3b8c2SApple OSS Distributions 314*19c3b8c2SApple OSS DistributionsINSTALL_KF_MD_LCL_FILES = $(addprefix $(DSTROOT)/$(KPINCDIR)/$(EXPORT_MD_DIR)/, $(INSTALL_KF_MD_LCL_LIST)) 315*19c3b8c2SApple OSS DistributionsINSTALL_KF_MD_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(KPINCDIR)/$(EXPORT_MD_DIR)/, $(INSTALL_KF_MD_LCL_GEN_LIST)) 316*19c3b8c2SApple OSS Distributions 317*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_KF_MD_LCL_FILES),,kpincdir,$(KPINCFRAME_UNIFDEF))) 318*19c3b8c2SApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_KF_MD_LCL_GEN_FILES),1,kpincgendir,$(KPINCFRAME_UNIFDEF))) 319*19c3b8c2SApple OSS Distributions 320*19c3b8c2SApple OSS Distributions.PHONY: do_installhdrs_mi 321*19c3b8c2SApple OSS Distributions 322*19c3b8c2SApple OSS Distributions# Double-colon rule so that MakeInc.kernel can add custom behaviors 323*19c3b8c2SApple OSS Distributionsdo_installhdrs_mi:: $(INSTALL_MI_INC_FILES) $(INSTALL_MI_INC_GEN_FILES) $(INSTALL_MODULEMAP_MI_INC_FILES) \ 324*19c3b8c2SApple OSS Distributions $(INSTALL_IF_MI_FILES) $(INSTALL_IF_MI_GEN_FILES) \ 325*19c3b8c2SApple OSS Distributions $(INSTALL_DRIVERKIT_MI_INC_FILES) $(INSTALL_DRIVERKIT_MI_INC_GEN_FILES) \ 326*19c3b8c2SApple OSS Distributions $(INSTALL_KF_MI_FILES) $(INSTALL_KF_MI_GEN_FILES) \ 327*19c3b8c2SApple OSS Distributions $(INSTALL_MI_LCL_FILES) $(INSTALL_MI_LCL_GEN_FILES) $(INSTALL_MODULEMAP_MI_LCL_FILES) \ 328*19c3b8c2SApple OSS Distributions $(INSTALL_IF_MI_LCL_FILES) $(INSTALL_IF_MI_LCL_GEN_FILES) \ 329*19c3b8c2SApple OSS Distributions $(INSTALL_SF_MI_LCL_FILES) $(INSTALL_SF_MI_LCL_GEN_FILES) \ 330*19c3b8c2SApple OSS Distributions $(INSTALL_DRIVERKIT_MI_LCL_FILES) $(INSTALL_DRIVERKIT_MI_LCL_GEN_FILES) \ 331*19c3b8c2SApple OSS Distributions $(INSTALL_KF_MI_LCL_FILES) $(INSTALL_KF_MI_LCL_GEN_FILES) 332*19c3b8c2SApple OSS Distributions @: 333*19c3b8c2SApple OSS Distributions 334*19c3b8c2SApple OSS Distributions.PHONY: do_installhdrs_md 335*19c3b8c2SApple OSS Distributions 336*19c3b8c2SApple OSS Distributionsdo_installhdrs_md: $(INSTALL_MD_INC_FILES) $(INSTALL_MD_INC_GEN_FILES) $(INSTALL_MODULEMAP_MD_INC_FILES) \ 337*19c3b8c2SApple OSS Distributions $(INSTALL_DRIVERKIT_MD_INC_FILES) $(INSTALL_DRIVERKIT_MD_INC_GEN_FILES) \ 338*19c3b8c2SApple OSS Distributions $(INSTALL_KF_MD_FILES) $(INSTALL_KF_MD_GEN_FILES) \ 339*19c3b8c2SApple OSS Distributions $(INSTALL_MD_LCL_FILES) $(INSTALL_MD_LCL_GEN_FILES) $(INSTALL_MODULEMAP_MD_LCL_FILES) \ 340*19c3b8c2SApple OSS Distributions $(INSTALL_SF_MD_LCL_FILES) $(INSTALL_SF_MD_LCL_GEN_FILES) \ 341*19c3b8c2SApple OSS Distributions $(INSTALL_DRIVERKIT_MD_LCL_FILES) $(INSTALL_DRIVERKIT_MD_LCL_GEN_FILES) \ 342*19c3b8c2SApple OSS Distributions $(INSTALL_KF_MD_LCL_FILES) $(INSTALL_KF_MD_LCL_GEN_FILES) 343*19c3b8c2SApple OSS Distributions @: 344*19c3b8c2SApple OSS Distributions 345*19c3b8c2SApple OSS Distributions# 346*19c3b8c2SApple OSS Distributions# Generic Export rules 347*19c3b8c2SApple OSS Distributions# 348*19c3b8c2SApple OSS DistributionsEXPORT_MI_INC_FILES = $(addprefix $(OBJROOT)/$(EXPDIR)/$(EXPORT_MI_DIR)/, $(EXPORT_MI_LIST)) 349*19c3b8c2SApple OSS DistributionsEXPORT_MI_GEN_INC_FILES = $(addprefix $(OBJROOT)/$(EXPDIR)/$(EXPORT_MI_DIR)/, $(EXPORT_MI_GEN_LIST)) 350*19c3b8c2SApple OSS Distributions 351*19c3b8c2SApple OSS Distributions.PHONY: EXP_MI_INC_DIR 352*19c3b8c2SApple OSS Distributions 353*19c3b8c2SApple OSS DistributionsEXP_MI_INC_DIR: 354*19c3b8c2SApple OSS Distributions $(_v)$(MKDIR) $(OBJROOT)/$(EXPDIR)/$(EXPORT_MI_DIR) 355*19c3b8c2SApple OSS Distributions 356*19c3b8c2SApple OSS Distributions$(EXPORT_MI_GEN_INC_FILES): $(OBJROOT)/$(EXPDIR)/$(EXPORT_MI_DIR)/% : % | EXP_MI_INC_DIR 357*19c3b8c2SApple OSS Distributions $(_v)$(INSTALL) $(DATA_INSTALL_FLAGS_RO) $< $@ 358*19c3b8c2SApple OSS Distributions 359*19c3b8c2SApple OSS Distributions$(EXPORT_MI_INC_FILES): $(OBJROOT)/$(EXPDIR)/$(EXPORT_MI_DIR)/% : $(SOURCE)/% | EXP_MI_INC_DIR 360*19c3b8c2SApple OSS Distributions $(_v)$(INSTALL) $(DATA_INSTALL_FLAGS_RO) $< $@ 361*19c3b8c2SApple OSS Distributions 362*19c3b8c2SApple OSS DistributionsEXPORT_MD_INC_FILES = $(addprefix $(OBJROOT)/$(EXPDIR)/$(EXPORT_MD_DIR)/, $(EXPORT_MD_LIST)) 363*19c3b8c2SApple OSS DistributionsEXPORT_MD_GEN_INC_FILES = $(addprefix $(OBJROOT)/$(EXPDIR)/$(EXPORT_MD_DIR)/, $(EXPORT_MD_GEN_LIST)) 364*19c3b8c2SApple OSS Distributions 365*19c3b8c2SApple OSS Distributions.PHONY: EXP_MD_INC_DIR 366*19c3b8c2SApple OSS Distributions 367*19c3b8c2SApple OSS DistributionsEXP_MD_INC_DIR: 368*19c3b8c2SApple OSS Distributions $(_v)$(MKDIR) $(OBJROOT)/$(EXPDIR)/$(EXPORT_MD_DIR) 369*19c3b8c2SApple OSS Distributions 370*19c3b8c2SApple OSS Distributions$(EXPORT_MD_GEN_INC_FILES): $(OBJROOT)/$(EXPDIR)/$(EXPORT_MD_DIR)/% : % | EXP_MD_INC_DIR 371*19c3b8c2SApple OSS Distributions $(_v)$(INSTALL) $(DATA_INSTALL_FLAGS_RO) $< $@ 372*19c3b8c2SApple OSS Distributions 373*19c3b8c2SApple OSS Distributions$(EXPORT_MD_INC_FILES): $(OBJROOT)/$(EXPDIR)/$(EXPORT_MD_DIR)/% : $(SOURCE)/% | EXP_MD_INC_DIR 374*19c3b8c2SApple OSS Distributions $(_v)$(INSTALL) $(DATA_INSTALL_FLAGS_RO) $< $@ 375*19c3b8c2SApple OSS Distributions 376*19c3b8c2SApple OSS Distributions.PHONY: do_exporthdrs_mi 377*19c3b8c2SApple OSS Distributions 378*19c3b8c2SApple OSS Distributionsdo_exporthdrs_mi: $(EXPORT_MI_GEN_INC_FILES) $(EXPORT_MI_INC_FILES) 379*19c3b8c2SApple OSS Distributions @: 380*19c3b8c2SApple OSS Distributions 381*19c3b8c2SApple OSS Distributions.PHONY: do_exporthdrs_md 382*19c3b8c2SApple OSS Distributions 383*19c3b8c2SApple OSS Distributionsdo_exporthdrs_md: $(EXPORT_MD_GEN_INC_FILES) $(EXPORT_MD_INC_FILES) 384*19c3b8c2SApple OSS Distributions @: 385*19c3b8c2SApple OSS Distributions 386*19c3b8c2SApple OSS Distributions# 387*19c3b8c2SApple OSS Distributions# Generic Compilation rules 388*19c3b8c2SApple OSS Distributions# 389*19c3b8c2SApple OSS Distributions 390*19c3b8c2SApple OSS Distributions# 391*19c3b8c2SApple OSS Distributions# Compilation rules to generate .o from .s 392*19c3b8c2SApple OSS Distributions# 393*19c3b8c2SApple OSS Distributions 394*19c3b8c2SApple OSS DistributionsS_RULE_0=@$(LOG_AS) "$@" 395*19c3b8c2SApple OSS DistributionsS_RULE_1A=$(_v)${S_KCC} -c ${SFLAGS} -MD -MF $(@:o=d) -MP ${$@_SFLAGS_ADD} ${INCFLAGS} ${$@_INCFLAGS} 396*19c3b8c2SApple OSS DistributionsS_RULE_1B=$(<F) 397*19c3b8c2SApple OSS DistributionsS_RULE_2= 398*19c3b8c2SApple OSS Distributions 399*19c3b8c2SApple OSS Distributions# 400*19c3b8c2SApple OSS Distributions# Compilation rules to generate .o from .c for normal files 401*19c3b8c2SApple OSS Distributions# 402*19c3b8c2SApple OSS DistributionsC_RULE_0=@$(LOG_CC) "$@" 403*19c3b8c2SApple OSS DistributionsC_RULE_1A=$(_v)${KCC} -c ${filter-out ${$@_CFLAGS_RM}, ${CFLAGS} ${CWARNFLAGS}} -MD -MF $(@:o=d) -MP ${$@_CFLAGS_ADD} ${$@_CWARNFLAGS_ADD} ${INCFLAGS} ${$@_INCFLAGS} 404*19c3b8c2SApple OSS DistributionsC_RULE_1B=$(<F) 405*19c3b8c2SApple OSS DistributionsC_RULE_2= 406*19c3b8c2SApple OSS Distributions 407*19c3b8c2SApple OSS DistributionsC_RULE_3= 408*19c3b8c2SApple OSS DistributionsC_RULE_4A= 409*19c3b8c2SApple OSS DistributionsC_RULE_4B= 410*19c3b8c2SApple OSS Distributions 411*19c3b8c2SApple OSS Distributions# 412*19c3b8c2SApple OSS Distributions# Compilation rules to generate .o from .c for driver files 413*19c3b8c2SApple OSS Distributions# 414*19c3b8c2SApple OSS DistributionsC_RULE_0_D=${C_RULE_0} 415*19c3b8c2SApple OSS DistributionsC_RULE_1A_D=${C_RULE_1A} 416*19c3b8c2SApple OSS DistributionsC_RULE_1B_D=${C_RULE_1B} 417*19c3b8c2SApple OSS DistributionsC_RULE_2_D=${C_RULE_2} 418*19c3b8c2SApple OSS DistributionsC_RULE_3_D=${C_RULE_3} 419*19c3b8c2SApple OSS DistributionsC_RULE_4A_D=${C_RULE_4A} 420*19c3b8c2SApple OSS DistributionsC_RULE_4B_D=${C_RULE_4B} 421*19c3b8c2SApple OSS Distributions 422*19c3b8c2SApple OSS Distributions# 423*19c3b8c2SApple OSS Distributions# Compilation rules to generate .co from .cp or .cpo from .cpp 424*19c3b8c2SApple OSS Distributions# The config tool slickly changes the last source filename char to 'o' 425*19c3b8c2SApple OSS Distributions# for the object filename. 426*19c3b8c2SApple OSS DistributionsP_RULE_0=@$(LOG_CXX) "$@" 427*19c3b8c2SApple OSS DistributionsP_RULE_1A=$(_v)${KC++} -o $@ -c ${CXXFLAGS} ${filter-out ${$@_CFLAGS_RM}, ${CFLAGS} ${CXXWARNFLAGS}} -MD -MF $(@:o=d) -MP ${$@_CFLAGS_ADD} ${$@_CXXWARNFLAGS_ADD} ${INCFLAGS} ${$@_INCFLAGS} 428*19c3b8c2SApple OSS DistributionsP_RULE_1B=$(<F) 429*19c3b8c2SApple OSS DistributionsP_RULE_2= 430*19c3b8c2SApple OSS Distributions 431*19c3b8c2SApple OSS DistributionsP_RULE_3= 432*19c3b8c2SApple OSS DistributionsP_RULE_4A= 433*19c3b8c2SApple OSS DistributionsP_RULE_4B= 434*19c3b8c2SApple OSS Distributions 435*19c3b8c2SApple OSS Distributions# 436*19c3b8c2SApple OSS Distributions# Explain how to make the bsd syscall list 437*19c3b8c2SApple OSS Distributions# 438*19c3b8c2SApple OSS Distributions$(TARGET)/bsd.syscalls.master: $(SRCROOT)/bsd/kern/syscalls.master $(MAKESYSCALLS) 439*19c3b8c2SApple OSS Distributions @$(LOG_GENERATE) "$(@F)$(Color0) from $(ColorF)$<$(Color0)" 440*19c3b8c2SApple OSS Distributions $(_v)$(UNIFDEF) $(SEED_DEFINES) $< > $@; \ 441*19c3b8c2SApple OSS Distributions if [ $$? -eq 2 ]; then \ 442*19c3b8c2SApple OSS Distributions $(ERR) Parse failure for $<; \ 443*19c3b8c2SApple OSS Distributions exit 1; \ 444*19c3b8c2SApple OSS Distributions fi 445*19c3b8c2SApple OSS Distributions 446*19c3b8c2SApple OSS Distributions# 447*19c3b8c2SApple OSS Distributions# This isn't the right place to put this, but we need to := override some settings 448*19c3b8c2SApple OSS Distributions# in Makefiles that include the generic helper fragments (like this file) 449*19c3b8c2SApple OSS Distributions# 450*19c3b8c2SApple OSS Distributionsifeq ($(BUILD_JSON_COMPILATION_DATABASE),1) 451*19c3b8c2SApple OSS DistributionsHIB_FILES := 452*19c3b8c2SApple OSS DistributionsLAST_FILES := 453*19c3b8c2SApple OSS DistributionsKLD_FILES := 454*19c3b8c2SApple OSS Distributionsendif 455*19c3b8c2SApple OSS Distributions 456*19c3b8c2SApple OSS Distributions.PHONY: do_build_all 457*19c3b8c2SApple OSS Distributions 458*19c3b8c2SApple OSS Distributions# Do-nothing rule, since not all levels of the recursive hierarchy might implement this 459*19c3b8c2SApple OSS Distributions# in their local Makefiles. Those that do will use a "::" rule to augment this. 460*19c3b8c2SApple OSS Distributionsdo_build_all:: 461*19c3b8c2SApple OSS Distributions @: 462*19c3b8c2SApple OSS Distributions 463*19c3b8c2SApple OSS Distributions.PHONY: do_build_install_primary 464*19c3b8c2SApple OSS Distributions 465*19c3b8c2SApple OSS Distributions# Do-nothing rule, since not all levels of the recursive hierarchy might implement this 466*19c3b8c2SApple OSS Distributions# in their local Makefiles. Those that do will use a "::" rule to augment this. 467*19c3b8c2SApple OSS Distributionsdo_build_install_primary:: 468*19c3b8c2SApple OSS Distributions @: 469*19c3b8c2SApple OSS Distributions 470*19c3b8c2SApple OSS Distributions.PHONY: do_build_install_non_primary 471*19c3b8c2SApple OSS Distributions 472*19c3b8c2SApple OSS Distributions# Do-nothing rule, since not all levels of the recursive hierarchy might implement this 473*19c3b8c2SApple OSS Distributions# in their local Makefiles. Those that do will use a "::" rule to augment this. 474*19c3b8c2SApple OSS Distributionsdo_build_install_non_primary:: 475*19c3b8c2SApple OSS Distributions @: 476*19c3b8c2SApple OSS Distributions 477*19c3b8c2SApple OSS DistributionsINSTALL_MAN_FILES = $(addprefix $(DSTROOT)/$(MANDIR)/$(INSTALL_MAN_DIR)/, $(INSTALL_MAN_LIST)) 478*19c3b8c2SApple OSS Distributions 479*19c3b8c2SApple OSS Distributions.PHONY: INSTALL_MAN_DIR 480*19c3b8c2SApple OSS Distributions 481*19c3b8c2SApple OSS DistributionsINSTALL_MAN_DIR: 482*19c3b8c2SApple OSS Distributions $(_v)$(MKDIR) $(DSTROOT)/$(MANDIR)/$(INSTALL_MAN_DIR) 483*19c3b8c2SApple OSS Distributions 484*19c3b8c2SApple OSS Distributions$(INSTALL_MAN_FILES): $(DSTROOT)/$(MANDIR)/$(INSTALL_MAN_DIR)/% : % | INSTALL_MAN_DIR 485*19c3b8c2SApple OSS Distributions @$(LOG_MAN) "$*" 486*19c3b8c2SApple OSS Distributions $(_v)$(INSTALL) $(INSTALL_FLAGS) $< $@ 487*19c3b8c2SApple OSS Distributions 488*19c3b8c2SApple OSS Distributionsdefine MAN_LINKS_RULE_template 489*19c3b8c2SApple OSS Distributions$$(DSTROOT)/$$(MANDIR)/$$(INSTALL_MAN_DIR)/$(2): $$(DSTROOT)/$$(MANDIR)/$$(INSTALL_MAN_DIR)/$(1) 490*19c3b8c2SApple OSS Distributions @$$(LOG_MANLINK) "$(2)" 491*19c3b8c2SApple OSS Distributions $(_v)ln -f $$< $$@ 492*19c3b8c2SApple OSS Distributionsendef 493*19c3b8c2SApple OSS Distributions 494*19c3b8c2SApple OSS Distributionsfunction_generate_man_links_rules = $(if $(word 1,$(1)),$(eval $(call MAN_LINKS_RULE_template,$(word 1,$(1)),$(word 2,$(1)))) $(DSTROOT)/$(MANDIR)/$(INSTALL_MAN_DIR)/$(word 2,$(1)) $(call function_generate_man_links_rules,$(wordlist 3,$(words $(1)),$(1)))) 495*19c3b8c2SApple OSS Distributions 496*19c3b8c2SApple OSS DistributionsINSTALL_MAN_FILES_LINKS = $(call function_generate_man_links_rules,$(INSTALL_MAN_LINKS)) 497*19c3b8c2SApple OSS Distributions 498*19c3b8c2SApple OSS Distributions.PHONY: do_installman 499*19c3b8c2SApple OSS Distributions 500*19c3b8c2SApple OSS Distributionsdo_installman: $(INSTALL_MAN_FILES) $(INSTALL_MAN_FILES_LINKS) 501*19c3b8c2SApple OSS Distributions @: 502*19c3b8c2SApple OSS Distributions 503*19c3b8c2SApple OSS Distributions.PHONY: do_textfiles_install do_textfiles_install_mi do_textfiles_install_md 504*19c3b8c2SApple OSS Distributions 505*19c3b8c2SApple OSS Distributions# Do-nothing rule, since not all levels of the recursive hierarchy might implement this 506*19c3b8c2SApple OSS Distributions# in their local Makefiles. Those that do will use a "::" rule to augment this. 507*19c3b8c2SApple OSS Distributionsdo_textfiles_install_mi:: do_installman 508*19c3b8c2SApple OSS Distributions @: 509*19c3b8c2SApple OSS Distributions 510*19c3b8c2SApple OSS Distributions# Do-nothing rule, since not all levels of the recursive hierarchy might implement this 511*19c3b8c2SApple OSS Distributions# in their local Makefiles. Those that do will use a "::" rule to augment this. 512*19c3b8c2SApple OSS Distributionsdo_textfiles_install_md:: 513*19c3b8c2SApple OSS Distributions @: 514*19c3b8c2SApple OSS Distributions 515*19c3b8c2SApple OSS Distributions.PHONY: do_build_setup 516*19c3b8c2SApple OSS Distributions 517*19c3b8c2SApple OSS Distributions# Do-nothing rule, since not all levels of the recursive hierarchy might implement this 518*19c3b8c2SApple OSS Distributions# in their local Makefiles. Those that do will use a "::" rule to augment this. 519*19c3b8c2SApple OSS Distributionsdo_build_setup:: 520*19c3b8c2SApple OSS Distributions @: 521*19c3b8c2SApple OSS Distributions 522*19c3b8c2SApple OSS Distributions.PHONY: do_config_all 523*19c3b8c2SApple OSS Distributions 524*19c3b8c2SApple OSS Distributions# Do-nothing rule, since not all levels of the recursive hierarchy might implement this 525*19c3b8c2SApple OSS Distributions# in their local Makefiles. Those that do will use a "::" rule to augment this. 526*19c3b8c2SApple OSS Distributionsdo_config_all:: 527*19c3b8c2SApple OSS Distributions @: 528*19c3b8c2SApple OSS Distributions 529*19c3b8c2SApple OSS Distributions.PHONY: do_config_install_primary 530*19c3b8c2SApple OSS Distributions 531*19c3b8c2SApple OSS Distributions# Do-nothing rule, since not all levels of the recursive hierarchy might implement this 532*19c3b8c2SApple OSS Distributions# in their local Makefiles. Those that do will use a "::" rule to augment this. 533*19c3b8c2SApple OSS Distributionsdo_config_install_primary:: 534*19c3b8c2SApple OSS Distributions @: 535*19c3b8c2SApple OSS Distributions 536*19c3b8c2SApple OSS Distributions.PHONY: do_config_install_variant 537*19c3b8c2SApple OSS Distributions 538*19c3b8c2SApple OSS Distributions# Do-nothing rule, since not all levels of the recursive hierarchy might implement this 539*19c3b8c2SApple OSS Distributions# in their local Makefiles. Those that do will use a "::" rule to augment this. 540*19c3b8c2SApple OSS Distributionsdo_config_install_variant:: 541*19c3b8c2SApple OSS Distributions @: 542*19c3b8c2SApple OSS Distributions 543*19c3b8c2SApple OSS Distributions.PHONY: do_config_install 544*19c3b8c2SApple OSS Distributions 545*19c3b8c2SApple OSS Distributions# Do-nothing rule, since not all levels of the recursive hierarchy might implement this 546*19c3b8c2SApple OSS Distributions# in their local Makefiles. Those that do will use a "::" rule to augment this. 547*19c3b8c2SApple OSS Distributionsdo_config_install:: 548*19c3b8c2SApple OSS Distributions @: 549*19c3b8c2SApple OSS Distributions 550*19c3b8c2SApple OSS Distributions# vim: set ft=make: 551