0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 __tprogs := $(sort $(tprogs-y))
0020
0021
0022
0023 tprog-csingle := $(foreach m,$(__tprogs), \
0024 $(if $($(m)-objs),,$(m)))
0025
0026
0027 tprog-cmulti := $(foreach m,$(__tprogs),\
0028 $(if $($(m)-objs),$(m)))
0029
0030
0031 tprog-cobjs := $(sort $(foreach m,$(__tprogs),$($(m)-objs)))
0032
0033 tprog-csingle := $(addprefix $(obj)/,$(tprog-csingle))
0034 tprog-cmulti := $(addprefix $(obj)/,$(tprog-cmulti))
0035 tprog-cobjs := $(addprefix $(obj)/,$(tprog-cobjs))
0036
0037
0038
0039
0040 _tprogc_flags = $(TPROGS_CFLAGS) \
0041 $(TPROGCFLAGS_$(basetarget).o)
0042
0043
0044 ifeq ($(KBUILD_EXTMOD),)
0045 ifdef building_out_of_srctree
0046 _tprogc_flags += -I $(objtree)/$(obj)
0047 endif
0048 endif
0049
0050 tprogc_flags = -Wp,-MD,$(depfile) $(_tprogc_flags)
0051
0052
0053
0054 quiet_cmd_tprog-csingle = CC $@
0055 cmd_tprog-csingle = $(CC) $(tprogc_flags) $(TPROGS_LDFLAGS) -o $@ $< \
0056 $(TPROGS_LDLIBS) $(TPROGLDLIBS_$(@F))
0057 $(tprog-csingle): $(obj)/%: $(src)/%.c FORCE
0058 $(call if_changed_dep,tprog-csingle)
0059
0060
0061
0062 quiet_cmd_tprog-cmulti = LD $@
0063 cmd_tprog-cmulti = $(CC) $(tprogc_flags) $(TPROGS_LDFLAGS) -o $@ \
0064 $(addprefix $(obj)/,$($(@F)-objs)) \
0065 $(TPROGS_LDLIBS) $(TPROGLDLIBS_$(@F))
0066 $(tprog-cmulti): $(tprog-cobjs) FORCE
0067 $(call if_changed,tprog-cmulti)
0068 $(call multi_depend, $(tprog-cmulti), , -objs)
0069
0070
0071
0072 quiet_cmd_tprog-cobjs = CC $@
0073 cmd_tprog-cobjs = $(CC) $(tprogc_flags) -c -o $@ $<
0074 $(tprog-cobjs): $(obj)/%.o: $(src)/%.c FORCE
0075 $(call if_changed_dep,tprog-cobjs)