"Paul D. Smith" <[EMAIL PROTECTED]> writes: > rm> I'll admit that the processing of :: targets is a gray area, and > rm> the .WAIT approach is the clearest solution. > > Well, clear_ER_ anyway.
There was a discussion on the idea of .WAIT some time ago on the help-make mailing list (Subject: "How to restrict parallelism in make"). Here are some thoughts from my reply, which, I think, are still valid: Alexey Neyman <[EMAIL PROTECTED]> writes: > There, the special '.WAIT' target when listed as a dependency, acts as > a "serializer": all dependencies _before_ it in the list are finished > before any of those _after_ .WAIT are even started to be updated. > With this, the above requirements could be supported easily: > > <<<< > all: all-subdir .WAIT all-local > install: install-subdir .WAIT install-local > >>>> What happens if I have this makefile: foo: bar .WAIT baz fox: bar baz When I say 'make fox' is serialization still there? If the answer is 'no', then how about this makefile: all: foo fox foo: bar .WAIT baz fox: bar baz Is it still going to work as user expects (whatever that might mean, I personally don't know what one should expect here). I think the answer is 'yes' (or should be 'yes'). If so then it strikes as terribly asymmetric hack. What happens in this case: all: foo fox foo: bar .WAIT baz biz fox: bar baz .WAIT biz Or here: all: foo fox foo: bar .WAIT baz bar: baz IMO, the proper mechanism for something like this (which, I think, is not necessary, as stated above) would be to further relax order-only prerequisites model by removing the requirement of actually building such prerequisites (aka, "truly" order-only ;-)). hth, -boris _______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make