1## texk/web2c/etexdir/am/etex.am: Makefile fragment for e-TeX.
2##
3## Copyright (C) 2009-2014 Peter Breitenlohner <tex-live@tug.org>
4## You may freely use, modify and/or distribute this file.
5
6## e-TeX
7##
8if ETEX
9bin_PROGRAMS += etex
10endif ETEX
11EXTRA_PROGRAMS += etex
12
13etex_CPPFLAGS = $(AM_CPPFLAGS)
14
15# With --enable-ipc, e-TeX may need to link with -lsocket.
16etex_LDADD = $(LDADD) $(ipc_socketlibs)
17
18# e-TeX C sources
19etex_c_h = etexini.c etex0.c etexcoerce.h etexd.h
20nodist_etex_SOURCES = $(etex_c_h) etex-pool.c
21dist_etex_SOURCES = etexdir/etexextra.c etexdir/etexextra.h etexdir/etex_version.h
22
23# We must create etexd.h and etexdir/etex_version.h before building the etex_OBJECTS.
24etex_prereq = etexd.h etexdir/etex_version.h
25$(etex_OBJECTS): $(etex_prereq)
26
27$(etex_c_h): etex-web2c
28	@$(web2c) etex
29etex-web2c: etex.p $(web2c_texmf)
30	@$(web2c) etex
31
32etex-pool.c: etex.pool etexd.h $(makecpool_stamp)
33	$(makecpool) etex >$@ || rm -f $@
34
35# Tangling e-TeX
36etex.p etex.pool: etex-tangle
37	@$(texmf_tangle) etex etex
38etex-tangle: tangle$(EXEEXT) etex.web etex.ch tangle-sh
39	@$(texmf_tangle) etex etex
40
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/'.*$$/\"/" >$@
45
46# Generate etex.web
47etex.web: tie$(EXEEXT) $(etex_web_srcs)
48	$(tie) -m etex.web $(etex_web_srcs)
49etex_web_srcs = \
50	tex.web \
51	etexdir/etex.ch
52
53# Generate etex.ch
54etex.ch: tie$(EXEEXT) etex.web $(etex_ch_srcs)
55	$(tie) -c etex.ch etex.web $(etex_ch_srcs)
56etex_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
64##
65EXTRA_DIST += $(etex_web_srcs) $(etex_ch_srcs)
66
67DISTCLEANFILES += $(nodist_etex_SOURCES) etex.web etex.ch etex-web2c \
68	etex.p etex.pool etex-tangle
69
70EXTRA_DIST += \
71	etexdir/ChangeLog \
72	etexdir/etex_gen.tex
73
74# e-TeX Tests
75#
76etex_tests = etexdir/wprob.test etexdir/etriptest
77
78EXTRA_DIST += $(etex_tests)
79
80if ETEX
81TESTS += $(etex_tests)
82check_PROGRAMS += dvitype pltotf tftopl
83TRIPTRAP += etrip.diffs
84TRIPTRAP_CLEAN += etrip-clean
85endif ETEX
86DISTCLEANFILES += etrip.diffs
87
88## wprob.test
89EXTRA_DIST += tests/wprob.tex
90DISTCLEANFILES += ewprob.log ewprob.tex
91## etriptest
92etrip.diffs: etex$(EXEEXT)
93	$(triptrap_diffs) $@
94.PHONY: etrip-clean
95etrip-clean:
96	rm -rf etripdir
97
98## Test data
99##
100EXTRA_DIST += \
101	etexdir/etrip/etrip.diffs \
102	etexdir/etrip/etrip.fot \
103	etexdir/etrip/etrip.log \
104	etexdir/etrip/etrip.out \
105	etexdir/etrip/etrip.pl \
106	etexdir/etrip/etrip.tex \
107	etexdir/etrip/etrip.typ \
108	etexdir/etrip/etrip1.in \
109	etexdir/etrip/etrip2.in \
110	etexdir/etrip/etrip3.in \
111	etexdir/etrip/etripin.log \
112	etexdir/etrip/etripman.tex \
113	etexdir/etrip/texmf.cnf \
114	etexdir/etrip/trip2.in
115
116