X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=examples%2Fapi%2FMakefile;h=6cffee74652f944d9d9bc9ed812b4177432f98af;hb=78d578422abb9ba1a624e619ec62a0dcea7d3218;hp=09475f87e496a908f6d3d2a7f81c1768a015a2e5;hpb=cbce795e5ef2175b1fd3ec580281ef8ce397afd7;p=u-boot diff --git a/examples/api/Makefile b/examples/api/Makefile index 09475f87e4..6cffee7465 100644 --- a/examples/api/Makefile +++ b/examples/api/Makefile @@ -10,44 +10,55 @@ endif ifeq ($(ARCH),arm) LOAD_ADDR = 0x1000000 endif +ifeq ($(ARCH),mips) +ifdef CONFIG_64BIT +LOAD_ADDR = 0xffffffff80200000 +else +LOAD_ADDR = 0x80200000 +endif +endif # Resulting ELF and binary exectuables will be named demo and demo.bin extra-y = demo # Source files located in the examples/api directory -SOBJ_FILES-y += crt0.o -COBJ_FILES-y += demo.o -COBJ_FILES-y += glue.o -COBJ_FILES-y += libgenwrap.o +OBJ-y += crt0.o +OBJ-y += demo.o +OBJ-y += glue.o +OBJ-y += libgenwrap.o # Source files which exist outside the examples/api directory -EXT_COBJ_FILES-y += lib/crc32.o -EXT_COBJ_FILES-y += lib/ctype.o -EXT_COBJ_FILES-y += lib/div64.o -EXT_COBJ_FILES-y += lib/string.o -EXT_COBJ_FILES-y += lib/time.o -EXT_COBJ_FILES-y += lib/vsprintf.o -EXT_SOBJ_FILES-$(CONFIG_PPC) += arch/powerpc/lib/ppcstring.o +EXT_COBJ-y += lib/crc32.o +EXT_COBJ-y += lib/ctype.o +EXT_COBJ-y += lib/div64.o +EXT_COBJ-y += lib/string.o +EXT_COBJ-y += lib/time.o +EXT_COBJ-y += lib/vsprintf.o +EXT_SOBJ-$(CONFIG_PPC) += arch/powerpc/lib/ppcstring.o # Create a list of object files to be compiled -OBJS += $(addprefix $(obj)/,$(SOBJ_FILES-y)) -OBJS += $(addprefix $(obj)/,$(COBJ_FILES-y)) -OBJS += $(addprefix $(obj)/,$(notdir $(EXT_COBJ_FILES-y))) -OBJS += $(addprefix $(obj)/,$(notdir $(EXT_SOBJ_FILES-y))) +OBJS := $(OBJ-y) $(notdir $(EXT_COBJ-y) $(EXT_SOBJ-y)) +targets += $(OBJS) +OBJS := $(addprefix $(obj)/,$(OBJS)) ######################################################################### -$(obj)/demo: $(OBJS) - $(LD) --gc-sections -Ttext $(LOAD_ADDR) -o $@ $^ $(PLATFORM_LIBS) +quiet_cmd_link_demo = LD $@ +cmd_link_demo = $(LD) --gc-sections -Ttext $(LOAD_ADDR) -o $@ $(filter-out $(PHONY), $^) $(PLATFORM_LIBS) + +$(obj)/demo: $(OBJS) FORCE + $(call if_changed,link_demo) -$(obj)/demo.bin: $(obj)/demo - $(OBJCOPY) -O binary $< $@ 2>/dev/null +# demo.bin is never genrated. Is this necessary? +OBJCOPYFLAGS_demo.bin := -O binary +$(obj)/demo.bin: $(obj)/demo FORCE + $(call if_changed,objcopy) # Rule to build generic library C files -$(addprefix $(obj)/,$(notdir $(EXT_COBJ_FILES-y))): $(obj)/%.o: $(SRCTREE)/lib/%.c FORCE +$(addprefix $(obj)/,$(notdir $(EXT_COBJ-y))): $(obj)/%.o: lib/%.c FORCE $(call cmd,force_checksrc) $(call if_changed_rule,cc_o_c) # Rule to build architecture-specific library assembly files -$(addprefix $(obj)/,$(notdir $(EXT_SOBJ_FILES-y))): $(obj)/%.o: $(SRCTREE)/arch/$(ARCH)/lib/%.S +$(addprefix $(obj)/,$(notdir $(EXT_SOBJ-y))): $(obj)/%.o: arch/powerpc/lib/%.S FORCE $(call if_changed_dep,as_o_S)