Daniel Jacobowitz | fa95851 | 2007-01-04 04:22:37 +0000 | [diff] [blame] | 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 | |
Rainer Orth | e4d48a4 | 2011-06-21 14:26:13 +0000 | [diff] [blame] | 9 | c_flags-$o := $(c_flags) |
| 10 | |
Daniel Jacobowitz | fa95851 | 2007-01-04 04:22:37 +0000 | [diff] [blame] | 11 | ifeq ($(suffix $o),.c) |
| 12 | |
| 13 | $(base)$(objext): $o |
Rainer Orth | e4d48a4 | 2011-06-21 14:26:13 +0000 | [diff] [blame] | 14 | $(gcc_compile) $(c_flags-$<) -c $< $(vis_hide) |
Daniel Jacobowitz | fa95851 | 2007-01-04 04:22:37 +0000 | [diff] [blame] | 15 | |
| 16 | $(base)_s$(objext): $o |
Rainer Orth | e4d48a4 | 2011-06-21 14:26:13 +0000 | [diff] [blame] | 17 | $(gcc_s_compile) $(c_flags-$<) -c $< |
Daniel Jacobowitz | fa95851 | 2007-01-04 04:22:37 +0000 | [diff] [blame] | 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 | |
Bernd Schmidt | 738f252 | 2014-11-10 16:12:42 +0000 | [diff] [blame] | 27 | as_flags-$o := -xassembler$(if $(filter .S,$(suffix $o)),-with-cpp) |
| 28 | |
Daniel Jacobowitz | fa95851 | 2007-01-04 04:22:37 +0000 | [diff] [blame] | 29 | $(base)$(objext): $o $(base).vis |
Bernd Schmidt | 738f252 | 2014-11-10 16:12:42 +0000 | [diff] [blame] | 30 | $(gcc_compile) -c $(as_flags-$<) -include $*.vis $< |
Daniel Jacobowitz | fa95851 | 2007-01-04 04:22:37 +0000 | [diff] [blame] | 31 | |
| 32 | $(base).vis: $(base)_s$(objext) |
| 33 | $(gen-hide-list) |
| 34 | |
| 35 | $(base)_s$(objext): $o |
Bernd Schmidt | 738f252 | 2014-11-10 16:12:42 +0000 | [diff] [blame] | 36 | $(gcc_s_compile) -c $(as_flags-$<) $< |
Daniel Jacobowitz | fa95851 | 2007-01-04 04:22:37 +0000 | [diff] [blame] | 37 | |
| 38 | endif |