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/