[U-Boot-Users] build breakage for make -jN

Wolfgang Denk wd at denx.de
Sun Jan 13 21:05:06 CET 2008


In message <20080113194740.C2191247C1 at gemini.denx.de> you wrote:
> In message <8C3593F2-B970-42FA-A92B-FC9714B8A338 at kernel.crashing.org> you wrote:
> > It looks like the following commit has broken the build a bit:
> > 
> > ae6d1056d2c2e4d1266413c0ae8a6d5529ecde4b -     Fix Makefile  
> > dependencies issues; allow silent build
> > 
> > make distclean ; make MPC8544DS_config ; make -j4
> > 
> > I get:
> > 
> > board/freescale/mpc8544ds/libmpc8544ds.a(mpc8544ds.o): In function  
> > `ft_board_setup':
> > /local/home/galak/git/master/u-boot/board/freescale/mpc8544ds/ 
> > mpc8544ds.c:514: undefined reference to `ft_cpu_setup'
> > /local/home/galak/git/master/u-boot/board/freescale/mpc8544ds/ 
> > mpc8544ds.c:516: undefined reference to `fdt_path_offset'
> ...
> 
> Argh... You are right.
> 
> Hm... for some reason libfdt/fdt_ro.o does not get built...

Actually  NONE  of  the  files  in  libfdt/  get  compiled,   because
CONFIG_OF_LIBFDT is not set (yet) when this gets built. Ummm, right -
there  are  no  dependencies  on  building  the OBJS, SUBDIRS or LIBS
targets... Seems this is an old bug, that shows up only now... This
patch seems to fix it - please confirm:

diff --git a/Makefile b/Makefile
index eba9333..8a888b9 100644
--- a/Makefile
+++ b/Makefile
@@ -309,26 +309,25 @@ $(obj)u-boot.sha1:	$(obj)u-boot.bin
 $(obj)u-boot.dis:	$(obj)u-boot
 		$(OBJDUMP) -d $< > $@
 
-$(obj)u-boot:		depend $(obj)include/autoconf.mk \
-			$(SUBDIRS) $(OBJS) $(LIBS) $(LDSCRIPT)
+$(obj)u-boot:		depend $(SUBDIRS) $(OBJS) $(LIBS) $(LDSCRIPT)
 		UNDEF_SYM=`$(OBJDUMP) -x $(LIBS) |sed  -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
 		cd $(LNDIR) && $(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS) \
 			--start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \
 			-Map u-boot.map -o u-boot
 
-$(OBJS):
+$(OBJS):	$(obj)include/autoconf.mk
 		$(MAKE) -C cpu/$(CPU) $(if $(REMOTE_BUILD),$@,$(notdir $@))
 
-$(LIBS):
+$(LIBS):	$(obj)include/autoconf.mk
 		$(MAKE) -C $(dir $(subst $(obj),,$@))
 
-$(SUBDIRS):
+$(SUBDIRS):	$(obj)include/autoconf.mk
 		$(MAKE) -C $@ all
 
-$(NAND_SPL):	$(VERSION_FILE)
+$(NAND_SPL):	$(VERSION_FILE)	$(obj)include/autoconf.mk
 		$(MAKE) -C nand_spl/board/$(BOARDDIR) all
 
-$(U_BOOT_NAND):	$(NAND_SPL) $(obj)u-boot.bin
+$(U_BOOT_NAND):	$(NAND_SPL) $(obj)u-boot.bin $(obj)include/autoconf.mk
 		cat $(obj)nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin > $(obj)u-boot-nand.bin
 
 $(VERSION_FILE):

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
I think it's a new feature. Don't tell anyone it was an accident. :-)
  -- Larry Wall on s/foo/bar/eieio in <10911 at jpl-devvax.JPL.NASA.GOV>




More information about the U-Boot mailing list