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