[MLton] Makefile madness

Wesley W. Terpstra wesley at terpstra.ca
Mon Feb 15 09:57:32 PST 2010


So I've completed a few fixes to get 'make -j 15' working. It's not a
huge speed-up, because the Makefile does many steps in each rule
(using for loops) and the self-compile is not parallel. However, it
most importantly stops the build from breaking when your make is
parallel by default. Unfortunately, as you can see in the attached
top-level Makefile the changes are a bit invasive. I've committed all
the non-invasive stuff already to HEAD. I leave to others the decision
of whether or not committing the last fixes is a good idea before the
next release.

I also feel my changes (invasive as they are) are wholly inadequate.
The MLton build system is a quite a mess and my changes are more like
a band-aide than a fix. We have duplicated work in each Makefile, and
the system loses track of dependencies that happen in sub-folders.
This means, for example, that a change to the basis library neither
gets copied into the build folder nor triggers a rebuild of the
compiler. Probably it would be a good idea to replace the mess we have
with a well written non-recursive makefile after the next release.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Makefile
Type: application/octet-stream
Size: 14113 bytes
Desc: not available
Url : http://mlton.org/pipermail/mlton/attachments/20100215/d6234475/Makefile.obj


More information about the MLton mailing list