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