[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