Rtems Rebuild Remake Question
Bill Butler
billb at tnex.com
Thu Mar 7 01:07:03 UTC 2002
Ha!.. you just thought I went away!
Well I tried what you guys suggest and it works real neat except for one
thing.. it does not work! (disclaimer: for me)
I'm sure the BSP I'm using is not updated so I need some help of where
to look to fix it or someway to convert a Makefile.in to a Makefile for
now.
Here is what I'm doing.
I have built 2 BSP for the m68k one I modified from Fiddles (sbc5307)
and one from RTEMS (mcf5206elite).
Specific problem is once I modify the Makefile.am file and run bootstrap
it DOES create the Makefile.in file. I run "../configure ..." and then
"make all" but neither the configure or the make copies over the updated
makefile to the build directories.
Here is a simple example. Note: I'm under cygwin so the directory
structure is a little different that suggested in Docs.
>>/opt/tools/rtems-ss-20020215/c/src/lib/libbsp/m68k/mcf5206elite/start
$ touch Makefile.am
$ ls -l (makefile.am newer than makefile.in)
$ ../../../../../../bootstrap
$ ls -l (makefile.in newer than makefile.am which is newer than Makefile
in build directory)
$cd /opt/tools/build
>> /opt/tools/build
$ ../rtems-ss-20020215/configure --target=m68k-rtems --enable
rtemsbsp="mcf5206elite sbc5307" --prefix=/opt/m68k_rtems
$cd
/opt/tools/build/m68k-rtems/c/mcf5206elite/lib/libbsp/m68k/mcf5206elite/
start
>>/opt/tools/build/m68k-rtems/c/mcf5206elite/lib/libbsp/m68k/mcf5206elit
e/start
$ls -l (same old Makefile)
$cd /opt/tools/build
$ make all
$cd
/opt/tools/build/m68k-rtems/c/mcf5206elite/lib/libbsp/m68k/mcf5206elite/
start
$ ls -l (same old makefile)...
$format c: (good thing this is cygwin)
I guess my question is what tells configure to copy files over when they
are out of date or missing? I'm guessing it something I configure in the
BSP directory so I will go nose around there.
Thanks for you help.
Bill Butler
AIPCom Inc
972-644-2328 x16
bbill at tnex.com
-----Original Message-----
From: Ralf Corsepius [mailto:corsepiu at faw.uni-ulm.de]
Sent: Monday, February 25, 2002 10:52 PM
To: Ian Caddy
Cc: Bill Butler; RTEMS Users
Subject: Re: Rtems Rebuild Remake Question
Am Die, 2002-02-26 um 03.18 schrieb Ian Caddy:
> Hi Bill,
>
> The trick here is to use a script file called bootstrap.
>
> When you change the makefile of any part of your BSP, you will need to
run
> the bootstrap command from the root source directory.
>
> In our system this is:
>
> /rtems-4.5.0
>
> now from this directory run:
>
> ./bootstrap
>
> This will walk its way through the RTEMS tree rebuilding your
makefile.am to
> makefile.in
Try adding --enable-maintainer-mode to your configure-options, then all
this is supposed to happen automatically.
Eg. if having edited your <BSP>/Makefile.am (Adding/deleting files)
cd build/<...>/<BSP>
make
will rebuild Makefile.in etc.
[There exist some broken BSPs where this doesn't work.]
Furthermore, it is sufficient to run bootstrap from the directory which
contains the configure.ac/in which is responsibile for the file you have
edited.
Eg.
[Editing [...]/<BSP>/driver/Makefile.am
cd [...]/<BSP>
<rtems-rootdir>/bootstrap
> Once this has completed, (actually, once it goes past our BSP, we stop
the
> process), you will then need to do another configure in your base
build
> directory.
Try adding --enable-maintainer-mode.
Then in most cases, running "make" is sufficient. If it doesn't work,
(General exceptions are BSPs containing "tools" - A known general bug in
RTEMS configury - and adding directories - A known general limitation of
the auto*tools), running bootstrap from the directory with the
configure.ac related to the edited Makefile.am should be safe.
Ralf
More information about the users
mailing list