summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/eptexdir/am/eptex.am
blob: fce0a5e31ad73022012503f937459d80e94c71da (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
126
127
128
129
130
131
132
133
## $Id$
## texk/web2c/eptexdir/am/eptex.am: Makefile fragment for e-pTeX.
##
## Copyright 2015-2022 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
if !PTEX
bin_links += eptex$(EXEEXT):ptex
endif !PTEX
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/wcfname.test
eptexdir/eptriptest.log: eptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
eptexdir/pdfprimitive.log: eptex$(EXEEXT)
eptexdir/epver.log eptexdir/wcfname.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.*

# (end of eptex.am)