>> What you don't want to do is inline the actual rules.
Akim> That's indeed what I was referring to. Well, I think. What
Akim> were you thinking about? I did not think about parallel
Akim> builds... The transformation above is what is now implemented.
Akim> In fact, what I presented in the previous, both are implemented,
Akim> it just depends on the input you give it.
I don't understand. How are both of them implemented?
I think we should transform this:
clean: foo
clean: bar
into
clean: foo bar
... and not inline the rules from `foo' and `bar' under `clean'.
That way we preserve parallel builds (I admit that these are unlikely
for `clean' -- but I imagine we're planning to use this same machinery
elsewhere) as well as `make -k'.
Akim> local $_ = "sub3\n";
Akim> so how about using $_ with caution? Just tell me your preference.
My rule has been to try to use $_ only when it is obviously safe. I
try not to assume it is preserved across function calls. So I think
it is fine in something like &basename or &flatten, but not in a big
loop in some function that isn't a `leaf'.
Tom