summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/pdftexdir/am/pdftex.am
blob: 26c1054a8652f10bb3c2ca3d5359ae1ed6edda16 (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
## texk/web2c/pdftexdir/am/pdftex.am: Makefile fragment for pdfTeX.
##
## Copyright (C) 2009 - 2011 Peter Breitenlohner <tex-live@tug.org>
## You may freely use, modify and/or distribute this file.

pdftex_cppflags = $(AM_CPPFLAGS) $(ZLIB_INCLUDES) $(LIBPNG_INCLUDES)
pdftex_cppflags += $(XPDF_INCLUDES) $(OBSDCOMPAT_INCLUDES)
pdftex_cppflags += -I$(srcdir)/libmd5 -I$(srcdir)/pdftexdir

# used for both pdftex and pdftosrc.
pdftex_ldadd = $(LIBPNG_LIBS) $(ZLIB_LIBS) $(XPDF_LIBS)
pdftex_ldadd += $(OBSDCOMPAT_LIBS) libmd5.a

pdftex_dependencies = $(proglib) $(KPATHSEA_DEPEND)
pdftex_dependencies += $(LIBPNG_DEPEND) $(ZLIB_DEPEND) $(XPDF_DEPEND)
pdftex_dependencies += $(OBSDCOMPAT_DEPEND) libmd5.a

## pdfTeX
##
if PDFTEX
bin_PROGRAMS += pdftex
endif PDFTEX
EXTRA_PROGRAMS += pdftex

# Force Automake to use CXXLD for linking
nodist_EXTRA_pdftex_SOURCES = dummy.cxx

pdf_tangle = WEBINPUTS=.:$(srcdir)/pdftexdir $(SHELL) ./tangle-sh $@ $(TANGLE)

pdftex_CPPFLAGS = $(pdftex_cppflags)
pdftex_CXXFLAGS = $(WARNING_CXXFLAGS)

# With --enable-ipc, pdfTeX may need to link with -lsocket.
pdftex_LDADD = libpdftex.a $(pdftex_ldadd) $(LDADD) $(ipc_socketlibs)

pdftex_DEPENDENCIES = $(pdftex_dependencies) libpdftex.a

# We must create libpdftex.a etc before building the pdftex_OBJECTS.
pdftex_prereq = libpdftex.a pdftexdir/etex_version.h pdftexdir/pdftex_version.h
$(pdftex_OBJECTS): $(pdftex_prereq)

pdftex_c_h = pdftexini.c pdftex0.c pdftexcoerce.h pdftexd.h
nodist_pdftex_SOURCES = $(pdftex_c_h) pdftex-pool.c \
	pdftexdir/etex_version.h pdftexdir/pdftex_version.h
dist_pdftex_SOURCES = pdftexdir/pdftexextra.c pdftexdir/pdftexextra.h
$(pdftex_c_h): pdftex-web2c
	@$(web2c) pdftex
pdftex-web2c: pdftex.p $(web2c_texmf) pdftexdir/pdftex.defines
	@$(web2c) pdftex
pdftex.p pdftex.pool: pdftex-tangle
	@$(pdf_tangle) pdftex pdftex
pdftex-tangle: tangle$(EXEEXT) pdftexdir/pdftex.web pdftex.ch tangle-sh
	@$(pdf_tangle) pdftex pdftex
pdftex-pool.c: pdftex.pool pdftexd.h $(makecpool_stamp)
	$(makecpool) pdftex >$@ || rm -f $@
# Extract etex version
pdftexdir/etex_version.h: pdftexdir/pdftex.web
	$(MKDIR_P) pdftexdir
	grep '^@d eTeX_version_string==' $(srcdir)/pdftexdir/pdftex.web \
	  | sed "s/^.*'-/#define ETEX_VERSION \"/;s/'.*$$/\"/" >$@
# Extract pdftex version
pdftexdir/pdftex_version.h: pdftexdir/pdftex.web
	$(MKDIR_P) pdftexdir
	grep '^@d pdftex_version_string==' $(srcdir)/pdftexdir/pdftex.web \
	  | sed "s/^.*'-/#define PDFTEX_VERSION \"/;s/'.*$$/\"/" >$@
# Generate pdftex.ch
pdftex.ch: tie$(EXEEXT) $(pdftex_ch_srcs)
	$(tie) -c pdftex.ch $(pdftex_ch_srcs)
pdftex_ch_srcs = \
	pdftexdir/pdftex.web \
	pdftexdir/tex.ch0 \
	tex.ch \
	enctex.ch \
	$(pdftex_ch_synctex) \
	pdftexdir/pdftex.ch
##
EXTRA_DIST += $(pdftex_ch_srcs) etexdir/etex.ch \
	pdftexdir/pdftex.defines pdftexdir/pdftex.h

DISTCLEANFILES += $(nodist_pdftex_SOURCES) pdftex.ch pdftex-web2c \
	pdftex.p pdftex.pool pdftex-tangle

EXTRA_DIST += \
	pdftexdir/ChangeLog \
	pdftexdir/NEWS \
	pdftexdir/README \
	pdftexdir/change-files.txt

# pdfTeX Tests
#
pdftex_tests = pdftexdir/pdftex.test

EXTRA_DIST += $(pdftex_tests)

if PDFTEX
TESTS += $(pdftex_tests)
endif PDFTEX