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