Quoting Justin Mason <jm at jmason.org>:
>> tips:
>> - 1. don't use vanilla make. ;) really, it's not up to the task, unless
> you invent a load of infrastructure around it. at least standardise on
> GNU make.
Was planning on using GNU make.
> - 2. break it down into the smallest subcomponent build systems that can
> operate independently. this is why you often see sub-makes, instead of
> one big make including everything; because a sub-make can be run
> independently, and isolated for debugging.
That really depends on how you split it up. Provided its separated out into
makefiles that can be included independently I don't see the need to perform sub
makes. Instead I intend on telling the toplevel which component to build and
have it include only the relevant makefile(s) based on that. Essentially each
component make can be independently called provided its done through an initial
makefile.
One of the problems I see with the sub make architecture is that the component
your building has too know too much. We have a number of third party softare
products included, some of these require patches to be applied to the kernel. By
using the non recursive make I can put the instructions on how to patch the
kernel with what in the appropriate component makefiles, with the sub make
approach this info would need to be in the makefile that rebuilds the kernel
rpm, or I would have to work out a complicated method of passing this through to
it.
> - 3. for the version number trick, copy component-3942.tar.gz to
> component-current.tar.gz, and use the latter in dependencies, I would
> suggest.
Somewhat inefficient use of space using that. Consider that we're rebuilding
about 200-300MB worth of rpms, is it really worth replicating those files.
--
Darragh
"Nothing's foolproof to a sufficently talented fool"
Maintained by the ILUG website team. The aim of Linux.ie is to
support and help commercial and private users of Linux in Ireland. You can
display ILUG news in your own webpages, read backend
information to find out how. Networking services kindly provided by HEAnet, server kindly donated by
Dell. Linux is a trademark of Linus Torvalds,
used with permission. No penguins were harmed in the production or maintenance
of this highly praised website. Looking for the
Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!