beta-0.89.2
[luatex.git] / source / texk / web2c / etexdir / am / etex.am
blob71c99518b20f29afccc6573768f6324e22428027
1 ## texk/web2c/etexdir/am/etex.am: Makefile fragment for e-TeX.
2 ##
3 ## Copyright (C) 2009-2015 Peter Breitenlohner <tex-live@tug.org>
4 ## You may freely use, modify and/or distribute this file.
6 ## e-TeX
7 ##
8 if ETEX
9 bin_PROGRAMS += etex
10 endif ETEX
11 EXTRA_PROGRAMS += etex
13 etex_CPPFLAGS = $(AM_CPPFLAGS)
15 # With --enable-ipc, e-TeX may need to link with -lsocket.
16 etex_LDADD = $(LDADD) $(ipc_socketlibs)
18 # e-TeX C sources
19 etex_c_h = etexini.c etex0.c etexcoerce.h etexd.h
20 nodist_etex_SOURCES = $(etex_c_h) etex-pool.c
21 dist_etex_SOURCES = etexdir/etexextra.c etexdir/etexextra.h etexdir/etex_version.h
23 # We must create etexd.h and etexdir/etex_version.h before building the etex_OBJECTS.
24 etex_prereq = etexd.h etexdir/etex_version.h
25 $(etex_OBJECTS): $(etex_prereq)
27 $(etex_c_h): etex-web2c
28         @$(web2c) etex
29 etex-web2c: etex.p $(web2c_texmf)
30         @$(web2c) etex
32 etex-pool.c: etex.pool etexd.h $(makecpool_stamp)
33         $(makecpool) etex >$@ || rm -f $@
35 # Tangling e-TeX
36 etex.p etex.pool: etex-tangle
37         @$(texmf_tangle) etex etex
38 etex-tangle: tangle$(EXEEXT) etex.web etex.ch tangle-sh
39         @$(texmf_tangle) etex etex
41 # Extract etex version
42 $(srcdir)/etexdir/etex_version.h: @MAINTAINER_MODE_TRUE@ etexdir/etex.ch
43         $(AM_V_GEN)grep '^@d eTeX_version_string==' $(srcdir)/etexdir/etex.ch \
44           | sed "s/^.*'-/#define ETEX_VERSION \"/;s/'.*$$/\"/" >$@
46 # Generate etex.web
47 etex.web: tie$(EXEEXT) $(etex_web_srcs)
48         $(tie_m) $(etex_web_srcs)
49 etex_web_srcs = \
50         tex.web \
51         etexdir/etex.ch
53 # Generate etex.ch
54 etex.ch: tie$(EXEEXT) etex.web $(etex_ch_srcs)
55         $(tie_c) etex.web $(etex_ch_srcs)
56 etex_ch_srcs = \
57         etexdir/tex.ch0 \
58         tex.ch \
59         enctex.ch \
60         $(etex_ch_synctex) \
61         etexdir/tex.ch1 \
62         etexdir/tex.ech \
63         tex-binpool.ch
65 EXTRA_DIST += $(etex_web_srcs) $(etex_ch_srcs)
67 DISTCLEANFILES += $(nodist_etex_SOURCES) etex.web etex.ch etex-web2c \
68         etex.p etex.pool etex-tangle
70 EXTRA_DIST += \
71         etexdir/ChangeLog \
72         etexdir/etex_gen.tex
74 # e-TeX Tests
76 etex_tests = etexdir/wprob.test etexdir/etriptest.test
77 etexdir/wprob.log: etex$(EXEEXT)
78 etexdir/etriptest.log: etex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
80 EXTRA_DIST += $(etex_tests)
82 if ETEX
83 TESTS += $(etex_tests)
84 TRIPTRAP += etrip.diffs
85 TRIPTRAP_CLEAN += etrip-clean
86 endif ETEX
87 DISTCLEANFILES += etrip.diffs
89 ## wprob.test
90 EXTRA_DIST += tests/wprob.tex
91 DISTCLEANFILES += ewprob.log ewprob.tex
92 ## etriptest
93 etrip.diffs: etex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
94         $(triptrap_diffs) $@
95 .PHONY: etrip-clean
96 etrip-clean:
97         rm -rf etripdir
99 ## Test data
101 EXTRA_DIST += \
102         etexdir/etrip/etrip.diffs \
103         etexdir/etrip/etrip.fot \
104         etexdir/etrip/etrip.log \
105         etexdir/etrip/etrip.out \
106         etexdir/etrip/etrip.pl \
107         etexdir/etrip/etrip.tex \
108         etexdir/etrip/etrip.typ \
109         etexdir/etrip/etrip1.in \
110         etexdir/etrip/etrip2.in \
111         etexdir/etrip/etrip3.in \
112         etexdir/etrip/etripin.log \
113         etexdir/etrip/etripman.tex \
114         etexdir/etrip/texmf.cnf \
115         etexdir/etrip/trip2.in