summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/eptexdir/am/eptex.am
blob: e0f7ad6c98aef540a01b65671bc69c9da52d6b7a (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
117
118
119
120
121
122
123
124
125
## $Id$
## texk/web2c/eptexdir/am/eptex.am: Makefile fragment for e-pTeX.
##
## Copyright 2015-2021 Karl Berry <tex-live@tug.org>
## Copyright 2011-2015 Peter Breitenlohner <tex-live@tug.org>
## You may freely use, modify and/or distribute this file.

## e-pTeX
##
if EPTEX
bin_PROGRAMS += eptex
endif EPTEX
EXTRA_PROGRAMS += eptex

eptex_CPPFLAGS = $(PTEXENC_INCLUDES) $(AM_CPPFLAGS) -I$(srcdir)/libmd5 $(ZLIB_INCLUDES)

# With --enable-ipc, e-pTeX may need to link with -lsocket.
eptex_LDADD = libkanji.a $(pproglib) $(PTEXENC_LIBS) $(LDADD) $(ipc_socketlibs) libmd5.a $(ZLIB_LIBS)
eptex_DEPENDENCIES = libkanji.a $(pproglib) $(PTEXENC_DEPEND) $(default_dependencies) libmd5.a $(ZLIB_DEPEND)

# e-pTeX C sources
eptex_c_h = eptexini.c eptex0.c eptexcoerce.h eptexd.h
nodist_eptex_SOURCES = $(eptex_c_h) eptex-pool.c
dist_eptex_SOURCES = eptexdir/eptexextra.c eptexdir/eptexextra.h eptexdir/eptex_version.h

# We must create eptexd.h and eptexdir/eptex_version.h before building the eptex_OBJECTS.
eptex_prereq = eptexd.h etexdir/etex_version.h ptexdir/ptex_version.h eptexdir/eptex_version.h
$(eptex_OBJECTS): $(eptex_prereq)

$(eptex_c_h): eptex-web2c
	@$(web2c) eptex
eptex-web2c: eptex.p $(web2c_texmf) eptexdir/eptex.defines
	@$(web2c) eptex

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

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

# Extract eptex version
$(srcdir)/eptexdir/eptex_version.h: @MAINTAINER_MODE_TRUE@ eptexdir/eptex.ech
	$(AM_V_GEN)grep '^@d epTeX_version_string==' $(srcdir)/eptexdir/eptex.ech \
	  | sed "s/^.*'-/#define EPTEX_VERSION \"/;s/'.*$$/\"/" >$@

# Generate eptex.web
eptex.web: tie$(EXEEXT) $(eptex_web_srcs)
	$(tie_m) $(eptex_web_srcs)
eptex_web_srcs = \
	tex.web \
	etexdir/etex.ch \
	etexdir/tex.ch0 \
	tex.ch \
	tracingstacklevels.ch \
	partoken.ch \
	showstream.ch \
	zlib-fmt.ch \
	etexdir/tex.ech

# Generate eptex.ch
eptex.ch: tie$(EXEEXT) eptex.web $(eptex_ch_srcs)
	$(tie_c) eptex.web $(eptex_ch_srcs)
eptex_ch_srcs = \
	eptexdir/eptex-base.ch \
	eptexdir/etex.ch0 \
	ptexdir/ptex-base.ch \
	eptexdir/eptex.ech \
	eptexdir/etex.ch1 \
	$(eptex_ch_synctex) \
	eptexdir/fam256.ch \
	eptexdir/pdfutils.ch \
	eptexdir/suppresserrors.ch \
	eptexdir/char-warning-eptex.ch \
	tex-binpool.ch

EXTRA_DIST += $(eptex_web_srcs) $(eptex_ch_srcs) eptexdir/eptex.defines

DISTCLEANFILES += $(nodist_eptex_SOURCES) eptex.web eptex.ch eptex-web2c \
	eptex.p eptex.pool eptex-tangle

## 
EXTRA_DIST += \
	eptexdir/ChangeLog \
	eptexdir/Changes.txt \
	eptexdir/README.txt

# e-pTeX Tests
#
eptex_tests = eptexdir/eptriptest.test eptexdir/pdfprimitive.test eptexdir/epver.test
eptexdir/eptriptest.log: eptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
eptexdir/pdfprimitive.log: eptex$(EXEEXT)
eptexdir/epver.log: eptex$(EXEEXT)

EXTRA_DIST += $(eptex_tests)

if EPTEX
TESTS += $(eptex_tests)
TRIPTRAP += eptrip.diffs
TRIPTRAP_CLEAN += eptrip-clean
endif EPTEX

## Test data and results
##
## eptexdir/eptriptest.test
EXTRA_DIST += \
	eptexdir/eptrip/eptrip.diffs \
	eptexdir/eptrip/eptrip.log \
	eptexdir/eptrip/eptrip.tex \
	eptexdir/eptrip/texmf.cnf
eptrip.diffs: eptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
	$(triptrap_diffs) $@
.PHONY: eptrip-clean
eptrip-clean:
	rm -rf eptripdir
DISTCLEANFILES += eptrip.diffs
## eptexdir/pdfprimitive.test
EXTRA_DIST += \
	eptexdir/pdfprimitive.test \
	eptexdir/tests/pdfprimitive-test.tex \
	eptexdir/tests/pdfprimitive-eptex.log
DISTCLEANFILES += pdfprimitive-eptex.*