summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/am
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-02-25 19:22:25 +0000
committerKarl Berry <karl@freefriends.org>2021-02-25 19:22:25 +0000
commitad547a6b5986815fda458221149728d9d9ab1d87 (patch)
tree16296910eb3eca724371474ea9aea3994dc69614 /Build/source/texk/web2c/am
parent947b43de3dd21d58ccc2ffadefc4441ea1c2a813 (diff)
restore Build,TODO from r57911
git-svn-id: svn://tug.org/texlive/trunk@57915 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/am')
-rw-r--r--Build/source/texk/web2c/am/bootstrap.am99
-rw-r--r--Build/source/texk/web2c/am/cweb.am61
-rw-r--r--Build/source/texk/web2c/am/texmf.am275
-rw-r--r--Build/source/texk/web2c/am/web.am297
4 files changed, 732 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/am/bootstrap.am b/Build/source/texk/web2c/am/bootstrap.am
new file mode 100644
index 00000000000..63717703ae3
--- /dev/null
+++ b/Build/source/texk/web2c/am/bootstrap.am
@@ -0,0 +1,99 @@
+## texk/web2c/am/bootstrap.am: Makefile fragment for tangle and ctangle.
+##
+## Copyright (C) 2009-2015 Peter Breitenlohner <tex-live@tug.org>
+## You may freely use, modify and/or distribute this file.
+
+cp_silent = $(cp_silent_@AM_V@)
+cp_silent_ = $(cp_silent_@AM_DEFAULT_V@)
+cp_silent_0 = @echo " COPY " $@;
+cp_silent_1 =
+
+# Bootstrapping tangle requires making it with itself. We use the opportunity
+# to create an up-to-date tangleboot.pin as well.
+bin_PROGRAMS += tangle
+nodist_tangle_SOURCES = tangle.c tangle.h
+tangle.c tangle.h: tangle-web2c
+ @$(web2c) tangle
+tangle-web2c: tangle.p $(web2c_depend)
+ @$(web2c) tangle
+# tangle.p is a special case, since it is needed to compile itself. We
+# convert and compile the (distributed) tangleboot.pin to make a tangle
+# which we use to make the other programs. We depend on tangleboot, even
+# though we might not use it.
+tangle.p: tangleboot$(EXEEXT) tangle.web tangle.ch
+ $(tangleboot) tangle tangle
+ @cmp -s tangle.p $(srcdir)/tangleboot.pin || { \
+ if $(AM_V_P); then \
+ echo "Updating tangle.p => $(srcdir)/tangleboot.pin"; \
+ else \
+ echo " UPD " tangleboot.pin; \
+ fi; cp -f tangle.p $(srcdir)/tangleboot.pin; }
+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
+EXTRA_DIST += tangle.web tangle.ch
+DISTCLEANFILES += tangle.c tangle.h tangle.p tangle-web2c
+
+noinst_PROGRAMS += tangleboot
+nodist_tangleboot_SOURCES = tangleboot.c tangleboot.h
+tangleboot.c tangleboot.h: tangleboot-web2c
+ @$(web2c) tangleboot
+tangleboot-web2c: tangleboot.p $(web2c_depend)
+ @$(web2c) tangleboot
+# tangleboot.pin is in the distribution
+.pin.p:
+ $(cp_silent)cp -f $< $@
+$(tangleboot_OBJECTS): $(tangleboot_DEPENDENCIES)
+tangleboot_DEPENDENCIES = $(default_dependencies)
+EXTRA_DIST += tangleboot.pin
+DISTCLEANFILES += tangleboot.c tangleboot.h tangleboot.p tangleboot-web2c
+
+# Bootstrapping ctangle requires making it with itself. We use the opportunity
+# to create an up-to-date ctangleboot.cin and cwebboot.cin as well.
+bin_PROGRAMS += ctangle
+nodist_ctangle_SOURCES = ctangle.c cweb.c
+# ctangle.c and cweb.c are special cases, since they are needed to compile
+# themselves. We depend on ctangleboot, even though we might not use it.
+ctangleboot = AM_V_P=$(AM_V_P) $(SHELL) ./ctangleboot-sh $@
+ctangle.c: common-ctangle cwebdir/ctangle.w cwebdir/ctang-w2c.ch
+ @$(ctangleboot) ctangle ctang-w2c
+cweb.c: common-ctangle cwebdir/common.w cwebdir/comm-w2c.ch
+ @$(ctangleboot) common comm-w2c cweb.c
+common-ctangle: ctangleboot$(EXEEXT) cwebdir/comm-w2c.h ctangleboot-sh
+EXTRA_DIST += cwebdir
+NEVER_DIST += cwebdir/cweave.log cwebdir/cweave.trs
+NEVER_DIST += cwebdir/ctwill.log cwebdir/ctwill.trs
+NEVER_DIST += cwebdir/refsort.log cwebdir/refsort.trs
+NEVER_DIST += cwebdir/twinx.log cwebdir/twinx.trs
+## We install man/cweb.man, not cwebdir/cweb.1
+## nodist_man_MANS += cwebdir/cweb.1
+DISTCLEANFILES += ctangle.c cweb.c common-ctangle
+
+noinst_PROGRAMS += ctangleboot
+nodist_ctangleboot_SOURCES = ctangleboot.c cwebboot.c
+$(ctangleboot_OBJECTS): $(ctangleboot_DEPENDENCIES)
+# ctangleboot.cin and cwebboot.cin are in the distribution
+.cin.c:
+ $(cp_silent)cp -f $< $@
+.hin.h:
+ $(cp_silent)cp -f $< $@
+ctangleboot_DEPENDENCIES = $(default_dependencies)
+EXTRA_DIST += ctangleboot.cin cwebboot.cin
+DISTCLEANFILES += ctangleboot.c cwebboot.c
+
+## Tests
+##
+EXTRA_DIST += tangle.test
+
+TESTS += tangle.test
+tangle.log: tangle$(EXEEXT)
+
+DISTCLEANFILES += cftest.p
+
diff --git a/Build/source/texk/web2c/am/cweb.am b/Build/source/texk/web2c/am/cweb.am
new file mode 100644
index 00000000000..90c10db2d67
--- /dev/null
+++ b/Build/source/texk/web2c/am/cweb.am
@@ -0,0 +1,61 @@
+## texk/web2c/am/cweb.am: Makefile fragment for cweb programs (except ctangle).
+##
+## Copyright (C) 2009-2015 Peter Breitenlohner <tex-live@tug.org>
+## You may freely use, modify and/or distribute this file.
+
+bin_PROGRAMS += ctie cweave ctwill ctwill-refsort ctwill-twinx tie
+EXTRA_DIST += ctiedir tiedir
+NEVER_DIST += ctiedir/ctie.log ctiedir/ctie.trs tiedir/tie.log tiedir/tie.trs
+
+nodist_ctie_SOURCES = ctie.c
+## We install man/ctie.man, not ctiedir/ctie.1
+## nodist_man_MANS += ctiedir/ctie.1
+ctie.c: ctangle$(EXEEXT) ctiedir/ctie.w ctiedir/ctie-k.ch
+ $(ctangle_silent)CWEBINPUTS=$(srcdir)/ctiedir $(ctangle) ctie.w ctie-k.ch
+DISTCLEANFILES += ctie.c
+
+nodist_cweave_SOURCES = cweave.c cweb.c
+cweave.c: ctangle$(EXEEXT) cwebdir/comm-w2c.h cwebdir/cweave.w cwebdir/prod.w cwebdir/cweav-w2c.ch
+ $(ctangle_silent)CWEBINPUTS=$(srcdir)/cwebdir $(ctangle) cweave cweav-w2c
+DISTCLEANFILES += cweave.c
+
+nodist_ctwill_SOURCES = ctwill.c cweb.c
+ctwill.c: ctangle$(EXEEXT) cwebdir/comm-w2c.h cwebdir/cweave.w cwebdir/prod-twill.w cwebdir/ctwill-w2c.ch
+ $(ctangle_silent)CWEBINPUTS=$(srcdir)/cwebdir $(ctangle) cweave ctwill-w2c ctwill.c
+DISTCLEANFILES += ctwill.c
+
+nodist_ctwill_refsort_SOURCES = ctwill-refsort.c
+ctwill-refsort.c: ctangle$(EXEEXT) cwebdir/refsort.w
+ $(ctangle_silent)CWEBINPUTS=$(srcdir)/cwebdir $(ctangle) refsort - ctwill-refsort.c
+DISTCLEANFILES += ctwill-refsort.c
+
+nodist_ctwill_twinx_SOURCES = ctwill-twinx.c
+ctwill-twinx.c: ctangle$(EXEEXT) cwebdir/twinx.w
+ $(ctangle_silent)CWEBINPUTS=$(srcdir)/cwebdir $(ctangle) twinx - ctwill-twinx.c
+DISTCLEANFILES += ctwill-twinx.c
+
+nodist_tie_SOURCES = tie.c
+tie_CPPFLAGS = $(AM_CPPFLAGS) -DNOT_WEB2C
+## We install man/tie.man, not tiedir/tie.1
+## nodist_man_MANS += tiedir/tie.1
+tie.c: ctangle$(EXEEXT) tiedir/tie.w tiedir/tie-w2c.ch
+ $(ctangle_silent)CWEBINPUTS=$(srcdir)/tiedir $(ctangle) tie.w tie-w2c.ch
+DISTCLEANFILES += tie.c
+
+## Tests
+##
+TESTS += ctiedir/ctie.test cwebdir/cweave.test tiedir/tie.test
+ctiedir/ctie.log: ctie$(EXEEXT)
+cwebdir/cweave.log: cweave$(EXEEXT)
+cwebdir/ctwill.log: ctwill$(EXEEXT)
+cwebdir/ctwill-refsort.log: ctwill-refsort$(EXEEXT)
+cwebdir/ctwill-twinx.log: ctwill-twinx$(EXEEXT)
+tiedir/tie.log: tie$(EXEEXT)
+
+## ctiedir/ctie.test
+DISTCLEANFILES += ctie.outc ctie.outm
+## cwebdir/cweave.test
+DISTCLEANFILES += common.tex common.scn common.idx
+## tiedir/tie.test
+DISTCLEANFILES += tie.outc tie.outm
+
diff --git a/Build/source/texk/web2c/am/texmf.am b/Build/source/texk/web2c/am/texmf.am
new file mode 100644
index 00000000000..d4fe9c515fa
--- /dev/null
+++ b/Build/source/texk/web2c/am/texmf.am
@@ -0,0 +1,275 @@
+## $Id$
+## texk/web2c/am/texmf.am: Makefile fragment for TeX and MF.
+##
+## Copyright 2015-2019 Karl Berry <tex-live@tug.org>
+## Copyright 2009-2015 Peter Breitenlohner <tex-live@tug.org>
+## You may freely use, modify and/or distribute this file.
+
+## Common for MF and TeX
+EXTRA_DIST += \
+ lib/mfmpi386.asm \
+ lib/mfmpw32.c \
+ lib/texmfmp.c \
+ texmfmem.h \
+ texmfmp-help.h \
+ texmfmp.h
+
+## TeX
+##
+if TEX
+bin_PROGRAMS += tex
+if WIN32
+bin_PROGRAMS += initex
+else !WIN32
+bin_links += tex$(EXEEXT):initex
+endif !WIN32
+endif TEX
+EXTRA_PROGRAMS += tex
+
+initex_CPPFLAGS = -DEXEPROG=\"tex.exe\"
+nodist_initex_SOURCES = callexe.c
+initex_LDADD =
+
+tex_CPPFLAGS = $(AM_CPPFLAGS)
+
+# With --enable-ipc, TeX may need to link with -lsocket.
+tex_LDADD = $(LDADD) $(ipc_socketlibs)
+
+# TeX C sources
+tex_c_h = texini.c tex0.c texcoerce.h texd.h
+nodist_tex_SOURCES = $(tex_c_h) tex-pool.c
+dist_tex_SOURCES = texextra.c
+
+# We must create texd.h before building the tex_OBJECTS.
+tex_prereq = texd.h
+$(tex_OBJECTS): $(tex_prereq)
+
+$(tex_c_h): tex-web2c
+ @$(web2c) tex
+tex-web2c: tex.p $(web2c_texmf)
+ @$(web2c) tex
+
+tex-pool.c: tex.pool texd.h $(makecpool_stamp)
+ $(makecpool) tex >$@ || rm -f $@
+
+# Tangling TeX
+tex.p tex.pool: tex-tangle
+ @$(texmf_tangle) tex tex-final
+tex-tangle: tangle$(EXEEXT) tex.web tex-final.ch tangle-sh
+ @$(texmf_tangle) tex tex-final
+
+# Generate tex-final.ch
+tex-final.ch: tie$(EXEEXT) $(tex_ch_srcs)
+ $(tie_c) $(tex_ch_srcs)
+tex_ch_srcs = \
+ tex.web \
+ tex.ch \
+ enctexdir/enctex1.ch \
+ enctexdir/enctex-tex.ch \
+ enctexdir/enctex2.ch \
+ $(tex_ch_synctex) \
+ tex-binpool.ch
+##
+EXTRA_DIST += $(tex_ch_srcs)
+
+DISTCLEANFILES += $(nodist_tex_SOURCES) tex-final.ch tex-web2c \
+ tex.p tex.pool tex-tangle
+
+# TeX tests
+#
+tex_tests = triptest.test tests/write18-quote-test.pl tests/tex-closeout.test
+triptest.log: tex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
+tests/write18-quote-test.log tests/tex-closeout.test: tex$(EXEEXT)
+EXTRA_DIST += $(tex_tests)
+EXTRA_DIST += tests/write18-quote.tex
+if TEX
+TESTS += $(tex_tests)
+TRIPTRAP += trip.diffs
+TRIPTRAP_CLEAN += trip-clean
+endif TEX
+DISTCLEANFILES += trip.diffs
+
+## tests/write18-quote-test.pl
+DISTCLEANFILES += write18-quote.log
+
+## triptest
+trip.diffs: tex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
+ $(triptrap_diffs) $@
+.PHONY: trip-clean
+trip-clean:
+ rm -rf tripdir
+
+## Metafont
+##
+if MF
+bin_PROGRAMS += mf
+if MFN
+bin_PROGRAMS += mf-nowin
+endif MFN
+if WIN32
+noinst_PROGRAMS += call_mf
+install_exe_links += install-mf-links
+uninstall_exe_links += uninstall-mf-links
+else !WIN32
+if !MFN
+bin_links += mf$(EXEEXT):mf-nowin
+endif !MFN
+bin_links += mf$(EXEEXT):inimf
+endif !WIN32
+endif MF
+EXTRA_PROGRAMS += mf mf-nowin
+DISTCLEANFILES += mftrap.diffs
+
+call_mf_CPPFLAGS = -DEXEPROG=\"mf.exe\"
+nodist_call_mf_SOURCES = callexe.c
+call_mf_LDADD =
+
+.PHONY: install-mf-links uninstall-mf-links
+if WIN32
+install-mf-links: call_mf$(EXEEXT)
+if !MFN
+ $(INSTALL_PROGRAM) call_mf$(EXEEXT) $(DESTDIR)$(bindir)/mf-nowin$(EXEEXT)
+endif !MFN
+ $(INSTALL_PROGRAM) call_mf$(EXEEXT) $(DESTDIR)$(bindir)/inimf$(EXEEXT)
+uninstall-mf-links:
+if !MFN
+ rm -f $(DESTDIR)$(bindir)/mf-nowin$(EXEEXT)
+endif !MFN
+ rm -f $(DESTDIR)$(bindir)/inimf$(EXEEXT)
+endif WIN32
+
+dist_mf_SOURCES = mfextra.c
+mf_CPPFLAGS = $(AM_CPPFLAGS) $(X_CFLAGS)
+mf_LDADD = libmf.a $(LDADD) $(windowlib) $(mf_x_libs)
+dist_mf_nowin_SOURCES = mfextra.c
+mf_nowin_CPPFLAGS = $(mf_CPPFLAGS) -DMFNOWIN
+mf_nowin_LDADD = libmf.a $(LDADD) $(windowlib)
+
+# We must create mfd.h before compiling mfextra.c.
+$(mf_OBJECTS) $(mf_nowin_OBJECTS): mfd.h
+
+windowlib = window/libwindow.a
+$(windowlib): mfd.h $(srcdir)/window/*.c
+ cd window && $(MAKE) $(AM_MAKEFLAGS) libwindow.a
+if WIN32
+mf_x_libs = -lgdi32
+else !WIN32
+# 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_... and X_... variables will be empty if we aren't supporting X.
+# Follow the library order used in X11R6 itself:
+# -lXaw -lXmu -lXt -lSM -lICE -lXext -lX11 (some may not be present).
+mf_x_libs = $(X_LIBS) $(x_tool_libs) $(X_PRE_LIBS) $(x_ext_lib) $(wlibs) $(X_EXTRA_LIBS)
+endif !WIN32
+
+## mf and mf-nowin compile mfextra.c with different CPPFLAGS.
+## Automake, however, does not support CPPFLAGS for individual source files.
+## To avoid compiling everything twice, the common objects are in a library.
+EXTRA_LIBRARIES += libmf.a
+
+# Metafont C sources
+mf_c_h = mfini.c mf0.c mfcoerce.h mfd.h
+nodist_libmf_a_SOURCES = $(mf_c_h) mf-pool.c
+
+# We must create mfd.h before building the libmf_a_OBJECTS.
+$(libmf_a_OBJECTS): mfd.h
+
+$(mf_c_h): mf-web2c
+ @$(web2c) mf
+mf-web2c: mf.p $(web2c_texmf) web2c/cvtmf1.sed web2c/cvtmf2.sed
+ @$(web2c) mf
+
+mf-pool.c: mf.pool mfd.h $(makecpool_stamp)
+ $(makecpool) mf >$@ || rm -f $@
+
+# Tangling Metafont
+mf.p mf.pool: mf-tangle
+ @$(texmf_tangle) mf mf-final
+mf-tangle: tangle$(EXEEXT) mf.web mf-final.ch tangle-sh
+ @$(texmf_tangle) mf mf-final
+
+# Generate mf-final.ch
+mf-final.ch: tie$(EXEEXT) $(mf_ch_src)
+ $(tie_c) $(mf_ch_src)
+mf_ch_src = \
+ mf.web \
+ mf.ch \
+ mf-binpool.ch
+##
+EXTRA_DIST += $(mf_ch_src)
+
+DISTCLEANFILES += $(nodist_libmf_a_SOURCES) mf-final.ch mf-web2c \
+ mf.p mf.pool mf-tangle
+
+# Metafont tests
+#
+mf_tests = mftraptest.test
+mftraptest.log: mf$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
+EXTRA_DIST += $(mf_tests)
+if MF
+TESTS += $(mf_tests)
+TRIPTRAP += mftrap.diffs
+TRIPTRAP_CLEAN += trap-clean
+endif MF
+
+## mftraptest
+mftrap.diffs: mf$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
+ $(triptrap_diffs) $@
+.PHONY: trap-clean
+trap-clean:
+ rm -rf trapdir
+
+## Test data
+##
+EXTRA_DIST += \
+ triptrap/README \
+ triptrap/mftrap.diffs \
+ triptrap/mftrap.fot \
+ triptrap/mftrap.log \
+ triptrap/mftrap.pl \
+ triptrap/mftrap1.in \
+ triptrap/mftrap2.in \
+ triptrap/mftrapin.log \
+ triptrap/mptrap.diffs \
+ triptrap/mptrap.fot \
+ triptrap/mptrap.log \
+ triptrap/mptrap.pl \
+ triptrap/mptrap.readme \
+ triptrap/mptrap1.in \
+ triptrap/mptrap2.in \
+ triptrap/mptrapin.log \
+ triptrap/mtrap.0 \
+ triptrap/mtrap.1 \
+ triptrap/mtrap.log \
+ triptrap/mtrap.mp \
+ triptrap/texmf.cnf \
+ triptrap/trap.148 \
+ triptrap/trap.149 \
+ triptrap/trap.150 \
+ triptrap/trap.151 \
+ triptrap/trap.197 \
+ triptrap/trap.200 \
+ triptrap/trap.5 \
+ triptrap/trap.6 \
+ triptrap/trap.mf \
+ triptrap/trap.mp \
+ triptrap/trap.mpx \
+ triptrap/trap.typ \
+ triptrap/trapf.pl \
+ triptrap/trapman.tex \
+ triptrap/trip.diffs \
+ triptrap/trip.fot \
+ triptrap/trip.log \
+ triptrap/trip.pl \
+ triptrap/trip.tex \
+ triptrap/trip.typ \
+ triptrap/trip1.in \
+ triptrap/trip2.in \
+ triptrap/tripin.log \
+ triptrap/tripman.tex \
+ triptrap/tripos.tex \
+ triptrap/writeo \
+ triptrap/writeo.2
+
diff --git a/Build/source/texk/web2c/am/web.am b/Build/source/texk/web2c/am/web.am
new file mode 100644
index 00000000000..6bb25aebba2
--- /dev/null
+++ b/Build/source/texk/web2c/am/web.am
@@ -0,0 +1,297 @@
+## $Id$
+## texk/web2c/am/web.am: Makefile fragment for the standard web programs --
+## except tangle.
+##
+## Copyright 2018-2019 Karl Berry <tex-live@tug.org>
+## Copyright 2009-2015 Peter Breitenlohner <tex-live@tug.org>
+## You may freely use, modify and/or distribute this file.
+
+web_programs = bibtex dvicopy dvitype gftodvi gftopk gftype mft \
+ patgen pktogf pktype pltotf pooltype tftopl vftovp vptovf weave
+
+## Basic tests, one for each program.
+##
+web_tests = $(web_programs:=.test)
+
+if WEB
+bin_PROGRAMS += $(web_programs)
+endif WEB
+EXTRA_PROGRAMS += $(web_programs)
+
+EXTRA_DIST += $(web_programs:=.web) $(web_programs:=.ch)
+DISTCLEANFILES += $(web_programs:=.c) $(web_programs:=.h) \
+ $(web_programs:=.p) $(web_programs:=-web2c)
+
+nodist_bibtex_SOURCES = bibtex.c bibtex.h
+bibtex.c bibtex.h: bibtex-web2c
+ @$(web2c) bibtex
+bibtex-web2c: bibtex.p $(web2c_depend) web2c/cvtbib.sed
+ @$(web2c) bibtex
+bibtex.p: tangle$(EXEEXT) bibtex.web bibtex.ch
+ $(tangle) bibtex bibtex
+web_tests += tests/bibtex-openout-test.pl tests/bibtex-longline-test.pl
+web_tests += tests/bibtex-mem.test
+web_tests += tests/bibtex-bigauth.test
+web_tests += tests/bibtex-auxinclude.test
+bibtex.log tests/bibtex-openout-test.log tests/bibtex-longline-test.log \
+ tests/bibtex-mem.log \
+ tests/bibtex-bigauth.log \
+ tests/bibtex-auxinclude.log: bibtex$(EXEEXT)
+
+nodist_dvicopy_SOURCES = dvicopy.c dvicopy.h
+dvicopy.c dvicopy.h: dvicopy-web2c
+ @$(web2c) dvicopy
+dvicopy-web2c: dvicopy.p $(web2c_depend)
+ @$(web2c) dvicopy
+dvicopy.p: tangle$(EXEEXT) dvicopy.web dvicopy.ch
+ $(tangle) dvicopy dvicopy
+dvicopy.log: dvicopy$(EXEEXT)
+
+nodist_dvitype_SOURCES = dvitype.c dvitype.h
+dvitype.c dvitype.h: dvitype-web2c
+ @$(web2c) dvitype
+dvitype-web2c: dvitype.p $(web2c_depend)
+ @$(web2c) dvitype
+dvitype.p: tangle$(EXEEXT) dvitype.web dvitype.ch
+ $(tangle) dvitype dvitype
+dvitype.log: dvitype$(EXEEXT)
+
+nodist_gftodvi_SOURCES = gftodvi.c gftodvi.h
+gftodvi.c gftodvi.h: gftodvi-web2c
+ @$(web2c) gftodvi
+gftodvi-web2c: gftodvi.p $(web2c_depend)
+ @$(web2c) gftodvi
+gftodvi.p: tangle$(EXEEXT) gftodvi.web gftodvi.ch
+ $(tangle) gftodvi gftodvi
+gftodvi_SOURCES = gftodmem.h
+gftodvi.log: gftodvi$(EXEEXT)
+
+nodist_gftopk_SOURCES = gftopk.c gftopk.h
+gftopk.c gftopk.h: gftopk-web2c
+ @$(web2c) gftopk
+gftopk-web2c: gftopk.p $(web2c_depend)
+ @$(web2c) gftopk
+gftopk.p: tangle$(EXEEXT) gftopk.web gftopk.ch
+ $(tangle) gftopk gftopk
+gftopk.log: gftopk$(EXEEXT)
+
+nodist_gftype_SOURCES = gftype.c gftype.h
+gftype.c gftype.h: gftype-web2c
+ @$(web2c) gftype
+gftype-web2c: gftype.p $(web2c_depend)
+ @$(web2c) gftype
+gftype.p: tangle$(EXEEXT) gftype.web gftype.ch
+ $(tangle) gftype gftype
+gftype.log: gftype$(EXEEXT)
+
+nodist_mft_SOURCES = mft.c mft.h
+mft.c mft.h: mft-web2c
+ @$(web2c) mft
+mft-web2c: mft.p $(web2c_depend)
+ @$(web2c) mft
+mft.p: tangle$(EXEEXT) mft.web mft.ch
+ $(tangle) mft mft
+mft.log: mft$(EXEEXT)
+
+nodist_patgen_SOURCES = patgen.c patgen.h
+patgen.c patgen.h: patgen-web2c
+ @$(web2c) patgen
+patgen-web2c: patgen.p $(web2c_depend)
+ @$(web2c) patgen
+patgen.p: tangle$(EXEEXT) patgen.web patgen.ch
+ $(tangle) patgen patgen
+patgen.log: patgen$(EXEEXT)
+
+nodist_pktogf_SOURCES = pktogf.c pktogf.h
+pktogf.c pktogf.h: pktogf-web2c
+ @$(web2c) pktogf
+pktogf-web2c: pktogf.p $(web2c_depend)
+ @$(web2c) pktogf
+pktogf.p: tangle$(EXEEXT) pktogf.web pktogf.ch
+ $(tangle) pktogf pktogf
+pktogf.log: pktogf$(EXEEXT)
+
+nodist_pktype_SOURCES = pktype.c pktype.h
+pktype.c pktype.h: pktype-web2c
+ @$(web2c) pktype
+pktype-web2c: pktype.p $(web2c_depend)
+ @$(web2c) pktype
+pktype.p: tangle$(EXEEXT) pktype.web pktype.ch
+ $(tangle) pktype pktype
+pktype.log: pktype$(EXEEXT)
+
+nodist_pltotf_SOURCES = pltotf.c pltotf.h
+pltotf.c pltotf.h: pltotf-web2c
+ @$(web2c) pltotf
+pltotf-web2c: pltotf.p $(web2c_depend)
+ @$(web2c) pltotf
+pltotf.p: tangle$(EXEEXT) pltotf.web pltotf.ch
+ $(tangle) pltotf pltotf
+pltotf.log: pltotf$(EXEEXT)
+
+nodist_pooltype_SOURCES = pooltype.c pooltype.h
+pooltype.c pooltype.h: pooltype-web2c
+ @$(web2c) pooltype
+pooltype-web2c: pooltype.p $(web2c_depend)
+ @$(web2c) pooltype
+pooltype.p: tangle$(EXEEXT) pooltype.web pooltype.ch
+ $(tangle) pooltype pooltype
+pooltype.log: pooltype$(EXEEXT) tex.pool
+
+nodist_tftopl_SOURCES = tftopl.c tftopl.h
+tftopl.c tftopl.h: tftopl-web2c
+ @$(web2c) tftopl
+tftopl-web2c: tftopl.p $(web2c_depend)
+ @$(web2c) tftopl
+tftopl.p: tangle$(EXEEXT) tftopl.web tftopl.ch
+ $(tangle) tftopl tftopl
+tftopl.log: tftopl$(EXEEXT)
+
+nodist_vftovp_SOURCES = vftovp.c vftovp.h
+vftovp.c vftovp.h: vftovp-web2c
+ @$(web2c) vftovp
+vftovp-web2c: vftovp.p $(web2c_depend)
+ @$(web2c) vftovp
+vftovp.p: tangle$(EXEEXT) vftovp.web vftovp.ch
+ $(tangle) vftovp vftovp
+vftovp.log: vftovp$(EXEEXT)
+
+nodist_vptovf_SOURCES = vptovf.c vptovf.h
+vptovf.c vptovf.h: vptovf-web2c
+ @$(web2c) vptovf
+vptovf-web2c: vptovf.p $(web2c_depend)
+ @$(web2c) vptovf
+vptovf.p: tangle$(EXEEXT) vptovf.web vptovf.ch
+ $(tangle) vptovf vptovf
+vptovf.log: vptovf$(EXEEXT)
+
+nodist_weave_SOURCES = weave.c weave.h
+weave.c weave.h: weave-web2c
+ @$(web2c) weave
+weave-web2c: weave.p $(web2c_depend)
+ @$(web2c) weave
+weave.p: tangle$(EXEEXT) weave.web weave.ch
+ $(tangle) weave weave
+weave.log: weave$(EXEEXT)
+
+## Tests.
+##
+if WEB
+TESTS += $(web_tests)
+endif WEB
+EXTRA_DIST += $(web_tests)
+
+## bibtex.test
+DISTCLEANFILES += tests/xexampl.aux tests/xexampl.bbl tests/xexampl.blg
+## tests/bibtex-longline-test.pl
+DISTCLEANFILES += longline.aux longline.bbl longline.bib longline.blg
+## tests/bibtex-mem.test
+EXTRA_DIST += tests/memdata1.bst tests/memdata2.bst tests/memdata3.bst
+DISTCLEANFILES += tests/memtest.bib tests/memtest?.*
+## tests/bibtex-bigauth.test
+EXTRA_DIST += tests/bibtex-bigauth.aux tests/bibtex-bigauth.bib
+EXTRA_DIST += tests/bibtex-bigauth.tex
+## tests/bibtex-auxinclinde.test
+EXTRA_DIST += tests/auxinclude.aux tests/auxinclude.bbl tests/auxinclude.bib
+EXTRA_DIST += tests/auxinclude.tex tests/auxinclude2.aux tests/auxinclude2.tex
+## dvicopy.test
+DISTCLEANFILES += tests/xstory.dvi tests/xpplr.dvi
+## dvitype.test
+DISTCLEANFILES += tests/xstory.dvityp tests/xpagenum.typ
+## gftodvi.test
+DISTCLEANFILES += cmr10.dvi tests/xcmr10.dvi
+## gftopk.test
+DISTCLEANFILES += cmr10.pk tests/xcmr10.pk
+## gftype.test
+DISTCLEANFILES += tests/xcmr10.gft1 tests/xcmr10.gft2
+## mft.test
+DISTCLEANFILES += io.tex tests/io.tex
+## patgen.test
+DISTCLEANFILES += tests/xpatout pattmp.4
+## pktogf.test
+DISTCLEANFILES += cmr10.gf tests/xcmr10.600gf
+## pktype.test
+DISTCLEANFILES += tests/xcmr10.pktyp
+## pltotf.test
+DISTCLEANFILES += badpl.* tests/xcmr10.tfm
+## pooltype.test
+DISTCLEANFILES += tests/xtexpool.typ
+## tftopl.test
+DISTCLEANFILES += badtfm.* tests/xcmr10*.pl
+## vftovp.test
+DISTCLEANFILES += badvf.* tests/xptmr*.vpl
+## vptovf.test
+DISTCLEANFILES += badvpl.* tests/yptmr*.*
+## weave.test
+DISTCLEANFILES += pooltype.tex
+
+## Test data
+##
+EXTRA_DIST += \
+ tests/allbib.aux \
+ tests/allbib.tex \
+ tests/apalike.bst \
+ tests/badpl.pl \
+ tests/badtfm.tfm \
+ tests/badvf.tfm \
+ tests/badvf.vf \
+ tests/badvpl.vpl \
+ tests/batch.tex \
+ tests/check.log \
+ tests/cmr10.600gf \
+ tests/cmr10.pk \
+ tests/cmr10.pl \
+ tests/cmr10.tfm \
+ tests/cmr7.tfm \
+ tests/cmr8.tfm \
+ tests/cmti10.tfm \
+ tests/cmtt10.tfm \
+ tests/cmtt8.tfm \
+ tests/dict \
+ tests/eight.tex \
+ tests/end.tex \
+ tests/exampl.aux \
+ tests/exampl.tex \
+ tests/gray.tfm \
+ tests/hello.tex \
+ tests/io.mf \
+ tests/just.texi \
+ tests/label.mp \
+ tests/label.mpx \
+ tests/logo8.tfm \
+ tests/longline.aux \
+ tests/longline.bib \
+ tests/longline.tex \
+ tests/longtfm.tex \
+ tests/magic.tex \
+ tests/memtest.tex \
+ tests/mltextst.tex \
+ tests/mptest.mp \
+ tests/mptest.mpx \
+ tests/one.two.mf \
+ tests/one.two.mp \
+ tests/one.two.tex \
+ tests/online.mf \
+ tests/openout.mp \
+ tests/openout.tex \
+ tests/pagenum.dvi \
+ tests/pagenum.tex \
+ tests/patgen.in \
+ tests/patterns \
+ tests/plain.mft \
+ tests/pplr.dvi \
+ tests/pplr.tfm \
+ tests/ptmr.dvi \
+ tests/ptmr.tfm \
+ tests/ptmr.vf \
+ tests/ptmr.vpl \
+ tests/rpsyr.tfm \
+ tests/rptmr.tfm \
+ tests/story.dvi \
+ tests/testex.err \
+ tests/testex.mp \
+ tests/testex.tex \
+ tests/translate \
+ tests/uno.dos \
+ tests/xampl.bib
+