summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/etexdir/am/etex.am
blob: 71c99518b20f29afccc6573768f6324e22428027 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
## texk/web2c/etexdir/am/etex.am: Makefile fragment for e-TeX.
##
## Copyright (C) 2009-2015 Peter Breitenlohner <tex-live@tug.org>
## You may freely use, modify and/or distribute this file.

## e-TeX
##
if ETEX
bin_PROGRAMS += etex
endif ETEX
EXTRA_PROGRAMS += etex

etex_CPPFLAGS = $(AM_CPPFLAGS)

# With --enable-ipc, e-TeX may need to link with -lsocket.
etex_LDADD = $(LDADD) $(ipc_socketlibs)

# e-TeX C sources
etex_c_h = etexini.c etex0.c etexcoerce.h etexd.h
nodist_etex_SOURCES = $(etex_c_h) etex-pool.c
dist_etex_SOURCES = etexdir/etexextra.c etexdir/etexextra.h etexdir/etex_version.h

# We must create etexd.h and etexdir/etex_version.h before building the etex_OBJECTS.
etex_prereq = etexd.h etexdir/etex_version.h
$(etex_OBJECTS): $(etex_prereq)

$(etex_c_h): etex-web2c
	@$(web2c) etex
etex-web2c: etex.p $(web2c_texmf)
	@$(web2c) etex

etex-pool.c: etex.pool etexd.h $(makecpool_stamp)
	$(makecpool) etex >$@ || rm -f $@

# Tangling e-TeX
etex.p etex.pool: etex-tangle
	@$(texmf_tangle) etex etex
etex-tangle: tangle$(EXEEXT) etex.web etex.ch tangle-sh
	@$(texmf_tangle) etex etex

# Extract etex version
$(srcdir)/etexdir/etex_version.h: @MAINTAINER_MODE_TRUE@ etexdir/etex.ch
	$(AM_V_GEN)grep '^@d eTeX_version_string==' $(srcdir)/etexdir/etex.ch \
	  | sed "s/^.*'-/#define ETEX_VERSION \"/;s/'.*$$/\"/" >$@

# Generate etex.web
etex.web: tie$(EXEEXT) $(etex_web_srcs)
	$(tie_m) $(etex_web_srcs)
etex_web_srcs = \
	tex.web \
	etexdir/etex.ch

# Generate etex.ch
etex.ch: tie$(EXEEXT) etex.web $(etex_ch_srcs)
	$(tie_c) etex.web $(etex_ch_srcs)
etex_ch_srcs = \
	etexdir/tex.ch0 \
	tex.ch \
	enctex.ch \
	$(etex_ch_synctex) \
	etexdir/tex.ch1 \
	etexdir/tex.ech \
	tex-binpool.ch
##
EXTRA_DIST += $(etex_web_srcs) $(etex_ch_srcs)

DISTCLEANFILES += $(nodist_etex_SOURCES) etex.web etex.ch etex-web2c \
	etex.p etex.pool etex-tangle

EXTRA_DIST += \
	etexdir/ChangeLog \
	etexdir/etex_gen.tex

# e-TeX Tests
#
etex_tests = etexdir/wprob.test etexdir/etriptest.test
etexdir/wprob.log: etex$(EXEEXT)
etexdir/etriptest.log: etex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)

EXTRA_DIST += $(etex_tests)

if ETEX
TESTS += $(etex_tests)
TRIPTRAP += etrip.diffs
TRIPTRAP_CLEAN += etrip-clean
endif ETEX
DISTCLEANFILES += etrip.diffs

## wprob.test
EXTRA_DIST += tests/wprob.tex
DISTCLEANFILES += ewprob.log ewprob.tex
## etriptest
etrip.diffs: etex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
	$(triptrap_diffs) $@
.PHONY: etrip-clean
etrip-clean:
	rm -rf etripdir

## Test data
##
EXTRA_DIST += \
	etexdir/etrip/etrip.diffs \
	etexdir/etrip/etrip.fot \
	etexdir/etrip/etrip.log \
	etexdir/etrip/etrip.out \
	etexdir/etrip/etrip.pl \
	etexdir/etrip/etrip.tex \
	etexdir/etrip/etrip.typ \
	etexdir/etrip/etrip1.in \
	etexdir/etrip/etrip2.in \
	etexdir/etrip/etrip3.in \
	etexdir/etrip/etripin.log \
	etexdir/etrip/etripman.tex \
	etexdir/etrip/texmf.cnf \
	etexdir/etrip/trip2.in