# Generated automatically from Makefile.in by configure.
# Makefile for web2c --kb@mail.tug.org. Public domain.
version = 7.0

# These lines define the memory dumps that fmts/bases/mems will make and
# install-fmts/install-bases/install-mems will install. plain.* is
# created automatically (as a link).  See the Formats node in
# doc/web2c.texi for details on the fmts.
fmts = latex.fmt # amstex.fmt eplain.fmt texinfo.fmt
bases = # I do not recommend building cmmf.base.
mems =  # mfplain.mem is probably not generally useful.

# The name of the file that defines your local devices for Metafont.
# (Only relevant during `make bases'.)  I recommend `modes.mf', which
# defines all known modes, plus useful definitions for all fonts.  It's
# available from ftp://ftp.tug.org/tex/modes.mf, among other places.
localmodes = modes

# paths.make -- installation directories.
#
# The compile-time paths are defined in kpathsea/paths.h, which is built
# from kpathsea/paths.h-in and these definitions.  See kpathsea/INSTALL
# for how the various path-related files are used and created.

# Do not change prefix and exec_prefix in Makefile.in!
# configure doesn't propagate the change to the other Makefiles.
# Instead, give the -prefix/-exec-prefix options to configure.
# (See kpathsea/INSTALL for more details.) This is arguably
# a bug, but it's not likely to change soon.
prefix = ${DJDIR}
exec_prefix = ${prefix}

# Architecture-dependent executables.
bindir = ${exec_prefix}/bin

# Architecture-independent executables.
scriptdir = $(bindir)

# Architecture-dependent files, such as lib*.a files.
libdir = ${exec_prefix}/lib

# Architecture-independent files.
datadir = ${prefix}/share

# Header files.
includedir = ${prefix}/include

# GNU .info* files.
infodir = ${prefix}/info

# Unix man pages.
manext = 1
mandir = $(prefix)/man/man$(manext)

# TeX system-specific directories. Not all of the following are relevant
# for all programs, but it seems cleaner to collect everything in one place.

# The default paths are now in kpathsea/paths.h-in. Passing all the
# paths to sub-makes can make the arg list too long on system V.

# The root of the main tree.
texmf = $(datadir)/texmf

# Regular input files.
texinputdir = $(texmf)/tex
mfinputdir = $(texmf)/metafont
mpinputdir = $(texmf)/metapost
mftinputdir = $(texmf)/mft

# dvips's epsf.tex, rotate.tex, etc. get installed here;
# ditto for dvilj's fonts support.
dvips_plain_macrodir = $(texinputdir)/plain/dvips
dvilj_latex2e_macrodir = $(texinputdir)/latex/dvilj

# MakeTeXPK.site, texmf.cnf, etc.
web2cdir = $(texmf)/web2c

# The top-level font directory.
fontdir = $(texmf)/fonts

# Memory dumps (.fmt/.base/.mem).
fmtdir = $(web2cdir)
basedir = $(fmtdir)
memdir = $(fmtdir)

# Pool files.
texpooldir = $(web2cdir)
mfpooldir = $(texpooldir)
mppooldir = $(texpooldir)

# Where the .map files from fontname are installed.
fontnamedir = $(texmf)/fontname

# For dvips configuration files, psfonts.map, etc.
dvipsdir = $(texmf)/dvips

# For dvips .pro files, gsftopk's render.ps, etc.
psheaderdir = $(dvipsdir)

# If a font can't be found close enough to its stated size, we look for
# each of these sizes in the order given.  This colon-separated list is
# overridden by the envvar TEXSIZES, and by a program-specific variable
# (e.g., XDVISIZES), and perhaps by a config file (e.g., in dvips).
# This list must be sorted in ascending order.
default_texsizes = 300;600

# End of paths.make.

# Used for installation.
LN = ln

# Used for triptrap.
DIFF = diff
DIFFFLAGS =

.SUFFIXES: # get rid of .p.o
# common.make -- used by all Makefiles.
SHELL = /bin/sh

top_srcdir = .
srcdir = .

CC = gcc
CFLAGS = -g -O2 $(XCFLAGS)
CPPFLAGS =  $(XCPPFLAGS)
DEFS = -DHAVE_CONFIG_H $(XDEFS)

# Kpathsea needs this for compiling, programs need it for linking.
LIBTOOL = $(kpathsea_srcdir_parent)/klibtool

# You can change [X]CPPFLAGS, [X]CFLAGS, or [X]DEFS, but
# please don't change ALL_CPPFLAGS or ALL_CFLAGS.
# prog_cflags is set by subdirectories of web2c.
ALL_CPPFLAGS = $(DEFS) -I. -I$(srcdir) $(prog_cflags) \
  -I$(kpathsea_parent) -I$(kpathsea_srcdir_parent) $(CPPFLAGS)
ALL_CFLAGS = $(ALL_CPPFLAGS) $(CFLAGS) -c
compile = $(CC) $(ALL_CFLAGS)

.SUFFIXES: .c .o # in case the suffix list has been cleared, e.g., by web2c
.c.o:
	$(compile) $<

# Installation.
INSTALL = ${DJDIR}/bin/ginstall -c
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = $(INSTALL_PROGRAM)
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_LIBTOOL_LIBS = INSTALL_DATA='$(INSTALL_DATA)' $(LIBTOOL) install-lib
INSTALL_LIBTOOL_PROG = INSTALL_PROGRAM='$(INSTALL_PROGRAM)' $(LIBTOOL) install-prog

# We use these for many things.
kpathsea_parent = ..
kpathsea_dir = $(kpathsea_parent)/kpathsea
kpathsea_srcdir_parent = $(top_srcdir)/..
kpathsea_srcdir = $(kpathsea_srcdir_parent)/kpathsea
kpathsea = $(kpathsea_dir)/libkpathsea.la

##ifeq ($(CC), gcc)
##XDEFS = -D__USE_FIXED_PROTOTYPES__ -Wall -Wpointer-arith $(warn_more)
##CFLAGS = -g $(XCFLAGS)
##endif
# End of common.make.
# programs.make -- used by Makefiles for executables only.

# Don't include $(CFLAGS), since ld -g under Linux forces
# static libraries, e.g., libc.a and libX*.a.
LDFLAGS =  $(XLDFLAGS)

# proglib is for web2c; 
# XLOADLIBES is for the installer.
LIBS = 
LOADLIBES = $(proglib) $(kpathsea) $(LIBS) -lm $(XLOADLIBES)

# May as well separate linking from compiling, just in case.
CCLD = $(CC)
link_command = $(CCLD) -o $@ $(LDFLAGS) 

# When we link with Kpathsea, have to take account that it might be a
# shared library, etc.
kpathsea_link = $(LIBTOOL) link $(link_command)
# End of programs.make.
##ifeq ($(CC), gcc)
##XDEFS = -Wimplicit -Wreturn-type -Wcomment -Wformat -D__USE_FIXED_PROTOTYPES__
##endif

