[M3devel] replace build system??

microcode at zoho.com microcode at zoho.com
Thu Jun 2 08:08:47 CEST 2016


On Wed, Jun 01, 2016 at 05:08:34PM -0500, Rodney M. Bates wrote:
> I don't think this is possible all.  No matter what is in the makefile, Make
> only understands dependencies among whole source files and must rebuild if
> a depended-on file has been touched, even no changes to content.  Our current
> build system works on declaration granularity.  (I presume this is what you
> mean by incrementality."  I am not aware of any language-independent build
> infrastructure that keeps track of dependencies on other that source file
> granularity.

Agreed with everything you wrote not withstanding my total lack of M3
knowledge.

Ada is another language (possibly the first?) that specifies a lot of how it
needs to be built in the language spec. It deals with the issues you
mentioned (and more I think) like checking parameters and types across the
system, interface compliance, incremental compilation etc. There is an open
source version available so it should be possible to at least get a look how
they are accomplishing those things and see if it could be scrounged,
adapted etc. for M3. I would think they're very Ada-centric as these kinds
of things seem to always turn out to be, but who knows.

The Ada compiler is part of gcc, it's called gnat or gcc-ada. The specific
top-level piece that is responsible for figuring out all the dependencies is
called gnatmake.





More information about the M3devel mailing list