xref: /netbsd-src/external/gpl3/gcc/dist/libgcc/shared-object.mk (revision 4d5abbe83f525258eb479e5fca29f25cb943f379)
14fee23f9Smrg# This file is included several times in a row, once for each element of
24fee23f9Smrg# $(iter-items).  On each inclusion, we advance $o to the next element.
34fee23f9Smrg
44fee23f9Smrgo := $(firstword $(iter-items))
54fee23f9Smrgiter-items := $(filter-out $o,$(iter-items))
64fee23f9Smrg
74fee23f9Smrgbase := $(basename $(notdir $o))
84fee23f9Smrg
948fb7bfaSmrgc_flags-$o := $(c_flags)
1048fb7bfaSmrg
114fee23f9Smrgifeq ($(suffix $o),.c)
124fee23f9Smrg
134fee23f9Smrg$(base)$(objext): $o
1448fb7bfaSmrg	$(gcc_compile) $(c_flags-$<) -c $< $(vis_hide)
154fee23f9Smrg
164fee23f9Smrg$(base)_s$(objext): $o
1748fb7bfaSmrg	$(gcc_s_compile) $(c_flags-$<) -c $<
184fee23f9Smrg
194fee23f9Smrgelse
204fee23f9Smrg
214fee23f9Smrgifneq ($(suffix $o),.S)
224fee23f9Smrgifneq ($(suffix $o),.asm)
234fee23f9Smrg$(error Unsupported file type: $o)
244fee23f9Smrgendif
254fee23f9Smrgendif
264fee23f9Smrg
27*4d5abbe8Smrgas_flags-$o := -xassembler$(if $(filter .S,$(suffix $o)),-with-cpp)
28*4d5abbe8Smrg
294fee23f9Smrg$(base)$(objext): $o $(base).vis
30*4d5abbe8Smrg	$(gcc_compile) -c $(as_flags-$<) -include $*.vis $<
314fee23f9Smrg
324fee23f9Smrg$(base).vis: $(base)_s$(objext)
334fee23f9Smrg	$(gen-hide-list)
344fee23f9Smrg
354fee23f9Smrg$(base)_s$(objext): $o
36*4d5abbe8Smrg	$(gcc_s_compile) -c $(as_flags-$<) $<
374fee23f9Smrg
384fee23f9Smrgendif
39