1*d4514f0bSApple OSS Distributions# -*- mode: makefile;-*- 2*d4514f0bSApple OSS Distributions# 3*d4514f0bSApple OSS Distributions# Copyright (C) 1999-2020 Apple Inc. All rights reserved. 4*d4514f0bSApple OSS Distributions# 5*d4514f0bSApple OSS Distributions# MakeInc.rule defines the targets and rules for 6*d4514f0bSApple OSS Distributions# leaf directories once MakeInc.dir has recursed 7*d4514f0bSApple OSS Distributions# into them. "do_XXX" may be double-colon rules 8*d4514f0bSApple OSS Distributions# to allow the Makefile in the source directory 9*d4514f0bSApple OSS Distributions# to augment the actions that will be performed. 10*d4514f0bSApple OSS Distributions# 11*d4514f0bSApple OSS Distributionsinclude $(SRCROOT)/makedefs/MakeInc.color 12*d4514f0bSApple OSS Distributions 13*d4514f0bSApple OSS Distributions# 14*d4514f0bSApple OSS Distributions# Empty the export lists of headers when building for exclaves 15*d4514f0bSApple OSS Distributions# 16*d4514f0bSApple OSS Distributions 17*d4514f0bSApple OSS Distributionsifeq ($(EXPORTHDRS_SKIP_EXCLAVES),YES) 18*d4514f0bSApple OSS DistributionsEXPORT_MI_LIST = 19*d4514f0bSApple OSS DistributionsEXPORT_MI_GEN_LIST = 20*d4514f0bSApple OSS DistributionsEXPORT_MD_LIST = 21*d4514f0bSApple OSS DistributionsEXPORT_MD_GEN_LIST = 22*d4514f0bSApple OSS Distributionsendif 23*d4514f0bSApple OSS Distributions 24*d4514f0bSApple OSS Distributions# 25*d4514f0bSApple OSS Distributions# Generic Install rules 26*d4514f0bSApple OSS Distributions# 27*d4514f0bSApple OSS Distributions 28*d4514f0bSApple OSS Distributionsifndef INSTALL_KF_MI_LCL_LIST 29*d4514f0bSApple OSS Distributions INSTALL_KF_MI_LCL_LIST = $(EXPORT_MI_LIST) 30*d4514f0bSApple OSS Distributionsendif 31*d4514f0bSApple OSS Distributions 32*d4514f0bSApple OSS Distributionsifndef INSTALL_KF_MI_LCL_GEN_LIST 33*d4514f0bSApple OSS Distributions INSTALL_KF_MI_LCL_GEN_LIST = $(EXPORT_MI_GEN_LIST) 34*d4514f0bSApple OSS Distributionsendif 35*d4514f0bSApple OSS Distributions 36*d4514f0bSApple OSS Distributionsifndef INSTALL_KF_MD_LCL_LIST 37*d4514f0bSApple OSS Distributions INSTALL_KF_MD_LCL_LIST = $(EXPORT_MD_LIST) 38*d4514f0bSApple OSS Distributionsendif 39*d4514f0bSApple OSS Distributions 40*d4514f0bSApple OSS Distributionsifndef INSTALL_KF_MD_LCL_GEN_LIST 41*d4514f0bSApple OSS Distributions INSTALL_KF_MD_LCL_GEN_LIST = $(EXPORT_MD_GEN_LIST) 42*d4514f0bSApple OSS Distributionsendif 43*d4514f0bSApple OSS Distributions 44*d4514f0bSApple OSS Distributionsifndef INSTALL_KF_MI_LIST 45*d4514f0bSApple OSS Distributions INSTALL_KF_MI_LIST = $(EXPORT_MI_LIST) 46*d4514f0bSApple OSS Distributionsendif 47*d4514f0bSApple OSS Distributions 48*d4514f0bSApple OSS Distributionsifndef INSTALL_KF_MI_GEN_LIST 49*d4514f0bSApple OSS Distributions INSTALL_KF_MI_GEN_LIST = $(EXPORT_MI_GEN_LIST) 50*d4514f0bSApple OSS Distributionsendif 51*d4514f0bSApple OSS Distributions 52*d4514f0bSApple OSS Distributionsifndef INSTALL_KF_MD_LIST 53*d4514f0bSApple OSS Distributions INSTALL_KF_MD_LIST = $(EXPORT_MD_LIST) 54*d4514f0bSApple OSS Distributionsendif 55*d4514f0bSApple OSS Distributions 56*d4514f0bSApple OSS Distributionsifndef INSTALL_KF_MD_GEN_LIST 57*d4514f0bSApple OSS Distributions INSTALL_KF_MD_GEN_LIST = $(EXPORT_MD_GEN_LIST) 58*d4514f0bSApple OSS Distributionsendif 59*d4514f0bSApple OSS Distributions 60*d4514f0bSApple OSS Distributions$(eval $(call _setup_build_log_colors)) 61*d4514f0bSApple OSS Distributions 62*d4514f0bSApple OSS Distributions.PHONY: ALWAYS 63*d4514f0bSApple OSS Distributions 64*d4514f0bSApple OSS DistributionsALWAYS: 65*d4514f0bSApple OSS Distributions 66*d4514f0bSApple OSS Distributions# $(1) is the list of install paths 67*d4514f0bSApple OSS Distributions# $(2) is "1" if it's a "GEN"-style rule that looks locally, or else $(SOURCE) 68*d4514f0bSApple OSS Distributions# $(3) is the local temp directory for processing 69*d4514f0bSApple OSS Distributions# $(4) is the unifdef flags 70*d4514f0bSApple OSS Distributions# 71*d4514f0bSApple OSS Distributions# $$$$$$$$ is a double-escaped "$$" to represent the current pid 72*d4514f0bSApple OSS Distributions# of the shell process for creating uniquely named temporary files 73*d4514f0bSApple OSS Distributions 74*d4514f0bSApple OSS Distributionsdefine INSTALLHDRS_RULE_template 75*d4514f0bSApple OSS Distributions 76*d4514f0bSApple OSS Distributions.PHONY: $(3)_MKDIR 77*d4514f0bSApple OSS Distributions 78*d4514f0bSApple OSS Distributions$(3)_MKDIR: 79*d4514f0bSApple OSS Distributions $$(_v)$$(MKDIR) ./$(3) 80*d4514f0bSApple OSS Distributions $$(_v)$$(MKDIR) $(dir $(firstword $(1))) 81*d4514f0bSApple OSS Distributions 82*d4514f0bSApple OSS Distributions# Rebuild if unifdef flags change 83*d4514f0bSApple OSS Distributions$(1): $(3)/.UNIFDEF_FLAGS 84*d4514f0bSApple OSS Distributions$(3)/.UNIFDEF_FLAGS: ALWAYS | $(3)_MKDIR 85*d4514f0bSApple OSS Distributions $$(_v)$$(REPLACECONTENTS) $$@ $$(UNIFDEF) $(4) 86*d4514f0bSApple OSS Distributions 87*d4514f0bSApple OSS Distributions$(1): $(dir $(firstword $(1)))% : $(if $(2),%,$$(SOURCE)/%) | $(3)_MKDIR 88*d4514f0bSApple OSS Distributions @$$(LOG_INSTALLHDR) "$$*" 89*d4514f0bSApple OSS Distributions $$(_v)$$(UNIFDEF) $(4) $$< > ./$(3)/$$*.unifdef.$$$$$$$$; \ 90*d4514f0bSApple OSS Distributions if [ $$$$? -eq 2 ]; then \ 91*d4514f0bSApple OSS Distributions $(ERR) Parse failure for $$<; \ 92*d4514f0bSApple OSS Distributions exit 1; \ 93*d4514f0bSApple OSS Distributions fi; \ 94*d4514f0bSApple OSS Distributions $$(DECOMMENT) ./$(3)/$$*.unifdef.$$$$$$$$ r > \ 95*d4514f0bSApple OSS Distributions ./$(3)/$$*.strip.$$$$$$$$ || exit 1; \ 96*d4514f0bSApple OSS Distributions if [ -s ./$(3)/$$*.strip.$$$$$$$$ ]; then \ 97*d4514f0bSApple OSS Distributions $$(INSTALL) $$(INSTALL_FLAGS) ./$(3)/$$*.unifdef.$$$$$$$$ $$@ || exit 1; \ 98*d4514f0bSApple OSS Distributions fi; \ 99*d4514f0bSApple OSS Distributions $$(RM) ./$(3)/$$*.unifdef.$$$$$$$$ ./$(3)/$$*.strip.$$$$$$$$ 100*d4514f0bSApple OSS Distributionsendef 101*d4514f0bSApple OSS Distributions 102*d4514f0bSApple OSS Distributions# $(1) is the list of install paths 103*d4514f0bSApple OSS Distributions# $(2) is the source path pattern (using % to match with $(5)) or source file 104*d4514f0bSApple OSS Distributions# $(3) is the local temp directory for processing 105*d4514f0bSApple OSS Distributions# $(4) is the unifdef flags 106*d4514f0bSApple OSS Distributions# $(5) is the destination directory (when pattern matching) or empty 107*d4514f0bSApple OSS Distributions# 108*d4514f0bSApple OSS Distributions# $$$$$$$$ is a double-escaped "$$" to represent the current pid 109*d4514f0bSApple OSS Distributions# of the shell process for creating uniquely named temporary files 110*d4514f0bSApple OSS Distributions 111*d4514f0bSApple OSS Distributionsdefine INSTALLPYTHON_RULE_template 112*d4514f0bSApple OSS Distributions 113*d4514f0bSApple OSS Distributions.PHONY: $(3)_MKDIR 114*d4514f0bSApple OSS Distributions 115*d4514f0bSApple OSS Distributions$(3)_MKDIR: 116*d4514f0bSApple OSS Distributions $$(_v)$$(MKDIR) ./$(3) 117*d4514f0bSApple OSS Distributions 118*d4514f0bSApple OSS Distributions# Rebuild if unifdef flags change 119*d4514f0bSApple OSS Distributions$(1): $(3)/.UNIFDEF_FLAGS 120*d4514f0bSApple OSS Distributions$(3)/.UNIFDEF_FLAGS: ALWAYS | $(3)_MKDIR 121*d4514f0bSApple OSS Distributions $$(_v)$$(REPLACECONTENTS) $$@ $$(UNIFDEF) -t $(4) 122*d4514f0bSApple OSS Distributions 123*d4514f0bSApple OSS Distributions$(1): $(5)% : $(2) | $(3)_MKDIR 124*d4514f0bSApple OSS Distributions @$$(LOG_INSTALLPY) "$$*" 125*d4514f0bSApple OSS Distributions $$(_v)$$(MKDIR) $$(dir $$@) $$(dir ./$(3)/$$*) 126*d4514f0bSApple OSS Distributions $$(_v)$$(UNIFDEF) -t $(4) $$< > ./$(3)/$$*.unifdef.$$$$$$$$$$(suffix $$*); \ 127*d4514f0bSApple OSS Distributions if [ $$$$? -eq 2 ]; then \ 128*d4514f0bSApple OSS Distributions $(ERR) Parse failure for $$<; \ 129*d4514f0bSApple OSS Distributions exit 1; \ 130*d4514f0bSApple OSS Distributions fi; \ 131*d4514f0bSApple OSS Distributions $$(INSTALL) $$(DATA_INSTALL_FLAGS) \ 132*d4514f0bSApple OSS Distributions ./$(3)/$$*.unifdef.$$$$$$$$$$(suffix $$*) $$@ || exit 1; \ 133*d4514f0bSApple OSS Distributions $$(PYTHON) $$(LLDBMACROS_SOURCE)/lint/syntax_checker.py \ 134*d4514f0bSApple OSS Distributions ./$(3)/$$*.unifdef.$$$$$$$$$$(suffix $$*) $$(_vstdout) || exit 1; \ 135*d4514f0bSApple OSS Distributions $$(RM) ./$(3)/$$*.unifdef.$$$$$$$$$$(suffix $$*) 136*d4514f0bSApple OSS Distributions $$(_v)if [ -n "$(5)" ]; then $$(TOUCH) "$(5)"; fi 137*d4514f0bSApple OSS Distributionsendef 138*d4514f0bSApple OSS Distributions 139*d4514f0bSApple OSS Distributions# Template for Libsyscall header unifdef postprocessing in DSTROOT 140*d4514f0bSApple OSS Distributions# $(1) is the install path 141*d4514f0bSApple OSS Distributions# $(2) is the unifdef flags 142*d4514f0bSApple OSS Distributions 143*d4514f0bSApple OSS Distributionsdefine LIBSYSCALL_DO_UNIFDEF_HEADERS_RULE_template 144*d4514f0bSApple OSS Distributionsdo_unifdef_headers:: 145*d4514f0bSApple OSS Distributions $$(_v)[ \! -d "$(1)" ] || $$(FIND) -x "$(1)" -type f \( -name \*.h -o \ 146*d4514f0bSApple OSS Distributions -name \*.defs -o -name \*.iig -o -name \*.modulemap \) \ 147*d4514f0bSApple OSS Distributions -execdir $$(UNIFDEF) $(2) -o {} {} \; 148*d4514f0bSApple OSS Distributions.PHONY: do_unifdef_headers 149*d4514f0bSApple OSS Distributionsendef 150*d4514f0bSApple OSS Distributions 151*d4514f0bSApple OSS Distributions# Helper function to call a verifier 152*d4514f0bSApple OSS Distributions# Generally, a verifier is a function that post-processes a .o file to validate 153*d4514f0bSApple OSS Distributions# some characteristics. 154*d4514f0bSApple OSS Distributions# 155*d4514f0bSApple OSS Distributions# This ensures that the output .o file is renamed if the verifier rejects the 156*d4514f0bSApple OSS Distributions# input or fails. This forces the .o file to be re-generated & re-verified if 157*d4514f0bSApple OSS Distributions# another build is run. 158*d4514f0bSApple OSS Distributions# 159*d4514f0bSApple OSS Distributions# Note: currently, it is possible to end up in an inconsistent state by 160*d4514f0bSApple OSS Distributions# Ctrl+C-ing in the middle of a verifier run, causing a .o file that would 161*d4514f0bSApple OSS Distributions# have failed verification to still exist as a .o instead o a .o.unverified. 162*d4514f0bSApple OSS Distributions# The next build should be a "clean" build to prevent the .o file avoiding 163*d4514f0bSApple OSS Distributions# verification. 164*d4514f0bSApple OSS Distributions# 165*d4514f0bSApple OSS Distributions# Any stderr output from the verifier is printed with an "error:" prefix. 166*d4514f0bSApple OSS Distributions# 167*d4514f0bSApple OSS Distributions# $(1) is the name of the verifier to call 168*d4514f0bSApple OSS Distributions# $(2) is the name of the .o file to pass to the verifier 169*d4514f0bSApple OSS Distributionsdefine VERIFY 170*d4514f0bSApple OSS Distributions{ ERROR_OUTPUT="$$({ $(call $(1),$(2)) } 2>&1 1>&3)"; } 3>&1; \ 171*d4514f0bSApple OSS DistributionsRETURN=$$?; \ 172*d4514f0bSApple OSS Distributions$(ERR) "$$($(SED) -e 's/^/error: /' <<< "$$ERROR_OUTPUT")"; \ 173*d4514f0bSApple OSS Distributionsif [ $$RETURN -ne 0 ]; then \ 174*d4514f0bSApple OSS Distributions UNVERIFIED_FILE=$(@:o=o.unverified) ; \ 175*d4514f0bSApple OSS Distributions $(MV) '$(2)' "$$UNVERIFIED_FILE"; \ 176*d4514f0bSApple OSS Distributions $(ERR) "error: Moved object file $(2) with verifier failures to $$PWD/$$UNVERIFIED_FILE"; \ 177*d4514f0bSApple OSS Distributions exit $$RETURN; \ 178*d4514f0bSApple OSS Distributionsfi; 179*d4514f0bSApple OSS Distributionsendef 180*d4514f0bSApple OSS Distributions 181*d4514f0bSApple OSS Distributions# Verifier to ensure no UBSan runtime calls generated in a file 182*d4514f0bSApple OSS Distributions# Compile with -fsanitize=... and WITHOUT -fsanitize-trap 183*d4514f0bSApple OSS Distributions# 184*d4514f0bSApple OSS Distributions# On failure, the build will fail and any offending symbols will be printed 185*d4514f0bSApple OSS Distributions# along with a partial disassembly. A full disassembly of the object file may 186*d4514f0bSApple OSS Distributions# also be useful, e.g.: 187*d4514f0bSApple OSS Distributions# $ objdump -dSrl BUILD/obj/DEVELOPMENT_.../osfmk/DEVELOPMENT/vm_sanitize.o 188*d4514f0bSApple OSS Distributions# 189*d4514f0bSApple OSS Distributions# Note that objdump will not work on builds with LTO enabled, since the 190*d4514f0bSApple OSS Distributions# intermediate files are LLVM bitcode instead of traditional object files. 191*d4514f0bSApple OSS Distributions# 192*d4514f0bSApple OSS Distributions# $(1) is the name of the .o file to be verified 193*d4514f0bSApple OSS Distributionsdefine VERIFIER_NO_UBSAN_CHECKS 194*d4514f0bSApple OSS DistributionsMATCHES="$$($(NM) -j '$(1)' | $(GREP) '^___ubsan')"; \ 195*d4514f0bSApple OSS Distributionsif [[ ! -z "$$MATCHES" ]]; then \ 196*d4514f0bSApple OSS Distributions $(ECHO) 1>&2 'UBSan verifier failure for $<:'; \ 197*d4514f0bSApple OSS Distributions DISASM="$$($(OBJDUMP) -dSrl '$(1)' | $(GREP) -E '___ubsan|^;' | $(GREP) -B2 '___ubsan')"; \ 198*d4514f0bSApple OSS Distributions if [[ -z "$$DISASM" ]]; then \ 199*d4514f0bSApple OSS Distributions $(ECHO) 1>&2 "Failed to disassemble intermediate object file. It may be a bitcode file if LTO is enabled."; \ 200*d4514f0bSApple OSS Distributions else \ 201*d4514f0bSApple OSS Distributions $(ECHO) 1>&2 "$$($(SED) -e '/^--$$/d' -e 's/^/ /' <<< "$$DISASM")"; \ 202*d4514f0bSApple OSS Distributions fi; \ 203*d4514f0bSApple OSS Distributions exit 1; \ 204*d4514f0bSApple OSS Distributionsfi; 205*d4514f0bSApple OSS Distributionsendef 206*d4514f0bSApple OSS Distributions 207*d4514f0bSApple OSS Distributions# 208*d4514f0bSApple OSS Distributions# Empty the install lists of non-host and non-exclave headers if building the 209*d4514f0bSApple OSS Distributions# host headers alias and exclave headers aliases. Separately, export headers 210*d4514f0bSApple OSS Distributions# are also emptied for exclaves (but not for host headers) with 211*d4514f0bSApple OSS Distributions# EXPORTHDRS_SKIP_EXCLAVES. 212*d4514f0bSApple OSS Distributions# 213*d4514f0bSApple OSS Distributions 214*d4514f0bSApple OSS Distributionsifeq ($(INSTALLHDRS_SKIP_HOST),YES) 215*d4514f0bSApple OSS Distributions 216*d4514f0bSApple OSS DistributionsINSTALL_MI_LIST = 217*d4514f0bSApple OSS DistributionsINSTALL_MI_GEN_LIST = 218*d4514f0bSApple OSS DistributionsINSTALL_IF_MI_LIST = 219*d4514f0bSApple OSS DistributionsINSTALL_IF_MI_GEN_LIST = 220*d4514f0bSApple OSS DistributionsINSTALL_DRIVERKIT_MI_LIST = 221*d4514f0bSApple OSS DistributionsINSTALL_DRIVERKIT_MI_GEN_LIST = 222*d4514f0bSApple OSS DistributionsINSTALL_KF_MI_LIST = 223*d4514f0bSApple OSS DistributionsINSTALL_KF_MI_GEN_LIST = 224*d4514f0bSApple OSS DistributionsINSTALL_MI_LCL_LIST = 225*d4514f0bSApple OSS DistributionsINSTALL_MI_LCL_GEN_LIST = 226*d4514f0bSApple OSS DistributionsINSTALL_IF_MI_LCL_LIST = 227*d4514f0bSApple OSS DistributionsINSTALL_IF_MI_LCL_GEN_LIST = 228*d4514f0bSApple OSS DistributionsINSTALL_SF_MI_LCL_LIST = 229*d4514f0bSApple OSS DistributionsINSTALL_SF_MI_LCL_GEN_LIST = 230*d4514f0bSApple OSS DistributionsINSTALL_DRIVERKIT_MI_LCL_LIST = 231*d4514f0bSApple OSS DistributionsINSTALL_DRIVERKIT_MI_LCL_GEN_LIST = 232*d4514f0bSApple OSS DistributionsINSTALL_KF_MI_LCL_LIST = 233*d4514f0bSApple OSS DistributionsINSTALL_KF_MI_LCL_GEN_LIST = 234*d4514f0bSApple OSS DistributionsINSTALL_MD_LIST = 235*d4514f0bSApple OSS DistributionsINSTALL_MD_GEN_LIST = 236*d4514f0bSApple OSS DistributionsINSTALL_DRIVERKIT_MD_LIST = 237*d4514f0bSApple OSS DistributionsINSTALL_DRIVERKIT_MD_GEN_LIST = 238*d4514f0bSApple OSS DistributionsINSTALL_KF_MD_LIST = 239*d4514f0bSApple OSS DistributionsINSTALL_KF_MD_GEN_LIST = 240*d4514f0bSApple OSS DistributionsINSTALL_MD_LCL_LIST = 241*d4514f0bSApple OSS DistributionsINSTALL_MD_LCL_GEN_LIST = 242*d4514f0bSApple OSS DistributionsINSTALL_SF_MD_LCL_LIST = 243*d4514f0bSApple OSS DistributionsINSTALL_SF_MD_LCL_GEN_LIST = 244*d4514f0bSApple OSS DistributionsINSTALL_DRIVERKIT_MD_LCL_LIST = 245*d4514f0bSApple OSS DistributionsINSTALL_DRIVERKIT_MD_LCL_GEN_LIST = 246*d4514f0bSApple OSS DistributionsINSTALL_KF_MD_LCL_LIST = 247*d4514f0bSApple OSS DistributionsINSTALL_KF_MD_LCL_GEN_LIST = 248*d4514f0bSApple OSS DistributionsINSTALL_KF_LIBCXX_MI_LIST = 249*d4514f0bSApple OSS Distributions 250*d4514f0bSApple OSS Distributions# If there are no headers then there can be no module maps. 251*d4514f0bSApple OSS DistributionsINSTALLHDRS_MODULEMAPS_SKIP_HOST = YES 252*d4514f0bSApple OSS Distributions 253*d4514f0bSApple OSS Distributionsendif 254*d4514f0bSApple OSS Distributions 255*d4514f0bSApple OSS Distributionsifeq ($(INSTALLHDRS_MODULEMAPS_SKIP_HOST),YES) 256*d4514f0bSApple OSS DistributionsINSTALL_MODULEMAP_MI_LIST = 257*d4514f0bSApple OSS DistributionsINSTALL_MODULEMAP_MI_LCL_LIST = 258*d4514f0bSApple OSS DistributionsINSTALL_MODULEMAP_MD_LIST = 259*d4514f0bSApple OSS DistributionsINSTALL_MODULEMAP_MD_LCL_LIST = 260*d4514f0bSApple OSS Distributionsendif 261*d4514f0bSApple OSS Distributions 262*d4514f0bSApple OSS Distributions# 263*d4514f0bSApple OSS Distributions# Machine-independent (public) files 264*d4514f0bSApple OSS Distributions# 265*d4514f0bSApple OSS Distributions 266*d4514f0bSApple OSS DistributionsINSTALL_MI_INC_FILES = $(addprefix $(DSTROOT)/$(INCDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_MI_LIST)) 267*d4514f0bSApple OSS DistributionsINSTALL_MI_INC_GEN_FILES = $(addprefix $(DSTROOT)/$(INCDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_MI_GEN_LIST)) 268*d4514f0bSApple OSS DistributionsINSTALL_MODULEMAP_MI_INC_FILES = $(addprefix $(DSTROOT)/$(INCDIR)/$(INSTALL_MODULEMAP_MI_DIR)/,$(INSTALL_MODULEMAP_MI_LIST)) 269*d4514f0bSApple OSS Distributions 270*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MI_INC_FILES),,incmidir,$(SINCFRAME_UNIFDEF))) 271*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MI_INC_GEN_FILES),1,incmigendir,$(SINCFRAME_UNIFDEF))) 272*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MODULEMAP_MI_INC_FILES),,mmincmidir,-t $(DATA_UNIFDEF))) 273*d4514f0bSApple OSS Distributions 274*d4514f0bSApple OSS DistributionsINSTALL_IF_MI_FILES = $(addprefix $(DSTROOT)/$(IINCDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_IF_MI_LIST)) 275*d4514f0bSApple OSS DistributionsINSTALL_IF_MI_GEN_FILES = $(addprefix $(DSTROOT)/$(IINCDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_IF_MI_GEN_LIST)) 276*d4514f0bSApple OSS Distributions 277*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_IF_MI_FILES),,iincmidir,$(SINCFRAME_UNIFDEF))) 278*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_IF_MI_GEN_FILES),1,iincmigendir,$(SINCFRAME_UNIFDEF))) 279*d4514f0bSApple OSS Distributions 280*d4514f0bSApple OSS Distributionsifeq ($(DRIVERKIT),1) 281*d4514f0bSApple OSS DistributionsINSTALL_DRIVERKIT_MI_INC_FILES = $(addprefix $(DSTROOT)/$(DRIVERKITINCDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_DRIVERKIT_MI_LIST)) 282*d4514f0bSApple OSS DistributionsINSTALL_DRIVERKIT_MI_INC_GEN_FILES = $(addprefix $(DSTROOT)/$(DRIVERKITINCDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_DRIVERKIT_MI_GEN_LIST)) 283*d4514f0bSApple OSS Distributions 284*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_DRIVERKIT_MI_INC_FILES),,dkincmidir,$(DKINCFRAME_UNIFDEF))) 285*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_DRIVERKIT_MI_INC_GEN_FILES),1,dkincmigendir,$(DKINCFRAME_UNIFDEF))) 286*d4514f0bSApple OSS Distributionsendif 287*d4514f0bSApple OSS Distributions 288*d4514f0bSApple OSS Distributionsifeq ($(EXCLAVEKIT),1) 289*d4514f0bSApple OSS DistributionsINSTALL_EXCLAVEKIT_MI_INC_FILES = $(addprefix $(DSTROOT)/$(EXCLAVEKITINCDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_EXCLAVEKIT_MI_LIST)) 290*d4514f0bSApple OSS DistributionsINSTALL_EXCLAVEKIT_MI_INC_GEN_FILES = $(addprefix $(DSTROOT)/$(EXCLAVEKITINCDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_EXCLAVEKIT_MI_GEN_LIST)) 291*d4514f0bSApple OSS Distributions 292*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_EXCLAVEKIT_MI_INC_FILES),,ekincmidir,$(EKINCFRAME_UNIFDEF))) 293*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_EXCLAVEKIT_MI_INC_GEN_FILES),1,ekincmigendir,$(EKINCFRAME_UNIFDEF))) 294*d4514f0bSApple OSS Distributionsendif 295*d4514f0bSApple OSS Distributions 296*d4514f0bSApple OSS Distributionsifeq ($(EXCLAVECORE),1) 297*d4514f0bSApple OSS DistributionsINSTALL_EXCLAVECORE_MI_INC_FILES = $(addprefix $(DSTROOT)/$(EXCLAVECOREINCDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_EXCLAVECORE_MI_LIST)) 298*d4514f0bSApple OSS DistributionsINSTALL_EXCLAVECORE_MI_INC_GEN_FILES = $(addprefix $(DSTROOT)/$(EXCLAVECOREINCDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_EXCLAVECORE_MI_GEN_LIST)) 299*d4514f0bSApple OSS Distributions 300*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_EXCLAVECORE_MI_INC_FILES),,ecincmidir,$(ECINCFRAME_UNIFDEF))) 301*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_EXCLAVECORE_MI_INC_GEN_FILES),1,ecincmigendir,$(ECINCFRAME_UNIFDEF))) 302*d4514f0bSApple OSS Distributionsendif 303*d4514f0bSApple OSS Distributions 304*d4514f0bSApple OSS DistributionsINSTALL_KF_MI_FILES = $(addprefix $(DSTROOT)/$(KINCDIR)/$(EXPORT_MI_DIR)/, $(INSTALL_KF_MI_LIST)) 305*d4514f0bSApple OSS DistributionsINSTALL_KF_MI_GEN_FILES = $(addprefix $(DSTROOT)/$(KINCDIR)/$(EXPORT_MI_DIR)/, $(INSTALL_KF_MI_GEN_LIST)) 306*d4514f0bSApple OSS Distributions 307*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_KF_MI_FILES),,kincmidir,$(KINCFRAME_UNIFDEF))) 308*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_KF_MI_GEN_FILES),1,kincmigendir,$(KINCFRAME_UNIFDEF))) 309*d4514f0bSApple OSS Distributions 310*d4514f0bSApple OSS DistributionsINSTALL_LIBCXX_MI_FILES = $(addprefix $(DSTROOT)/$(KLIBCXXINCDIR)/, $(INSTALL_KF_LIBCXX_MI_LIST)) 311*d4514f0bSApple OSS Distributions 312*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_LIBCXX_MI_FILES),,cxxmidir,$(LIBCXXINCFRAME_UNIFDEF))) 313*d4514f0bSApple OSS Distributions 314*d4514f0bSApple OSS Distributions# 315*d4514f0bSApple OSS Distributions# Machine-independent local (private) files 316*d4514f0bSApple OSS Distributions# 317*d4514f0bSApple OSS Distributions 318*d4514f0bSApple OSS DistributionsINSTALL_MI_LCL_FILES = $(addprefix $(DSTROOT)/$(LCLDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_MI_LCL_LIST)) 319*d4514f0bSApple OSS DistributionsINSTALL_MI_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(LCLDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_MI_LCL_GEN_LIST)) 320*d4514f0bSApple OSS DistributionsINSTALL_MODULEMAP_MI_LCL_FILES = $(addprefix $(DSTROOT)/$(LCLDIR)/$(INSTALL_MODULEMAP_MI_DIR)/,$(INSTALL_MODULEMAP_MI_LCL_LIST)) 321*d4514f0bSApple OSS Distributions 322*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MI_LCL_FILES),,pincmidir,$(SPINCFRAME_UNIFDEF))) 323*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MI_LCL_GEN_FILES),1,pincmigendir,$(SPINCFRAME_UNIFDEF))) 324*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MODULEMAP_MI_LCL_FILES),,mmpincmidir,-t $(PDATA_UNIFDEF))) 325*d4514f0bSApple OSS Distributions 326*d4514f0bSApple OSS DistributionsINSTALL_IF_MI_LCL_FILES = $(addprefix $(DSTROOT)/$(IPINCDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_IF_MI_LCL_LIST)) 327*d4514f0bSApple OSS DistributionsINSTALL_IF_MI_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(IPINCDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_IF_MI_LCL_GEN_LIST)) 328*d4514f0bSApple OSS Distributions 329*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_IF_MI_LCL_FILES),,ipincmidir,$(SPINCFRAME_UNIFDEF))) 330*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_IF_MI_LCL_GEN_FILES),1,ipincmigendir,$(SPINCFRAME_UNIFDEF))) 331*d4514f0bSApple OSS Distributions 332*d4514f0bSApple OSS DistributionsINSTALL_SF_MI_LCL_FILES = $(addprefix $(DSTROOT)/$(SPINCDIR)/$(INSTALL_MI_DIR)/, $(sort $(INSTALL_SF_MI_LCL_LIST))) 333*d4514f0bSApple OSS DistributionsINSTALL_SF_MI_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(SPINCDIR)/$(INSTALL_MI_DIR)/, $(sort $(INSTALL_SF_MI_LCL_GEN_LIST))) 334*d4514f0bSApple OSS Distributions 335*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_SF_MI_LCL_FILES),,spincmidir,$(SPINCFRAME_UNIFDEF))) 336*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_SF_MI_LCL_GEN_FILES),1,spincmigendir,$(SPINCFRAME_UNIFDEF))) 337*d4514f0bSApple OSS Distributions 338*d4514f0bSApple OSS Distributionsifeq ($(DRIVERKIT),1) 339*d4514f0bSApple OSS DistributionsINSTALL_DRIVERKIT_MI_LCL_FILES = $(addprefix $(DSTROOT)/$(DRIVERKITLCLDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_DRIVERKIT_MI_LCL_LIST)) 340*d4514f0bSApple OSS DistributionsINSTALL_DRIVERKIT_MI_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(DRIVERKITLCLDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_DRIVERKIT_MI_LCL_GEN_LIST)) 341*d4514f0bSApple OSS Distributions 342*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_DRIVERKIT_MI_LCL_FILES),,dkpincmidir,$(DKPINCFRAME_UNIFDEF))) 343*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_DRIVERKIT_MI_LCL_GEN_FILES),1,dkpincmigendir,$(DKPINCFRAME_UNIFDEF))) 344*d4514f0bSApple OSS Distributionsendif 345*d4514f0bSApple OSS Distributions 346*d4514f0bSApple OSS Distributionsifeq ($(EXCLAVEKIT),1) 347*d4514f0bSApple OSS DistributionsINSTALL_EXCLAVEKIT_MI_LCL_FILES = $(addprefix $(DSTROOT)/$(EXCLAVEKITLCLDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_EXCLAVEKIT_MI_LCL_LIST)) 348*d4514f0bSApple OSS DistributionsINSTALL_EXCLAVEKIT_MI_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(EXCLAVEKITLCLDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_EXCLAVEKIT_MI_LCL_GEN_LIST)) 349*d4514f0bSApple OSS Distributions 350*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_EXCLAVEKIT_MI_LCL_FILES),,ekpincmidir,$(EKPINCFRAME_UNIFDEF))) 351*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_EXCLAVEKIT_MI_LCL_GEN_FILES),1,ekpincmigendir,$(EKPINCFRAME_UNIFDEF))) 352*d4514f0bSApple OSS Distributionsendif 353*d4514f0bSApple OSS Distributions 354*d4514f0bSApple OSS Distributionsifeq ($(EXCLAVECORE),1) 355*d4514f0bSApple OSS DistributionsINSTALL_EXCLAVECORE_MI_LCL_FILES = $(addprefix $(DSTROOT)/$(EXCLAVECORELCLDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_EXCLAVECORE_MI_LCL_LIST)) 356*d4514f0bSApple OSS DistributionsINSTALL_EXCLAVECORE_MI_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(EXCLAVECORELCLDIR)/$(INSTALL_MI_DIR)/, $(INSTALL_EXCLAVECORE_MI_LCL_GEN_LIST)) 357*d4514f0bSApple OSS Distributions 358*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_EXCLAVECORE_MI_LCL_FILES),,ecpincmidir,$(ECPINCFRAME_UNIFDEF))) 359*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_EXCLAVECORE_MI_LCL_GEN_FILES),1,ecpincmigendir,$(ECPINCFRAME_UNIFDEF))) 360*d4514f0bSApple OSS Distributionsendif 361*d4514f0bSApple OSS Distributions 362*d4514f0bSApple OSS DistributionsINSTALL_KF_MI_LCL_FILES = $(addprefix $(DSTROOT)/$(KPINCDIR)/$(EXPORT_MI_DIR)/, $(INSTALL_KF_MI_LCL_LIST)) 363*d4514f0bSApple OSS DistributionsINSTALL_KF_MI_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(KPINCDIR)/$(EXPORT_MI_DIR)/, $(INSTALL_KF_MI_LCL_GEN_LIST)) 364*d4514f0bSApple OSS Distributions 365*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_KF_MI_LCL_FILES),,kpincmidir,$(KPINCFRAME_UNIFDEF))) 366*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_KF_MI_LCL_GEN_FILES),1,kpincmigendir,$(KPINCFRAME_UNIFDEF))) 367*d4514f0bSApple OSS Distributions 368*d4514f0bSApple OSS Distributions# 369*d4514f0bSApple OSS Distributions# Machine-dependent (public) files 370*d4514f0bSApple OSS Distributions# 371*d4514f0bSApple OSS Distributions 372*d4514f0bSApple OSS DistributionsINSTALL_MD_INC_FILES = $(addprefix $(DSTROOT)/$(INCDIR)/$(INSTALL_MD_DIR)/, $(INSTALL_MD_LIST)) 373*d4514f0bSApple OSS DistributionsINSTALL_MD_INC_GEN_FILES = $(addprefix $(DSTROOT)/$(INCDIR)/$(INSTALL_MD_DIR)/, $(INSTALL_MD_GEN_LIST)) 374*d4514f0bSApple OSS DistributionsINSTALL_MODULEMAP_MD_INC_FILES = $(addprefix $(DSTROOT)/$(INCDIR)/$(INSTALL_MODULEMAP_MD_DIR)/,$(INSTALL_MODULEMAP_MD_LIST)) 375*d4514f0bSApple OSS Distributions 376*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MD_INC_FILES),,incdir,$(SINCFRAME_UNIFDEF))) 377*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MD_INC_GEN_FILES),1,incgendir,$(SINCFRAME_UNIFDEF))) 378*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MODULEMAP_MD_INC_FILES),,mmincdir,-t $(DATA_UNIFDEF))) 379*d4514f0bSApple OSS Distributions 380*d4514f0bSApple OSS Distributionsifeq ($(DRIVERKIT),1) 381*d4514f0bSApple OSS DistributionsINSTALL_DRIVERKIT_MD_INC_FILES = $(addprefix $(DSTROOT)/$(DRIVERKITINCDIR)/$(INSTALL_MD_DIR)/, $(INSTALL_DRIVERKIT_MD_LIST)) 382*d4514f0bSApple OSS DistributionsINSTALL_DRIVERKIT_MD_INC_GEN_FILES = $(addprefix $(DSTROOT)/$(DRIVERKITINCDIR)/$(INSTALL_MD_DIR)/, $(INSTALL_DRIVERKIT_MD_GEN_LIST)) 383*d4514f0bSApple OSS Distributions 384*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_DRIVERKIT_MD_INC_FILES),,dkincdir,$(DKINCFRAME_UNIFDEF))) 385*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_DRIVERKIT_MD_INC_GEN_FILES),1,dkincgendir,$(DKINCFRAME_UNIFDEF))) 386*d4514f0bSApple OSS Distributionsendif 387*d4514f0bSApple OSS Distributions 388*d4514f0bSApple OSS Distributionsifeq ($(EXCLAVEKIT),1) 389*d4514f0bSApple OSS DistributionsINSTALL_EXCLAVEKIT_MD_INC_FILES = $(addprefix $(DSTROOT)/$(EXCLAVEKITINCDIR)/$(INSTALL_MD_DIR)/, $(INSTALL_EXCLAVEKIT_MD_LIST)) 390*d4514f0bSApple OSS DistributionsINSTALL_EXCLAVEKIT_MD_INC_GEN_FILES = $(addprefix $(DSTROOT)/$(EXCLAVEKITINCDIR)/$(INSTALL_MD_DIR)/, $(INSTALL_EXCLAVEKIT_MD_GEN_LIST)) 391*d4514f0bSApple OSS Distributions 392*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_EXCLAVEKIT_MD_INC_FILES),,ekincdir,$(EKINCFRAME_UNIFDEF))) 393*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_EXCLAVEKIT_MD_INC_GEN_FILES),1,ekincgendir,$(EKINCFRAME_UNIFDEF))) 394*d4514f0bSApple OSS Distributionsendif 395*d4514f0bSApple OSS Distributions 396*d4514f0bSApple OSS Distributionsifeq ($(EXCLAVECORE),1) 397*d4514f0bSApple OSS DistributionsINSTALL_EXCLAVECORE_MD_INC_FILES = $(addprefix $(DSTROOT)/$(EXCLAVECOREINCDIR)/$(INSTALL_MD_DIR)/, $(INSTALL_EXCLAVECORE_MD_LIST)) 398*d4514f0bSApple OSS DistributionsINSTALL_EXCLAVECORE_MD_INC_GEN_FILES = $(addprefix $(DSTROOT)/$(EXCLAVECOREINCDIR)/$(INSTALL_MD_DIR)/, $(INSTALL_EXCLAVECORE_MD_GEN_LIST)) 399*d4514f0bSApple OSS Distributions 400*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_EXCLAVECORE_MD_INC_FILES),,ecincdir,$(ECINCFRAME_UNIFDEF))) 401*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_EXCLAVECORE_MD_INC_GEN_FILES),1,ecincgendir,$(ECINCFRAME_UNIFDEF))) 402*d4514f0bSApple OSS Distributionsendif 403*d4514f0bSApple OSS Distributions 404*d4514f0bSApple OSS DistributionsINSTALL_KF_MD_FILES = $(addprefix $(DSTROOT)/$(KINCDIR)/$(EXPORT_MD_DIR)/, $(INSTALL_KF_MD_LIST)) 405*d4514f0bSApple OSS DistributionsINSTALL_KF_MD_GEN_FILES = $(addprefix $(DSTROOT)/$(KINCDIR)/$(EXPORT_MD_DIR)/, $(INSTALL_KF_MD_GEN_LIST)) 406*d4514f0bSApple OSS Distributions 407*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_KF_MD_FILES),,kincdir,$(KINCFRAME_UNIFDEF))) 408*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_KF_MD_GEN_FILES),1,kincgendir,$(KINCFRAME_UNIFDEF))) 409*d4514f0bSApple OSS Distributions 410*d4514f0bSApple OSS Distributions# 411*d4514f0bSApple OSS Distributions# Machine-dependent local (private) files 412*d4514f0bSApple OSS Distributions# 413*d4514f0bSApple OSS Distributions 414*d4514f0bSApple OSS DistributionsINSTALL_MD_LCL_FILES = $(addprefix $(DSTROOT)/$(LCLDIR)/$(INSTALL_MD_DIR)/, $(sort $(INSTALL_MD_LCL_LIST))) 415*d4514f0bSApple OSS DistributionsINSTALL_MD_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(LCLDIR)/$(INSTALL_MD_DIR)/, $(sort $(INSTALL_MD_LCL_GEN_LIST))) 416*d4514f0bSApple OSS DistributionsINSTALL_MODULEMAP_MD_LCL_FILES = $(addprefix $(DSTROOT)/$(LCLDIR)/$(INSTALL_MODULEMAP_MD_DIR)/,$(INSTALL_MODULEMAP_MD_LCL_LIST)) 417*d4514f0bSApple OSS Distributions 418*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MD_LCL_FILES),,pincdir,$(SPINCFRAME_UNIFDEF))) 419*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MD_LCL_GEN_FILES),1,pincgendir,$(SPINCFRAME_UNIFDEF))) 420*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_MODULEMAP_MD_LCL_FILES),,mmpincdir,-t $(PDATA_UNIFDEF))) 421*d4514f0bSApple OSS Distributions 422*d4514f0bSApple OSS DistributionsINSTALL_SF_MD_LCL_FILES = $(addprefix $(DSTROOT)/$(SPINCDIR)/$(INSTALL_MD_DIR)/, $(sort $(INSTALL_SF_MD_LCL_LIST))) 423*d4514f0bSApple OSS DistributionsINSTALL_SF_MD_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(SPINCDIR)/$(INSTALL_MD_DIR)/, $(sort $(INSTALL_SF_MD_LCL_GEN_LIST))) 424*d4514f0bSApple OSS Distributions 425*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_SF_MD_LCL_FILES),,spincdir,$(SPINCFRAME_UNIFDEF))) 426*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_SF_MD_LCL_GEN_FILES),1,spincgendir,$(SPINCFRAME_UNIFDEF))) 427*d4514f0bSApple OSS Distributions 428*d4514f0bSApple OSS Distributionsifeq ($(DRIVERKIT),1) 429*d4514f0bSApple OSS DistributionsINSTALL_DRIVERKIT_MD_LCL_FILES = $(addprefix $(DSTROOT)/$(DRIVERKITLCLDIR)/$(INSTALL_MD_DIR)/, $(INSTALL_DRIVERKIT_MD_LCL_LIST)) 430*d4514f0bSApple OSS DistributionsINSTALL_DRIVERKIT_MD_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(DRIVERKITLCLDIR)/$(INSTALL_MD_DIR)/, $(INSTALL_DRIVERKIT_MD_LCL_GEN_LIST)) 431*d4514f0bSApple OSS Distributions 432*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_DRIVERKIT_MD_LCL_FILES),,dkpincdir,$(DKPINCFRAME_UNIFDEF))) 433*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_DRIVERKIT_MD_LCL_GEN_FILES),1,dkpincgendir,$(DKPINCFRAME_UNIFDEF))) 434*d4514f0bSApple OSS Distributionsendif 435*d4514f0bSApple OSS Distributions 436*d4514f0bSApple OSS Distributionsifeq ($(EXCLAVEKIT),1) 437*d4514f0bSApple OSS DistributionsINSTALL_EXCLAVEKIT_MD_LCL_FILES = $(addprefix $(DSTROOT)/$(EXCLAVEKITLCLDIR)/$(INSTALL_MD_DIR)/, $(INSTALL_EXCLAVEKIT_MD_LCL_LIST)) 438*d4514f0bSApple OSS DistributionsINSTALL_EXCLAVEKIT_MD_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(EXCLAVEKITLCLDIR)/$(INSTALL_MD_DIR)/, $(INSTALL_EXCLAVEKIT_MD_LCL_GEN_LIST)) 439*d4514f0bSApple OSS Distributions 440*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_EXCLAVEKIT_MD_LCL_FILES),,ekpincdir,$(EKPINCFRAME_UNIFDEF))) 441*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_EXCLAVEKIT_MD_LCL_GEN_FILES),1,ekpincgendir,$(EKPINCFRAME_UNIFDEF))) 442*d4514f0bSApple OSS Distributionsendif 443*d4514f0bSApple OSS Distributions 444*d4514f0bSApple OSS Distributionsifeq ($(EXCLAVECORE),1) 445*d4514f0bSApple OSS DistributionsINSTALL_EXCLAVECORE_MD_LCL_FILES = $(addprefix $(DSTROOT)/$(EXCLAVECORELCLDIR)/$(INSTALL_MD_DIR)/, $(INSTALL_EXCLAVECORE_MD_LCL_LIST)) 446*d4514f0bSApple OSS DistributionsINSTALL_EXCLAVECORE_MD_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(EXCLAVECORELCLDIR)/$(INSTALL_MD_DIR)/, $(INSTALL_EXCLAVECORE_MD_LCL_GEN_LIST)) 447*d4514f0bSApple OSS Distributions 448*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_EXCLAVECORE_MD_LCL_FILES),,ecpincdir,$(ECPINCFRAME_UNIFDEF))) 449*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_EXCLAVECORE_MD_LCL_GEN_FILES),1,ecpincgendir,$(ECPINCFRAME_UNIFDEF))) 450*d4514f0bSApple OSS Distributionsendif 451*d4514f0bSApple OSS Distributions 452*d4514f0bSApple OSS DistributionsINSTALL_KF_MD_LCL_FILES = $(addprefix $(DSTROOT)/$(KPINCDIR)/$(EXPORT_MD_DIR)/, $(INSTALL_KF_MD_LCL_LIST)) 453*d4514f0bSApple OSS DistributionsINSTALL_KF_MD_LCL_GEN_FILES = $(addprefix $(DSTROOT)/$(KPINCDIR)/$(EXPORT_MD_DIR)/, $(INSTALL_KF_MD_LCL_GEN_LIST)) 454*d4514f0bSApple OSS Distributions 455*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_KF_MD_LCL_FILES),,kpincdir,$(KPINCFRAME_UNIFDEF))) 456*d4514f0bSApple OSS Distributions$(eval $(call INSTALLHDRS_RULE_template,$(INSTALL_KF_MD_LCL_GEN_FILES),1,kpincgendir,$(KPINCFRAME_UNIFDEF))) 457*d4514f0bSApple OSS Distributions 458*d4514f0bSApple OSS Distributions.PHONY: do_installhdrs_mi 459*d4514f0bSApple OSS Distributions 460*d4514f0bSApple OSS Distributions# Double-colon rule so that MakeInc.kernel can add custom behaviors 461*d4514f0bSApple OSS Distributionsdo_installhdrs_mi:: $(INSTALL_MI_INC_FILES) $(INSTALL_MI_INC_GEN_FILES) $(INSTALL_MODULEMAP_MI_INC_FILES) \ 462*d4514f0bSApple OSS Distributions $(INSTALL_IF_MI_FILES) $(INSTALL_IF_MI_GEN_FILES) \ 463*d4514f0bSApple OSS Distributions $(INSTALL_DRIVERKIT_MI_INC_FILES) $(INSTALL_DRIVERKIT_MI_INC_GEN_FILES) \ 464*d4514f0bSApple OSS Distributions $(INSTALL_EXCLAVEKIT_MI_INC_FILES) $(INSTALL_EXCLAVEKIT_MI_INC_GEN_FILES) \ 465*d4514f0bSApple OSS Distributions $(INSTALL_EXCLAVECORE_MI_INC_FILES) $(INSTALL_EXCLAVECORE_MI_INC_GEN_FILES) \ 466*d4514f0bSApple OSS Distributions $(INSTALL_KF_MI_FILES) $(INSTALL_KF_MI_GEN_FILES) \ 467*d4514f0bSApple OSS Distributions $(INSTALL_MI_LCL_FILES) $(INSTALL_MI_LCL_GEN_FILES) $(INSTALL_MODULEMAP_MI_LCL_FILES) \ 468*d4514f0bSApple OSS Distributions $(INSTALL_IF_MI_LCL_FILES) $(INSTALL_IF_MI_LCL_GEN_FILES) \ 469*d4514f0bSApple OSS Distributions $(INSTALL_SF_MI_LCL_FILES) $(INSTALL_SF_MI_LCL_GEN_FILES) \ 470*d4514f0bSApple OSS Distributions $(INSTALL_DRIVERKIT_MI_LCL_FILES) $(INSTALL_DRIVERKIT_MI_LCL_GEN_FILES) \ 471*d4514f0bSApple OSS Distributions $(INSTALL_KF_MI_LCL_FILES) $(INSTALL_KF_MI_LCL_GEN_FILES) \ 472*d4514f0bSApple OSS Distributions $(INSTALL_LIBCXX_MI_FILES) \ 473*d4514f0bSApple OSS Distributions $(INSTALL_EXCLAVEKIT_MI_LCL_FILES) $(INSTALL_EXCLAVEKIT_MI_LCL_GEN_FILES) \ 474*d4514f0bSApple OSS Distributions $(INSTALL_EXCLAVECORE_MI_LCL_FILES) $(INSTALL_EXCLAVECORE_MI_LCL_GEN_FILES) 475*d4514f0bSApple OSS Distributions @: 476*d4514f0bSApple OSS Distributions 477*d4514f0bSApple OSS Distributions.PHONY: do_installhdrs_md 478*d4514f0bSApple OSS Distributions 479*d4514f0bSApple OSS Distributionsdo_installhdrs_md: $(INSTALL_MD_INC_FILES) $(INSTALL_MD_INC_GEN_FILES) $(INSTALL_MODULEMAP_MD_INC_FILES) \ 480*d4514f0bSApple OSS Distributions $(INSTALL_DRIVERKIT_MD_INC_FILES) $(INSTALL_DRIVERKIT_MD_INC_GEN_FILES) \ 481*d4514f0bSApple OSS Distributions $(INSTALL_EXCLAVEKIT_MD_INC_FILES) $(INSTALL_EXCLAVEKIT_MD_INC_GEN_FILES) \ 482*d4514f0bSApple OSS Distributions $(INSTALL_EXCLAVECORE_MD_INC_FILES) $(INSTALL_EXCLAVECORE_MD_INC_GEN_FILES) \ 483*d4514f0bSApple OSS Distributions $(INSTALL_KF_MD_FILES) $(INSTALL_KF_MD_GEN_FILES) \ 484*d4514f0bSApple OSS Distributions $(INSTALL_MD_LCL_FILES) $(INSTALL_MD_LCL_GEN_FILES) $(INSTALL_MODULEMAP_MD_LCL_FILES) \ 485*d4514f0bSApple OSS Distributions $(INSTALL_SF_MD_LCL_FILES) $(INSTALL_SF_MD_LCL_GEN_FILES) \ 486*d4514f0bSApple OSS Distributions $(INSTALL_DRIVERKIT_MD_LCL_FILES) $(INSTALL_DRIVERKIT_MD_LCL_GEN_FILES) \ 487*d4514f0bSApple OSS Distributions $(INSTALL_EXCLAVEKIT_MD_LCL_FILES) $(INSTALL_EXCLAVEKIT_MD_LCL_GEN_FILES) \ 488*d4514f0bSApple OSS Distributions $(INSTALL_EXCLAVECORE_MD_LCL_FILES) $(INSTALL_EXCLAVECORE_MD_LCL_GEN_FILES) \ 489*d4514f0bSApple OSS Distributions $(INSTALL_KF_MD_LCL_FILES) $(INSTALL_KF_MD_LCL_GEN_FILES) 490*d4514f0bSApple OSS Distributions @: 491*d4514f0bSApple OSS Distributions 492*d4514f0bSApple OSS Distributions# 493*d4514f0bSApple OSS Distributions# Generic Export rules 494*d4514f0bSApple OSS Distributions# 495*d4514f0bSApple OSS DistributionsEXPORT_MI_INC_FILES = $(addprefix $(OBJROOT)/$(EXPDIR)/$(EXPORT_MI_DIR)/, $(EXPORT_MI_LIST)) 496*d4514f0bSApple OSS DistributionsEXPORT_MI_GEN_INC_FILES = $(addprefix $(OBJROOT)/$(EXPDIR)/$(EXPORT_MI_DIR)/, $(EXPORT_MI_GEN_LIST)) 497*d4514f0bSApple OSS Distributions 498*d4514f0bSApple OSS Distributions.PHONY: EXP_MI_INC_DIR 499*d4514f0bSApple OSS Distributions 500*d4514f0bSApple OSS DistributionsEXP_MI_INC_DIR: 501*d4514f0bSApple OSS Distributions $(_v)$(MKDIR) $(OBJROOT)/$(EXPDIR)/$(EXPORT_MI_DIR) 502*d4514f0bSApple OSS Distributions 503*d4514f0bSApple OSS Distributions$(EXPORT_MI_GEN_INC_FILES): $(OBJROOT)/$(EXPDIR)/$(EXPORT_MI_DIR)/% : % | EXP_MI_INC_DIR 504*d4514f0bSApple OSS Distributions $(_v)$(INSTALL) $(DATA_INSTALL_FLAGS_RO) $< $@ 505*d4514f0bSApple OSS Distributions 506*d4514f0bSApple OSS Distributions$(EXPORT_MI_INC_FILES): $(OBJROOT)/$(EXPDIR)/$(EXPORT_MI_DIR)/% : $(SOURCE)/% | EXP_MI_INC_DIR 507*d4514f0bSApple OSS Distributions $(_v)$(INSTALL) $(DATA_INSTALL_FLAGS_RO) $< $@ 508*d4514f0bSApple OSS Distributions 509*d4514f0bSApple OSS DistributionsEXPORT_MD_INC_FILES = $(addprefix $(OBJROOT)/$(EXPDIR)/$(EXPORT_MD_DIR)/, $(EXPORT_MD_LIST)) 510*d4514f0bSApple OSS DistributionsEXPORT_MD_GEN_INC_FILES = $(addprefix $(OBJROOT)/$(EXPDIR)/$(EXPORT_MD_DIR)/, $(EXPORT_MD_GEN_LIST)) 511*d4514f0bSApple OSS Distributions 512*d4514f0bSApple OSS Distributions.PHONY: EXP_MD_INC_DIR 513*d4514f0bSApple OSS Distributions 514*d4514f0bSApple OSS DistributionsEXP_MD_INC_DIR: 515*d4514f0bSApple OSS Distributions $(_v)$(MKDIR) $(OBJROOT)/$(EXPDIR)/$(EXPORT_MD_DIR) 516*d4514f0bSApple OSS Distributions 517*d4514f0bSApple OSS Distributions$(EXPORT_MD_GEN_INC_FILES): $(OBJROOT)/$(EXPDIR)/$(EXPORT_MD_DIR)/% : % | EXP_MD_INC_DIR 518*d4514f0bSApple OSS Distributions $(_v)$(INSTALL) $(DATA_INSTALL_FLAGS_RO) $< $@ 519*d4514f0bSApple OSS Distributions 520*d4514f0bSApple OSS Distributions$(EXPORT_MD_INC_FILES): $(OBJROOT)/$(EXPDIR)/$(EXPORT_MD_DIR)/% : $(SOURCE)/% | EXP_MD_INC_DIR 521*d4514f0bSApple OSS Distributions $(_v)$(INSTALL) $(DATA_INSTALL_FLAGS_RO) $< $@ 522*d4514f0bSApple OSS Distributions 523*d4514f0bSApple OSS Distributions.PHONY: do_exporthdrs_mi 524*d4514f0bSApple OSS Distributions 525*d4514f0bSApple OSS Distributionsdo_exporthdrs_mi: $(EXPORT_MI_GEN_INC_FILES) $(EXPORT_MI_INC_FILES) 526*d4514f0bSApple OSS Distributions @: 527*d4514f0bSApple OSS Distributions 528*d4514f0bSApple OSS Distributions.PHONY: do_exporthdrs_md 529*d4514f0bSApple OSS Distributions 530*d4514f0bSApple OSS Distributionsdo_exporthdrs_md: $(EXPORT_MD_GEN_INC_FILES) $(EXPORT_MD_INC_FILES) 531*d4514f0bSApple OSS Distributions @: 532*d4514f0bSApple OSS Distributions 533*d4514f0bSApple OSS Distributions# 534*d4514f0bSApple OSS Distributions# Generic Compilation rules 535*d4514f0bSApple OSS Distributions# 536*d4514f0bSApple OSS Distributions 537*d4514f0bSApple OSS Distributions# 538*d4514f0bSApple OSS Distributions# Compilation rules to generate .o from .s 539*d4514f0bSApple OSS Distributions# 540*d4514f0bSApple OSS Distributions 541*d4514f0bSApple OSS DistributionsS_RULE_0=@$(LOG_AS) "$@" 542*d4514f0bSApple OSS DistributionsS_RULE_1A=$(_v)$(S_KCC) -c $(SFLAGS) -MD -MF $(@:o=d) -MJ $(@:o=o.json) -MP $($@_SFLAGS_ADD) $(INCFLAGS) $($@_INCFLAGS) 543*d4514f0bSApple OSS DistributionsS_RULE_1B=$(<F) 544*d4514f0bSApple OSS DistributionsS_RULE_2= 545*d4514f0bSApple OSS Distributions 546*d4514f0bSApple OSS Distributions# 547*d4514f0bSApple OSS Distributions# Compilation rules to generate .o from .c for normal files 548*d4514f0bSApple OSS Distributions# 549*d4514f0bSApple OSS DistributionsC_RULE_0=@$(LOG_CC) "$@" 550*d4514f0bSApple OSS DistributionsC_RULE_1A=$(_v)$(KCC) -c $(filter-out $($@_CFLAGS_RM), $(CFLAGS) $(CWARNFLAGS)) -MD -MF $(@:o=d) -MJ $(@:o=o.json) -MP $($@_CFLAGS_ADD) $($@_CWARNFLAGS_ADD) $(INCFLAGS) $($@_INCFLAGS) 551*d4514f0bSApple OSS DistributionsC_RULE_1B=$(<F) 552*d4514f0bSApple OSS DistributionsC_RULE_2= 553*d4514f0bSApple OSS Distributions 554*d4514f0bSApple OSS DistributionsC_RULE_3=@$(if $($@_VERIFIER), $(LOG_VERIFIER) "$@") 555*d4514f0bSApple OSS DistributionsC_RULE_4=@$(if $($@_VERIFIER), $(call VERIFY,$($@_VERIFIER),$@)) 556*d4514f0bSApple OSS Distributions 557*d4514f0bSApple OSS Distributions# 558*d4514f0bSApple OSS Distributions# Compilation rules to generate .o from .c for driver files 559*d4514f0bSApple OSS Distributions# 560*d4514f0bSApple OSS DistributionsC_RULE_0_D=$(C_RULE_0) 561*d4514f0bSApple OSS DistributionsC_RULE_1A_D=$(C_RULE_1A) 562*d4514f0bSApple OSS DistributionsC_RULE_1B_D=$(C_RULE_1B) 563*d4514f0bSApple OSS DistributionsC_RULE_2_D=$(C_RULE_2) 564*d4514f0bSApple OSS DistributionsC_RULE_3_D=$(C_RULE_3) 565*d4514f0bSApple OSS DistributionsC_RULE_4_D=$(C_RULE_4) 566*d4514f0bSApple OSS Distributions 567*d4514f0bSApple OSS Distributions# 568*d4514f0bSApple OSS Distributions# Compilation rules to generate .co from .cp or .cpo from .cpp 569*d4514f0bSApple OSS Distributions# The config tool slickly changes the last source filename char to 'o' 570*d4514f0bSApple OSS Distributions# for the object filename. 571*d4514f0bSApple OSS DistributionsP_RULE_0=@$(LOG_CXX) "$@" 572*d4514f0bSApple OSS DistributionsP_RULE_1A=$(_v)$(KC++) -o $@ -c $(CXXFLAGS) $(filter-out $($@_CFLAGS_RM), $(CFLAGS) $(CXXWARNFLAGS)) -MD -MF $(@:o=d) -MJ $(@:o=o.json) -MP $($@_CFLAGS_ADD) $($@_CXXWARNFLAGS_ADD) $(INCFLAGS) $($@_INCFLAGS) 573*d4514f0bSApple OSS DistributionsP_RULE_1B=$(<F) 574*d4514f0bSApple OSS DistributionsP_RULE_2= 575*d4514f0bSApple OSS Distributions 576*d4514f0bSApple OSS DistributionsP_RULE_3=@$(if $($@_VERIFIER), $(LOG_VERIFIER) "$@") 577*d4514f0bSApple OSS DistributionsP_RULE_4=@$(if $($@_VERIFIER), $(call VERIFY,$($@_VERIFIER),$@)) 578*d4514f0bSApple OSS Distributions 579*d4514f0bSApple OSS Distributions# 580*d4514f0bSApple OSS Distributions# Explain how to make the bsd syscall list 581*d4514f0bSApple OSS Distributions# 582*d4514f0bSApple OSS Distributions$(TARGET)/bsd.syscalls.master: $(SRCROOT)/bsd/kern/syscalls.master $(MAKESYSCALLS) 583*d4514f0bSApple OSS Distributions @$(LOG_GENERATE) "$(@F)$(Color0) from $(ColorF)$<$(Color0)" 584*d4514f0bSApple OSS Distributions $(_v)$(UNIFDEF) $(SEED_DEFINES) $< > $@; \ 585*d4514f0bSApple OSS Distributions if [ $$? -eq 2 ]; then \ 586*d4514f0bSApple OSS Distributions $(ERR) Parse failure for $<; \ 587*d4514f0bSApple OSS Distributions exit 1; \ 588*d4514f0bSApple OSS Distributions fi 589*d4514f0bSApple OSS Distributions 590*d4514f0bSApple OSS Distributions.PHONY: do_build_all 591*d4514f0bSApple OSS Distributions 592*d4514f0bSApple OSS Distributions# Do-nothing rule, since not all levels of the recursive hierarchy might implement this 593*d4514f0bSApple OSS Distributions# in their local Makefiles. Those that do will use a "::" rule to augment this. 594*d4514f0bSApple OSS Distributionsdo_build_all:: 595*d4514f0bSApple OSS Distributions @: 596*d4514f0bSApple OSS Distributions 597*d4514f0bSApple OSS Distributions.PHONY: do_build_install_primary 598*d4514f0bSApple OSS Distributions 599*d4514f0bSApple OSS Distributions# Do-nothing rule, since not all levels of the recursive hierarchy might implement this 600*d4514f0bSApple OSS Distributions# in their local Makefiles. Those that do will use a "::" rule to augment this. 601*d4514f0bSApple OSS Distributionsdo_build_install_primary:: 602*d4514f0bSApple OSS Distributions @: 603*d4514f0bSApple OSS Distributions 604*d4514f0bSApple OSS Distributions.PHONY: do_build_install_non_primary 605*d4514f0bSApple OSS Distributions 606*d4514f0bSApple OSS Distributions# Do-nothing rule, since not all levels of the recursive hierarchy might implement this 607*d4514f0bSApple OSS Distributions# in their local Makefiles. Those that do will use a "::" rule to augment this. 608*d4514f0bSApple OSS Distributionsdo_build_install_non_primary:: 609*d4514f0bSApple OSS Distributions @: 610*d4514f0bSApple OSS Distributions 611*d4514f0bSApple OSS DistributionsINSTALL_MAN_FILES = $(addprefix $(DSTROOT)/$(MANDIR)/$(INSTALL_MAN_DIR)/, $(INSTALL_MAN_LIST)) 612*d4514f0bSApple OSS Distributions 613*d4514f0bSApple OSS Distributions.PHONY: INSTALL_MAN_DIR 614*d4514f0bSApple OSS Distributions 615*d4514f0bSApple OSS DistributionsINSTALL_MAN_DIR: 616*d4514f0bSApple OSS Distributions $(_v)$(MKDIR) $(DSTROOT)/$(MANDIR)/$(INSTALL_MAN_DIR) 617*d4514f0bSApple OSS Distributions 618*d4514f0bSApple OSS Distributions$(INSTALL_MAN_FILES): $(DSTROOT)/$(MANDIR)/$(INSTALL_MAN_DIR)/% : % | INSTALL_MAN_DIR 619*d4514f0bSApple OSS Distributions @$(LOG_MAN) "$*" 620*d4514f0bSApple OSS Distributions $(_v)$(INSTALL) $(INSTALL_FLAGS) $< $@ 621*d4514f0bSApple OSS Distributions 622*d4514f0bSApple OSS Distributionsdefine MAN_LINKS_RULE_template 623*d4514f0bSApple OSS Distributions$$(DSTROOT)/$$(MANDIR)/$$(INSTALL_MAN_DIR)/$(2): $$(DSTROOT)/$$(MANDIR)/$$(INSTALL_MAN_DIR)/$(1) 624*d4514f0bSApple OSS Distributions @$$(LOG_MANLINK) "$(2)" 625*d4514f0bSApple OSS Distributions $(_v)ln -f $$< $$@ 626*d4514f0bSApple OSS Distributionsendef 627*d4514f0bSApple OSS Distributions 628*d4514f0bSApple 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)))) 629*d4514f0bSApple OSS Distributions 630*d4514f0bSApple OSS DistributionsINSTALL_MAN_FILES_LINKS = $(call function_generate_man_links_rules,$(INSTALL_MAN_LINKS)) 631*d4514f0bSApple OSS Distributions 632*d4514f0bSApple OSS Distributions.PHONY: do_installman 633*d4514f0bSApple OSS Distributions 634*d4514f0bSApple OSS Distributionsdo_installman: $(INSTALL_MAN_FILES) $(INSTALL_MAN_FILES_LINKS) 635*d4514f0bSApple OSS Distributions @: 636*d4514f0bSApple OSS Distributions 637*d4514f0bSApple OSS Distributions.PHONY: do_textfiles_install do_textfiles_install_mi do_textfiles_install_md 638*d4514f0bSApple OSS Distributions 639*d4514f0bSApple OSS Distributions# Do-nothing rule, since not all levels of the recursive hierarchy might implement this 640*d4514f0bSApple OSS Distributions# in their local Makefiles. Those that do will use a "::" rule to augment this. 641*d4514f0bSApple OSS Distributionsdo_textfiles_install_mi:: do_installman 642*d4514f0bSApple OSS Distributions @: 643*d4514f0bSApple OSS Distributions 644*d4514f0bSApple OSS Distributions# Do-nothing rule, since not all levels of the recursive hierarchy might implement this 645*d4514f0bSApple OSS Distributions# in their local Makefiles. Those that do will use a "::" rule to augment this. 646*d4514f0bSApple OSS Distributionsdo_textfiles_install_md:: 647*d4514f0bSApple OSS Distributions @: 648*d4514f0bSApple OSS Distributions 649*d4514f0bSApple OSS Distributions.PHONY: do_build_setup 650*d4514f0bSApple OSS Distributions 651*d4514f0bSApple OSS Distributions# Do-nothing rule, since not all levels of the recursive hierarchy might implement this 652*d4514f0bSApple OSS Distributions# in their local Makefiles. Those that do will use a "::" rule to augment this. 653*d4514f0bSApple OSS Distributionsdo_build_setup:: 654*d4514f0bSApple OSS Distributions @: 655*d4514f0bSApple OSS Distributions 656*d4514f0bSApple OSS Distributions.PHONY: do_config_all 657*d4514f0bSApple OSS Distributions 658*d4514f0bSApple OSS Distributions# Do-nothing rule, since not all levels of the recursive hierarchy might implement this 659*d4514f0bSApple OSS Distributions# in their local Makefiles. Those that do will use a "::" rule to augment this. 660*d4514f0bSApple OSS Distributionsdo_config_all:: 661*d4514f0bSApple OSS Distributions @: 662*d4514f0bSApple OSS Distributions 663*d4514f0bSApple OSS Distributions.PHONY: do_config_install_primary 664*d4514f0bSApple OSS Distributions 665*d4514f0bSApple OSS Distributions# Do-nothing rule, since not all levels of the recursive hierarchy might implement this 666*d4514f0bSApple OSS Distributions# in their local Makefiles. Those that do will use a "::" rule to augment this. 667*d4514f0bSApple OSS Distributionsdo_config_install_primary:: 668*d4514f0bSApple OSS Distributions @: 669*d4514f0bSApple OSS Distributions 670*d4514f0bSApple OSS Distributions.PHONY: do_config_install_variant 671*d4514f0bSApple OSS Distributions 672*d4514f0bSApple OSS Distributions# Do-nothing rule, since not all levels of the recursive hierarchy might implement this 673*d4514f0bSApple OSS Distributions# in their local Makefiles. Those that do will use a "::" rule to augment this. 674*d4514f0bSApple OSS Distributionsdo_config_install_variant:: 675*d4514f0bSApple OSS Distributions @: 676*d4514f0bSApple OSS Distributions 677*d4514f0bSApple OSS Distributions.PHONY: do_config_install 678*d4514f0bSApple OSS Distributions 679*d4514f0bSApple OSS Distributions# Do-nothing rule, since not all levels of the recursive hierarchy might implement this 680*d4514f0bSApple OSS Distributions# in their local Makefiles. Those that do will use a "::" rule to augment this. 681*d4514f0bSApple OSS Distributionsdo_config_install:: 682*d4514f0bSApple OSS Distributions @: 683*d4514f0bSApple OSS Distributions 684*d4514f0bSApple OSS Distributions# vim: set ft=make: 685