1% This file is part of CWEB. 2% The CWEB programs by Silvio Levy are based on programs by D. E. Knuth. 3% They are distributed WITHOUT ANY WARRANTY, express or implied. 4% This README file last updated May 2000 by Don Knuth 5 6% Copyright (C) 1987,1990,1993,2000 Silvio Levy and Donald E. Knuth 7 8% Permission is granted to make and distribute verbatim copies of this 9% document provided that the copyright notice and this permission notice 10% are preserved on all copies. 11 12% Permission is granted to copy and distribute modified versions of this 13% document under the conditions for verbatim copying, provided that the 14% entire resulting derived work is given a different name and distributed 15% under the terms of a permission notice identical to this one. 16 17% Please send comments, suggestions, etc. to levy@math.berkeley.edu. 18 19This directory contains the following files: 20 21Makefile 22README 23comm-amiga.ch 24comm-bs.ch 25comm-mac.ch 26comm-man.ch 27comm-pc.ch 28comm-ql.ch 29comm-vms.ch 30comm-w32.ch 31common.c 32common.h 33common.w 34ctang-bs.ch 35ctang-man.ch 36ctang-pc.ch 37ctang-ql.ch 38ctang-vms.ch 39ctang-w32.ch 40ctangle.c 41ctangle.w 42cweav-bs.ch 43cweav-man.ch 44cweav-pc.ch 45cweav-ql.ch 46cweav-vms.ch 47cweave-w32.ch 48cweave.w 49cweb.1 50cweb.el 51cwebmac.tex 52cwebman.tex 53examples/ 54makefile.bs 55prod.w 56readme.ql 57c++lib.w 58 59The file cwebman.tex is the user manual. 60The examples directory contains additional examples of the use of CWEB. 61The files common.c and ctangle.c are used for bootstrapping. 62The file cweb.1 is a manual page. 63The file cweb.el is suggested for GNU-Emacs users. 64The file c++lib.w is for C++ users (say `@i c++lib.w' at beginning of program). 65The files *-man.ch are used if you want to make the full 239-page CWEB manual. 66The files *-bs.ch are used instead of *-pc.ch if you are doing BIG programs. 67You can use makefile.bs to make CWEB with *-bs.ch. 68The files *-ql.ch are for QDOS/SMSQ systems; see readme.ql for further info. 69The files *-w32.ch use __fastcall conventions on win32 systems. 70The file comm-mac.ch is for Macintosh conventions. 71The other files named *.ch are sample change files for local customization. 72 73IMPORTANT: Please touch *.c before proceeding. 74Then edit the opening lines of Makefile so that it has the proper 75directory information for your local system. 76 77To make ctangle and cweave say `make all'; this should produce roughly 78the following actions (possibly with harmless warning messages from cc): 79 80cc -g -w -c ctangle.c 81cc -g -w -DCWEBINPUTS=\"/usr/local/lib/cweb\" -c common.c 82cc -g -o ctangle ctangle.o common.o 83./ctangle cweave 84cc -g -w -c cweave.c 85cc -g -w -o cweave cweave.o common.o 86 87To get some reassurance that things are OK, you can say `make cautiously', 88which ensures that CTANGLE will reproduce itself. (Otherwise the source 89files common.w and ctangle.w won't actually have been used.) 90 91To install cweave and ctangle say `make install'. You probably need to 92be superuser to do this; but it's wise to `make all' first, BEFORE 93becoming superuser and saying `make install'. 94 95Note that change files for VMS, AMIGA, MAC, and PCs are provided. When you 96are first bootstrapping to a new system, you may need to edit common.c and 97ctangle.c by hand, but the vast majority of the change-file changes are 98minor refinements that are not necessary for a rudimentary ctangle. 99