## texk/web2c/am/web.am: Makefile fragment for normal web programs (except tangle).
##
## Copyright (C) 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
bibtex.log tests/bibtex-openout-test.log tests/bibtex-longline-test.log \
	tests/bibtex-mem.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?.*
## 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