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

Reply via email to