# This file is included several times in a row, once for each element of # $(iter-items). On each inclusion, we advance $o to the next element. o := $(firstword $(iter-items)) iter-items := $(filter-out $o,$(iter-items)) base := $(basename $(notdir $o)) c_flags-$o := $(c_flags) ifeq ($(suffix $o),.c) $(base)$(objext): $o $(gcc_compile) $(c_flags-$<) -c $< $(vis_hide) $(base)_s$(objext): $o $(gcc_s_compile) $(c_flags-$<) -c $< else ifneq ($(suffix $o),.S) ifneq ($(suffix $o),.asm) $(error Unsupported file type: $o) endif endif as_flags-$o := -xassembler$(if $(filter .S,$(suffix $o)),-with-cpp) $(base)$(objext): $o $(base).vis $(gcc_compile) -c $(as_flags-$<) -include $*.vis $< $(base).vis: $(base)_s$(objext) $(gen-hide-list) $(base)_s$(objext): $o $(gcc_s_compile) -c $(as_flags-$<) $< endif |