build/jam_src
Vladimir Prus b683f1da14 Fix rule echoing.
* jam_src/make1.c (make1c): Output don't output nonqueit when neither
     DEBUG_MAKE nor DEBUG_MAKEQ is set.

   * test/code_d1d2.py: New test.


[SVN r16231]
2002-11-14 07:11:16 +00:00
..
builds
debian Changes the debian bjam package to be similar to jam package. 2002-10-23 12:27:57 +00:00
boost-jam.spec Better error messages. 2002-11-07 07:46:55 +00:00
build.bat More cleanup... 2002-11-13 07:05:52 +00:00
Build.com perforce 2.4 merge (again) 2002-04-07 00:22:45 +00:00
build.jam More cleanup... 2002-11-13 07:05:52 +00:00
Build.mpw
build.sh SH compatible function declaration syntax. 2002-11-12 00:08:25 +00:00
builtins.c Dependency scanning implementation. 2002-10-02 11:56:32 +00:00
builtins.h Dependency scanning implementation. 2002-10-02 11:56:32 +00:00
command.c dummy 2002-04-09 04:05:02 +00:00
command.h
common.mk Added the 'PWD' builtin. 2002-03-07 09:02:01 +00:00
compile.c Really fix broken debug output. 2002-11-11 23:32:42 +00:00
compile.h True 'C' compatibility 2002-05-06 22:19:20 +00:00
debugjam0.bat
debugjam0.sh
execcmd.h
execmac.c
execnt.c Always use a .bat file unless forced to do otherwise 2002-04-15 04:18:23 +00:00
execunix.c
execvms.c
expand.c Clean up insignificant leak 2002-07-04 15:31:23 +00:00
expand.h
filemac.c Merge with Perforce 2.4 state 2002-03-06 14:13:29 +00:00
filent.c Merge with Perforce 2.4 state 2002-03-06 14:13:29 +00:00
fileos2.c Merge with Perforce 2.4 state 2002-03-06 14:13:29 +00:00
filesys.c Merge with Perforce 2.4 state 2002-03-06 14:13:29 +00:00
filesys.h True 'C' compatibility 2002-05-06 22:19:20 +00:00
fileunix.c Apply patch from "Markus Schöpflin" <markus.schoepflin@ginit-technology.com> 2002-09-24 13:47:57 +00:00
filevms.c Merge with Perforce 2.4 state 2002-03-06 14:13:29 +00:00
frames.c Merge with Perforce 2.4 state 2002-03-06 14:13:29 +00:00
frames.h True 'C' compatibility 2002-05-06 22:19:20 +00:00
glob.c
hash.c
hash.h Suppress warning 2002-10-28 04:06:50 +00:00
hcache.c Merged Matt Armstrong's patches 2002-05-28 20:35:13 +00:00
hcache.h Merged Matt Armstrong's patches 2002-05-28 20:35:13 +00:00
hdrmacro.c
hdrmacro.h
headers.c Merged Matt Armstrong's patches 2002-05-28 20:35:13 +00:00
headers.h Merged Matt Armstrong's patches 2002-05-28 20:35:13 +00:00
INSTALL Add double quotes in case spaces in paths, fix cut and paste errors 2002-04-03 18:31:18 +00:00
jam.c Increase Boost.Jam version to 3.1.3. 2002-10-04 14:25:11 +00:00
jam.h Fix for compiling with CodeWarrior. 2002-09-25 05:53:35 +00:00
Jam.html perforce 2.4 merge (again) 2002-04-07 00:22:45 +00:00
Jambase Apply patch for building with VC7 2002-09-07 18:08:50 +00:00
jambase.c VC7 builds 2002-09-09 14:05:10 +00:00
jambase.h
Jambase.html perforce 2.4 merge (again) 2002-04-07 00:22:45 +00:00
Jamfile Applied an RPM building patch from Malte Starostik. 2002-10-14 11:14:15 +00:00
Jamfile.html perforce 2.4 merge (again) 2002-04-07 00:22:45 +00:00
jamgram.c Automatic class def_init(), abstract class __init__ errors 2002-08-14 06:26:33 +00:00
jamgram.h Automatic class def_init(), abstract class __init__ errors 2002-08-14 06:26:33 +00:00
jamgram.y perforce 2.4 integration 2002-04-06 23:41:05 +00:00
jamgram.yy perforce 2.4 integration 2002-04-06 23:41:05 +00:00
jamgramtab.h perforce 2.4 merge (again) 2002-04-07 00:22:45 +00:00
lists.c Fixes. 2002-04-10 08:43:22 +00:00
lists.h True 'C' compatibility 2002-05-06 22:19:20 +00:00
make1.c Fix rule echoing. 2002-11-14 07:11:16 +00:00
make.c Dependency scanning implementation. 2002-10-02 11:56:32 +00:00
make.h Merge from feature_branch-update_rule (state 1). 2002-07-09 08:58:29 +00:00
makecygwindebugjam.bat
makedebugjam.bat New module scoping rules 2002-03-27 22:23:30 +00:00
makedebugjam.sh
Makefile perforce 2.4 changes 2002-04-06 23:40:41 +00:00
mkjambase.c
modules.c New module scoping rules 2002-03-27 22:23:30 +00:00
modules.h True 'C' compatibility 2002-05-06 22:19:20 +00:00
newstr.c Bug fix 2002-09-28 08:03:38 +00:00
newstr.h
option.c Set to version 3.1 2002-03-07 17:14:12 +00:00
option.h
parse.c
parse.h True 'C' compatibility 2002-05-06 22:19:20 +00:00
patchlevel.h Increase Boost.Jam version to 3.1.3. 2002-10-04 14:25:11 +00:00
pathmac.c Merge with Perforce 2.4 state 2002-03-06 14:13:29 +00:00
pathsys.h True 'C' compatibility 2002-05-06 22:19:20 +00:00
pathunix.c Merge with Perforce 2.4 state 2002-03-06 14:13:29 +00:00
pathvms.c Merge with Perforce 2.4 state 2002-03-06 14:13:29 +00:00
Porting
pwd.c <dir.h> -> <direct.h> 2002-03-07 22:59:24 +00:00
pwd.h Added the 'PWD' builtin. 2002-03-07 09:02:01 +00:00
README perforce 2.4 merge (again) 2002-04-07 00:22:45 +00:00
readme.html Minimal new documentation for B-Jam. 2002-11-12 07:35:21 +00:00
regexp.c
regexp.h True 'C' compatibility 2002-05-06 22:19:20 +00:00
RELNOTES perforce 2.4 merge (again) 2002-04-07 00:22:45 +00:00
rules.c Fix "illegal constant expression" error on CodeWarrior. 2002-10-12 17:02:42 +00:00
rules.h Kill a warning. 2002-10-10 13:20:43 +00:00
scan.c turn trailing "\r\n" sequences into plain "\n" in action blocks, so 2002-11-04 21:54:23 +00:00
scan.h
search.c Dependency scanning implementation. 2002-10-02 11:56:32 +00:00
search.h
strings.c Fixes for Sun Forte cc 2002-05-07 10:41:42 +00:00
strings.h True 'C' compatibility 2002-05-06 22:19:20 +00:00
subst.c Fixes for Sun Forte cc 2002-05-07 10:41:42 +00:00
timestamp.c Merge with Perforce 2.4 state 2002-03-06 14:13:29 +00:00
timestamp.h
variable.c New module scoping rules 2002-03-27 22:23:30 +00:00
variable.h Warning suppression 2002-05-29 14:17:13 +00:00
yyacc perforce 2.4 merge (again) 2002-04-07 00:22:45 +00:00
yyacc.bat

