ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Vernum <>
Subject RE: if and unless attributes for all Tasks
Date Thu, 17 May 2001 03:10:30 GMT
> >This is the one outrageous claim you guys keep making
> >that your arrogance won't let you see through.  Which
> >make tool is the most popular?  Vanilla make?  Nmake? 
> >or GNU make?  From what I can see the answer is GNU
> >make - 
> agreed.
> >because it gives the developer more features
> >and thus more power.
> disagree. It is because it is part of GNU tool chain that it 
> is popular.
> The complexity is part of GNUs embrace and extend policy - 
> they want to add
> features that aren't available in other tools so that people 
> will migrate
> to GNUMake and not go back.

I used GNU make because it offers more features.
But I happen to make the greatest use of those features which
allow for modularity.

The greatest addition *ever* to make (and it's not just GNU that
does it) is includes.

The ability to automate dependencies, and store them outside
of the makefile is a huge win for C/C++ projects.
Make doesn't do my dependency generation, I have a shell script
which wraps around gcc to do that, but it is the fact that make
allows me to move that task into a separate tool that allows
make to be more useful.

The other (GNU)make features I use heavily:

   * wildcard and foreach, BUT only because make needs to know about
     all my files.
     I use wildcard as a fileset, and the only reason I need the
     foreach is because make wants to know my list of object files
     and I only want to specify my source code.
   * Some variable manipulations (like +=) but they are mostly a
     result of the way make works. I do think that I have the
     potential to run into the same requirements in Ant, but I 
     haven't yet.

So, I agree with Roger, that GNUmake is "good" because it offers
more power, but I happen to think that most of the power is either
 * actually better modularity
 * or would be better solved with modularity, but make doesn't
   offer that option to me.

View raw message