Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
6518 | serge | 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 |