makefile thoughts

Will Coleda will at coleda.com
Tue Nov 17 14:53:28 UTC 2009


Because I am tired of fixing bugs with makefile deps, I'd like to do
some cleanup on our makefiles to make them easier to
process/validate/debug.

* tend to avoid separate top level makefiles, going with a single, root makefile
* have that makefile actually do includes of smaller makefile functionality
* rework tools/dev/checkdepend.pl to actually generate the
dependencies at Config time instead of just validating them after a
full build. (and not just for C, but for perl & PIR also.)

Splitting work out amongst that already exists in separate makefiles
will be converted to 'include'-able makefiles. (We can always do an
inline include instead of using a directive if necessary). We can also
split up the existing makefile even further: testing, common variable
defs, pmc dependencies; whatever chunks make sense.

This will remove the ability to remake an individual 'module' (e.g. cd
compilers/tge && make), but will conversely improve the dependencies
across the project and mean that a top level make will only rebuild
those things that need to anyway, and it will include things that
might depend on your module.

This work can be done in stages in trunk with minimal risk.

Questions:

* Where to keep the generated (and potentially static) 'include'-able
.mak files?
* Do we currently support any versions of 'make' that don't support an
include directive of some kind? (gmake and nmake both seem to)

-- 
Will "Coke" Coleda


More information about the parrot-dev mailing list