• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

Build.comH A D07-Aug-20141.1 KiB3433

Build.mpwH A D07-Aug-20143.3 KiB4833

JambaseH A D07-Aug-201444.4 KiB2,1821,806

JamfileH A D03-May-20223.6 KiB158125

MakefileH A D03-May-20222.3 KiB10113

PortingH A D07-Aug-20142.1 KiB6946

READMEH A D07-Aug-20144 KiB156108

RELNOTESH A D07-Aug-201438.1 KiB1,151785

builtins.cH A D07-Aug-20147 KiB319186

builtins.hH A D07-Aug-2014274 151

command.cH A D07-Aug-20141.2 KiB7037

command.hH A D07-Aug-20141.6 KiB6018

compile.cH A D07-Aug-201420.4 KiB966509

compile.hH A D07-Aug-20142.4 KiB6335

execas400.cH A D07-Aug-20144.5 KiB226118

execcmd.hH A D07-Aug-2014507 2710

execmac.cH A D07-Aug-20141.6 KiB8226

execunix.cH A D07-Aug-20148.8 KiB443275

execvms.cH A D07-Aug-20143.5 KiB18095

expand.cH A D07-Aug-201412.5 KiB535274

expand.hH A D07-Aug-2014339 196

filemac.cH A D07-Aug-20143.6 KiB16984

filent.cH A D07-Aug-20146.2 KiB283163

fileos2.cH A D07-Aug-20143 KiB13563

filesys.hH A D07-Aug-2014531 194

fileunix.cH A D07-Aug-20148.8 KiB397235

filevms.cH A D07-Aug-20147.2 KiB322203

glob.cH A D07-Aug-20142.5 KiB16087

hash.cH A D07-Aug-20145.2 KiB258161

hash.hH A D07-Aug-2014539 216

headers.cH A D07-Aug-20142.9 KiB13267

headers.hH A D07-Aug-2014206 121

jam.cH A D07-Aug-20149.4 KiB380182

jam.hH A D03-May-202212.1 KiB588437

jambase.cH A D07-Aug-201430.3 KiB1,3361,333

jambase.hH A D07-Aug-2014373 161

jamgram.cH A D07-Aug-201428.4 KiB936920

jamgram.hH A D07-Aug-20141 KiB5250

jamgram.yH A D07-Aug-20149.5 KiB356244

jamgram.yyH A D07-Aug-20148.4 KiB311269

jamgramtab.hH A D07-Aug-20141 KiB4645

lists.cH A D07-Aug-20144.6 KiB290157

lists.hH A D07-Aug-20142.2 KiB8526

make.cH A D07-Aug-201413.5 KiB536284

make.hH A D07-Aug-2014336 152

make1.cH A D07-Aug-201416.4 KiB664334

mkjambase.cH A D07-Aug-20142.1 KiB12673

newstr.cH A D07-Aug-20141.9 KiB9941

newstr.hH A D07-Aug-2014358 174

option.cH A D07-Aug-20141.7 KiB10669

option.hH A D07-Aug-2014568 268

parse.cH A D07-Aug-20142.5 KiB13580

parse.hH A D07-Aug-2014991 5125

patchlevel.hH A D07-Aug-2014159 62

pathmac.cH A D07-Aug-20146.2 KiB284170

pathsys.hH A D07-Aug-20141.2 KiB5322

pathunix.cH A D07-Aug-20145.2 KiB237129

pathvms.cH A D07-Aug-20148.7 KiB432269

regexp.cH A D07-Aug-201431.4 KiB1,326883

regexp.hH A D07-Aug-2014821 3014

rules.cH A D07-Aug-20147.3 KiB364185

rules.hH A D07-Aug-20146.3 KiB181106

scan.cH A D07-Aug-20147.7 KiB409247

scan.hH A D07-Aug-20141.5 KiB5821

search.cH A D07-Aug-20141.6 KiB8851

search.hH A D07-Aug-2014302 141

timestamp.cH A D07-Aug-20143.9 KiB206130

timestamp.hH A D07-Aug-2014259 132

variable.cH A D07-Aug-20146.3 KiB348186

variable.hH A D07-Aug-2014712 289

yyaccH A D07-Aug-20141.4 KiB8958

README

1Jam - make(1) redux
2
3    /+\
4    +\	Copyright 1993-2014 Christopher Seiwald and Perforce Software, Inc.
5    \+/
6
7    This is Release 2.6 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 rc1
148January, 2003 - release 2.5 rc2
149April, 2003 - release 2.5 rc3
150August, 2004 - release 2.5 (rc3 moniker merely dropped)
151August, 2013 - release 2.6
152
153Christopher Seiwald
154
155seiwald@perforce.com
156