[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: autoconf (was: Re: [Gnu-arch-users] [ANNOUNCE] tlator-0.1 initial re
From: |
wave++ |
Subject: |
Re: autoconf (was: Re: [Gnu-arch-users] [ANNOUNCE] tlator-0.1 initial release) |
Date: |
Thu, 18 Sep 2003 16:59:13 +0200 |
User-agent: |
Mutt/1.5.4i |
You wrote:
> On 2003-09-18 12:37:20 +0100 wave++ <address@hidden> wrote:
>> So far, I've ended up using makepp (http://makepp.sf.net).
>
> What benefits over Make does this give, in practical terms? In the
Absolutely correct question.
In practical terms, that's what I use most:
- Relocated builds:
Being able to build _outside_ the source tree, while still keeping
the Makefile cleaness and without the need of adjusting paths.
- Ability to avoid recursiviness:
You no longer use the "original" include mechanism which simply
means that a makefile chunk is separated from the main one.
You just write a simple makefile for that directory - without
worring about library dependencies of parent ones.
On parent directory, you include the child makefile (which, as sayd
before, is a simple makefile).
makepp handles the child directories just fine. You can also specify
the hierarchy root of your tree, so if you accidently run make on a
leaf directory parent dependencies are handled.
- The ability to setup arbitrarily complex rules, through perl
expressions.
When makepp isn't enough, you can still write your OWN dependency
rules and the like. This gives you almost complete control, without
reinventing make. In practical terms, you can use makepp as a
generic "dependency graph solver".
- Ability to use standard make syntax:
I like make. I also feel that most project really don't need other
than that. If I write a Makefile (without GNU extensions), I KNOW
that this makefile will run on all systems, and, PLUS, I can have
the benefits of makepp if I use it.
If my project becomes complicated over time, I can extend the syntax
and gain even more power.
I used to build very little libraries, and having a makefile for each
one in it's own directory. Simply symlinking the directory of the little
library and including it's makefile gives me the ability to combine
projects without worring about the WHOLE build system. Really neat.
I didn't success on this using autotools. And, of course, I used
non-standard GNU make extensions _quite_ extensively.
makepp has other features, like the avoidance of timestamps (which I
don't use personally) and the ability to parse libtool library metadata
to deduce dependencies (I don't use this one too).
It's a bit slow sometimes when solving the dependency graph. It's also
considerably slower if you use "smart hashes" -- just to give you the
whole point.
Other systems that I tried so far and failed on me: cook, smake, GNU
Make, (the one used on freetype - jam?), and some minor others that I
don't remember about :P.
> page that they claim describes features in makepp not in make, they
> talk about automatic scanning for include files (which Make can do, if
> they mean files included in the make files), avoiding recursive make
No, C/C++ dependencies: makepp has "makedepend" builtin if you consider
only C/C++ files.
--
'(wave++ "Yuri D'Elia" "http://www.yuv.info/")
- Re: [Gnu-arch-users] [ANNOUNCE] tlator-0.1 initial release, (continued)
- Re: [Gnu-arch-users] [ANNOUNCE] tlator-0.1 initial release, Jan-Benedict Glaw, 2003/09/16
- Re: [Gnu-arch-users] [ANNOUNCE] tlator-0.1 initial release, Samium Gromoff, 2003/09/17
- Re: [Gnu-arch-users] [ANNOUNCE] tlator-0.1 initial release, Mark A. Flacy, 2003/09/17
- Re: [Gnu-arch-users] [ANNOUNCE] tlator-0.1 initial release, Samium Gromoff, 2003/09/17
- autoconf (was: Re: [Gnu-arch-users] [ANNOUNCE] tlator-0.1 initial release), Sascha Silbe, 2003/09/18
- Re: autoconf (was: Re: [Gnu-arch-users] [ANNOUNCE] tlator-0.1 initial release), wave++, 2003/09/18
- Re: autoconf (was: Re: [Gnu-arch-users] [ANNOUNCE] tlator-0.1 initial release), MJ Ray, 2003/09/18
- Re: autoconf (was: Re: [Gnu-arch-users] [ANNOUNCE] tlator-0.1 initial release),
wave++ <=
- Re: autoconf (was: Re: [Gnu-arch-users] [ANNOUNCE] tlator-0.1 initial release), MJ Ray, 2003/09/18
- Re: autoconf (was: Re: [Gnu-arch-users] [ANNOUNCE] tlator-0.1 initial release), wave++, 2003/09/18
- Re: autoconf (was: Re: [Gnu-arch-users] [ANNOUNCE] tlator-0.1 initial release), Andrew Suffield, 2003/09/18
- [Gnu-arch-users] Re: autoconf, Stephen J. Turnbull, 2003/09/18
- Re: [Gnu-arch-users] [ANNOUNCE] tlator-0.1 initial release, Stephen J. Turnbull, 2003/09/17
- [Gnu-arch-users] Re: [ANNOUNCE] tlator-0.1 initial release, Miles Bader, 2003/09/17
- [going OT] Re: [Gnu-arch-users] Re: [ANNOUNCE] tlator-0.1 initial release, Doran Moppert, 2003/09/18
- Re: [going OT] Re: [Gnu-arch-users] Re: [ANNOUNCE] tlator-0.1 initial release, Miles Bader, 2003/09/18
- [Gnu-arch-users] Re: [going OT] Re: Re: [ANNOUNCE] tlator-0.1 initial release, Stig Brautaset, 2003/09/18
- [Gnu-arch-users] Re: [going OT] build tool design, was: tlator-0.1 initial release, MJ Ray, 2003/09/18