[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