On 2007-11-27, Stepan Kasal <[EMAIL PROTECTED]> 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