cosmetix in yy
[k8jam.git] / doc / README.ORG
blob7e8d04170ff250fc07155179f469c448ed8dec5b
1 below is the original Jam 2.5 README file:
3 =============================================================================
5 Jam/MR (aka "jam - make(1) redux")
7     /+\
8     +\  Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
9     \+/
11     This is Release 2.5 of Jam, a make-like program.
13     License is hereby granted to use this software and distribute it
14     freely, as long as this copyright notice is retained and modifications
15     are clearly marked.
17     ALL WARRANTIES ARE HEREBY DISCLAIMED.
19 FEATURES
21    -> Jam is a make(1) replacement that makes building simple things
22   simple and building complicated things manageable.
24    -> Jam's language is expressive, making Jamfiles (c.f. Makefiles)
25   compact.  Here's a sample:
27       Main smail : main.c map.c resolve.c deliver.c
28        misc.c parser.y alias.c pw.c headers.c
29        scanner.l getpath.c str.c ;
31   This builds "smail" from a dozen source files.  Jam handles
32   header file dependencies automatically and on-the-fly.
34    -> Jam is very portable: it runs on UNIX, VMS, Mac, and NT.
35   Most Jamfiles themselves are portable, like the sample above.
37    ->   Jam is unintrusive: it is small, it has negligible CPU
38   overhead, and it doesn't create any of its own funny files
39   (c.f. Odin, nmake, SunOS make).
41    -> Jam can build large projects spread across many directories
42   in one pass, without recursing, tracking the relationships
43   among all files. Jam can do this with multiple, concurrent
44   processes.
46    ->   Jam isn't under the blinkin GNU copyright, so you can
47   incorporate it into commercial products.
50 INFORMATION GUIDE
52     Jam.html    jam and language reference.
54     Jambase.html  Reference for the Jambase boilerplate file.
56     Jamfile.html  Easy reading on creating a Jamfile and using jam.
58     RELNOTES    Release 2.3 release notes.
60     Porting   Notes on porting jam to wildcat platforms.
62     README    This file.  Includes installation instructions.
64     jam.c   Contains the jam command's main() as well as an
65       introduction to the code, for serious hackers.
68 INSTALLING
70     The Makefile (UNIX, NT), build.com (VMS), Build.mpw (Mac MPW) are
71     for bootstrapping.  Once jam is built, it can rebuild itself.
73     UNIX
75   Build jam with make(1) on:
77       Platform    $(OS)
78       -------------------------
79       AIX     AIX   *
80       BSD/386 1.0   BSDI
81       COHERENT/386  COHERENT
82       DGUX 5.4    DGUX
83       FreeBSD   FREEBSD
84       HPUX 9.0    HPUX
85       IRIX 5.0    IRIX
86       Linux   LINUX
87       NEXTSTEP 3.2  NEXT
88       OSF/1   OSF
89       PTX V2.1.0    PTX
90       Solaris 2   SOLARIS   *
91       SunOS4.1    SUNOS
92       Ultrix 4.2    ULTRIX
93       BeOS    BEOS    *
95       * requires editing Makefile
97     Windows
99   Build jam with nmake on:
101       Platform    $(OS)
102       -------------------------
103       NT      NT    *
104       OS/2    OS2   *
106   The NT MAXLINE (command line length) is still set in jam.h to
107   996, which was apparently the NT 3.5 limit. On 4.0, the limit
108   is somewhere around 10K. For now, you can increase MAXLINE in
109   jam.h so that a jam running on 4.0 will use the full command
110   line length, but that jam.exe will fail miserably on the older OS.
112   On NT, a variable must be set before invoking jam to tell
113   it where the C compiler lives.  The name of this variable
114   depends on which compiler you are using:
116       BCCROOT:  The Borland C compiler
117       MSVCDIR:  The Microsoft Compiler 6.0 (for NT)
118       MSVCNT: The Microsoft Compiler 5.0 (for NT)
119       MSVC: The Microsoft Compiler 1.5 (for Windows)
121   Only MSVCNT and MSVCDIR have really been tested and are known
122   to work.
124     Macintosh
126   Build jam with Build.mpw on:
128       Platform    $(OS)
129       -------------------------
130       Macintosh   MAC
132   You'll need to edit Build.mpw to set CW.
134     VMS
136       Build jam with @build.com on:
138       Platform    $(OS)
139       -------------------------
140       VMS 5.4   VMS
141       OPENVMS   OPENVMS
143 Comments to the author!
145 November, 1993 - release 1.0
146 March, 1995 - release 2.0
147 February, 1996 - release 2.1
148 November, 1997 - release 2.2
149 December, 2000 - release 2.3
150 March, 2002 - release 2.4
151 December, 2002 - release 2.5 rc1
152 January, 2003 - release 2.5 rc2
153 April, 2003 - release 2.5 rc3
154 August, 2004 - release 2.5 (rc3 moniker merely dropped)
156 Christopher Seiwald
158 seiwald@perforce.com