anchor.diff:  generates your `.ninja` files, like how autoconf provides
   `./configure`.
   
  +Conceptual overview
  +~~~~~~~~~~~~~~~~~~~
  +Ninja evaluates a graph of dependencies between files, and runs
  +whichever commands are necessary to make your build target up to date.
  +If you are familiar with Make, Ninja is very similar.
  +
  +A build file (default name: `build.ninja`) provides a list of _rules_
  +-- short names for longer commands, like how to run the compiler --
  +along with a list of _build_ statements saying how to build files
  +using the rules -- a given source file and its output.
  +
  +Conceptually, `build` statements describe the dependency graph of your
  +project, while `rule` statements describe how to generate the files
  +along a given edge of the graph.
  +
  +Feature differences from make
  +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  +
  +* A rule may point at where extra implicit dependency information
  +  lives.  This makes getting header dependencies right for C nearly
  +  trivial.
  +
  +* Rules can provide shorter descriptions of the command being run, so
  +  you can print e.g. `CC foo.o` instead of a long command line while
  +  running.
  +
  +* Command output is always buffered.  This means commands running in
  +  parallel don't interleave their output, and when a command fails we
  +  can put its failure output next to the full command line that
  +  produced the failure.
  +
   Getting started
   ---------------
   
  
positive.code: 
  Rule variables
  ~~~~~~~~~~~~~~
  
  A `rule` block contains a list of `key = value` declarations that
  affect the processing of the rule.  Here is a full list of special
  
negative.code: where `target` is a known output described by `build.ninja` in the
  current directory.
  
  
  Creating .ninja files
  ~~~~~~~~~~~~~~~~~~~~~
  Here's a basic `.ninja` file that demonstrates most of the syntax.
  
  ---------------------------------
  