[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 (
> 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

    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" "";)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]