Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  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
  39.