          &dhemail;

&dhfirstname; &dhsurname;
2001
&dhusername;
&dhdate;
JAM
1

# Jam/MR

Make(1) Redux

          jam

          -a
          -n
          -v

          -d <replaceable/debug/</option>
          -f <replaceable/jambase/</option>
          -j <replaceable/jobs/</option>
          -o <replaceable/actionsfile/</option>
          -s <replaceable/var/=<replaceable/value/</option>
          -t <replaceable/target/</option>

          <arg repeat><replaceable/target/</option>

## DESCRIPTION

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.

## OPTIONS

<option/-a/</term>

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

`-d <replaceable/n/</option>`

  Enable cummulative debugging levels from 1 to <replaceable/n/. Interesting values are:

  <glosslist> <glossterm/1/ <glossdef><simpara/Show actions (the default)/</glossdef>

  <glossterm/2/ <glossdef><simpara/Show "quiet" actions and display all action text/</glossdef>

  <glossterm/3/ <glossdef>

  Show dependency analysis, and target/source timestamps/paths

  <glossterm/4/ <glossdef><simpara/Show shell arguments/</glossdef>

  <glossterm/5/ <glossdef><simpara/Show rule invocations and variable expansions/</glossdef>

  <glossterm/6/ <glossdef>

  Show directory/header file/archive scans

  <glossterm/7/ <glossdef><simpara/Show variable settings/</glossdef>

  <glossterm/8/ <glossdef><simpara/Show variable fetches/</glossdef>

  <glossterm/9/ <glossdef><simpara/Show variable manipulation, scanner tokens/</glossdef>
`-d +<replaceable/n/</option>`

  Enable debugging level <replaceable/n/.</para>

<option/-d 0/</term>

  Turn off all debugging levels. Only errors are not suppressed.

`-f <replaceable/jambase/</option>`

  Read <replaceable/jambase/ instead of using the built-in Jambase. Only one <option/-f/ flag is permitted, but the <replaceable/jambase/ may explicitly include other files.</para>

`-j <replaceable/n/</option>`

  Run up to <replaceable/n/ shell commands concurrently (UNIX and NT only). The default is 1.</para>

<option/-n/</term>

  Don't actually execute the updating actions, but do everything else. This changes the debug level default to <option/-d2/.</para>

`-o <replaceable/file/</option>`

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

`-s <replaceable/var/=<replaceable/value/</option>`

  Set the variable <replaceable/var/ to <replaceable/value/, overriding both internal variables and variables imported from the environment. </para>

`-t <replaceable/target/</option>`

  Rebuild <replaceable/target/ and everything that depends on it, even if it is up-to-date.</para>

<option/-v/</term>

  Print the version of jam and exit.

## SEE ALSO

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

## AUTHOR

This manual page was created by &dhusername; &dhemail; from the <filename/Jam.html/ documentation, for the &debian; system (but may be used by others).</para>