Jam/MR (aka "jam - make(1) redux") 

    /+\
    +\	Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
    \+/

    This is Release 2.4 of Jam/MR, a make-like program.

    License is hereby granted to use this software and distribute it
    freely, as long as this copyright notice is retained and modifications 
    are clearly marked.

    ALL WARRANTIES ARE HEREBY DISCLAIMED.

FEATURES

   ->	Jam is a make(1) replacement that makes building simple things
	simple and building complicated things manageable.

   ->	Jam'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 handles 
	header file dependencies automatically and on-the-fly.

   ->	Jam is very portable: it runs on UNIX, VMS, Mac, and NT.  
	Most Jamfiles themselves are portable, like the sample above.

   ->   Jam 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 can build large projects spread across many directories
	in one pass, without recursing, tracking the relationships
	among all files. Jam can do this with multiple, concurrent 
	processes.

   ->   Jam isn't under the blinkin GNU copyright, so you can 
	incorporate it into commercial products.


INFORMATION GUIDE

    Jam.html		jam and language reference.

    Jambase.html	Reference for the Jambase boilerplate file.

    Jamfile.html	Easy reading on creating a Jamfile and using jam.

    RELNOTES		Release 2.3 release notes.

    Porting		Notes on porting jam to wildcat platforms.

    README		This file.  Includes installation instructions.

    jam.c		Contains the jam command's main() as well as an 
			introduction to the code, for serious hackers.


INSTALLING

    The Makefile (UNIX, NT), build.com (VMS), Build.mpw (Mac MPW) are 
    for bootstrapping.  Once jam is built, it can rebuild itself.

    UNIX

	Build jam with make(1) on:

	    Platform		$(OS) 
	    -------------------------
	    AIX			AIX		*	
	    BSD/386 1.0		BSDI
	    COHERENT/386	COHERENT
	    DGUX 5.4		DGUX
	    FreeBSD		FREEBSD
	    HPUX 9.0		HPUX
	    IRIX 5.0		IRIX
	    Linux		LINUX
	    NEXTSTEP 3.2	NEXT
	    OSF/1		OSF
	    PTX V2.1.0		PTX
	    Solaris 2		SOLARIS		*
	    SunOS4.1		SUNOS
	    Ultrix 4.2		ULTRIX
	    BeOS		BEOS		*

	    * requires editing Makefile

    Windows

	Build jam with nmake on:

	    Platform		$(OS)
	    -------------------------
	    NT			NT		*
	    OS/2		OS2		*

	The NT MAXLINE (command line length) is still set in jam.h to
	996, which was apparently the NT 3.5 limit. On 4.0, the limit 
	is somewhere around 10K. For now, you can increase MAXLINE in 
	jam.h so that a jam running on 4.0 will use the full command
	line length, but that jam.exe will fail miserably on the older OS.

	On NT, a variable must be set before invoking jam to tell
	it where the C compiler lives.  The name of this variable
	depends on which compiler you are using:

	    BCCROOT:	The Borland C compiler
	    MSVCNT:	The Microsoft Compiler 5.0 (for NT)
	    MSVC:	The Microsoft Compiler 1.5 (for Windows)

	Only MSVCNT has really been tested and is known to work.

    Macintosh

	Build jam with Build.mpw on:

	    Platform		$(OS)
	    -------------------------
	    Macintosh		MAC		

	You'll need to edit Build.mpw to set CW.  

    VMS

    	Build jam with @build.com on:

	    Platform		$(OS)
	    -------------------------
	    VMS 5.4		VMS
	    OPENVMS		OPENVMS

Comments to the author!

November, 1993 - release 1.0
March, 1995 - release 2.0 
February, 1996 - release 2.1
November, 1997 - release 2.2
December, 2000 - release 2.3
March, 2002 - release 2.4


Christopher Seiwald

seiwald@perforce.com