Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-04-26 12:46:55 -0700 (Tue, 26 Apr 2005)
Revision: 901
Log message:
Added value-dependencies.
Value dependencies are specified using the :value: option in rules.
a: b c :value: $(X)
...
This rule specifies that "a" should be recompiled if the value of $(X)
changes (X does not have to be a filename). This is intended to allow
greater control over dependencies.
In addition, it can be instead of other kinds of dependencies.
For example, the following rule:
a: b :exists: c
commands
is the same as
a: b :value: $(target-exists c)
Notes:
-- The values are arbitrary (they are not limited to variables)
-- The values are evaluated at rule expansion time, so variables
like $@, $^, etc are legal.
One other significant difference is that the rule cache now uses a
digest of the rule commands text, not the text itself. This has an
impact on initial omake speed (I am not sure how significant it is)
but the cache is smaller. Also, "section eval" should now be
handled correctly.