Check out the new USENIX Web site.

Jam - Make(1) Redux

Christopher Seiwald

INGRES Corporation
March 11, 1994


Despite the progress of UNIX, the basic mechanism by which developers build their programs - make(1) - has remained at its core unimproved since its inception. Most notably, the make language has seen few improvements. Jam is a make replacement that uses an extensible, expressive language for describing ways in which files relate. This new language simplifies the description of systems, both small and large, and renders extending Jam's functionality not only possible but easy.

Jam exists now and runs on many UNIX platforms, VMS, and NT. It is freely available in the comp.sources.unix archives. As proof of concept, it has been used to build a very large commercial product, generating in a single invocation 1,000 deliverable files from 12,000 source files.

Download the full text of this paper, in ASCII (32,021 bytes) or POSTSCRIPT (61064 bytes) form.

To Become a USENIX Member, please see our Membership Information.