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 <sba...@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
 #########################################################################
-- 
1.7.1

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

Reply via email to