
commit 0edf8b5b2fa0d210ebc4d6da0fd1aceeb7e44e47 breaks building on a different directory with the O= parameter. The patch wil fix this issue, generating always asm-offsets.h before the other targets.
Signed-off-by: Stefano Babic sbabic@denx.de ---
Changes since V1:
- use an empty asm-offsets.s instead of asm-offsets.c (M. Weisser) - add asm-offsets.{h,s} to the make clean target (M. Weisser)
Makefile | 20 +++++++++++++++++++- rules.mk | 10 ---------- 2 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/Makefile b/Makefile index a641f8f..c68aaee 100644 --- a/Makefile +++ b/Makefile @@ -464,7 +464,8 @@ updater: # parallel sub-makes creating .depend files simultaneously. depend dep: $(TIMESTAMP_FILE) $(VERSION_FILE) \ $(obj)include/autoconf.mk \ - $(obj)include/generated/generic-asm-offsets.h + $(obj)include/generated/generic-asm-offsets.h \ + $(obj)include/asm/arch/asm-offsets.h for dir in $(SUBDIRS) $(CPUDIR) $(dir $(LDSCRIPT)) ; do \ $(MAKE) -C $$dir _depend ; done
@@ -527,6 +528,21 @@ $(obj)lib/asm-offsets.s: $(obj)include/autoconf.mk.dep \ $(CFLAGS) $(CFLAGS_$(BCURDIR)/$(@F)) $(CFLAGS_$(BCURDIR)) \ -o $@ $(src)lib/asm-offsets.c -c -S
+$(obj)include/asm/arch/asm-offsets.h: $(obj)include/autoconf.mk.dep \ + $(obj)$(CPUDIR)/$(SOC)/asm-offsets.s + @echo Generating $@ + tools/scripts/make-asm-offsets $(obj)$(CPUDIR)/$(SOC)/asm-offsets.s $@ + +$(obj)$(CPUDIR)/$(SOC)/asm-offsets.s: $(obj)include/autoconf.mk.dep + @mkdir -p $(obj)$(CPUDIR)/$(SOC) + if [ -f $(src)$(CPUDIR)/$(SOC)/asm-offsets.c ];then \ + $(CC) -DDO_DEPS_ONLY \ + $(CFLAGS) $(CFLAGS_$(BCURDIR)/$(@F)) $(CFLAGS_$(BCURDIR)) \ + -o $@ $(src)$(CPUDIR)/$(SOC)/asm-offsets.c -c -S; \ + else \ + touch $(src)$(CPUDIR)/$(SOC)/asm-offsets.s; \ + fi + ######################################################################### else # !config.mk all $(obj)u-boot.hex $(obj)u-boot.srec $(obj)u-boot.bin \ @@ -927,6 +943,8 @@ clean: $(obj)arch/blackfin/cpu/init.{lds,elf} @rm -f $(obj)include/bmp_logo.h @rm -f $(obj)lib/asm-offsets.s + @rm -f $(obj)include/asm/arch/asm-offsets.h + @rm -f $(obj)$(CPUDIR)/$(SOC)/asm-offsets.s @rm -f $(obj)nand_spl/{u-boot.lds,u-boot-nand_spl.lds,u-boot-spl,u-boot-spl.map,System.map} @rm -f $(obj)onenand_ipl/onenand-{ipl,ipl.bin,ipl.map} @rm -f $(obj)mmc_spl/{u-boot.lds,u-boot-spl,u-boot-spl.map,u-boot-spl.bin,u-boot-mmc-spl.bin} diff --git a/rules.mk b/rules.mk index a6bae62..d79fcd3 100644 --- a/rules.mk +++ b/rules.mk @@ -42,14 +42,4 @@ $(HOSTOBJS): $(obj)%.o: %.c $(NOPEDOBJS): $(obj)%.o: %.c $(HOSTCC) $(HOSTCFLAGS_NOPED) $(HOSTCFLAGS_$(@F)) $(HOSTCFLAGS_$(BCURDIR)) -o $@ $< -c
-$(TOPDIR)/include/asm/arch/asm-offsets.h: $(TOPDIR)/include/autoconf.mk.dep \ - $(TOPDIR)/$(CPUDIR)/$(SOC)/asm-offsets.s - @echo Generating $@ - $(TOPDIR)/tools/scripts/make-asm-offsets $(TOPDIR)/$(CPUDIR)/$(SOC)/asm-offsets.s $@ - -$(TOPDIR)/$(CPUDIR)/$(SOC)/asm-offsets.s: $(TOPDIR)/include/autoconf.mk.dep \ - $(TOPDIR)/$(CPUDIR)/$(SOC)/asm-offsets.c - $(CC) -DDO_DEPS_ONLY \ - $(CFLAGS) $(CFLAGS_$(BCURDIR)/$(@F)) $(CFLAGS_$(BCURDIR)) \ - -o $@ $(TOPDIR)/$(CPUDIR)/$(SOC)/asm-offsets.c -c -S #########################################################################