[U-Boot] Compile for SPARC Leon3 fails with *** No rule to make target ... ***

Kraitschy, Tobias tobias.kraitschy at siemens.com
Thu Sep 17 15:35:15 CEST 2009


Hi,

Unsetting BUILD_DIR solved the problem.

Of course /u-boot-2009.08_build/cpu/leon3/start.S does not exist here. I´ll try to figure out what´s wrong in the Makefile.

Thanks.

Best regards,

Tobias Kraitschy

-----Original Message-----
From: Jerry Van Baren [mailto:gerald.vanbaren at ge.com] 
Date: Thursday, 17. September 2009 14:19
To: Kraitschy, Tobias
Cc: u-boot at lists.denx.de
Subject: Re: [U-Boot] Compile for SPARC Leon3 fails with *** No rule to make target ... ***

Kraitschy, Tobias wrote:
> Hi all,
> 
> I`ve implemented Gaisler Research`s Leon3 SPARC core to a FPGA
> evaluation board of Actel. Now I`m about to get U-Boot running. So I
> made up my own board directory, added header files with my
> configuration-parameters etc. just as discribed in the u-boot README.
> The "make myboard_config" goes well, but "make all" fails with the
> following message.
> 
> make[1]: *** No rule to make target `/u-boot-2009.08_build/cpu/leon3/start.S', needed by `/u-boot-2009.08_build/cpu/leon3/start.o'.  Stop.

The source has a cpu/leon3/start.S file.  The Makefile in that directory has
   $(START): $(START:.o=.S)
so that is where the dependency is coming from.  Is the file's location 
correct?  Does the file really exist there:
   ls /u-boot-2009.08_build/cpu/leon3/start.S

> I´d like to add that I set "BUILD_DIR=`/u-boot-2009.08_build" and I
> am using Gaisler`s Bare Cross Compiler with GCC 3.4.4. Searching the
> mailing-list-archives brought no advice to me. I also tried to study
> the Makefiles for half a week now, but I´m not familiar enought with
> it.

Setting BUILD_DIR to be an absolute path (leading "/") seems odd.

<http://www.denx.de/wiki/DULG/UBootConfiguration> says...
"By default the build is performed locally and the objects are saved in 
the source directory. One of the two methods can be used to change this 
behaviour and build U-Boot to some external directory:"

Try building it in the source directory rather than putting the output 
in a separate directory.  There are perennial problems with building 
into a separate directory (e.g. the $(OBJ) prefix is not prepended to 
the destination).  This is an easy thing to miss or mess up (also easy 
to fix).  Since leon3 is not a heavily used target, I would suspect that 
is the problem.

I would suggest not using BUILD_DIR and see if it works.  If it does, 
update the cpu/leon3/Makefile to look like a more heavily used target 
CPU, e.g. a PowerPC like the 83xx:
<http://git.denx.de/?p=u-boot.git;a=blob;f=cpu/mpc83xx/Makefile;h=15e2c18b13760c25f266a51934659c4fdc845730;hb=HEAD>

> 
> Thanks for your help!
> 
> Best regards,
> 
> Tobias Kraitschy

Good luck,
gvb


More information about the U-Boot mailing list