-
Notifications
You must be signed in to change notification settings - Fork 43
/
usage.dox
131 lines (101 loc) · 5.15 KB
/
usage.dox
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/*! \page usage Usage
<pre>
jam [ -a ] [ -g ] [ -n ] [ -q ] [ -T ] [ -v ]
[ -b ]
[ -C <i>workdir</i> ]
[ -d <i>debug</i> ]
[ -f <i>jambase</i> ]
[ -j <i>jobs</i> ]
[ -o <i>actionsfile</i> ]
[ -r ]
[ -s <i>var</i>=<i>value</i> ]
[ -S ]
[ <i>var</i>=<i>value</i> ]
[ -t <i>target</i> ]
[ <i>target</i> ... ]
</pre>
If <i>target</i> is provided on the command line, <b>jam</b> builds <i>target</I>; otherwise <b>jam</b> builds the target 'all'.
<b>Jam</b> may be invoked with the following options:
<table width=85% align=center border=1 cellpadding=2>
<tr>
<td valign=top width=20%><code> -a </code>
<td> Build all targets anyway, even if they are up-to-date.
<tr>
<td valign=top><code> -b </code>
<td> Enables the Tilde Lua debugger and waits for a connection.
<tr>
<td valign=top><code> -C <i>workdir</i> </code>
<td> Set the \b Jam current working directory to \em workdir.
<tr>
<td valign=top><code> -d <i>c</i> </code>
<td> Turn on display option <i>c</i> and off the default display (summary info and actions):
<dl>
<dt> a <dd> Show summary info, actions, quiet actions, and the use of temporary targets
<dt> c <dd> Show the names of files that cause rebuilds, i.e. new sources, missing targets, etc.
<dt> d <dd> Display a dependency graph (in <b>jam</b> syntax).
<dt> f <dd> Display fate changes.
<dt> g <dd> Display a detailed hierarchical dependency graph.
<dt> m <dd> Display the dependency analysis, and target/source timestamps and paths
<dt> x <dd> Show shell arguments
</dl>
<tr>
<td valign=top><code> -d <i>n</i> </code>
<td> Enable cumulative debugging levels from 1 to <i>n</I>. Interesting values are:
<dl>
<dt> 1 <dd> Show actions and summary info (the default)
<dt> 2 <dd> Show text of actions
<dt> 3 <dd> Show progress of make. Show files when bound
<dt> 4 <dd> Show execcmd()'s work
<dt> 5 <dd> Show rule invocations and variable expansions
<dt> 6 <dd> Show directory/header file/archive scans
<dt> 7 <dd> Show variable settings
<dt> 8 <dd> Show variable fetches and expansions. Show 'if' calculations.
<dt> 9 <dd> Show variable manipulation, scanner tokens. Show memory use.
</dl>
<tr>
<td valign=top><code> -d +<I>n</i> </code>
<td> Enable debugging level <i>n</I>.
<tr>
<td valign=top><code> -d 0 </code>
<td> Turn off all debugging levels. Only errors are emitted.
<tr>
<td valign=top><code> -f <i>[-]Jamfile[.jam]</I></code>
<td>Read the built-in Jambase and then read <i>Jamfile.jam</i>. In order to bypass the built-in Jambase, preface the filename with a <tt>-<tt> (minus) symbol. Multiple -f flags are permitted. If <tt>.jam</tt> is not listed as the filename extension, it may be appended to the filename as part of the search.
<tr>
<td valign=top><code> -g </code>
<td> Build targets with the newest sources first, rather than in the order of appearance in the Jambase/Jamfiles.
<tr>
<td valign=top><code> -j <i>n</I></code>
<td> Run up to <i>n</i> 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 <tt>NUMBER_OF_PROCESSORS</tt>. On Mac OS X, the number of processors is obtained from the API <tt>MPProcessors</tt>.
<tr>
<td valign=top><code> -n</code>
<td> Don't actually execute the updating actions, but do everything else. This changes the debug level to -dax.
<tr>
<td valign=top><code> -o <i>file</I></code>
<td> Write the updating actions to the specified file instead of running them (or outputting them, as on the Mac).
<tr>
<td valign=top><code> -r </code>
<td> Enter run mode, a special mode that finds <b>jrun.jam</b> up the directory hierarchy and allows individual commands to be registered. See the <b>jrun.jam</b> top-level in the source tree for examples.
<tr>
<td valign=top><code> -q </code>
<td> Quit quickly (as if an interrupt was received) as soon as any target build fails.
<tr>
<td valign=top><code> -s <i>var</I>=<I>value</I></code>
<td> Set the variable <i>var</i> to <i>value</I>, overriding both internal variables and variables imported from the environment.
<tr>
<td valign=top><code> -S</code>
<td> When specified, any rules called that have not been defined are skipped without warning. <tt>jam --workspace</tt> makes extensive use of it. This command line option will mask problems with your Jamfiles, so it is recommended you don't use it.
<tr>
<td valign=top><code><i>var</I>=<I>value</I></code>
<td> Set the variable <i>var</i> to <i>value</I>, overriding both internal variables and variables imported from the environment. This is a simpler to use version of <tt>-s</tt>
<tr>
<td valign=top><code> -t <i>target</I></code>
<td> Rebuild <i>target</i> and everything that depends on it, even if it is up-to-date.
<tr>
<td valign=top><code> -T </code>
<td> Toggle printing of the target's bound name (full path).
<tr>
<td valign=top><code> -v</code>
<td> Print the version of <b>jam</b> and exit.
</table>
*/