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