LDFLAGS_u-boot += -Ttext $(CONFIG_SYS_TEXT_BASE)
endif
+quiet_cmd_objcopy = OBJCOPY $@
+cmd_objcopy = $(OBJCOPY) $(OBJCOPYFLAGS) $(OBJCOPYFLAGS_$(@F)) $< $@
+
all: $(ALL-y)
PHONY += dtbs
u-boot-dtb.bin: u-boot.bin dts/dt.dtb
cat $^ >$@
-u-boot.hex: u-boot
- $(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@
+OBJCOPYFLAGS_u-boot.hex := -O ihex
-u-boot.srec: u-boot
- $(OBJCOPY) ${OBJCFLAGS} -O srec $< $@
+OBJCOPYFLAGS_u-boot.srec := -O srec
-u-boot.bin: u-boot
- $(OBJCOPY) ${OBJCFLAGS} -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) ${OBJCFLAGS} -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) ${OBJCFLAGS} -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
-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 \
# $@ is output, $(1) and $(2) are inputs, $(3) is padded intermediate,
# $(4) is pad-to
SPL_PAD_APPEND = \
- $(OBJCOPY) ${OBJCFLAGS} --pad-to=$(4) -I binary -O binary \
+ $(OBJCOPY) $(OBJCOPYFLAGS) --pad-to=$(4) -I binary -O binary \
$(1) $(3); \
cat $(3) $(2) > $@; \
rm $(3)
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 \
-e $(CONFIG_SPL_TEXT_BASE) \
-d spl/u-boot-spl.bin \
spl/u-boot-spl.ais
- $(OBJCOPY) ${OBJCFLAGS} -I binary \
+ $(OBJCOPY) $(OBJCOPYFLAGS) -I binary \
--pad-to=$(CONFIG_SPL_MAX_SIZE) -O binary \
spl/u-boot-spl.ais spl/u-boot-spl-pad.ais
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
ifneq ($(CONFIG_TEGRA),)
u-boot-nodtb-tegra.bin: spl/u-boot-spl.bin u-boot.bin
- $(OBJCOPY) ${OBJCFLAGS} --pad-to=$(CONFIG_SYS_TEXT_BASE) -O binary spl/u-boot-spl spl/u-boot-spl-pad.bin
+ $(OBJCOPY) $(OBJCOPYFLAGS) --pad-to=$(CONFIG_SYS_TEXT_BASE) -O binary spl/u-boot-spl spl/u-boot-spl-pad.bin
cat spl/u-boot-spl-pad.bin u-boot.bin > $@
rm spl/u-boot-spl-pad.bin
archprepare: prepare1 scripts_basic
-prepare0: archprepare FORCE include/generated/generic-asm-offsets.h \
- include/generated/asm-offsets.h
- @:
+prepare0: archprepare FORCE
+ $(Q)$(MAKE) $(build)=.
# All the preparing..
prepare: prepare0
$(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
false; \
fi
-quiet_cmd_offsets = GEN $@
- cmd_offsets = $(srctree)/tools/scripts/make-asm-offsets $< $@
-
-include/generated/generic-asm-offsets.h: lib/asm-offsets.s
- $(call cmd,offsets)
-
-quiet_cmd_asm-offsets.s = CC $@
- cmd_asm-offsets.s = mkdir -p lib; \
- $(CC) -DDO_DEPS_ONLY \
- $(c_flags) $(CFLAGS_$(BCURDIR)/$(@F)) $(CFLAGS_$(BCURDIR)) \
- -o $@ $< -c -S
-
-lib/asm-offsets.s: $(srctree)/lib/asm-offsets.c include/config.h
- $(call cmd,asm-offsets.s)
-
-include/generated/asm-offsets.h: $(CPUDIR)/$(SOC)/asm-offsets.s
- $(call cmd,offsets)
-
-quiet_cmd_soc_asm-offsets.s = CC $@
- cmd_soc_asm-offsets.s = mkdir -p $(CPUDIR)/$(SOC); \
- if [ -f $(srctree)/$(CPUDIR)/$(SOC)/asm-offsets.c ];then \
- $(CC) -DDO_DEPS_ONLY \
- $(c_flags) $(CFLAGS_$(BCURDIR)/$(@F)) $(CFLAGS_$(BCURDIR)) \
- -o $@ $(srctree)/$(CPUDIR)/$(SOC)/asm-offsets.c -c -S; \
- else \
- touch $@; \
- fi
-
-$(CPUDIR)/$(SOC)/asm-offsets.s: include/config.h
- $(call cmd,soc_asm-offsets.s)
-
#########################################################################
# ARM relocations should all be R_ARM_RELATIVE (32-bit) or
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