[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Improvement on parallel make
From: |
Philip Guenther |
Subject: |
Re: Improvement on parallel make |
Date: |
Tue, 12 Dec 2006 01:15:51 -0700 |
On 12/11/06, Paul Smith <address@hidden> wrote:
...
Here's another message with a more "real world" example:
http://www.mail-archive.com/address@hidden/msg05465.html
The desire in that example is to just write _this_ makefile:
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)
with the understanding that the .WAIT is necessary for the correctness
of the build, right? I mean, if the .WAIT isn't actually _necessary_
then why the big deal?
So, one or more of the local objects is dependent on all-recursive
being built first. But all-recursive is a phony, so they must
_really_ be dependent on something that all-recursive builds. Rather
than actually state the real dependencies (a.o needs subdir/built.h
and c.o needs subdir2/another-built.h), that makefile tries to say
"all dependencies of all-local are order-only dependent on
all-recursive".
But it doesn't really do that! The .WAIT connection only applies when
both all-local and all-recursive are being built. If you simply say
"make a.o" the .WAIT will have no effect and it will build a.o without
first trying running all-recursive. That's a broken makefile, as
there is a necessary dependency that isn't expressed.
local_objects = a.o b.o c.o d.o
all: all-recursive
all-recursive:
$(MAKE) -C subdir all
all-local: $(local_objects)
Re: Improvement on parallel make, Philip Guenther, 2006/12/11
- Re: Improvement on parallel make, Alexey Neyman, 2006/12/11
- Re: Improvement on parallel make, Philip Guenther, 2006/12/11
- Re: Improvement on parallel make, Brendan Heading, 2006/12/11
- Re: Improvement on parallel make, Paul Smith, 2006/12/11
- Re: Improvement on parallel make, Paul Smith, 2006/12/11
- Re: Improvement on parallel make,
Philip Guenther <=
- Re: Improvement on parallel make, Philip Guenther, 2006/12/12
- Re: Improvement on parallel make, Alexey Neyman, 2006/12/12
- Re: Improvement on parallel make, Philip Guenther, 2006/12/12
Re: Improvement on parallel make, Christophe Lyon, 2006/12/12
Re: Improvement on parallel make, Philip Guenther, 2006/12/12
Re: Improvement on parallel make, Christophe Lyon, 2006/12/12
Re: Improvement on parallel make, Brendan Heading, 2006/12/12
Re: Improvement on parallel make, Christophe Lyon, 2006/12/12
Re: Improvement on parallel make, Brendan Heading, 2006/12/12
Re: Improvement on parallel make, Christophe Lyon, 2006/12/12