[U-Boot] [PATCH] Fix build failure in examples/standalone

Premi, Sanjeev premi at ti.com
Fri Nov 6 15:50:40 CET 2009


> -----Original Message-----
> From: Wolfgang Denk [mailto:wd at denx.de] 
> Sent: Friday, November 06, 2009 6:15 PM
> To: Premi, Sanjeev
> Cc: u-boot at lists.denx.de
> Subject: Re: [U-Boot] [PATCH] Fix build failure in examples/standalone
> 
> Dear Sanjeev Premi,
> 
> In message <1257499011-28064-1-git-send-email-premi at ti.com> you wrote:
> > The variable ELF contains many leading spaces. This adds
> > a 'fake' source file variable COBJS. It leads to build
> > failure as below:
> 
> I read about the bug reports, but I cannot reproduce this on any
> system I'm running.
> 
> Also, why would any white space matter here?

I was surprised too. It is the first time ever I have seen this problem
with any Makefile over years.

To debug I tried this:

diff --git a/examples/standalone/Makefile b/examples/standalone/Makefile
index 5e2f2bc..e9c3a54 100644
--- a/examples/standalone/Makefile
+++ b/examples/standalone/Makefile
@@ -42,7 +42,9 @@ ELF := $(ELF-y) $(ELF-$(ARCH)) $(ELF-$(BOARD)) $(ELF-$(CPU))
 SREC = $(addsuffix .srec,$(ELF))
 BIN  = $(addsuffix .bin,$(ELF))

+
 COBJS  := $(ELF:=.o)
+$(error *** COBJS evaluates to [$(COBJS)])

 LIB    = $(obj)libstubs.a

And the result is:

premi # make
for dir in tools examples/standalone examples/api ; do make -C $dir _depend ; done
make[1]: Entering directory `/home/sanjeev/u-boot/tools'
make[1]: Nothing to be done for `_depend'.
make[1]: Leaving directory `/home/sanjeev/u-boot/tools'
make[1]: Entering directory `/home/sanjeev/u-boot/examples/standalone'
Makefile:47: *** *** COBJS evaluates to [hello_world.o smc911x_eeprom.o   .o].  Stop.
make[1]: Leaving directory `/home/sanjeev/u-boot/examples/standalone'
make[1]: Entering directory `/home/sanjeev/u-boot/examples/api'
make[1]: Nothing to be done for `_depend'.
make[1]: Leaving directory `/home/sanjeev/u-boot/examples/api'
make -C tools all
make[1]: Entering directory `/home/sanjeev/u-boot/tools'
make[1]: Leaving directory `/home/sanjeev/u-boot/tools'
make -C examples/standalone all
make[1]: Entering directory `/home/sanjeev/u-boot/examples/standalone'
Makefile:47: *** *** COBJS evaluates to [hello_world.o smc911x_eeprom.o   .o].  Stop.
make[1]: Leaving directory `/home/sanjeev/u-boot/examples/standalone'
make: *** [examples/standalone] Error 2

Notice the "empty" .o in the output. This prompted me to use $(strip ...)

> 
> 
> Can you please let me know which exact versions of "make" (output of
> "make --version") and cross-gcc (output of
> "arm-none-linux-gnueabi-gcc --version") you are running?
> 

premi # make --version
GNU Make 3.80
Copyright (C) 2002  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
premi #
premi #
premi # arm-none-linux-gnueabi-gcc --version
arm-none-linux-gnueabi-gcc (Sourcery G++ Lite 2009q1-203) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Best regards,
Sanjeev

> 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
> The Gates in my computer are AND, OR and NOT; they are not Bill.
> 
> 


More information about the U-Boot mailing list