Scroll to navigation

jam(1) General Commands Manual jam(1)


Jam/MR — Make(1) Redux


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


Jam is a program construction tool, like make(1).

Jam recursively builds target files from source files, using dependency information and updating actions expressed in the Jambase file, which is written in jam's own interpreted language. The default Jambase is compiled into jam and provides a boilerplate for common use, relying on a user-provide file "Jamfile" to enumerate actual targets and sources.


Build all targets anyway, even if they are up-to-date.
Enable cumulative debugging levels from 1 to n. Interesting values are:


Show actions (the default)


Show "quiet" actions and display all action text


Show dependency analysis, and target/source timestamps/paths


Show shell arguments


Show rule invocations and variable expansions


Show directory/header file/archive scans


Show variable settings


Show variable fetches


Show variable manipulation, scanner tokens

Enable debugging level n.
Turn off all debugging levels. Only errors are not suppressed.
Read jambase instead of using the built-in Jambase. Only one -f flag is permitted, but the jambase may explicitly include other files.
Build targets with the newest sources first, rather than in the order of appearance in the Jambase/Jamfiles.
Run up to n shell commands concurrently (UNIX and NT only). The default is 1.
Don't actually execute the updating actions, but do everything else. This changes the debug level default to -d2.
Write the updating actions to the specified file instead of running them (or outputting them, as on the Mac).
Quit quickly (as if an interrupt was received) as soon as any target build fails.
Set the variable var to value, overriding both internal variables and variables imported from the environment.
Rebuild target and everything that depends on it, even if it is up-to-date.
Print the version of jam and exit.


jam is documented fully in HTML pages available on Debian systems from /usr/share/doc/jam/Jam.html.


This manual page was created by Yann Dirson from the Jam.html documentation, for the Debian GNU/Linux system (but may be used by others).