On Friday 21 April 2006 12:11, Boris Kolpackov wrote:
> "Paul D. Smith" <[EMAIL PROTECTED]> writes:
>
> > In order to really get at what .WAIT is intended to do you'd have
to
> > convert the original to this:
> >
> > foobar: a b c D E F
> >
> > D: X
> > E: Y
> > F: Z
> >
> > D E F X Y Z : | a b c
> >
> > and so on for the entire dependency tree rooted at D, E, and F.
> > Which could be done, but is not that trivial and may not be the
> > best way to proceed in terms of efficiency etc.
>
> After reading this fragment, I had the following idea: imagine we
> had: (1) support for guile, (2) support for accessing/modifying
> dependency tree from guile, (3) support for truly order-only
> prerequisites. Then the .WAIT feature could be implemented in
> "user-space" ;-).
Almost. The only thing is that we need to apply implicit rules early
in order to decide, whether a target is going to be built at all. GNU
make applies them "lazily", that is, delaying the search for implicit
rule until it really needs it.
BTW, I thought about a less intrusive (from the point of code changes)
approach. update_goal_chain() can first perform a "dry run", looking
for implicit rules and marking the targets as "scheduled to be made".
Then, it will perform a "normal" run and update_file_1() can then
wait only for those prerequisites that are to be made.
Regards,
Alexey.
--
A quoi ca sert d'etre sur la terre
Si c'est pout faire nos vies a genoux?
-- Les rois du monde
_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make