martine/ninja — pull request #215 by syntheticpp (2012-02-06 00:23:57+00:00)
Title: Argument file support

For very long command lines put the arguments into a file.

Each rule can specify where to place the argument file.
On Windows such files are called 'response' files, therefore the abbreviation 'rsp'.
To pass a response file to a command a option must be used which is often '@'.

$rsp indicates the place where to place put the option.
rspopt is a rile-variable which defines the option.

Example:

rule cxx
command = gcc /Wall $rsp /Wextra $in
rspopt = @
build out: cxx foo1 foo2 foo3

-> gcc /Wall @/tmp/ninja_hX7jPD
with ninja_hX7jPD: /Wextra foo1 foo2 foo3

By default '@' is used after the first token in a command.

Only command chains are supported which use '&&'.