# Make `#include <X11/...>' and `-lX...' work.
# This matches xdvik.
# wlibs is substituted by web2c's configure, LIBS by general configure
# routines, and the others by AC_PATH_XTRA.
# All the x_... variables will be empty if we aren't supporting X.
x_cppflags = 
x_ldflags = 
x_pre_libs = 
x_extra_libs = 
x_tool_libs = 
x_ext_lib = 
wlibs = 
# Follow the library order used in X11R6 itself:
#   -lXaw -lXmu -lXt -lSM -lICE -lXext -lX11 (some may not be present).
windowlink = $(windowlib) $(x_ldflags) $(x_tool_libs) $(x_pre_libs) $(x_ext_lib) $(wlibs) $(x_extra_libs)

# With --enable-ipc, TeX may need to link with -lsocket.
socketlibs = 

common_makeargs = $(MFLAGS) CC='$(CC)' CFLAGS='$(CFLAGS)' $(XMAKEARGS)
window_makeargs = x_cppflags='$(x_cppflags)' $(common_makeargs)
install_makeargs = INSTALL='$(INSTALL)' INSTALL_DATA='$(INSTALL_DATA)' \
  INSTALL_PROGRAM='$(INSTALL_PROGRAM)' \
  $(makevars) $(common_makeargs)  

proglib = lib/lib.a
windowlib = window/window.a

# The sh script that does the conversion:
web2c = srcdir=$(srcdir) $(shared_env) $(SHELL) $(srcdir)/web2c/convert
# Additional dependencies:
web2c_aux = web2c/convert web2c/common.defines
web2c_programs = web2c/fixwrites web2c/splitup web2c/web2c

# Unfortunately, suffix rules can't have dependencies, or multiple
# targets, and we can't assume all makes supports pattern rules.
.SUFFIXES: .p .c .ch .p
.p.c: # really depends on $(web2c_programs), and generates .h.
	 $(web2c) $*
.ch.p: # really depends on ./tangle; for mf/mp/tex, also generates .pool
	$(shared_env) ./tangle.exe $(srcdir)/$*.web $<

# These definitions have to come before the rules that expand them.
# The *{ini,[0-2]}.c files are created by splitup, run as part of convert.
# {mf,mp,tex}extra.c are created from lib/texmfmp.c, below.
mf_c = mfini.c mf0.c mf1.c mf2.c
mf_o = mfini.o mf0.o mf1.o mf2.o mfextra.o
mp_c = mpini.c mp0.c mp1.c mp2.c
mp_o = mpini.o mp0.o mp1.o mp2.o mpextra.o
tex_c = texini.c tex0.c tex1.c tex2.c
tex_o = texini.o tex0.o tex1.o tex2.o texextra.o

other_c = bibtex.c dvicopy.c dvitomp.c dvitype.c gftodvi.c gftopk.c gftype.c \
  mft.c patgen.c pktogf.c pktype.c pltotf.c pooltype.c tangle.c \
  tangleboot.c tftopl.c vftovp.c vptovf.c weave.c
all_c = $(other_c) $(mf_c) $(mp_c) $(tex_c)

# Prevent Make from deleting the intermediate forms.
.PRECIOUS: %.p %.c

programs = bibtex dvicopy dvitomp dvitype gftodvi gftopk gftype mf \
mft mpost patgen pktogf pktype pltotf pooltype tangle tex tftopl vftovp \
vptovf weave

mpware = mpware/dmp mpware/makempx mpware/mpto mpware/newer
mpware_sources = mpware/dmp.c mpware/makempx.in mpware/mpto.c mpware/newer.c

#  
default all: programs formats doc/web2c.info
programs: $(programs) $(mpware)

# Rules to link each program. I wish we could use a suffix rule for
# this, since it's so repetitive, but null suffixes don't work. And old
# makes don't support pattern rules. Doomed to forever cater to obsolesence.
bibtex: bibtex.o
	$(kpathsea_link) bibtex.o $(LOADLIBES)
dvicopy: dvicopy.o
	$(kpathsea_link) dvicopy.o $(LOADLIBES)
dvitomp: dvitomp.o
	$(kpathsea_link) dvitomp.o $(LOADLIBES)
dvitype: dvitype.o
	$(kpathsea_link) dvitype.o $(LOADLIBES)
gftodvi: gftodvi.o
	$(kpathsea_link) gftodvi.o $(LOADLIBES)
gftopk: gftopk.o
	$(kpathsea_link) gftopk.o $(LOADLIBES)
gftype: gftype.o
	$(kpathsea_link) gftype.o $(LOADLIBES)
mf: $(mf_o) $(windowlib)
	$(kpathsea_link) $(mf_o) $(windowlink) $(LOADLIBES)
mft: mft.o
	$(kpathsea_link) mft.o $(LOADLIBES)
mpost: $(mp_o)
	$(kpathsea_link) $(mp_o) $(LOADLIBES)
patgen: patgen.o
	$(kpathsea_link) patgen.o $(LOADLIBES)
pktogf: pktogf.o
	$(kpathsea_link) pktogf.o $(LOADLIBES)
pktype: pktype.o
	$(kpathsea_link) pktype.o $(LOADLIBES)
pltotf: pltotf.o
	$(kpathsea_link) pltotf.o $(LOADLIBES)
pooltype: pooltype.o
	$(kpathsea_link) pooltype.o $(LOADLIBES)
tex: $(tex_o)
	$(kpathsea_link) $(tex_o) $(socketlibs) $(LOADLIBES)
tftopl: tftopl.o
	$(kpathsea_link) tftopl.o $(LOADLIBES)
vftovp: vftovp.o
	$(kpathsea_link) vftovp.o $(LOADLIBES)
vptovf: vptovf.o
	$(kpathsea_link) vptovf.o $(LOADLIBES)
weave: weave.o
	$(kpathsea_link) weave.o $(LOADLIBES)

# We put some programs (written directly in C) in a subdirectory.
$(mpware): $(mpware_sources)
	cd mpware && $(MAKE) $(common_makeargs)

# Additional dependencies for retangling.
bibtex.p dvicopy.p dvitomp.p dvitype.p gftopk.p gftodvi.p gftype.p \
  mf.p mft.p mp.p patgen.p \
  pktogf.p pktype.p pltotf.p pooltype.p \
  tex.p tftopl.p vftovp.p vptovf.p weave.p: tangle
bibtex.p: bibtex.web bibtex.ch
dvicopy.p: dvicopy.web dvicopy.ch
dvitomp.p: dvitomp.web dvitomp.ch
dvitype.p: dvitype.web dvitype.ch
gftodvi.p: gftodvi.web gftodvi.ch
gftopk.p: gftopk.web gftopk.ch
gftype.p: gftype.web gftype.ch
mf.p mf.pool: mf.web mf.ch
mp.p mp.pool: mp.web mp.ch
mft.p: mft.web mft.ch
patgen.p: patgen.web patgen.ch
pktogf.p: pktogf.web pktogf.ch
pktype.p: pktype.web pktype.ch
pltotf.p: pltotf.web pltotf.ch
pooltype.p: pooltype.web pooltype.ch
tex.p tex.pool: tex.web tex.ch
tftopl.p: tftopl.web tftopl.ch
vftovp.p: vftovp.web vftovp.ch
vptovf.p: vptovf.web vptovf.ch
weave.p: weave.web weave.ch

