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