Signed-off-by: Masahiro Yamada <yamad...@jp.panasonic.com>
---

 Makefile                     |  7 +++++--
 arch/blackfin/cpu/Makefile   |  6 +++++-
 examples/api/Makefile        | 40 +++++++++++++++++++++-------------------
 examples/standalone/Makefile | 25 +++++++++++--------------
 spl/Makefile                 |  6 +++++-
 5 files changed, 47 insertions(+), 37 deletions(-)

diff --git a/Makefile b/Makefile
index c4706d6..907b013 100644
--- a/Makefile
+++ b/Makefile
@@ -1049,9 +1049,12 @@ depend dep:
        @echo '*** Warning: make $@ is unnecessary now.'
 
 # ---------------------------------------------------------------------------
+quiet_cmd_cpp_lds = LDS     $@
+cmd_cpp_lds = $(CPP) $(cpp_flags) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ \
+               -x assembler-with-cpp -P -o $@ $<
 
-u-boot.lds: $(LDSCRIPT) prepare
-               $(CPP) $(cpp_flags) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< 
>$@
+u-boot.lds: $(LDSCRIPT) prepare FORCE
+       $(call if_changed,cpp_lds)
 
 PHONY += nand_spl
 nand_spl: prepare
diff --git a/arch/blackfin/cpu/Makefile b/arch/blackfin/cpu/Makefile
index 426292f..cfbcd31 100644
--- a/arch/blackfin/cpu/Makefile
+++ b/arch/blackfin/cpu/Makefile
@@ -37,5 +37,9 @@ ifneq ($(CONFIG_BFIN_BOOT_MODE),BFIN_BOOT_BYPASS)
 endif
 
 CPPFLAGS_init.lds := -ansi
+
+quiet_cmd_link_init = LD      $@
+      cmd_link_init = $(LD) $(LDFLAGS) -T $^ -o $@
 $(obj)/init.elf: $(obj)/init.lds $(obj)/init.o $(obj)/initcode.o
-       $(LD) $(LDFLAGS) -T $^ -o $@
+       $(call if_changed,link_init)
+targets += init.lds init.o
diff --git a/examples/api/Makefile b/examples/api/Makefile
index 6c19830..6cf23d1 100644
--- a/examples/api/Makefile
+++ b/examples/api/Makefile
@@ -15,30 +15,32 @@ endif
 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)
 
 # demo.bin is never genrated. Is this necessary?
 OBJCOPYFLAGS_demo.bin := -O binary
@@ -46,10 +48,10 @@ $(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)
diff --git a/examples/standalone/Makefile b/examples/standalone/Makefile
index 5f61043..5b227cd 100644
--- a/examples/standalone/Makefile
+++ b/examples/standalone/Makefile
@@ -24,22 +24,18 @@ ELF := $(strip $(extra-y))
 extra-y += $(addsuffix .srec,$(extra-y)) $(addsuffix .bin,$(extra-y))
 clean-files  := $(extra-) $(addsuffix .srec,$(extra-)) $(addsuffix 
.bin,$(extra-))
 
-
 COBJS  := $(ELF:=.o)
 
 LIB    = $(obj)/libstubs.o
 
-LIBAOBJS-$(CONFIG_PPC) += ppc_longjmp.o ppc_setjmp.o
-LIBAOBJS-$(CONFIG_8xx) += test_burst_lib.o
-LIBAOBJS := $(LIBAOBJS-y)
-
-LIBCOBJS = stubs.o
+LIBOBJS-$(CONFIG_PPC) += ppc_longjmp.o ppc_setjmp.o
+LIBOBJS-$(CONFIG_8xx) += test_burst_lib.o
+LIBOBJS-y += stubs.o
 
 .SECONDARY: $(call objectify,$(COBJS))
-targets += $(patsubst $(obj)/%,%,$(LIB)) $(COBJS) $(LIBAOBJS) $(LIBCOBJS)
-
-LIBOBJS        = $(addprefix $(obj)/,$(LIBAOBJS) $(LIBCOBJS))
+targets += $(patsubst $(obj)/%,%,$(LIB)) $(COBJS) $(LIBOBJS-y)
 
+LIBOBJS        := $(addprefix $(obj)/,$(LIBOBJS-y))
 ELF    := $(addprefix $(obj)/,$(ELF))
 
 gcclibdir := $(shell dirname `$(CC) -print-libgcc-file-name`)
@@ -66,11 +62,12 @@ quiet_cmd_link_lib = LD      $@
 $(LIB):        $(LIBOBJS) FORCE
        $(call if_changed,link_lib)
 
-$(ELF):
-$(obj)/%:      $(obj)/%.o $(LIB)
-               $(LD) $(LDFLAGS) -g -Ttext $(CONFIG_STANDALONE_LOAD_ADDR) \
-                       -o $@ -e $(SYM_PREFIX)$(notdir $(<:.o=)) $< $(LIB) \
-                       -L$(gcclibdir) -lgcc
+quiet_cmd_link_elf = LD      $@
+      cmd_link_elf = $(LD) $(LDFLAGS) -g -Ttext $(CONFIG_STANDALONE_LOAD_ADDR) 
\
+                    -o $@ -e $(SYM_PREFIX)$(@F) $< $(LIB) -L$(gcclibdir) -lgcc
+
+$(ELF): $(obj)/%: $(obj)/%.o $(LIB) FORCE
+       $(call if_changed,link_elf)
 
 $(obj)/%.srec: OBJCOPYFLAGS := -O srec
 $(obj)/%.srec: $(obj)/% FORCE
diff --git a/spl/Makefile b/spl/Makefile
index 43d053a..22d6323 100644
--- a/spl/Makefile
+++ b/spl/Makefile
@@ -232,8 +232,12 @@ $(u-boot-spl-dirs):
 # FIX ME
 cpp_flags := $(KBUILD_CPPFLAGS) $(CPPFLAGS) $(UBOOTINCLUDE) $(NOSTDINC_FLAGS)
 
+quiet_cmd_cpp_lds = LDS     $@
+cmd_cpp_lds = $(CPP) $(cpp_flags) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ \
+               -x assembler-with-cpp -P -o $@ $<
+
 $(obj)/u-boot-spl.lds: $(LDSCRIPT) FORCE
-       $(CPP) $(cpp_flags) $(LDPPFLAGS) -I$(obj). -ansi -D__ASSEMBLY__ -P - < 
$< > $@
+       $(call if_changed,cpp_lds)
 
 # read all saved command lines
 
-- 
1.8.3.2

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to