------------------------------------------------------------------------ [Perforce] The Fast Software Configuration Management System ------------------------------------------------------------------------ Jam - Make(1) Redux Home Jam/MR is a make(1) replacement that makes building simple things simple and building complicated things manageable. It Corporate runs portably across UNIX, VMS, NT, OS/2, and Macintosh MPW. Products [ If you're looking for the commercial product JAM, try the Documentation JYACC home page. ] Software Features * Jam/MR is a make(1) replacement that makes building simple things simple and building complicated things manageable. * Jam/MR's language is expressive, making Jamfiles (c.f. Makefiles) compact. Here's a sample: Main smail : main.c map.c resolve.c deliver.c misc.c parser.y alias.c pw.c headers.c scanner.l getpath.c str.c ; This builds "smail" from a dozen source files. Jam/MR handles header file dependencies automatically and on-the-fly. * Jam/MR is very portable: it runs on UNIX, VMS, NT, OS/2, and Macintosh MPW. Most Jamfiles themselves are portable, like the sample above. * Jam/MR is unintrusive: it is small, it has negligible CPU overhead, and it doesn't create any of its own funny files (c.f. Odin, nmake, SunOS make). * Jam/MR can build large projects spread across many directories in one pass, without recursing, tracking the relationships among all files. See the accompanying paper. On UNIX and NT, jam can do this with multiple, concurrent processes. * Jam/MR isn't under the blinkin GNU copyright, so you can incorporate it into commercial products. Getting the Source Jam/MR runs on many platforms, and is available in a source code ball: * Individual files are in jam-2.2 (530k). * The gzipped ball is jam-2.2.tar.gz (130k). Information Guide Some "white papers" on jam/MR: * The UNIX Application Development Symposium paper on jam - a somewhat dated overview. * Constructing a Large Product with Jam - an experience report from SCM7. Specific documentation; these are included with the distribution: * Jam.html - Jam man page - a terse description. * Jambase.html - Reference for the rule boilerplate file. * Jamfile.html - Easy reading on creating a Jamfile and using jam. * Jamlang.html - Jam language description. * RELNOTES - Release 2.2 release notes. * Porting - Notes on porting jam to wildcat platforms. * README - installation instructions. * jam.c - Contains jam's main() as well as an introduction to the code, for serious hackers. Join the Jamming mailing list! A mailing list has been created for users to discuss jam/MR. To join this group, send mail to listserv@perforce.com with the following in the body of the message: subscribe jamming yourname You can also browse the jamming mailing list archive. Comments to the author! November, 1993 - release 1.0 March, 1995 - release 2.0 February, 1996 - release 2.1 November, 1997 - release 2.2 /+\ +\ Copyright 1993, 1997 Christopher Seiwald. \+/ ------------------------------------------------------------------------ Copyright 1997 Perforce Software. Comments to info@perforce.com. Last updated: December 3, 1997