Usage

jam [ -a ] [ -g ] [ -n ] [ -q ] [ -T ] [ -v ]
    [ -C workdir ]
    [ -d debug ]
    [ -f jambase ]
    [ -j jobs ]
    [ -o actionsfile ]
    [ -s var=value ]
    [ -S ]
    [ var=value ]
    [ -t target ]
    [ target ... ]

If target is provided on the command line, jam builds target; otherwise jam builds the target 'all'.

Jam may be invoked with the following options:

-a

Build all targets anyway, even if they are up-to-date.

-C workdir

Set the Jam current working directory to workdir.

-d c

Turn on display option c and off the default display (summary info and actions):

a
Show summary info, actions, quiet actions, and the use of temporary targets
c
Show the names of files that cause rebuilds, i.e. new sources, missing targets, etc.
d
Display a dependency graph (in jam syntax).
f
Display fate changes.
g
Display a detailed hierarchical dependency graph.
m
Display the dependency analysis, and target/source timestamps and paths
x
Show shell arguments

-d n

Enable cumulative debugging levels from 1 to n. Interesting values are:

1
Show actions and summary info (the default)
2
Show text of actions
3
Show progress of make. Show files when bound
4
Show execcmd()'s work
5
Show rule invocations and variable expansions
6
Show directory/header file/archive scans
7
Show variable settings
8
Show variable fetches and expansions. Show 'if' calculations.
9
Show variable manipulation, scanner tokens. Show memory use.

-d +n

Enable debugging level n.

-d 0

Turn off all debugging levels. Only errors are emitted.

-f jambase

Read jambase instead of using the built-in Jambase. Multiple -f flags are permitted.

-g

Build targets with the newest sources first, rather than in the order of appearance in the Jambase/Jamfiles.

-j n

Run up to n shell commands concurrently. The default is the maximum number of available processors on the machine. On Windows, the number of processors is determined from the environment variable NUMBER_OF_PROCESSORS. On Mac OS X, the number of processors is obtained from the API MPProcessors.

-n

Don't actually execute the updating actions, but do everything else. This changes the debug level to -dax.

-o file

Write the updating actions to the specified file instead of running them (or outputting them, as on the Mac).

-q

Quit quickly (as if an interrupt was received) as soon as any target build fails.

-s var=value

Set the variable var to value, overriding both internal variables and variables imported from the environment.

-S

When specified, any rules called that have not been defined are skipped without warning. jam --workspace makes extensive use of it. This command line option will mask problems with your Jamfiles, so it is recommended you don't use it.

var=value

Set the variable var to value, overriding both internal variables and variables imported from the environment. This is a simpler to use version of -s

-t target

Rebuild target and everything that depends on it, even if it is up-to-date.

-T

Toggle printing of the target's bound name (full path).

-v

Print the version of jam and exit.