kbuild: use shorten logs objcopy rules
[platform/kernel/u-boot.git] / Makefile
index ad91168..7a179cd 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -743,6 +743,9 @@ ifneq ($(CONFIG_SYS_TEXT_BASE),)
 LDFLAGS_u-boot += -Ttext $(CONFIG_SYS_TEXT_BASE)
 endif
 
+quiet_cmd_objcopy = OBJCOPY $@
+cmd_objcopy = $(OBJCOPY) $(OBJCOPYFLAGS) $(OBJCOPYFLAGS_$(@F)) $< $@
+
 all:           $(ALL-y)
 
 PHONY += dtbs
@@ -752,27 +755,31 @@ dtbs dts/dt.dtb: checkdtc u-boot
 u-boot-dtb.bin: u-boot.bin dts/dt.dtb
                cat $^ >$@
 
-u-boot.hex:    u-boot
-               $(OBJCOPY) $(OBJCOPYFLAGS) -O ihex $< $@
+OBJCOPYFLAGS_u-boot.hex := -O ihex
 
-u-boot.srec:   u-boot
-               $(OBJCOPY) $(OBJCOPYFLAGS) -O srec $< $@
+OBJCOPYFLAGS_u-boot.srec := -O srec
 
-u-boot.bin:    u-boot
-               $(OBJCOPY) $(OBJCOPYFLAGS) -O binary $< $@
-               $(call DO_STATIC_RELA,$<,$@,$(CONFIG_SYS_TEXT_BASE))
-               $(BOARD_SIZE_CHECK)
+u-boot.hex u-boot.srec: u-boot FORCE
+       $(call if_changed,objcopy)
+
+OBJCOPYFLAGS_u-boot.bin := -O binary
+
+u-boot.bin: u-boot FORCE
+       $(call if_changed,objcopy)
+       $(call DO_STATIC_RELA,$<,$@,$(CONFIG_SYS_TEXT_BASE))
+       $(BOARD_SIZE_CHECK)
 
 u-boot.ldr:    u-boot
                $(CREATE_LDR_ENV)
                $(LDR) -T $(CONFIG_BFIN_CPU) -c $@ $< $(LDR_FLAGS)
                $(BOARD_SIZE_CHECK)
 
-u-boot.ldr.hex:        u-boot.ldr
-               $(OBJCOPY) $(OBJCOPYFLAGS) -O ihex $< $@ -I binary
+OBJCOPYFLAGS_u-boot.ldr.hex := -I binary -O ihex
+
+OBJCOPYFLAGS_u-boot.ldr.srec := -I binary -O srec
 
-u-boot.ldr.srec:       u-boot.ldr
-               $(OBJCOPY) $(OBJCOPYFLAGS) -O srec $< $@ -I binary
+u-boot.ldr.hex u-boot.ldr.srec: u-boot.ldr FORCE
+       $(call if_changed,objcopy)
 
 #
 # U-Boot entry point, needed for booting of full-blown U-Boot
@@ -790,7 +797,7 @@ u-boot.img: u-boot.bin
                -d $< $@
 
 u-boot.imx: u-boot.bin
-               $(MAKE) $(build)=arch/arm/imx-common $(objtree)/u-boot.imx
+       $(Q)$(MAKE) $(build)=arch/arm/imx-common $(objtree)/$@
 
 u-boot.kwb:       u-boot.bin
                tools/mkimage -n $(CONFIG_SYS_KWD_CONFIG) -T kwbimage \
@@ -827,13 +834,8 @@ u-boot-with-spl.bin: spl/u-boot-spl.bin $(SPL_PAYLOAD)
 tpl/u-boot-with-tpl.bin: tpl/u-boot-tpl.bin u-boot.bin
                $(call SPL_PAD_APPEND,$<,u-boot.bin,tpl/u-boot-tpl-pad.bin,$(CONFIG_TPL_PAD_TO))
 
-u-boot-with-spl.imx: spl/u-boot-spl.bin u-boot.bin
-               $(MAKE) $(build)=arch/arm/imx-common \
-                       $(OBJTREE)/u-boot-with-spl.imx
-
-u-boot-with-nand-spl.imx: spl/u-boot-spl.bin u-boot.bin
-               $(MAKE) $(build)=arch/arm/imx-common \
-                       $(OBJTREE)/u-boot-with-nand-spl.imx
+u-boot-with-spl.imx u-boot-with-nand-spl.imx: spl/u-boot-spl.bin u-boot.bin
+       $(Q)$(MAKE) $(build)=arch/arm/imx-common $(objtree)/$@
 
 u-boot.ubl:       u-boot-with-spl.bin
                tools/mkimage -n $(UBL_CONFIG) -T ublimage \
@@ -851,8 +853,8 @@ u-boot.ais:       spl/u-boot-spl.bin u-boot.img
                cat spl/u-boot-spl-pad.ais u-boot.img > u-boot.ais
 
 
-u-boot.sb:       u-boot.bin spl/u-boot-spl.bin
-               $(MAKE) $(build)=$(CPUDIR)/$(SOC)/ $(OBJTREE)/u-boot.sb
+u-boot.sb: u-boot.bin spl/u-boot-spl.bin
+       $(Q)$(MAKE) $(build)=arch/arm/cpu/arm926ejs/mxs $(objtree)/u-boot.sb
 
 # On x600 (SPEAr600) U-Boot is appended to U-Boot SPL.
 # Both images are created using mkimage (crc etc), so that the ROM
@@ -1050,16 +1052,16 @@ u-boot.lds: $(LDSCRIPT) prepare
                $(CPP) $(cpp_flags) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
 
 nand_spl: prepare
-               $(MAKE) $(build)=nand_spl/board/$(BOARDDIR) all
+       $(Q)$(MAKE) $(build)=nand_spl/board/$(BOARDDIR) all
 
 u-boot-nand.bin:       nand_spl u-boot.bin
                cat nand_spl/u-boot-spl-16k.bin u-boot.bin > u-boot-nand.bin
 
 spl/u-boot-spl.bin: tools prepare
-               $(MAKE) obj=spl -f $(srctree)/spl/Makefile all
+       $(Q)$(MAKE) obj=spl -f $(srctree)/spl/Makefile all
 
 tpl/u-boot-tpl.bin: tools prepare
-               $(MAKE) obj=tpl -f $(srctree)/spl/Makefile all CONFIG_TPL_BUILD=y
+       $(Q)$(MAKE) obj=tpl -f $(srctree)/spl/Makefile all CONFIG_TPL_BUILD=y
 
 TAG_SUBDIRS := $(u-boot-dirs) include
 
@@ -1258,6 +1260,16 @@ quiet_cmd_rmdirs = $(if $(wildcard $(rm-dirs)),CLEAN   $(wildcard $(rm-dirs)))
 quiet_cmd_rmfiles = $(if $(wildcard $(rm-files)),CLEAN   $(wildcard $(rm-files)))
       cmd_rmfiles = rm -f $(rm-files)
 
+# read all saved command lines
+
+targets := $(wildcard $(sort $(targets)))
+cmd_files := $(wildcard .*.cmd $(foreach f,$(targets),$(dir $(f)).$(notdir $(f)).cmd))
+
+ifneq ($(cmd_files),)
+  $(cmd_files): ;      # Do not try to update included dependency files
+  include $(cmd_files)
+endif
+
 # Shorthand for $(Q)$(MAKE) -f scripts/Makefile.clean obj=dir
 # Usage:
 # $(Q)$(MAKE) $(clean)=dir