]>
Commit | Line | Data |
---|---|---|
1 | # This file is included several times in a row, once for each element of | |
2 | # $(iter-items). On each inclusion, we advance $o to the next element. | |
3 | ||
4 | o := $(firstword $(iter-items)) | |
5 | iter-items := $(filter-out $o,$(iter-items)) | |
6 | ||
7 | base := $(basename $(notdir $o)) | |
8 | ||
9 | # Copy c_flags to a rule-specific copy and use the copy, to avoid the | |
10 | # following rules being affected by later changes to c_flags in the | |
11 | # including file. | |
12 | c_flags-$o := $(c_flags) | |
13 | ||
14 | ifeq ($(suffix $o),.c) | |
15 | ||
16 | $(base)$(objext): $o | |
17 | $(gcc_compile) $(c_flags-$<) -c $< $(vis_hide) | |
18 | ||
19 | else | |
20 | ||
21 | ifneq ($(suffix $o),.S) | |
22 | ifneq ($(suffix $o),.asm) | |
23 | $(error Unsupported file type: $o) | |
24 | endif | |
25 | endif | |
26 | ||
27 | as_flags-$o := -xassembler$(if $(filter .S,$(suffix $o)),-with-cpp) | |
28 | ||
29 | $(base)$(objext): $o $(base).vis | |
30 | $(gcc_compile) -c $(as_flags-$<) -include $*.vis $< | |
31 | ||
32 | $(base).vis: $(base)_s$(objext) | |
33 | $(gen-hide-list) | |
34 | ||
35 | $(base)_s$(objext): $o | |
36 | $(gcc_s_compile) -c $(as_flags-$<) $< | |
37 | ||
38 | endif |