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