why annotation tag

2 minute readReference

Synopsis

Describes why the job was run.

Attributes

prereq

The prerequisite that caused the job to be run. Not every reason has a prerequisite.

reason

Describes why the job was run. The following reasons describe why a job is run; unless otherwise noted, a reason may apply to any emulation mode:

  • not-run: The target was not rebuilt.

  • autodep-prereq: A dependency discovered by autodep (--emake-autodep=1) caused the job to run.

  • ledger: the job was run due to the ledger detecting change in a prerequisite or in the command being run.

  • always-make: the job was run due the the always-make flag (-B) being set.

  • target-absent: The job was run because the target does not exist.

  • double-colon-no-prereq: the job is a double-colon rule with no prereqs.

  • prereq-newer: The job was run because a prerequisite was newer than the target.

  • phony: The job was run because it’s target was phony (gmake emulation only).

  • dryrun-prereq: a prerequisite of the target did work in dry-run (-n) mode (gmake emulation only).

  • intermediate-newer: An out-of-date intermediate file (gmake emulation only).

  • invalid-charset: target is always stale due to invalid characters in file name (nmake emulation only).

  • prereq-did-work: Non-double-colon prereq did work (nmake and ninja emulation).

  • prereq-absent: a prerequisite of the target was missing (nmake and ninja emulation).

  • ninja-log: the job was run because the target was not present in the .ninja_log or because the target was present in the .ninja_log but had a different command hash (ninja emulation only).

  • ninja-deps: the job was run because the target was not present in the .ninja_deps or because the target was present in the .ninja_deps but the entry was older than the target itself (ninja emulation only).

Contents

None.