[Balloon] makefiles and loon-building

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Wookey
Date:  
To: Balloon
Subject: [Balloon] makefiles and loon-building
Trying to sort out our codebase so we can rebuild world from source
consistently. I have a few things that are making my head hurt.

I've just checked in trunk/Makefile and trunk/kernel/Makefile

So (having checked out balloon svn)
If you do make in trunk dir then it checks out kernel source, pathces
it and builds it. All fine.

However this does not work if you do make in trunk/kernel because the
sub makefile does not know the values of $BUILDDIR and $DISTRODIR

I am not quite sure how this sort of thing is normally dealt with when
you have a top-level make and submakes. Does each submake include a
bit of makefile for setting the dirs? this must be a common problem -
someone point me at an example.

There is a second, perhaps related, problem that the directory
structure is different when building from svn versus when you start with the
sources from the website/CD supplied with your balloon:

we have 
svn/trunk/Makefile
         /kernel/Makefile
         /initrd/Makefile
     ...
build/kernel
     /initrd
     /rootfs
distro/binaries/
      /source/kernel
             /initrd
         /svn


As discussed above make in svn/trunk works - build and dsitro are
created and stuff built in build then installed into distro

However if you have only the distro dir, because that's how you got
you codebase (from website or on a CD with dev kit) this contains an
exported version of svn/trunk in 'svn'.

If you do make in distro/source/svn then new build dir and distro dirs
will get created, and the actual ones will be ignored. I'm not sure
what the best thing to do to have the makefiles work in both contexts
is. Something devious with links? I feel like I am being dense but
I've thought about it quite hard and not come up with a pleasing
solution.

Suggestions welcome. I have currently deferred the problem and decided
to make it all work from an svn checkout. Making it all work from the
distro release can come later.

Wookey
--
Principal hats: Balloonz - Toby Churchill - Aleph One - Debian
http://wookware.org/