Here is the procedure for getting things running.

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

2a. Edit `Makefile.in' if you want to make changes that will have effect
    across different runs of `configure'; for example, changing the
    installation directories. Alternatively, override the make
    variables on the command line when you run make.

2b. Edit `kpathsea/paths.h.in' to define your local paths. If you do not
    change these paths, it is possible that your TeX will start up 
    Very, Very, Slowly. Or the programs won't find any of your fonts or
    other input files. See kpathsea/INSTALL for more details on changing
    the default paths.

3. Do `sh configure' (or otherwise arrange for `configure' to be run by
   a Bourne-compatible shell).  If you want to change the prefix or
   exec_prefix make variables, give the -prefix and -exec-prefix options
   to configure.  By default, the prefix is the parent directory of the
   directory where the program `tex' is found, or /usr/local.
   
   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'.

4. Inspect `./Makefile' and `lib/c-auto.h', which `configure' creates,
   to see if configure's guesses were correct.  Change whatever is
   necessary; for example, if you want to optimize, change CFLAGS.
   See ./MACHINES for possibly helpful information.
   
5. `make programs' to make the working versions of the remaining programs
   Alternatively. `make all' combines `programs' and `manpages'.

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

7. `make install-exec' to install the programs.
      and to create links to `virtex' and `virmf' for each.
    `make install-manpages' to install the manual pages.
    `make install-data' to do install-manpages, and to get the pool files 
       and other architecture-independent files.
    Alternatively, `make install' to install everything.

8. There are several targets for cleanup:
    `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 other junk.

If you wish to make a single program, the top-level Makefile has
targets `TeX', `MF', and `BibTeX'. (No targets for the other programs, though.)

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'.

The host labrea.stanford.edu is the ultimate source for those files
maintained by Knuth (for example, plain.tex).  But do not use labrea for
any other files! It is very often out of date.

I strongly suggest using flex and bison (version 2.4.6 and 1.22 were
current as of this writing) for lex and yacc.




