source: trunk/kBuild/gnumake-footer.kmk@ 726

Last change on this file since 726 was 723, checked in by bird, 19 years ago

Kicked the gnumake compatibility crap into separate files to speed things up. Added a slow stack implementation.

  • Property svn:keywords set to Id
File size: 16.0 KB
Line 
1# $Id: gnumake-footer.kmk 723 2006-12-15 02:54:52Z bird $
2## @file
3#
4# kBuild - Additional footer for use when bootstrapping kBuild using Vanilla GNU Make.
5#
6# Copyright (c) 2004-2006 knut st. osmundsen <bird-srcspam@anduin.net>
7#
8#
9# This file is part of kBuild.
10#
11# kBuild is free software; you can redistribute it and/or modify
12# it under the terms of the GNU General Public License as published by
13# the Free Software Foundation; either version 2 of the License, or
14# (at your option) any later version.
15#
16# kBuild is distributed in the hope that it will be useful,
17# but WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19# GNU General Public License for more details.
20#
21# You should have received a copy of the GNU General Public License
22# along with kBuild; if not, write to the Free Software
23# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24#
25#
26
27
28## Generic macro for processing C, C++ and Assembly sources.
29# @param $(target) Normalized target name.
30# @param $(source) Source file name.
31# @param $(type) Source type. {C,CXX,AS}
32# @param bld_type Build type.
33# @param bld_trg Build target.
34# @param bld_trg_arch Build target arch.
35# @param bld_trg_cpu Build target cpu.
36# @remark obsoleted by kBuild helpers in kmk. Only required for limited gmake compatbility.
37#
38define def_target_source_c_cpp_asm_rc_old
39#$ (warning dbg: def_target_source_c_cpp_asm_rc_old: source='$(source)' target='$(target)' type='$(type)')
40
41tool := $(call _SOURCE_TOOL,$(source),$(target),$(type))
42outbase := $(call _OBJECT_BASE,$(source),$(target))
43PATH_$(target)_$(source) := $(patsubst %/,%,$(dir $(outbase)))
44dirdep := $(call DIRDEP,$(dir $(outbase)))
45defs :=\
46 $(TOOL_$(tool)_DEFS)\
47 $(TOOL_$(tool)_DEFS.$(bld_type))\
48 $(TOOL_$(tool)_DEFS.$(bld_trg))\
49 $(TOOL_$(tool)_DEFS.$(bld_trg_arch))\
50 $(TOOL_$(tool)_DEFS.$(bld_trg).$(bld_trg_arch))\
51 $(TOOL_$(tool)_DEFS.$(bld_trg_cpu))\
52 $(TOOL_$(tool)_$(type)DEFS)\
53 $(TOOL_$(tool)_$(type)DEFS.$(bld_type))\
54 $(foreach sdk, $(SDKS.$(bld_trg).$(bld_trg_arch)) \
55 $(SDKS.$(bld_trg_arch)) \
56 $(SDKS.$(bld_trg)) \
57 $(SDKS.$(bld_type)) \
58 $(SDKS),\
59 $(SDK_$(sdk)_DEFS)\
60 $(SDK_$(sdk)_DEFS.$(bld_type))\
61 $(SDK_$(sdk)_DEFS.$(bld_trg))\
62 $(SDK_$(sdk)_DEFS.$(bld_trg_arch))\
63 $(SDK_$(sdk)_DEFS.$(bld_trg).$(bld_trg_arch))\
64 $(SDK_$(sdk)_DEFS.$(bld_trg_cpu))\
65 $(SDK_$(sdk)_$(type)DEFS)\
66 $(SDK_$(sdk)_$(type)DEFS.$(bld_type))\
67 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg))\
68 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg_arch))\
69 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg).$(bld_trg_arch))\
70 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg_cpu)))\
71 $(DEFS)\
72 $(DEFS.$(bld_type))\
73 $(DEFS.$(bld_trg))\
74 $(DEFS.$(bld_trg_arch))\
75 $(DEFS.$(bld_trg).$(bld_trg_arch))\
76 $(DEFS.$(bld_trg_cpu))\
77 $($(type)DEFS)\
78 $($(type)DEFS.$(bld_type))\
79 $($(type)DEFS.$(bld_trg))\
80 $($(type)DEFS.$(bld_trg_arch))\
81 $($(type)DEFS.$(bld_trg).$(bld_trg_arch))\
82 $($(type)DEFS.$(bld_trg_cpu))\
83 $(foreach sdk, $($(target)_SDKS.$(bld_trg).$(bld_trg_arch)) \
84 $($(target)_SDKS.$(bld_trg_arch)) \
85 $($(target)_SDKS.$(bld_trg)) \
86 $($(target)_SDKS.$(bld_type)) \
87 $($(target)_SDKS),\
88 $(SDK_$(sdk)_DEFS)\
89 $(SDK_$(sdk)_DEFS.$(bld_type))\
90 $(SDK_$(sdk)_DEFS.$(bld_trg))\
91 $(SDK_$(sdk)_DEFS.$(bld_trg_arch))\
92 $(SDK_$(sdk)_DEFS.$(bld_trg).$(bld_trg_arch))\
93 $(SDK_$(sdk)_DEFS.$(bld_trg_cpu))\
94 $(SDK_$(sdk)_$(type)DEFS)\
95 $(SDK_$(sdk)_$(type)DEFS.$(bld_type))\
96 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg))\
97 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg_arch))\
98 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg).$(bld_trg_arch))\
99 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg_cpu)))\
100 $($(target)_DEFS)\
101 $($(target)_DEFS.$(bld_type))\
102 $($(target)_DEFS.$(bld_trg))\
103 $($(target)_DEFS.$(bld_trg_arch))\
104 $($(target)_DEFS.$(bld_trg).$(bld_trg_arch))\
105 $($(target)_DEFS.$(bld_trg_cpu))\
106 $($(target)_$(type)DEFS)\
107 $($(target)_$(type)DEFS.$(bld_type))\
108 $($(target)_$(type)DEFS.$(bld_trg))\
109 $($(target)_$(type)DEFS.$(bld_trg_arch))\
110 $($(target)_$(type)DEFS.$(bld_trg).$(bld_trg_arch))\
111 $($(target)_$(type)DEFS.$(bld_trg_cpu))\
112 $(foreach sdk, $($(source)_SDKS.$(bld_trg).$(bld_trg_arch)) \
113 $($(source)_SDKS.$(bld_trg_arch)) \
114 $($(source)_SDKS.$(bld_trg)) \
115 $($(source)_SDKS.$(bld_type)) \
116 $($(source)_SDKS),\
117 $(SDK_$(sdk)_DEFS)\
118 $(SDK_$(sdk)_DEFS.$(bld_type))\
119 $(SDK_$(sdk)_DEFS.$(bld_trg))\
120 $(SDK_$(sdk)_DEFS.$(bld_trg_arch))\
121 $(SDK_$(sdk)_DEFS.$(bld_trg).$(bld_trg_arch))\
122 $(SDK_$(sdk)_DEFS.$(bld_trg_cpu))\
123 $(SDK_$(sdk)_$(type)DEFS)\
124 $(SDK_$(sdk)_$(type)DEFS.$(bld_type))\
125 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg))\
126 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg_arch))\
127 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg).$(bld_trg_arch))\
128 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg_cpu)))\
129 $($(source)_DEFS)\
130 $($(source)_DEFS.$(bld_type))\
131 $($(source)_DEFS.$(bld_trg))\
132 $($(source)_DEFS.$(bld_trg_arch))\
133 $($(source)_DEFS.$(bld_trg).$(bld_trg_arch))\
134 $($(source)_DEFS.$(bld_trg_cpu))\
135 $($(source)_$(type)DEFS)\
136 $($(source)_$(type)DEFS.$(bld_type))\
137 $($(source)_$(type)DEFS.$(bld_trg))\
138 $($(source)_$(type)DEFS.$(bld_trg_arch))\
139 $($(source)_$(type)DEFS.$(bld_trg).$(bld_trg_arch))\
140 $($(source)_$(type)DEFS.$(bld_trg_cpu))\
141 $(foreach sdk, $($(target)_$(source)_SDKS.$(bld_trg).$(bld_trg_arch)) \
142 $($(target)_$(source)_SDKS.$(bld_trg_arch)) \
143 $($(target)_$(source)_SDKS.$(bld_trg)) \
144 $($(target)_$(source)_SDKS.$(bld_type)) \
145 $($(target)_$(source)_SDKS),\
146 $(SDK_$(sdk)_DEFS)\
147 $(SDK_$(sdk)_DEFS.$(bld_type))\
148 $(SDK_$(sdk)_DEFS.$(bld_trg))\
149 $(SDK_$(sdk)_DEFS.$(bld_trg_arch))\
150 $(SDK_$(sdk)_DEFS.$(bld_trg).$(bld_trg_arch))\
151 $(SDK_$(sdk)_DEFS.$(bld_trg_cpu))\
152 $(SDK_$(sdk)_$(type)DEFS)\
153 $(SDK_$(sdk)_$(type)DEFS.$(bld_type))\
154 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg))\
155 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg_arch))\
156 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg).$(bld_trg_arch))\
157 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg_cpu)))\
158 $($(target)_$(source)_DEFS)\
159 $($(target)_$(source)_DEFS.$(bld_type))\
160 $($(target)_$(source)_DEFS.$(bld_trg))\
161 $($(target)_$(source)_DEFS.$(bld_trg_arch))\
162 $($(target)_$(source)_DEFS.$(bld_trg).$(bld_trg_arch))\
163 $($(target)_$(source)_DEFS.$(bld_trg_cpu))\
164 $($(target)_$(source)_$(type)DEFS)\
165 $($(target)_$(source)_$(type)DEFS.$(bld_type))\
166 $($(target)_$(source)_$(type)DEFS.$(bld_trg))\
167 $($(target)_$(source)_$(type)DEFS.$(bld_trg_arch))\
168 $($(target)_$(source)_$(type)DEFS.$(bld_trg).$(bld_trg_arch))\
169 $($(target)_$(source)_$(type)DEFS.$(bld_trg_cpu))
170incs :=\
171 $($(target)_$(source)_$(type)INCS.$(bld_trg_cpu))\
172 $($(target)_$(source)_$(type)INCS.$(bld_trg).$(bld_trg_arch))\
173 $($(target)_$(source)_$(type)INCS.$(bld_trg_arch))\
174 $($(target)_$(source)_$(type)INCS.$(bld_trg))\
175 $($(target)_$(source)_$(type)INCS.$(bld_type))\
176 $($(target)_$(source)_$(type)INCS)\
177 $($(target)_$(source)_INCS.$(bld_trg_cpu))\
178 $($(target)_$(source)_INCS.$(bld_trg).$(bld_trg_arch))\
179 $($(target)_$(source)_INCS.$(bld_trg_arch))\
180 $($(target)_$(source)_INCS.$(bld_trg))\
181 $($(target)_$(source)_INCS.$(bld_type))\
182 $($(target)_$(source)_INCS)\
183 $(foreach sdk, $($(target)_$(source)_SDKS.$(bld_trg).$(bld_trg_arch)) \
184 $($(target)_$(source)_SDKS.$(bld_trg_arch)) \
185 $($(target)_$(source)_SDKS.$(bld_trg)) \
186 $($(target)_$(source)_SDKS.$(bld_type)) \
187 $($(target)_$(source)_SDKS),\
188 $(SDK_$(sdk)_$(type)INCS.$(bld_trg_cpu))\
189 $(SDK_$(sdk)_$(type)INCS.$(bld_trg).$(bld_trg_arch))\
190 $(SDK_$(sdk)_$(type)INCS.$(bld_trg_arch))\
191 $(SDK_$(sdk)_$(type)INCS.$(bld_trg))\
192 $(SDK_$(sdk)_$(type)INCS.$(bld_type))\
193 $(SDK_$(sdk)_$(type)INCS)\
194 $(SDK_$(sdk)_INCS.$(bld_trg_cpu))\
195 $(SDK_$(sdk)_INCS.$(bld_trg).$(bld_trg_arch))\
196 $(SDK_$(sdk)_INCS.$(bld_trg_arch))\
197 $(SDK_$(sdk)_INCS.$(bld_trg))\
198 $(SDK_$(sdk)_INCS.$(bld_type))\
199 $(SDK_$(sdk)_INCS))\
200 $($(source)_$(type)INCS.$(bld_trg_cpu))\
201 $($(source)_$(type)INCS.$(bld_trg).$(bld_trg_arch))\
202 $($(source)_$(type)INCS.$(bld_trg_arch))\
203 $($(source)_$(type)INCS.$(bld_trg))\
204 $($(source)_$(type)INCS.$(bld_type))\
205 $($(source)_$(type)INCS)\
206 $($(source)_INCS.$(bld_trg_cpu))\
207 $($(source)_INCS.$(bld_trg).$(bld_trg_arch))\
208 $($(source)_INCS.$(bld_trg_arch))\
209 $($(source)_INCS.$(bld_trg))\
210 $($(source)_INCS.$(bld_type))\
211 $($(source)_INCS)\
212 $(foreach sdk, $($(source)_SDKS.$(bld_trg).$(bld_trg_arch)) \
213 $($(source)_SDKS.$(bld_trg_arch)) \
214 $($(source)_SDKS.$(bld_trg)) \
215 $($(source)_SDKS.$(bld_type)) \
216 $($(source)_SDKS),\
217 $(SDK_$(sdk)_$(type)INCS.$(bld_trg_cpu))\
218 $(SDK_$(sdk)_$(type)INCS.$(bld_trg).$(bld_trg_arch))\
219 $(SDK_$(sdk)_$(type)INCS.$(bld_trg_arch))\
220 $(SDK_$(sdk)_$(type)INCS.$(bld_trg))\
221 $(SDK_$(sdk)_$(type)INCS.$(bld_type))\
222 $(SDK_$(sdk)_$(type)INCS)\
223 $(SDK_$(sdk)_INCS.$(bld_trg_cpu))\
224 $(SDK_$(sdk)_INCS.$(bld_trg).$(bld_trg_arch))\
225 $(SDK_$(sdk)_INCS.$(bld_trg_arch))\
226 $(SDK_$(sdk)_INCS.$(bld_trg))\
227 $(SDK_$(sdk)_INCS.$(bld_type))\
228 $(SDK_$(sdk)_INCS))\
229 $($(target)_$(type)INCS.$(bld_trg_cpu))\
230 $($(target)_$(type)INCS.$(bld_trg).$(bld_trg_arch))\
231 $($(target)_$(type)INCS.$(bld_trg_arch))\
232 $($(target)_$(type)INCS.$(bld_trg))\
233 $($(target)_$(type)INCS.$(bld_type))\
234 $($(target)_$(type)INCS)\
235 $($(target)_INCS.$(bld_trg_cpu))\
236 $($(target)_INCS.$(bld_trg).$(bld_trg_arch))\
237 $($(target)_INCS.$(bld_trg_arch))\
238 $($(target)_INCS.$(bld_trg))\
239 $($(target)_INCS.$(bld_type))\
240 $($(target)_INCS)\
241 $(foreach sdk, $($(target)_SDKS.$(bld_trg).$(bld_trg_arch)) \
242 $($(target)_SDKS.$(bld_trg_arch)) \
243 $($(target)_SDKS.$(bld_trg)) \
244 $($(target)_SDKS.$(bld_type)) \
245 $($(target)_SDKS),\
246 $(SDK_$(sdk)_$(type)INCS.$(bld_trg_cpu))\
247 $(SDK_$(sdk)_$(type)INCS.$(bld_trg).$(bld_trg_arch))\
248 $(SDK_$(sdk)_$(type)INCS.$(bld_trg_arch))\
249 $(SDK_$(sdk)_$(type)INCS.$(bld_trg))\
250 $(SDK_$(sdk)_$(type)INCS.$(bld_type))\
251 $(SDK_$(sdk)_$(type)INCS)\
252 $(SDK_$(sdk)_INCS.$(bld_trg_cpu))\
253 $(SDK_$(sdk)_INCS.$(bld_trg).$(bld_trg_arch))\
254 $(SDK_$(sdk)_INCS.$(bld_trg_arch))\
255 $(SDK_$(sdk)_INCS.$(bld_trg))\
256 $(SDK_$(sdk)_INCS.$(bld_type))\
257 $(SDK_$(sdk)_INCS))\
258 $(INCS.$(bld_trg_cpu))\
259 $(INCS.$(bld_trg).$(bld_trg_arch))\
260 $(INCS.$(bld_trg_arch))\
261 $(INCS.$(bld_trg))\
262 $(INCS.$(bld_type))\
263 $(INCS)\
264 $(foreach sdk, $(SDKS.$(bld_trg).$(bld_trg_arch)) \
265 $(SDKS.$(bld_trg_arch)) \
266 $(SDKS.$(bld_trg)) \
267 $(SDKS.$(bld_type)) \
268 $(SDKS),\
269 $(SDK_$(sdk)_$(type)INCS.$(bld_trg_cpu))\
270 $(SDK_$(sdk)_$(type)INCS.$(bld_trg).$(bld_trg_arch))\
271 $(SDK_$(sdk)_$(type)INCS.$(bld_trg_arch))\
272 $(SDK_$(sdk)_$(type)INCS.$(bld_trg))\
273 $(SDK_$(sdk)_$(type)INCS.$(bld_type))\
274 $(SDK_$(sdk)_$(type)INCS)\
275 $(SDK_$(sdk)_INCS.$(bld_trg_cpu))\
276 $(SDK_$(sdk)_INCS.$(bld_trg).$(bld_trg_arch))\
277 $(SDK_$(sdk)_INCS.$(bld_trg_arch))\
278 $(SDK_$(sdk)_INCS.$(bld_trg))\
279 $(SDK_$(sdk)_INCS.$(bld_type))\
280 $(SDK_$(sdk)_INCS))\
281 $(TOOL_$(tool)_$(type)INCS.$(bld_trg_cpu))\
282 $(TOOL_$(tool)_$(type)INCS.$(bld_trg).$(bld_trg_arch))\
283 $(TOOL_$(tool)_$(type)INCS.$(bld_trg_arch))\
284 $(TOOL_$(tool)_$(type)INCS.$(bld_trg))\
285 $(TOOL_$(tool)_$(type)INCS.$(bld_type))\
286 $(TOOL_$(tool)_$(type)INCS)
287flags :=\
288 $(TOOL_$(tool)_$(type)FLAGS)\
289 $(TOOL_$(tool)_$(type)FLAGS.$(bld_type))\
290 $(TOOL_$(tool)_$(type)FLAGS.$(bld_trg))\
291 $(TOOL_$(tool)_$(type)FLAGS.$(bld_trg_arch))\
292 $(TOOL_$(tool)_$(type)FLAGS.$(bld_trg).$(bld_trg_arch))\
293 $(TOOL_$(tool)_$(type)FLAGS.$(bld_trg_cpu))\
294 $($(type)FLAGS)\
295 $($(type)FLAGS.$(bld_type))\
296 $($(type)FLAGS.$(bld_trg))\
297 $($(type)FLAGS.$(bld_trg_arch))\
298 $($(type)FLAGS.$(bld_trg).$(bld_trg_arch))\
299 $($(type)FLAGS.$(bld_trg_cpu))\
300 $($(target)_$(type)FLAGS)\
301 $($(target)_$(type)FLAGS.$(bld_type))\
302 $($(target)_$(type)FLAGS.$(bld_trg))\
303 $($(target)_$(type)FLAGS.$(bld_trg_arch))\
304 $($(target)_$(type)FLAGS.$(bld_trg).$(bld_trg_arch))\
305 $($(target)_$(type)FLAGS.$(bld_trg_cpu))\
306 $($(source)_$(type)FLAGS)\
307 $($(source)_$(type)FLAGS.$(bld_type))\
308 $($(source)_$(type)FLAGS.$(bld_trg))\
309 $($(source)_$(type)FLAGS.$(bld_trg_arch))\
310 $($(source)_$(type)FLAGS.$(bld_trg).$(bld_trg_arch))\
311 $($(source)_$(type)FLAGS.$(bld_trg_cpu))\
312 $($(target)_$(source)_$(type)FLAGS)\
313 $($(target)_$(source)_$(type)FLAGS.$(bld_type))\
314 $($(target)_$(source)_$(type)FLAGS.$(bld_trg))\
315 $($(target)_$(source)_$(type)FLAGS.$(bld_trg_arch))\
316 $($(target)_$(source)_$(type)FLAGS.$(bld_trg).$(bld_trg_arch))\
317 $($(target)_$(source)_$(type)FLAGS.$(bld_trg_cpu))
318# this isn't 100% in sync with kBuild, but it doesn't matter as it's only for gmake now.
319objsuff := $(firstword \
320 $($(target)_$(source)_OBJSUFF.$(bld_trg).$(bld_trg_arch))\
321 $($(target)_$(source)_OBJSUFF.$(bld_trg))\
322 $($(target)_$(source)_OBJSUFF)\
323 $($(source)_OBJSUFF.$(bld_trg).$(bld_trg_arch))\
324 $($(source)_OBJSUFF.$(bld_trg))\
325 $($(source)_OBJSUFF)\
326 $($(target)_OBJSUFF.$(bld_trg).$(bld_trg_arch))\
327 $($(target)_OBJSUFF.$(bld_trg))\
328 $($(target)_OBJSUFF)\
329 $(TOOL_$(tool)_$(type)OBJSUFF.$(bld_trg).$(bld_trg_arch))\
330 $(TOOL_$(tool)_$(type)OBJSUFF.$(bld_trg))\
331 $(TOOL_$(tool)_$(type)OBJSUFF)\
332 $(SUFF_OBJ))
333obj := $(outbase)$(objsuff)
334deps := \
335 $($(target)_$(source)_DEPS)\
336 $($(target)_$(source)_DEPS.$(bld_type))\
337 $($(target)_$(source)_DEPS.$(bld_trg))\
338 $($(target)_$(source)_DEPS.$(bld_trg_arch))\
339 $($(target)_$(source)_DEPS.$(bld_trg).$(bld_trg_arch))\
340 $($(target)_$(source)_DEPS.$(bld_trg_cpu))\
341 $($(source)_DEPS)\
342 $($(source)_DEPS.$(bld_type))\
343 $($(source)_DEPS.$(bld_trg))\
344 $($(source)_DEPS.$(bld_trg_arch))\
345 $($(source)_DEPS.$(bld_trg).$(bld_trg_arch))\
346 $($(source)_DEPS.$(bld_trg_cpu))\
347 $($(target)_DEPS)\
348 $($(target)_DEPS.$(bld_type))\
349 $($(target)_DEPS.$(bld_trg))\
350 $($(target)_DEPS.$(bld_trg_arch))\
351 $($(target)_DEPS.$(bld_trg).$(bld_trg_arch))\
352 $($(target)_DEPS.$(bld_trg_cpu))
353
354# dependencies
355dep := $(obj)$(SUFF_DEP)
356ifndef NO_COMPILE_CMDS_DEPS
357_DEPFILES_INCLUDED += $(dep)
358$(if $(wildcard $(dep)),$(eval include $(dep)))
359endif
360
361#$ (warning dbg: target=$(target) source=$(source) tool=$(tool) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff) deps=$(deps))
362ifndef TOOL_$(tool)_COMPILE_$(type)_CMDS
363$(warning kBuild: tools: \
364 1 $($(target)_$(source)_$(type)TOOL.$(bld_trg).$(bld_trg_arch)) \
365 2 $($(target)_$(source)_$(type)TOOL.$(bld_trg)) \
366 3 $($(target)_$(source)_$(type)TOOL) \
367 4 $($(target)_$(source)_TOOL.$(bld_trg).$(bld_trg_arch)) \
368 5 $($(target)_$(source)_TOOL.$(bld_trg)) \
369 6 $($(target)_$(source)_TOOL) \
370 7 $($(target)_$(type)TOOL.$(bld_trg).$(bld_trg_arch)) \
371 8 $($(target)_$(type)TOOL.$(bld_trg)) \
372 9 $($(target)_$(type)TOOL) \
373 10 $($(target)_TOOL.$(bld_trg).$(bld_trg_arch)) \
374 11 $($(target)_TOOL.$(bld_trg)) \
375 12 $($(target)_TOOL) \
376 13 $($(source)_$(type)TOOL.$(bld_trg).$(bld_trg_arch)) \
377 14 $($(source)_$(type)TOOL.$(bld_trg)) \
378 15 $($(source)_$(type)TOOL) \
379 16 $($(source)_TOOL.$(bld_trg).$(bld_trg_arch)) \
380 17 $($(source)_TOOL.$(bld_trg)) \
381 18 $($(source)_TOOL) \
382 19 $($(type)TOOL.$(bld_trg).$(bld_trg_arch)) \
383 20 $($(type)TOOL.$(bld_trg)) \
384 21 $($(type)TOOL) \
385 22 $(TOOL.$(bld_trg).$(bld_trg_arch)) \
386 23 $(TOOL.$(bld_trg)) \
387 24 $(TOOL) )
388$(error kBuild: TOOL_$(tool)_COMPILE_$(type)_CMDS is not defined. source=$(source) target=$(target) )
389endif
390
391# call the tool
392$(target)_$(source)_CMDS_ := $(TOOL_$(tool)_COMPILE_$(type)_CMDS)
393$(target)_$(source)_OUTPUT_ := $(TOOL_$(tool)_COMPILE_$(type)_OUTPUT)
394$(target)_$(source)_DEPEND_ := $(TOOL_$(tool)_COMPILE_$(type)_DEPEND) $(deps) $(source)
395$(target)_$(source)_DEPORD_ := $(TOOL_$(tool)_COMPILE_$(type)_DEPORD) $(dirdep)
396
397# generate the compile rule.
398$(eval $(def_target_source_rule))
399
400_OUT_FILES += $($(target)_$(source)_OUTPUT_)
401$(target)_OBJS_ += $(obj)
402
403endef
404
Note: See TracBrowser for help on using the repository browser.