Here is the procedure for getting things running.

1. Inspect the first section of `lib/c-auto.h.in', and edit the file if
   necessary.

2. Edit `Makefile.in' if you want to make changes that will have effect
   across different runs of `configure'.

3. Do `sh configure' (or otherwise arrange for `configure' to be run
   using the Bourne shell).
   
   You can control some of what configure does by setting environment
   variables before running.  For example, configure normally uses gcc
   if you have it, otherwise cc; but if the environment variable `CC' is
   set, its value will be used.  Likewise for `YACC', `LEX', and `CCLD'.
   
   You can regenerate the `configure' script with the GNU Autoconf
   distribution, available for ftp from prep.ai.mit.edu:pub/gnu, among
   many other places.  You must arrange for the macros in ./aclocal.m4
   to be seen by Autoconf.

4. Inspect `./Makefile' and `lib/c-auto.h', which `configure' creates,
   to see if configure's guesses were correct.  Change anything if
   necessary; for example, if you want to optimize, change CFLAGS.
   See ./MACHINES for possibly helpful information.
   
5. `make triptrap' to build triptex and trapmf (and some of the other 
   programs that are needed to run the tests).

6. `make run-triptrap' to run the tests.  The differences (and many
   error messages) will show up on your terminal.  If you have a
   question about whether the differences are OK or not, consult
   tex/TeXtrip/tripman.tex and mf/MFtrap/trapman.tex.  The most common
   differences are in:
   * glue setting being rounded differently in the TeX log;
   * string space and maximum values of tables;
   * the `down4' and `right4' commands in the dvitype output;
   * the dates and times.
   All these differences are acceptable.

7. `make clean-triptrap' to get rid of the test programs and output.  You
   need to do this before making the production versions, or the
   resulting TeX and Metafont will have very small memories.

8. `make' to make the working versions of the remaining programs.

9. `make formats' to make the format files you want (the variable
   `formats' in the Makefile defines the list).  If you don't know what
   this means, see the section `Format files and preloading' below.
   Before doing this, the TFM and other input files must be put in the
   proper directories, and your search paths (e.g., the environment
   variables TEXINPUTS, TEXFONTS, etc., or the defaults in Makefile.in if the
   variables are unset) must look in those directories.

10. `make bases' to make the base files for Metafont that you want.
    Besides the variable `bases' in ./Makefile, you may also want to
    change the variable `localmodes'.  It is also a good idea to try to
    draw something online (if you intend to support that) before
    installing Metafont, as this often fails to work right on the first
    try.  See the `Running Metafont' chapter in the Metafontbook.  The
    comments about search paths in #9 apply here, too.

11. `make manpages' to edit the documentation in `man' for the paths and
    constants you defined in `Makefile.in' and `c-auto.h.in'.

12. `make install-exec' to install the programs.
    `make install-formats install-bases' to install the formats/bases
      and to create links to `virtex' and `virmf' for each.
    `make install-manpages' to install the manual pages.
    Alternatively, `make install' to install everything.

13. There are several ``cleaning'' targets:
    `mostlyclean' if you intend to compile on another
      architecture.  Since the .c files are intended to be portable,
      they are not removed.  If the lex/flex situation is going to be
      different on the next machine, also rm web2c/lex.yy.c.
    `clean' to remove everything that is normally created by compiling.
    `distclean' to remove everything that would not be in a distribution. 
    `realclean' to remove everything that the Makefiles can rebuild.
    `extraclean' to remove `distclean' files plus other junk files.

If you wish to make just TeX or Metafont, the top-level Makefile has
targets named `TeX' and `MF' which make {ini,vir}{tex,mf}, and nothing
else. Similarly, if you don't want to (or can't) run both the trip and
trap tests, `Makefile' has targets `run-trip' and `run-trap'.

If you wish to make just the C files (perhaps because you want to take
them to another system), the top-level Makefile has a target `c-sources'.

If you are installing TeX for the first time, the files here are not
nearly enough.  You will also need all the TeX and Metafont macro files,
and the font sources.  (Not to mention drivers for your output devices.)
All of these things are part of the Unix TeX distribution, which you can
order from the University of Washington (send email to
elisabet@u.washington.edu).  The web2c distribution itself originates
from ftp.cs.umb.edu.  See the file `FTP' for information on where to
retrieve a minimal TeX setup electronically.

The host labrea.stanford.edu is the ultimate source for those files
still maintained by Knuth (for example, plain.tex).  Another ftp site
with a large collection (including copies of what is on labrea) is
ftp.tex.ac.uk.  The Aston archive in England makes things available by
email; the address is texserver@tex.aston.ac.uk.