# Additional dependencies for reconverting to C.
$(other_c): $(web2c_aux) $(web2c_programs)
bibtex.c: web2c/cvtbib.sed
c-sources: $(all_c)

# Metafont and TeX generate more than .c file.
web2c_texmf = $(web2c_aux) $(web2c_programs) web2c/texmf.defines
$(mf_c) mfcoerce.h mfd.h: mf.p $(web2c_texmf) web2c/cvtmf1.sed web2c/cvtmf2.sed
	$(web2c) mf
$(mp_c) mpcoerce.h mpd.h: mp.p $(web2c_texmf) web2c/cvtmf1.sed web2c/cvtmf2.sed
	$(web2c) mp
$(tex_c) texcoerce.h texd.h: tex.p $(web2c_texmf)
	$(web2c) tex

# As long as we have to have separate rules to create these, might as well do
# a little work to avoid separate compilation rules, too.
mfextra.c: lib/texmfmp.c
	sed s/TEX-OR-MF-OR-MP/mf/ $(srcdir)/lib/texmfmp.c >$@
mpextra.c: lib/texmfmp.c
	sed s/TEX-OR-MF-OR-MP/mp/ $(srcdir)/lib/texmfmp.c >$@
texextra.c: lib/texmfmp.c
	sed s/TEX-OR-MF-OR-MP/tex/ $(srcdir)/lib/texmfmp.c >$@

# Additional dependencies for recompiling the C code are generated
# automatically, included at the end.

# Additional dependencies for relinking.
$(web2c_programs) $(programs) tangle tangleboot: $(kpathsea) $(proglib)

# 
# Bootstrapping tangle requires making it with itself.
tangle: tangle.o
	$(kpathsea_link) tangle.o $(LOADLIBES)
# tangle.p is a special case, since it is needed to compile itself.  We
# compile the (distributed) tangleboot.c to make a tangle which we use
# to make the other programs.
tangle.p: tangleboot tangle.web tangle.ch
	$(shared_env) ./tangleboot $(srcdir)/tangle.web $(srcdir)/tangle.ch
tangle.web:
	@echo "You seem to be missing tangle.web, perhaps because you" >&2
	@echo "didn't retrieve web.tar.gz, only web2c.tar.gz." >&2
	@echo "You need both." >&2
	@echo >&2
	@echo "web.tar.gz should be available from the" >&2
	@echo "same place that you got web2c.tar.gz." >&2
	@echo "In any case, you can get it from" >&2
	@echo "ftp://ftp.tug.org/tex/web.tar.gz." >&2
	false

tangleboot: tangleboot.o
	$(kpathsea_link) tangleboot.o $(LOADLIBES)
# tangleboot.[chp] are in the distribution, but keep them up-to-date.
tangleboot.c tangleboot.h: tangleboot.p $(web2c_programs) $(web2c_aux)
	$(web2c) tangleboot
# tangleboot.p is also a special case, because we must assume a
# working tangle is present in PATH.  This is not run unless tangle.ch
# is changed.
tangleboot.p: tangle.web tangle.ch
	tangle $(srcdir)/tangle.web $(srcdir)/tangle.ch
	mv tangle.p tangleboot.p

# Even web2c itself uses the library.
# It's annoying to have to give all the filenames here, 
# but texmfmp.c is an exception.
lib_sources = lib/alloca.c lib/basechsuffix.c lib/chartostring.c \
  lib/eofeoln.c lib/fprintreal.c lib/input2int.c lib/inputint.c lib/main.c \
  lib/openclose.c lib/printversion.c lib/uexit.c lib/usage.c lib/version.c \
  lib/zround.c 
$(proglib): $(lib_sources)
	cd lib && $(MAKE) $(common_makeargs)

