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