summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/euptexdir/am/euptex.am
blob: 62b0e2f036d11d21102663c0a439021f05cc685e (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
134
135
136
137
138
139
140
141
142
## texk/web2c/euptexdir/am/euptex.am: Makefile fragment for e-upTeX.
##
## Copyright (C) 2011 Peter Breitenlohner <tex-live@tug.org>
## You may freely use, modify and/or distribute this file.

## e-upTeX
##
if EUPTEX
bin_PROGRAMS += euptex
endif EUPTEX
EXTRA_PROGRAMS += euptex

# e-upTeX Tests
#
euptex_tests = euptexdir/euptrip.test

EXTRA_DIST += $(euptex_tests)

euptex_CPPFLAGS = $(PTEXENC_INCLUDES) $(AM_CPPFLAGS)

# With --enable-ipc, e-upTeX may need to link with -lsocket.
euptex_LDADD = libukanji.a $(pproglib) $(PTEXENC_LIBS) $(LDADD) $(ipc_socketlibs)
euptex_DEPENDENCIES = libukanji.a $(pproglib) $(PTEXENC_DEPEND) $(default_dependencies)

# e-upTeX C sources
euptex_c_h = euptexini.c euptex0.c euptexcoerce.h euptexd.h
nodist_euptex_SOURCES = $(euptex_c_h) euptex-pool.c euptexdir/etex_version.h \
	euptexdir/eptex_version.h euptexdir/ptex_version.h euptexdir/uptex_version.h
dist_euptex_SOURCES = euptexdir/euptexextra.c euptexdir/euptexextra.h

# We must create euptexd.h and euptexdir/*tex_version.h before building the euptex_OBJECTS.
euptex_prereq = euptexd.h euptexdir/etex_version.h euptexdir/eptex_version.h \
	euptexdir/ptex_version.h euptexdir/uptex_version.h
$(euptex_OBJECTS): $(euptex_prereq)

$(euptex_c_h): euptex-web2c
	@$(web2c) euptex
euptex-web2c: euptex.p $(web2c_texmf) euptexdir/euptex.defines
	@$(web2c) euptex

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

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

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

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

# Extract ptex version
euptexdir/ptex_version.h: ptexdir/ptex-base.ch
	$(MKDIR_P) euptexdir
	grep '^@d pTeX_version_string==' $(srcdir)/ptexdir/ptex-base.ch \
	  | sed "s/^.*'-/#define PTEX_VERSION \"/;s/'.*$$/\"/" >$@

# Extract uptex version
euptexdir/uptex_version.h: uptexdir/uptex-m.ch
	$(MKDIR_P) euptexdir
	grep '^@d upTeX_version_string==' $(srcdir)/uptexdir/uptex-m.ch \
	  | sed "s/^.*'-/#define UPTEX_VERSION \"/;s/'.*$$/\"/" >$@

# Generate euptex.web
euptex.web: tie$(EXEEXT) $(euptex_web_srcs)
	$(tie) -m euptex.web $(euptex_web_srcs)
euptex_web_srcs = \
	tex.web \
	etexdir/etex.ch \
	etexdir/tex.ch0 \
	tex.ch \
	etexdir/tex.ech

# Generate euptex.ch
euptex.ch: tie$(EXEEXT) euptex.web $(euptex_ch_srcs)
	$(tie) -c euptex.ch euptex.web $(euptex_ch_srcs)
euptex_ch_srcs = \
	eptexdir/etex.ch0 \
	ptexdir/ptex-base.ch \
	uptexdir/uptex-m.ch \
	euptexdir/euptex.ch0 \
	eptexdir/eptex.ech \
	euptexdir/euptex.ch1 \
	eptexdir/etex.ch1 \
	$(euptex_ch_synctex) \
	eptexdir/fam256.ch \
	euptexdir/pdfstrcmp-eup-pre.ch \
	eptexdir/pdfstrcmp.ch \
	euptexdir/pdfstrcmp-eup-post.ch \
	eptexdir/pdfsavepos.ch \
	tex-binpool.ch

EXTRA_DIST += $(euptex_web_srcs) $(euptex_ch_srcs) euptexdir/euptex.defines

DISTCLEANFILES += $(nodist_euptex_SOURCES) euptex.web euptex.ch euptex-web2c \
	euptex.p euptex.pool euptex-tangle

##
EXTRA_DIST += \
	euptexdir/COPYRIGHT \
	euptexdir/COPYRIGHT.jis \
	euptexdir/ChangeLog \
	euptexdir/EUPTEX.txt

if EUPTEX
TESTS += $(euptex_tests)
check_PROGRAMS += dvitype pltotf tftopl
TRIPTRAP += euptrip.diffs
TRIPTRAP_CLEAN += euptrip-clean
endif EUPTEX

## Test data and results
##
## eptexdir/eptrip.test
EXTRA_DIST += \
	eptexdir/eptrip/etrip.log \
	eptexdir/eptrip/etrip.tex \
	euptexdir/euptrip/euptrip.diffs \
	euptexdir/euptrip/texmf.cnf
euptrip.diffs: euptex$(EXEEXT)
	$(triptrap_diffs) $@
.PHONY: euptrip-clean
euptrip-clean:
	rm -f trip.tfm trip.pl trip.tex trip.fmt trip.log trip.dvi
	rm -f cuptripin.fot cuptripin.log cuptrip.fot cuptrip.log cuptrip.typ
	rm -f xuptripin.fot xuptripin.log xuptrip.fot xuptrip.log xuptrip.typ
	rm -f euptripin.fot euptripin.log euptrip.fot euptrip.log euptrip.typ
	rm -f etrip.tfm etrip.pl etrip.tex etrip.log etrip.fmt etrip.dvi etrip.out
	rm -f tripos.tex 8terminal.tex
	rm -rf tfm
DISTCLEANFILES += euptrip.diffs