# No exceptions in this library.
window_sources = $(srcdir)/window/*.c
$(windowlib): mfd.h $(window_sources)
	cd window && $(MAKE) $(window_makeargs)

# The web2c program consists of several executables.
web2c/fixwrites: web2c/fixwrites.c
	cd web2c && $(MAKE) $(common_makeargs) fixwrites
web2c/splitup: web2c/splitup.c
	cd web2c && $(MAKE) $(common_makeargs) splitup
web2c/web2c: web2c/main.c web2c/web2c.h web2c/web2c.l web2c/web2c.y
	cd web2c && $(MAKE) $(common_makeargs) web2c

# tkpathsea.make -- target for remaking kpathsea.
makeargs = $(MFLAGS) CC='$(CC)' CFLAGS='$(CFLAGS)' $(XMAKEARGS)

# This is wrong: the library doesn't depend on kpsewhich.c or
# acconfig.h.  But what to do?
$(kpathsea): $(kpathsea_srcdir)/*.c $(kpathsea_srcdir)/*.h \
	     $(kpathsea_srcdir)/texmf-in.cnf $(top_srcdir)/../make/paths.make
	cd $(kpathsea_dir) && $(MAKE) $(makeargs)
# End of tkpathsea.make.

# 
# Making formats and bases.
all_fmts = tex.fmt $(fmts)
all_bases = mf.base $(bases)
all_mems = mpost.mem $(mems)

formats: fmts bases mems
fmts: $(all_fmts)
bases: $(all_bases)
mems: $(all_mems)

tex.fmt: tex
	$(MAKE) files="plain.tex cmr10.tfm" prereq-check
	./tex.exe --ini \\input plain \\dump </dev/null
	rm -f tex.fmt; mv plain.fmt tex.fmt
	rm -f tex.log; mv plain.log tex.log

latex.fmt: tex
	$(MAKE) files=latex.ltx prereq-check
	./tex.exe --ini \\input latex.ltx </dev/null

mf.base: mf
	$(MAKE) files="plain.mf cmr10.mf $(localmodes).mf" prereq-check
	./mf.exe --ini \\input plain input $(localmodes) dump </dev/null
	rm -f mf.base; mv plain.base mf.base
	rm -f mf.log; mv plain.log mf.log

mpost.mem: mpost
	$(MAKE) files=plain.mp prereq-check
	./mpost.exe --ini \\input plain dump </dev/null
	rm -f mpost.mem; mv plain.mem mpost.mem
	rm -f mpost.log; mv plain.log mpost.log

# This is meant to be called recursively, with $(files) set.
prereq-check: $(kpathsea_dir)/kpsewhich
	$(kpathsea_dir)/kpsewhich $(files) >/dev/null || $(MAKE) prereq-lose >/dev/null

prereq-lose:
	@echo "You seem to be missing input files necessary to make the" >&2
	@echo "basic formats (some or all of: $(files))." >&2
	@echo "Perhaps you've defined the default paths incorrectly, or" >&2
	@echo "perhaps you have environment variables set pointing" >&2
	@echo "to an incorrect location.  See ../kpathsea/BUGS." >&2
	@echo >&2
	@echo "If you simply do not have the files, you can" >&2
	@echo "retrieve a minimal set of input files from" >&2
	@echo "ftp://ftp.tug.org/tex/lib.tar.gz, mirrored on" >&2
	@echo "CTAN hosts in systems/web2c." >&2
	false

$(kpathsea_dir)/kpsewhich: $(kpathsea)

amstex.fmt: tex
	./tex.exe -ini amstex.ini </dev/null

# Texinfo changes the escape character from `\' to `@'.
texinfo.fmt: tex.fmt
	./tex.exe -ini texinfo @dump </dev/null

eplain.fmt: tex.fmt
	touch eplain.aux # Makes cross-reference warnings work right.
	./tex.exe -ini \&./tex eplain \\dump </dev/null

# 
install: install-exec install-data
install-exec:: install-links
install-data:: install-formats

# The actual binary executables and pool files.
install-programs: $(programs)
	$(SHELL) $(top_srcdir)/../mkdirchain $(bindir) $(texpooldir) \
	  $(mfpooldir) $(mppooldir)
	cd mpware && $(MAKE) $(install_makeargs) install-exec
	for p in $(programs); do $(INSTALL_LIBTOOL_PROG) $(bindir) $$p; done

# The links to {mf,mp,tex} for each format and for {ini,vir}{mf,mp,tex}.
install-links: install-programs
	cd $(bindir) && for prog in mf mpost tex; do \
	  rm -f ini$$prog.exe vir$$prog.exe; \
	  ln -s $$prog.exe ini$$prog.exe && ln -s $$prog.exe vir$$prog.exe; done
	for f in $(fmts) mltex; do base=`basename $$f .fmt`; \
          (cd $(bindir) && (rm -f $$base.exe; ln -s tex.exe $$base.exe)); done
# The ugly "" avoids a syntax error in case the lists are empty.
	test -z "$(bases)" || for f in ""$(bases); do base=`basename $$f .base`;\
          (cd $(bindir) && (rm -f $$base.exe; ln -s mf.exe $$base.exe)); done
	test -z "$(mems)" || for f in ""$(mems); do base=`basename $$f .mem`; \
          (cd $(bindir) && (rm -f $$base.exe; ln -s mpost.exe $$base.exe)); done

# Always do plain.*, so examples from the TeXbook (etc.) will work.
install-formats: install-fmts install-bases install-mems
install-fmts: $(all_fmts)
	$(SHELL) $(top_srcdir)/../mkdirchain $(fmtdir)
	for f in $(all_fmts); do $(INSTALL_DATA) $$f $(fmtdir)/$$f; done
	cd $(fmtdir) && (rm -f plain.fmt; $(LN) tex.fmt plain.fmt)

install-bases: $(all_bases)
	$(SHELL) $(top_srcdir)/../mkdirchain $(basedir)
	for f in $(all_bases); do $(INSTALL_DATA) $$f $(basedir)/$$f; done
	cd $(basedir) && (rm -f plain.base; $(LN) mf.base plain.base)

install-mems: $(all_mems)
	$(SHELL) $(top_srcdir)/../mkdirchain $(memdir)
	for f in $(all_mems); do $(INSTALL_DATA) $$f $(memdir)/$$f; done
	cd $(memdir) && (rm -f plain.mem; $(LN) mpost.mem plain.mem)

# Auxiliary files.
install-data::
	$(SHELL) $(top_srcdir)/../mkdirchain $(texpooldir) $(mfpooldir) $(mppoldir) $(web2cdir) $(fontnamedir)
	$(INSTALL_DATA) tex.pool $(texpooldir)/tex.pool
	$(INSTALL_DATA) mf.pool $(mfpooldir)/mf.pool
	$(INSTALL_DATA) mp.pool $(mppooldir)/mp.pool
# tcx files are a bad idea
#	cd $(srcdir)/share && for f in *.tcx; do \
#	  $(INSTALL_DATA) $$f $(web2cdir)/$$f; done
	cd $(srcdir)/share && for f in *.map; do \
	  $(INSTALL_DATA) $$f $(fontnamedir)/$$f; done
	cd $(srcdir)/doc && $(MAKE) $(install_makeargs) install-data

# The distribution comes with up-to-date .info* files,
# so this should never be used unless something goes wrong
# with the unpacking, or you modify the manual.
doc/web2c.info:
	cd doc && $(MAKE) info
info dvi:
	cd doc && $(MAKE) $@

# 
# make dist won't work for anyone but me. Sorry.

##ifdef HOSTNAME
##distname = web2c
##program_files = PROJECTS *.ac *.ch tangleboot.p
##version_files = lib/version.c mpware/makempx.in mpware/mpto.c mpware/newer.c
##
##triptrapdiffs: triptrap/trip.diffs triptrap/mftrap.diffs triptrap/mptrap.diffs
##triptrap/trip.diffs: tex
##	$(MAKE) trip | tail +1 >triptrap/trip.diffs
##triptrap/mftrap.diffs: mf
##	$(MAKE) trap | tail +1 >triptrap/mftrap.diffs
##triptrap/mptrap.diffs: mpost
##	$(MAKE) mptrap | tail +1 >triptrap/mptrap.diffs
##
##tests/check.log: $(programs)
##	$(MAKE) check | tail +1 >tests/check.log
##
##dist_subdirs = doc lib mpware share tests web2c window
##pre-dist-$(distname): triptrapdiffs tests/check.log tangleboot.p
##	cd web2c && $(MAKE) lex.yy.c y.tab.c
##	cd doc && $(MAKE) doc dvi
##	for d in lib mpware web2c window; do \
##	  (cd $$d && $(MAKE) depend.make); done
##
##post-dist-$(distname): 
### Make the subdirectories.
##	for d in $(dist_subdirs); do \
##	  mkdir -p $(top_distdir)/$(distname)/$$d; done
### Link files in subdirectories.
##	for f in `find $(dist_subdirs)		\
##		       \(    -name README	\
##			  -o -name convert	\
##			  -o -name ChangeLog	\
##			  -o -name coerce.\*	\
##			  -o -name ref.aux	\
##			  -o -name ref.bbl	\
##			  -o -name ref.tex	\
##			  -o -name ref.txi	\
##			  -o -name texinfo.bst	\
##			  -o -name web2c.cps	\
##			  -o -name web2c.aux	\
##			  -o -name \*.asm	\
##			  -o -name '*.[chly]'	\
##			  -o -name \*.defines	\
##			  -o -name \*.in	\
##			  -o -name \*.info\*	\
##			  -o -name \*.sed	\
##			  -o -name \*.tcx	\
##			  -o -name \*.texi	\
##		       \) -print`; do		\
##	  ln $$f $(distdir)/`dirname $$f`; done
### Ungnuify the Makefile's in the subdirectories.
##	for d in doc lib mpware web2c window; do \
##          cp -p $$d/depend.make $(top_distdir)/$(distname)/$$d; \
##	  ungnumake $(top_distdir)/$(distname)/$$d/Makefile.in; \
##	  rm -f $(top_distdir)/$(distname)/$$d/depend.make; done
### Other subdirectories.
##	cd $(distdir); ln -s ../../triptrap .
##	cd $(distdir)/share; cp $(fontname)/*.map .
##	rm -f $(distdir)/window/x11.c
##	rm -f $(distdir)/tests/patgen.in
##	cd $(distdir)/tests && (rm just.texi; ln -s ../../../tests/* .; rm -f x*)
##	cd $(distdir)/tests && ln -s $klib/bibtex/bib/xampl.bib
##	cd $(distdir)/tests && rm -f missfont.log ptmr.mpx io.tex exampl.b??
### We supply the flex/bison output in case the user can't generate them.
##	cd $(distdir)/web2c; rename 's/$$/-dist/' lex.yy.c y.tab.[ch]
### Remove cruft.
##	cd $(distdir); rm -f $(addsuffix .c, $(programs) tangleboot)
##	cd $(distdir); rm -f $(addsuffix .h, $(programs) tangleboot)
##	cd $(distdir); bash -c "rm -f {tex,mf,mp}{coerce,d,0,1,2,extra,ini}.[ch]"
##	cd $(distdir); bash -c "rm -f tests/x* tests/allbib.{bbl,blg,dvi,log}"
##	touch $(distdir)/doc/*.info*
##
##web-dist:
##	rm -rf $(distdir)
##	mkdir -p $(distdir)
##	for f in *.web; do ln $$f $(distdir); done
##	GZIP=-9 tar czf web-$(version).tar.gz $(top_distdir)
##	rm -rf $(top_distdir)
##
##ac_include ../make/dist.make
##endif

# config.make -- autoconf rules to remake the Makefile, c-auto.h, etc.
##ifdef HOSTNAME
##ac_dir = $(gnu)/share/autoconf
##autoconf = $(ac_dir)/acspecific.m4 $(ac_dir)/acgeneral.m4 $(ac_dir)/acsite.m4
##autoheader = $(ac_dir)/acconfig.h $(ac_dir)/autoheader.m4
##
### I define $(autoconf) to acgeneral.m4 and the other Autoconf files, so
### configure automatically gets remade in the sources with a new Autoconf
### release.  But it would be bad for installers with Autoconf to remake
### configure (not to mention require Autoconf), so I take out the variable
### $(autoconf) definition before release.
### 
### BTW, xt.ac isn't really required for dvipsk or dviljk, but it doesn't
### seem worth the trouble.
### 
##configure_in = $(srcdir)/configure.in $(kpathsea_srcdir)/common.ac \
##  $(kpathsea_srcdir)/withenable.ac $(kpathsea_srcdir)/xt.ac \
##  $(kpathsea_srcdir_parent)/acklibtool.m4
##$(srcdir)/configure: $(configure_in) $(autoconf)
##	cd $(srcdir) && autoconf
##endif

config.status: $(srcdir)/configure
	$(SHELL) $(srcdir)/configure --no-create

Makefile: $(srcdir)/Makefile.in config.status $(top_srcdir)/../make/*.make
	$(SHELL) config.status

# This rule isn't used for the top-level Makefile, but it doesn't hurt.
# We don't depend on config.status because configure always rewrites
# config.status, even when it doesn't change. Thus it might be newer
# than c-auto.h when we don't need to remake the latter.
c-auto.h: stamp-auto
stamp-auto: $(srcdir)/c-auto.h-in
	$(SHELL) config.status
	date >$(srcdir)/stamp-auto

##ifdef HOSTNAME
### autoheader reads acconfig.h (and c-auto.h.top) automatically.
##$(srcdir)/c-auto.h-in: $(srcdir)/stamp-auto.in
##$(srcdir)/stamp-auto.in: $(configure_in) $(autoheader) \
##  $(kpathsea_srcdir)/acconfig.h
##	cd $(srcdir) && autoheader --localdir=$(kpathsea_srcdir)
##	date >$(srcdir)/stamp-auto.in
##endif

# End of config.make.

# 
# Testing, including triptrap. The `x' filenames are for output.
check: bibtex-check dvicopy-check dvitomp-check dvitype-check \
       gftodvi-check gftopk-check gftype-check \
       mf-check mft-check mpost-check patgen-check pktogf-check \
       pktype-check pltotf-check poolt-check tex-check tftopl-check \
       vftovp-check vptovf-check weave-check

triptrap: trip trap mptrap
testdir = $(srcdir)/triptrap
testenv = TEXMFCNF=$(testdir)
dvitype_args = -output-level=2 -dpi=72.27 -page-start='*.*.*.*.*.*.*.*.*.*'
trip: pltotf tftopl tex dvitype
	@echo ">>> See $(testdir)/trip.diffs for example of acceptable diffs." >&2
	./pltotf.exe $(testdir)/trip.pl trip.tfm
	./tftopl.exe ./trip.tfm trip.pl
	-diff $(testdir)/trip.pl trip.pl
	rm -f trip.tex; $(LN) $(testdir)/trip.tex . # get same filename in log
	-$(SHELL) -c '$(testenv) ./tex.exe -ini <$(testdir)/trip1.in >tripin.fot'
	mv trip.log tripin.log
	-diff $(testdir)/tripin.log tripin.log
# May as well test non-ini second time through.
	-$(SHELL) -c '$(testenv) ./tex.exe <$(testdir)/trip2.in >trip.fot'
	-diff $(testdir)/trip.fot trip.fot
# We use $(DIFF) instead of `diff' only for those files where there
# might actually be legitimate numerical differences.
	-$(DIFF) $(DIFFFLAGS) $(testdir)/trip.log trip.log
	$(SHELL) -c '$(testenv) ./dvitype.exe $(dvitype_args) trip.dvi >trip.typ'
	-$(DIFF) $(DIFFFLAGS) $(testdir)/trip.typ trip.typ

# Can't run trap and mptrap in parallel, because both write trap.{log,tfm}.
trap: mf tftopl gftype
	@echo ">>> See $(testdir)/mftrap.diffs for example of acceptable diffs." >&2
	rm -f trap.mf; $(LN) $(testdir)/trap.mf . # get same filename in log
	-$(SHELL) -c '$(testenv) ./mf.exe -ini <$(testdir)/mftrap1.in >mftrapin.fot'
	mv trap.log mftrapin.log
	-diff $(testdir)/mftrapin.log mftrapin.log
	-$(SHELL) -c '$(testenv) ./mf.exe <$(testdir)/mftrap2.in >mftrap.fot'
	mv trap.log mftrap.log
	mv trap.tfm mftrap.tfm
	-diff $(testdir)/mftrap.fot mftrap.fot
	-diff $(testdir)/mftrap.log mftrap.log
	./tftopl.exe ./mftrap.tfm mftrap.pl
	-diff $(testdir)/mftrap.pl mftrap.pl
	$(SHELL) -c '$(testenv) ./gftype.exe -m -i ./trap.72270gf >trap.typ'
	-diff $(testdir)/trap.typ trap.typ

mptrap: pltotf mpost tftopl
	@echo ">>> See $(testdir)/mptrap.diffs for example of acceptable diffs." >&2
	rm -f mtrap.mp; $(LN) $(testdir)/mtrap.mp . # get same filename in log
	./pltotf.exe $(testdir)/trapf.pl trapf.tfm
	-$(SHELL) -c '$(testenv) ./mpost.exe -ini mtrap'
	-diff $(testdir)/mtrap.log mtrap.log
	-diff $(testdir)/mtrap.0 mtrap.0
	-diff $(testdir)/mtrap.1 mtrap.1
	-diff $(testdir)/writeo writeo
	-diff $(testdir)/writeo.2 writeo.2
	rm -f trap.mp; $(LN) $(testdir)/trap.mp .
	rm -f trap.mpx; $(LN) $(testdir)/trap.mpx .
	-$(SHELL) -c '$(testenv) ./mpost.exe -ini <$(testdir)/mptrap1.in >mptrapin.fot'
	mv trap.log mptrapin.log
	-diff $(testdir)/mptrapin.log mptrapin.log
# Must run inimp or font_name[null_font] is not initialized, leading to diffs.
	-$(SHELL) -c '$(testenv) ./mpost.exe -ini <$(testdir)/mptrap2.in >mptrap.fot'
	mv trap.log mptrap.log
	mv trap.tfm mptrap.tfm
	-diff $(testdir)/mptrap.fot mptrap.fot
	-diff $(testdir)/mptrap.log mptrap.log
	-diff $(testdir)/trap.5 trap.5
	-diff $(testdir)/trap.6 trap.6
	-diff $(testdir)/trap.148 trap.148
	-diff $(testdir)/trap.149 trap.149
	-diff $(testdir)/trap.150 trap.150
	-diff $(testdir)/trap.151 trap.151
	-diff $(testdir)/trap.197 trap.197
	-diff $(testdir)/trap.200 trap.200
	./tftopl.exe ./mptrap.tfm mptrap.pl
	-diff $(testdir)/mptrap.pl mptrap.pl

# Ad hoc tests.
bibtex-check: bibtex
	cd tests && ../bibtex.exe exampl

dvicopy-check: dvicopy
	./dvicopy.exe $(srcdir)/tests/story tests/xstory.dvi
# Redirect stderr so the terminal output will end up in the log file.
	cd tests && (../dvicopy.exe <pplr.dvi >xpplr.dvi) 2>&1

dvitomp-check: dvitomp
	./dvitomp.exe $(srcdir)/tests/story.dvi tests/xstory.mpx
	cd tests && ../dvitomp.exe ptmr && mv ptmr.mpx xptmr.mpx

dvitype-check: dvitype
	./dvitype.exe -show-opcodes $(srcdir)/tests/story >tests/xstory.dvityp
	./dvitype.exe --p=\*.\*.2 $(srcdir)/tests/pagenum.dvi >tests/xpagenum.typ

gftodvi-check: gftodvi
	cd tests && ../gftodvi.exe -verbose ./dpi600/cmr10.gf; mv cmr10.dvi xcmr10.dvi

gftopk-check: gftopk
	./gftopk.exe -verbose $(srcdir)/tests/dpi600/cmr10.gf tests/dpi600/xcmr10.pk
	./gftopk.exe $(srcdir)/tests/dpi600/cmr10.gf && rm cmr10.pk

gftype-check: gftype
	./gftype.exe $(srcdir)/tests/dpi600/cmr10.gf >tests/xcmr10.gf1
	./gftype.exe -m -i $(srcdir)/tests/dpi600/cmr10.gf >tests/xcmr10.gf2

mf-check: trap mf.base
	./mf.exe '&./mf \tracingstats:=1; end.'
	./mf.exe $(srcdir)/tests/online
	./mf.exe $(srcdir)/tests/one_two
	./mf.exe $(srcdir)/tests/uno.dos

mft-check: mft
	cd tests && ../mft.exe $(srcdir)/../tests/io

mpost-check: mptrap mpost.mem
	./mpost.exe '&./mpost \tracingstats:=1; end.'
	PATH_SEPARATOR=: PATH_EXPAND=y MAKEMPX_BINDIR=`pwd`:`pwd`/mpware ./mpost.exe $(srcdir)/tests/mptest
	./mpost.exe $(srcdir)/tests/one_two
	./mpost.exe $(srcdir)/tests/uno.dos

patgen-check: patgen
	./patgen.exe  tests/dict tests/patterns tests/xout tests/translate <tests/patgen.in

pktogf-check: pktogf
	./pktogf.exe -verbose $(srcdir)/tests/dpi600/cmr10.pk tests/dpi600/xcmr10.gf
	./pktogf.exe $(srcdir)/tests/dpi600/cmr10.pk && rm cmr10.gf

pktype-check: pktype
	./pktype.exe $(srcdir)/tests/dpi600/cmr10.pk >tests/xcmr10.pktyp

pltotf-check: pltotf
	./pltotf.exe -verbose $(srcdir)/tests/cmr10 tests/xcmr10

poolt-check: pooltype
	./pooltype.exe tex.pool >tests/xtexpool.typ

# No need for tangle-check, since we run it to make everything else.

tex-check: trip tex.fmt
# Test truncation (but don't bother showing the warning msg).
	./tex.exe --output-comment="`cat PROJECTS`" tests/hello 2>/dev/null \
	  && ./dvitype.exe hello.dvi | grep kb@mail.tug.org >/dev/null
# \openout should show up in \write's.
	./tex.exe $(srcdir)/tests/openout && grep xfoo openout.log
# one_two.tex -> one_two.log
	./tex.exe $(srcdir)/tests/one_two && ls -l one_two.log
# uno.dos -> uno.dos.log
	./tex.exe $(srcdir)/tests/uno.dos && ls -l uno.dos.log
	./tex.exe $(srcdir)/tests/just.texi && ls -l just.log
	-./tex.exe $(srcdir)/tests/batch.tex
	./tex.exe --shell $(srcdir)/tests/write18 | grep echo
# tcx files are a bad idea.
#	./tex --translate-file=$(srcdir)/share/isol1-t1.tcx tests/eight \
#	  && ./dvitype eight.dvi >eigh.typ
	./tex.exe --mltex --ini $(srcdir)/tests/mltextst
	-./tex.exe </dev/null
	-PATH_SEPARATOR=: PATH_EXPAND=y PATH=$(kpathsea_dir):$$PATH ./tex.exe '\nonstopmode\font\foo=nonesuch\end'

tftopl-check: tftopl
	./tftopl.exe -verbose $(srcdir)/tests/cmr10 tests/xcmr10

vftovp-check: vftovp
	TFMFONTS=$(srcdir)/tests ./vftovp.exe -verbose $(srcdir)/tests/ptmr ptmr tests/xptmr

vptovf-check: vptovf
	./vptovf.exe $(srcdir)/tests/ptmr $(srcdir)/tests/xptmr tests/xptmr

weave-check: weave
	./weave.exe $(srcdir)/pooltype

installcheck:
	cd $(srcdir)/tests && bibtex allbib
	mf '\mode:=ljfour; input logo10' && tftopl logo10.tfm >/dev/null
	tex '\nonstopmode \tracingstats=1 \input story \bye'

# 
# Cleaning.
all_subdirs = doc lib mpware web2c window

# Having a multiple-target rule with the subdir loop fails because of
# the dependencies introduced by clean.make.  Yet, we want the
# dependencies here at the top level so that distclean will run the
# clean rules, etc.  So, sigh, put the subdir loop in each target and
# only run it if we have a Makefile.  Alternatively, we could do as
# Automake does.

mostlyclean::
	test ! -r lib/Makefile \
	  || for d in $(all_subdirs); do (cd $$d && $(MAKE) $@); done
	rm -f tangleboot
clean::
	test ! -r lib/Makefile \
	  || for d in $(all_subdirs); do (cd $$d && $(MAKE) $@); done
	rm -f *.aux *.c *.dvi *.fot *.log *.pl *.tfm *.typ 
	rm -f *.base *.fmt *.mem
# Have to list generated .h's explicitly since our real headers,
# e.g., help.h, are in this directory too.
	rm -f bibtex.h dvicopy.h dvitomp.h dvitype.h gftodvi.h gftopk.h
	rm -f gftype.h *coerce.h *d.h mft.h patgen.h pktogf.h pktype.h
	rm -f pltotf.h pooltype.h tangle.h tftopl.h vftovp.h vptovf.h weave.h
# Cleanup from triptrap.
	rm -f trip.tex trap.mf mtrap.mp trap.mp trap.mpx
	rm -f trip.* tripin.* tripos.tex 8terminal.tex
	rm -f trap.* mftrap.* mftrapin.* mptrap.* mptrapin.*
	rm -f trapf.* mtrap.* writeo* missfont.log
distclean::
	test ! -r lib/Makefile \
	  || for d in $(all_subdirs); do (cd $$d && $(MAKE) $@); done
	rm -f *.pool *extra.c *.fm
# Have to list .p's explicitly because we can't remove tangleboot.p.
	rm -f bibtex.p dvicopy.p dvitomp.p dvitype.p gftodvi.p gftopk.p
	rm -f gftype.p mf.p mft.p mp.p patgen.p pktogf.p pktype.p pltotf.p
	rm -f pooltype.p tangle.p tex.p tftopl.p vftovp.p vptovf.p weave.p
	rm -f tangleboot.c tangleboot.h
extraclean::
	test ! -r lib/Makefile \
	  || for d in $(all_subdirs); do (cd $$d && $(MAKE) $@); done
# Remove triptrap junk here too.
	rm -f trip.tex trap.mf mtrap.mp trap.mp trap.mpx
	rm -f trip.* tripin.* tripos.tex 8terminal.tex
	rm -f trap.* mftrap.* mftrapin.* mptrap.* mptrapin.*
	rm -f trapf.* mtrap.* writeo* missfont.log
maintainer-clean::
	test ! -r lib/Makefile \
	  || for d in $(all_subdirs); do (cd $$d && $(MAKE) $@); done

# clean.make -- cleaning.
mostlyclean::
	rm -f *.o

clean:: mostlyclean
	rm -f $(program) $(programs) squeeze lib$(library).* $(library).a *.bad
	rm -f *.dvi *.lj

distclean:: clean
	rm -f Makefile
	rm -f config.status config.log config.cache c-auto.h 

# Although we can remake configure and c-auto.h-in, we don't remove
# them, since many people may lack Autoconf.  Use configclean for that.
maintainer-clean:: distclean
	rm -f *.info*

extraclean::
	rm -f *.aux *.bak *.bbl *.blg *.dvi *.log *.pl *.tfm *.vf *.vpl *gf *pk
	rm -f *.mpx *.i *.s *~ *.orig  *.rej *\#*
	rm -f CONTENTS.tex a.out core mfput.* texput.* mpout.*

configclean:
	rm -f configure c-auto.h-in c-auto.h
# End of clean.make.


# rdepend.make -- rules for remaking the dependencies.
# 
# Have to use -M, not -MM, since we use <kpathsea/...> instead of
# "kpathsea/..." in the sources.  But that means we have to remove the
# directory prefixes and all the system include files.
# And <kpathsea/paths.h> is generated, not part of the distribution.
# 
# And, there's no need for any installer/user to ever run this, it can
# only cause trouble. So comment it out in the distribution.
# (It doesn't work when the source and build directories are different.)
##ifndef c_auto_h_dir
##c_auto_h_dir = .
##endif
##ifdef HOSTNAME
##depend depend.make:: $(c_auto_h_dir)/c-auto.h \
##  $(top_srcdir)/../make/rdepend.make 
##	$(CC) -M $(ALL_CPPFLAGS) -I$(c_auto_h_dir) *.c \
##	  | sed -e 's,\(\.\./\)\+kpathsea/,$$(kpathsea_srcdir)/,g' \
##	        -e 's,$$(kpathsea_srcdir)/paths.h,$$(kpathsea_dir)/paths.h,g' \
##	        -e 's,/usr[^ ]* ,,g' \
##	        -e 's,/usr[^ ]*$$,,g' \
##	        -e 's,dvi2xx.o,dvilj.o dvilj2p.o dvilj4.o dvilj4l.o,' \
##	  | grep -v '^ *\\$$' \
##	  >depend.make
### If kpathsea, we're making .lo library objects instead of .o's.
##	pwd | grep -v kpathsea >/dev/null \
##	  || (sed -e 's/\.o:/.lo:/' -e 's/kpsewhich.lo:/kpsewhich.o:/' \
##	      <depend.make >depend-tmp.make; mv depend-tmp.make depend.make)
##.PHONY: depend
##endif

# Let's stick a rule for TAGS here, just in case someone wants them.
# (We don't put them in the distributions, to keep them smaller.)
TAGS: *.c *.h
	pwd | grep kpathsea >/dev/null && append=../kpathsea/TAGS; \
	  etags $$append *.[ch]
	

# Prevent GNU make 3.[59,63) from overflowing arg limit on system V.
.NOEXPORT:

# End of rdepend.make.
bibtex.o: bibtex.c \
 cpascal.h config.h ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h bibtex.h
dvicopy.o: dvicopy.c cpascal.h config.h ../kpathsea/config.h c-auto.h \
 ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h dvicopy.h
dvitomp.o: dvitomp.c cpascal.h config.h ../kpathsea/config.h c-auto.h \
 ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h dvitomp.h
dvitype.o: dvitype.c cpascal.h config.h ../kpathsea/config.h c-auto.h \
 ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h dvitype.h
gftodvi.o: gftodvi.c cpascal.h config.h ../kpathsea/config.h c-auto.h \
 ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h gftodmem.h gftodvi.h
gftopk.o: gftopk.c cpascal.h config.h ../kpathsea/config.h c-auto.h \
 ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h gftopk.h
gftype.o: gftype.c cpascal.h config.h ../kpathsea/config.h c-auto.h \
 ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h gftype.h
mf0.o: mf0.c mfd.h texmfmp.h cpascal.h config.h ../kpathsea/config.h \
 c-auto.h ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h ../kpathsea/c-pathch.h ../kpathsea/c-ctype.h \
 ../kpathsea/tex-make.h texmfmem.h mfcoerce.h
mf1.o: mf1.c mfd.h texmfmp.h cpascal.h config.h ../kpathsea/config.h \
 c-auto.h ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h ../kpathsea/c-pathch.h ../kpathsea/c-ctype.h \
 ../kpathsea/tex-make.h texmfmem.h mfcoerce.h
mf2.o: mf2.c mfd.h texmfmp.h cpascal.h config.h ../kpathsea/config.h \
 c-auto.h ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h ../kpathsea/c-pathch.h ../kpathsea/c-ctype.h \
 ../kpathsea/tex-make.h texmfmem.h mfcoerce.h
mfextra.o: mfextra.c mfd.h texmfmp.h cpascal.h config.h \
 ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h ../kpathsea/c-pathch.h ../kpathsea/c-ctype.h \
 ../kpathsea/tex-make.h texmfmem.h mfcoerce.h ../kpathsea/line.h \
 ../kpathsea/readable.h ../kpathsea/variable.h 
mfini.o: mfini.c mfd.h texmfmp.h cpascal.h config.h \
 ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h ../kpathsea/c-pathch.h ../kpathsea/c-ctype.h \
 ../kpathsea/tex-make.h texmfmem.h mfcoerce.h
mft.o: mft.c cpascal.h config.h ../kpathsea/config.h c-auto.h \
 ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h mft.h
mp0.o: mp0.c mpd.h texmfmp.h cpascal.h config.h ../kpathsea/config.h \
 c-auto.h ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h ../kpathsea/c-pathch.h ../kpathsea/c-ctype.h \
 ../kpathsea/tex-make.h texmfmem.h mpcoerce.h
mp1.o: mp1.c mpd.h texmfmp.h cpascal.h config.h ../kpathsea/config.h \
 c-auto.h ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h ../kpathsea/c-pathch.h ../kpathsea/c-ctype.h \
 ../kpathsea/tex-make.h texmfmem.h mpcoerce.h
mp2.o: mp2.c mpd.h texmfmp.h cpascal.h config.h ../kpathsea/config.h \
 c-auto.h ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h ../kpathsea/c-pathch.h ../kpathsea/c-ctype.h \
 ../kpathsea/tex-make.h texmfmem.h mpcoerce.h
mpextra.o: mpextra.c mpd.h texmfmp.h cpascal.h config.h \
 ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h ../kpathsea/c-pathch.h ../kpathsea/c-ctype.h \
 ../kpathsea/tex-make.h texmfmem.h mpcoerce.h ../kpathsea/line.h \
 ../kpathsea/readable.h ../kpathsea/variable.h \
 ../kpathsea/concatn.h ../kpathsea/c-vararg.h
mpini.o: mpini.c mpd.h texmfmp.h cpascal.h config.h \
 ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h ../kpathsea/c-pathch.h ../kpathsea/c-ctype.h \
 ../kpathsea/tex-make.h texmfmem.h mpcoerce.h
patgen.o: patgen.c cpascal.h config.h ../kpathsea/config.h c-auto.h \
 ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h patgen.h
pktogf.o: pktogf.c cpascal.h config.h ../kpathsea/config.h c-auto.h \
 ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h pktogf.h
pktype.o: pktype.c cpascal.h config.h ../kpathsea/config.h c-auto.h \
 ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h pktype.h
pltotf.o: pltotf.c cpascal.h config.h ../kpathsea/config.h c-auto.h \
 ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h pltotf.h
pooltype.o: pooltype.c cpascal.h config.h ../kpathsea/config.h \
 c-auto.h ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h pooltype.h
tangle.o: tangle.c cpascal.h config.h ../kpathsea/config.h c-auto.h \
 ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h tangle.h
tangleboot.o: tangleboot.c cpascal.h config.h ../kpathsea/config.h \
 c-auto.h ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h tangleboot.h
tex0.o: tex0.c texd.h texmfmp.h cpascal.h config.h \
 ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h ../kpathsea/c-pathch.h ../kpathsea/c-ctype.h \
 ../kpathsea/tex-make.h texmfmem.h texcoerce.h
tex1.o: tex1.c texd.h texmfmp.h cpascal.h config.h \
 ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h ../kpathsea/c-pathch.h ../kpathsea/c-ctype.h \
 ../kpathsea/tex-make.h texmfmem.h texcoerce.h
tex2.o: tex2.c texd.h texmfmp.h cpascal.h config.h \
 ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h ../kpathsea/c-pathch.h ../kpathsea/c-ctype.h \
 ../kpathsea/tex-make.h texmfmem.h texcoerce.h
texextra.o: texextra.c texd.h texmfmp.h cpascal.h config.h \
 ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h ../kpathsea/c-pathch.h ../kpathsea/c-ctype.h \
 ../kpathsea/tex-make.h texmfmem.h texcoerce.h ../kpathsea/line.h \
 ../kpathsea/readable.h ../kpathsea/variable.h 
texini.o: texini.c texd.h texmfmp.h cpascal.h config.h \
 ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h ../kpathsea/c-pathch.h ../kpathsea/c-ctype.h \
 ../kpathsea/tex-make.h texmfmem.h texcoerce.h
tftopl.o: tftopl.c cpascal.h config.h ../kpathsea/config.h c-auto.h \
 ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h tftopl.h
vftovp.o: vftovp.c cpascal.h config.h ../kpathsea/config.h c-auto.h \
 ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h vftovp.h
vptovf.o: vptovf.c cpascal.h config.h ../kpathsea/config.h c-auto.h \
 ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h vptovf.h
weave.o: weave.c cpascal.h config.h ../kpathsea/config.h c-auto.h \
 ../kpathsea/c-std.h \
 ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
 ../kpathsea/c-memstr.h \
 ../kpathsea/c-errno.h \
 ../kpathsea/c-minmax.h \
 ../kpathsea/c-limits.h \
 ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
 ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
 ../kpathsea/getopt.h ../kpathsea/proginit.h ../kpathsea/tex-file.h \
 help.h weave.h

# 
# Local variables:
# page-delimiter: "^# \f"
# End:
