Declare an output dependency. All jobs require at least one output to be valid.

[options] FILE FILE ...
This is an output declaration. Its argument is a list of file names. Each file is declared as an output of the job created with the most recent J or T command. It is an error to call O without having called J or T first. Defining cyclic dependencies generates an error. All jobs must have at least one output to be consider valid.
-db name
Sets the database name of the output.
Specify that the file is an output, even if it's not actually a true output at runtime. Also useful if it is truly an output, but is not instrumented or declared as an output at runtime.
This option undoes the other options.
Output may have a barrier. The barrier, if it exists, is controlled by the job that generates this output.
Force output declaration even with conflict.
Fail on output conflict.
The output is shared.
Output has an automatic barrier consisting of its MD5 sum.
Same as -md5
Specifies that the timestamp of the file should not be used to determine whether the job has succeeded or failed.
Use the output name as given, instead of mapping it to the corresponding logical canonical name.