xref: /xnu-11215.81.4/makedefs/MakeInc.rule (revision d4514f0bc1d3f944c22d92e68b646ac3fb40d452)
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