make-alpha
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New patch for user defined out of date.


From: Ramón García
Subject: New patch for user defined out of date.
Date: Sat, 30 Jun 2007 23:29:24 +0200

Hello.

I am here submitting my current patch. This is of course work in
progress. The patch is subject to improvement, and I am sure Paul will
find parts that could be better implemented.

This patch implements the following features:

- .OUT_OF_DATE special variable to handle the user defined
out-of-date. The variable is evaluated for each pair (target,
prerequisite).

- variable references of the form atarget::aname are interpreted as
"aname" in the context of the target "atarget"

- the builtin function changed-value, ${changed-value name,value}
returns true if the value is different from the one used in the
previous invocation of the same function with the same value of name.

Things changed from the discussion in past mails:
the function changed-value does not take into account the value of
the current target. In my opinion

TODO:
- the solution of using changed-value for persistent values is broken
when the same prerequisite is used in several targets. The first
invocation will cause the persistent value to be refreshed, and so the
second one will return that the target is up to date.

While testing I found that $@ was not correctly seen when the variable
whose definition contains $@ is invoked from another target, that is
${atarget::aname} is evaluated and the definition of aname contains
address@hidden I implemented a solution that seems to work, but probably there
are better ways of doing it. Advise is requested (see comments in
expand.c)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]