1# file : build/c/gnu/c-o.make 2# copyright : Copyright (c) 2004-2012 Code Synthesis Tools CC 3# license : GNU GPL v2; see accompanying LICENSE file 4 5$(call include-once,$(bld_root)/c/cpp-options.make,$(out_base)) 6$(call include,$(bld_root)/c/gnu/configuration.make) 7 8$(out_base)/%.o: c := $(c_gnu) 9$(out_base)/%.o: c_options := $(c_gnu_optimization_options) $(c_gnu_debugging_options) 10 11#@@ wrong prefix 12# 13$(out_base)/%.o: expand-cpp-options-impl = \ 14$(if $1,$(shell sed -e 's%include: \(.*\)%\1%' -e t -e d $1)) 15 16$(out_base)/%.o: expand-cpp-options = \ 17$(call expand-cpp-options-impl,$(filter %.cpp-options,$1)) 18 19ifeq ($(out_base),$(src_base)) 20$(out_base)/%.o: $(src_base)/%.$(c_s_suffix) 21else 22$(out_base)/%.o: $(src_base)/%.$(c_s_suffix) | $$(dir $$@). 23endif 24 $(call message,c $<,$(c) \ 25$(cpp_options) $(call expand-cpp-options,$^) $(c_pp_extra_options) $(c_options) \ 26$(c_pic_options) $(subst y,-fexceptions,$(filter y,$(c_exceptions))) $(c_extra_options) -o $@ -c $<) 27 28 29ifneq ($(out_base),$(src_base)) 30 31$(out_base)/%.o: $(out_base)/%.$(c_s_suffix) | $$(dir $$@). 32 $(call message,c $<,$(c) \ 33$(cpp_options) $(call expand-cpp-options,$^) $(c_pp_extra_options) $(c_options) \ 34$(c_pic_options) $(subst y,-fexceptions,$(filter y,$(c_exceptions))) $(c_extra_options) -o $@ -c $<) 35 36endif 37 38.PHONY: $(out_base)/%.o.$(c_s_suffix).clean 39 40$(out_base)/%.o.$(c_s_suffix).clean: 41 $(call message,rm $$1,rm -f $$1,$(basename $(basename $@))) 42