Re: Java 1.3 Mark S. Miller (markm@caplet.com)
Fri, 02 Jun 2000 07:40:31 -0700

At 11:56 PM 6/1/00 , Paul Snively wrote:
>http://jakarta.apache.org/ant/ and I sure will!

make's syntax is so terrible that I figured any attempt from scratch would have to be an improvement. I just took a look at Ant and, by using XML, they have succeeded at proving me wrong. Ant make-rules look even less maintainable than Makefiles. Quite an achievement! I have this image of Marlon Brando at the end of Apocalypse Now rubbing his bald head and saying "The verbosity, the verbosity." If you really wish to go in this direction, please first read my "Quasi-Literals and XML" http://www.erights.org/elang/grammar/quasi-xml.html and start by designing an ANTLR-based grammar for expressing these make rules readably.

But even if you do this, we would still be waiting for the integration of ANTLR into E that note describes. We would then have a circular build dependency: our build tool would depend on code in the system we're using it to build. This can probably be resolved, but are we really making our lives easier?

Andrei Moutchkine (cc'ed on this email) has suggested that we dispense with make anyway, and just write bash scripts for remaking everything. He correctly points out that we aren't using make's one distinguishing feature: incremental rebuilds based on modify dates. Each of our make-targets builds from scratch everything it makes. Since

  1. bash scripts should be more maintainable than either Makefiles or Ant-rules (even though bash scripts are a maintenance nightmare),
  2. our build process already depends on bash,
  3. our make-rules are already expressed in bash (as a sublanguage of make), and
  4. bash does not depend on E,

I find this suggestion very appealing. If there's no objection, at some point I will proceed to do this.

         Cheers,
         --MarkM