Perforce Jam

Perforce Jam is an open source build system, written by Christopher Seiwald at Perforce Software. It can be used as a substitute for make. Jam runs on Unix ( including many derivatives ), OpenVMS, Linux, Windows NT, and Mac OS. Using MinGW or Cygwin running on Windows 9.x. Jam It can, just like make, use together with Autoconf. However, this is not always necessary thanks to the portability of Jam.

A build - system is responsible for the automatic translation of computer programs. It calls under different systems on the respective compiler and linker. In addition, the necessary files are copied or generated. Often a silent installation / uninstallation, or the generation of a download package for end-users will be offered.

Advantages over make

  • Jamfiles, so the rules for translating the program, are usually portable, meaning they can run on different operating systems without modification.
  • Dependencies need not be explicitly specified, it is automatically Jam in C -, or other supported source files.
  • The language is very simple and clear. Jamfiles are considerably shorter than makefiles.
  • The so-called Jambase that contains the supplied rules, brings a lot of comfortable rules, which in make everything should be self- written or generated with Automake.
  • The language is extensible at will, also rules out the Jambase can be overwritten.


The language of Jam has some peculiarities. All language components must be separated with a space, otherwise they would be interpreted as part of a string, the only data type in Jam. Via so-called Actions may be executed within the Jamfiles bash or batch code.

A simple Jamfile:

Main hello:; Library mytools:; Link Libraries hello: mytools; use

In the root directory of the software project, the jam command is invoked. The Jamfile file is then first incorporated therein, including all files read and then executed the necessary steps for translating the program. As a command -line parameters, a particular Jamfile with - ffilename or a desired target can be specified. These targets may for example only a designated part of the program to be translated. To install the program is usually jam install called


FT Jam is completely backward compatible with Perforce Jam. It has additional built-in rules, and support for more compilers. In addition, Windows 9.x and many flaws were corrected.

Kyam is a complete rewrite of Jam. It should be stable, easy and efficient. Kyam among other improvements, supports network cross- compiling.

Boost Jam, also bjam or Boost.Jam, based on FT Jam and is also backward compatible with Perforce Jam. It was developed as part of the Boost C Libraries.

Autojam provides an advanced Jambase with more rules.

Haiku Jam is used by default by Haiku ( operating system).

Platinum C Jam -Jam also Pt. It was developed C framework as part of the Platinum.