[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Automatically Handling Tools that Produce Many Outputs
From: |
Olly Betts |
Subject: |
Re: Automatically Handling Tools that Produce Many Outputs |
Date: |
Tue, 27 Nov 2007 17:54:46 +0000 (UTC) |
User-agent: |
slrn/0.9.8.1pl1 (Debian) |
On 2007-11-27, Stepan Kasal <address@hidden> wrote:
> On Tue, Nov 27, 2007 at 12:30:31AM +0000, Olly Betts wrote:
>> data.c data.h::: data.foo
>> foo data.foo
>
> But this looks like too much magic for a feature which is not used
> that much.
My experience is that multi-output rules often aren't protected at all,
and parallel make is unreliable on such projects. This is becoming much
more of an issue, as multicore boxes are now mainstream.
I think is this feature existed, it would find a significant amount of
use.
Perhaps this isn't the right notation for it though - it was mostly just
an possible idea to help illustrate my suggestion.
> Moreover, the extended syntax should rather describe the pair of
> rules .foo.c: an .foo.h: because there may be more *.foo.
The example above is one from the automake manual, but often the outputs
don't have the same basename, and may even have the same extension - for
example, a script generating several .h files with different basenames.
I don't see how you'd express that using a group of implicit rules.
In fact, none of the real examples I have to hand fit into the mould of
a collection of implicit rules with a common basename.
Cheers,
Olly