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