Build a D project is now easy
Leandro Lucarella
luca at llucax.com.ar
Mon Nov 22 21:14:19 PST 2010
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 :)
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
----------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------
- Los romanos no tenían paz, loco... Necesitaban un poco de chala...
More information about the Digitalmars-d-announce
mailing list