On 12/12/06, Philip Guenther <[EMAIL PROTECTED]> wrote:
[Dang it, fingers slipped and I sent while still editting. So to
continue...]
Note that the desired makefile mentioned above:
local_objects = a.o b.o c.o d.o
all: all-recursive .WAIT all-local
all-recursive:
$(MAKE) -C subdir all
all-local: $(local_objects)
can *currently* be implemented like this:
local_objects = a.o b.o c.o d.o
all: all-recursive
$(MAKE) all-local
all-recursive:
$(MAKE) -C subdir all
all-local: $(local_objects)
The choice to use recursive make means you've given up on maximizing
your parallelism (because your dependency tree has to be a superset of
the real tree). As long as you've burned that bridge, why not use it
here to express the ordering?
OK, this is the solution I am currently forced to use, but I really don't
like to call make recursively just to solve this issue. As a side effect,
you get plently messages saying that your targets are up-to-date.
Maintaining the various levels of Makefiles of large projects can quickly
become impracticable.
I try to advocate good Makefile writing, but I also try to avoid recursive
Makefiles, and having a feature such as this .WAIT implementation would be
quite handy. Note that I am not defending some BSD compatibility, as I don't
use BSD...
Christophe.
_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make