|Version 14 (modified by coke, 6 years ago)|
- most file generation should be done via make, not Config. To see what files are generated by your configure, make realclean; perl Configure.pl; svn st --no-ignore.
- ext/Parrot-Embed/Makefile.PL should not be generated; it should just use Parrot::Config to get @ this config-time information.
- the steps that generate PMC related info don't have to happen at config time. move them into the build.
- accurate build dependencies
- checkdepend.pl should verify perl dependencies.
- checkdepend.pl should verify pir deps.
- checkdepend.pl should be able to generate makefiles, not just verify them.
- recursive make is bad. Avoid it where possible, esp for anything built with the default target.
- eliminate the recursive 'docs' target.
- eliminate the recursive 'dynoplibs' target.
- eliminate the recursive 'dynpmc' target.
- avoid make targets with two+ targets on the left; parallel make is allowed to call this rule twice, which is probably not what you want.
- make checkdepend.pl squawk about this, to make them easier to find and replace?
- Instead of invoking $(CC) directly, we invoke tools/dev/cc_flags.pl to invoke CC for us. We should use the c compiler directly instead; to support the cases where cc_flags.pl is using customized flags for a particular build step, that should be handled in the generated makefile, not by running a script to figure it out at build time.
checkdepend.pl should interpolate variables like make does when checking make. (not all at once at the end, but as-we-go.) Specifically: eliminate parrot_include step.
one_make branch was merged into trunk Jan 25 2010 09:44 PM ET in r43593
At merge point, this was what tools/dev/checkdepend.pl was showing:
$ perl tools/dev/checkdepend.pl 2>&1 | grep 'not ok' not ok 62 - src/glut_callbacks.c has correct dependencies (Makefile: line 3509). not ok 119 - compilers/data_json/data_json.pir has correct dependencies (compilers/data_json/Rules.mak: line 1). not ok 120 - compilers/json/JSON.pir has correct dependencies (compilers/json/Rules.mak: line 1). not ok 122 - compilers/json/JSON/pge2pir.pir has correct dependencies (no rule found for this file). not ok 127 - compilers/nqp/bootstrap/nqp.pir has correct dependencies (compilers/nqp/Rules.mak: line 21). not ok 137 - compilers/pct/src/PCT/Grammar.pir has correct dependencies (no rule found for this file). not ok 142 - compilers/pge/PGE.pir has correct dependencies (no rule found for this file). not ok 146 - compilers/pge/PGE/P5Regex.pir has correct dependencies (no rule found for this file).