summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorEvan Martin <martine@danga.com>2011-11-02 06:26:33 (GMT)
committerEvan Martin <martine@danga.com>2011-11-02 06:26:33 (GMT)
commit801377e0651d35a8f006ea3722a44f52cfe787bf (patch)
treebdd46e03aed72e964d30f66238f860b00038e545 /doc
parentbb52198d196ba294908abad00960783456e40f8b (diff)
parent0efbbbf67a94452919084765e87106e7748274cb (diff)
downloadNinja-801377e0651d35a8f006ea3722a44f52cfe787bf.zip
Ninja-801377e0651d35a8f006ea3722a44f52cfe787bf.tar.gz
Ninja-801377e0651d35a8f006ea3722a44f52cfe787bf.tar.bz2
Merge pull request #125 from pcc/outputs-ready
CMake requirements: Make-style order-only dependencies, restat rules
Diffstat (limited to 'doc')
-rw-r--r--doc/manual.asciidoc12
1 files changed, 9 insertions, 3 deletions
diff --git a/doc/manual.asciidoc b/doc/manual.asciidoc
index ff197b1..d59f471 100644
--- a/doc/manual.asciidoc
+++ b/doc/manual.asciidoc
@@ -469,6 +469,12 @@ aborting due to a missing input.
if the command line changes; and secondly, they are not cleaned
by default.
+`restat`:: if present, causes Ninja to re-stat the command's outputs after
+ execution of the command. Each output whose modification time the command
+ did not change will be treated as though it had never needed to be built.
+ This may cause the output's reverse dependencies to be removed from the
+ list of pending build actions.
+
Additionally, the special `$in` and `$out` variables expand to the
space-separated list of files provided to the `build` line referencing
this `rule`.
@@ -502,9 +508,9 @@ Note that dependencies as loaded through depfiles have slightly different
semantics, as described in the <<ref_rule,rule reference>>.
3. _Order-only dependencies_, expressed with the syntax +|| _dep1_
- _dep2_+ on the end of a build line. When these are missing, the
- output is not rebuilt until they are built, but once they are
- available further changes to the files do not affect the output.
+ _dep2_+ on the end of a build line. When these are out of date, the
+ output is not rebuilt until they are built, but changes in order-only
+ dependencies alone do not cause the output to be rebuilt.
+
Order-only dependencies can be useful for bootstrapping dependencies
that are only discovered during build time: for example, to generate a