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