Christophe,
the original patch worked as follows: if the next dependency
in chain
is marked as 'waiting', the rest of the dependency chain
was skipped
until next pass. However, this doesn't prevent make from
considering
other dependency chains (which, of course, may contain the
same goal
as well).
This information can be stored in the 'struct file'
instead. But this
will lead to other problems, rooted at the fact that GNU
make does
not know a priori which targets are going to be made.
Regards,
Alexey.
On Friday 21 April 2006 19:49, Christophe LYON wrote:
> Alexey,
>
> You wrote:
> >
> > Therefore, the patch I suggested uses another
approach. If the
next
> > dependency has the "wait" flag set,
make does not consider it and
the
> > dependencies further in the list until the jobs
already running
> > complete.
> >
> and then
>
> > For example, the following Makefile:
> > <<<<
> > a: x1 .WAIT x2
> > b: x2 .WAIT x3
> > <<<<
> >
> > when run with "make -j a b", starts
the targets in the following
> > order: x1 and x3 simultaneously, then, as both
them are finished,
x2.
> > Indeed, the ordering information cannot be stored
only in the
> > dependency chain.
>
> So, if "x2" is in the "wait"
state, why is make considering "x3" ?
>
> Christophe.
>
>
> _______________________________________________
> Help-make mailing list
> Help-make gnu.org
> http:
//lists.gnu.org/mailman/listinfo/help-make
>
--
For mundane material concerns, seek the help of the one-eyed
beings.
-- Pkunks, SC2
_______________________________________________
Help-make mailing list
Help-make gnu.org
http:
//lists.gnu.org/mailman/listinfo/help-make
|