# our default target .PHONY: all all: include $(TOPDIR)/config.mk LIB := $(obj)built-in.o LIBGCC = $(obj)libgcc.o SRCS := include Makefile # Backward compatible: obj-y is preferable COBJS := $(sort $(COBJS) $(COBJS-y)) SOBJS := $(sort $(SOBJS) $(SOBJS-y)) # Going forward use the following obj-y := $(sort $(obj-y)) extra-y := $(sort $(extra-y)) lib-y := $(sort $(lib-y)) subdir-y := $(patsubst %/,%,$(filter %/, $(obj-y))) obj-y := $(patsubst %/, %/built-in.o, $(obj-y)) subdir-obj-y := $(filter %/built-in.o, $(obj-y)) subdir-obj-y := $(addprefix $(obj),$(subdir-obj-y)) SRCS += $(COBJS:.o=.c) $(SOBJS:.o=.S) \ $(wildcard $(obj-y:.o=.c) $(obj-y:.o=.S) $(lib-y:.o=.c) $(lib-y:.o=.S) $(extra-y:.o=.c) $(extra-y:.o=.S)) OBJS := $(addprefix $(obj),$(COBJS) $(SOBJS) $(obj-y)) LGOBJS := $(addprefix $(obj),$(sort $(GLSOBJS) $(GLCOBJS)) $(lib-y)) all: $(LIB) $(addprefix $(obj),$(extra-y)) $(LIB): $(obj).depend $(OBJS) $(call cmd_link_o_target, $(OBJS)) ifneq ($(strip $(lib-y)),) all: $(LIBGCC) $(LIBGCC): $(obj).depend $(LGOBJS) $(call cmd_link_o_target, $(LGOBJS)) endif ifneq ($(subdir-obj-y),) # Descending $(subdir-obj-y): $(subdir-y) $(subdir-y): FORCE $(MAKE) -C $@ -f $(TOPDIR)/scripts/Makefile.build endif ######################################################################### # defines $(obj).depend target include $(TOPDIR)/rules.mk sinclude $(obj).depend ######################################################################### .PHONY: FORCE