Build a D project is now easy

Lutger Blijdestijn lutger.blijdestijn at gmail.com
Tue Nov 23 01:01:08 PST 2010


Leandro Lucarella wrote:

> Russel Winder, el 22 de noviembre a las 19:10 me escribiste:
>> On Mon, 2010-11-22 at 16:41 +0000, Manfred_Nowak wrote:
>> > Russel Winder wrote:
>> > 
>> > > but it has come to the end of its useful life
>> > 
>> > why. I ask because I just realized, that llvm still uses it.
>> 
>> For really small systems compiled on a single platform, Make can still
>> "cut it".  But being an external DSL, the separation of relationship
>> specification notation and action notation, and especially the platform
>> specific action notation lead to insurmountable problems.  Go is trying
>> to persevere with Make but the cracks show readily.  Also Make shows the
>> cracks for large projects, it doesn't really scale.
> 
> False.
> 
>> Autotools was a brave attempt to make Make make big projects for
>> Posix-compliant platforms.  CMake is a bold attempt to ensure Make
> 
> Automake is one of the biggest mistakes *ever*.
> 
>> handles things in a more platform independent way.  Autotools is, I
>> think also reaching the end of its useful life -- it was an immense bit
>> of m4 hackery, and deserves respect, just as Make does.
> 
> There is no point of comparison between Make and Autotools, Autotools is
> a huge hack. Make is limited in scope, but it does what it's supposed to
> do extremely well.
> 
>> The alternative to all this is to use an internal DSL, i.e. use a
>> programming language directly.  SCons and Waf plough this furrow -- to
>> name but the main two in a C, C++, D, LaTeX context.  SCons and Waf both
>> suffer some serious issues, but they are the current market leaders for
>> a more modern system.
> 
> I tried quite a few build systems for a big project (cmake, waf, aap,
> scons, omake) and all had their own issues and specially limitations.
> Eventually I decided to learn Make seriously, wrote a good Makefile and
> never looked back...
> 
> Make can be very hard to learn, specially because people tend to use it
> wrongly and there are very few good examples and tutorials/docs.
> 
> PS: I'm really talking about GMake :)
> 

Wow, GMake is almost a full blown programming language! If you have one of 
those few good examples handy, would you mind sharing a link?


More information about the Digitalmars-d-announce mailing list