summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/mplibdir/am/libmplib.am
blob: 24245f5785efaeb7a0b2139a3106e07cfc52c939 (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
## texk/web2c/mplibdir/am/libmplib.am: Makefile fragment for libmplib.
##
## Copyright (C) 2015-2021 Luigi Scarso <tex-live@tug.org>
## Copyright (C) 2009-2014 Peter Breitenlohner <tex-live@tug.org>
## You may freely use, modify and/or distribute this file.

## libmplib.a, used by MetaPost and luaTeX
##
EXTRA_LIBRARIES += libmplibcore.a libmplibextramath.a libmplibbackends.a 


libmplibcore_a_CPPFLAGS =  $(LIBPNG_INCLUDES) $(ZLIB_INCLUDES) $(AM_CPPFLAGS) -I$(srcdir)/mplibdir
libmplibextramath_a_CPPFLAGS = $(MPFR_INCLUDES) $(GMP_INCLUDES) -I${top_builddir}/../../libs   $(AM_CPPFLAGS) -I$(srcdir)/mplibdir
libmplibbackends_a_CPPFLAGS = $(MPFR_INCLUDES) $(GMP_INCLUDES) $(CAIRO_INCLUDES) $(PIXMAN_INCLUDES) \
	$(LIBPNG_INCLUDES) $(ZLIB_INCLUDES) $(AM_CPPFLAGS) -I$(srcdir)/mplibdir

## libmplib C sources core + extramath + backends
nodist_libmplibcore_a_SOURCES = tfmin.c $(mp_c_h) $(mpmath_c_h) $(mpmathdecimal_c_h) \
	$(mpmathdouble_c_h) $(mpstrings_c_h) $(psout_c_h) 
nodist_libmplibextramath_a_SOURCES = $(mpmathbinary_c_h)
nodist_libmplibbackends_a_SOURCES = $(pngout_c_h)  $(svgout_c_h)



mp_c_h =  mp.c mplib.h mpmp.h
mpmath_c_h = mpmath.h mpmath.c
mpmathbinary_c_h = mpmathbinary.h mpmathbinary.c
mpmathdecimal_c_h = mpmathdecimal.h mpmathdecimal.c
mpmathdouble_c_h = mpmathdouble.h mpmathdouble.c
mpstrings_c_h = mpstrings.h mpstrings.c
psout_c_h = mplibps.h mppsout.h psout.c
svgout_c_h = mplibsvg.h mpsvgout.h svgout.c
pngout_c_h = mplibpng.h mppngout.h pngout.c

# Creating one file: just one rule
tfmin.c: ctangle$(EXEEXT) mplibdir/tfmin.w
	$(mp_ctangle) tfmin.w

# Creating several files: need stamp file and two rules with identical recipes
$(mp_c_h): mp-tangle 
	@$(mp_ctangle_sh) mp
mp-tangle: ctangle$(EXEEXT) mplibdir/mp.w tangle-sh
	@$(mp_ctangle_sh) mp

$(mpmath_c_h): mpmath-tangle mp-tangle
	@$(mp_ctangle_sh) mpmath
mpmath-tangle: ctangle$(EXEEXT) mplibdir/mpmath.w tangle-sh
	@$(mp_ctangle_sh) mpmath

$(mpmathbinary_c_h): mpmathbinary-tangle mp-tangle
	@$(mp_ctangle_sh) mpmathbinary
mpmathbinary-tangle: ctangle$(EXEEXT) mplibdir/mpmathbinary.w tangle-sh
	@$(mp_ctangle_sh) mpmathbinary

$(mpmathdecimal_c_h): mpmathdecimal-tangle mp-tangle
	@$(mp_ctangle_sh) mpmathdecimal
mpmathdecimal-tangle: ctangle$(EXEEXT) mplibdir/mpmathdecimal.w tangle-sh
	@$(mp_ctangle_sh) mpmathdecimal

$(mpmathdouble_c_h): mpmathdouble-tangle mp-tangle
	@$(mp_ctangle_sh) mpmathdouble
mpmathdouble-tangle: ctangle$(EXEEXT) mplibdir/mpmathdouble.w tangle-sh
	@$(mp_ctangle_sh) mpmathdouble

$(mpstrings_c_h): mpstrings-tangle
	@$(mp_ctangle_sh) mpstrings
mpstrings-tangle: ctangle$(EXEEXT) mplibdir/mpstrings.w tangle-sh
	@$(mp_ctangle_sh) mpstrings

$(pngout_c_h): pngout-tangle
	@$(mp_ctangle_sh) pngout
pngout-tangle: ctangle$(EXEEXT) mplibdir/pngout.w tangle-sh
	@$(mp_ctangle_sh) pngout

$(psout_c_h): psout-tangle
	@$(mp_ctangle_sh) psout
psout-tangle: ctangle$(EXEEXT) mplibdir/psout.w tangle-sh
	@$(mp_ctangle_sh) psout

$(svgout_c_h): svgout-tangle
	@$(mp_ctangle_sh) svgout
svgout-tangle: ctangle$(EXEEXT) mplibdir/svgout.w tangle-sh
	@$(mp_ctangle_sh) svgout

## libmplib CWeb sources
libmplib_web = mplibdir/mp.w mplibdir/psout.w mplibdir/svgout.w mplibdir/pngout.w
libmplib_web += mplibdir/mpmath.w mplibdir/mpmathbinary.w mplibdir/mpmathdecimal.w
libmplib_web += mplibdir/mpmathdouble.w mplibdir/mpstrings.w mplibdir/tfmin.w

## core need headers backends
$(nodist_libmplibcore_a_SOURCES): $(mpmathbinary_c_h) $(svgout_c_h) $(pngout_c_h)

$(libmplibcore_a_OBJECTS): $(nodist_libmplibcore_a_SOURCES) $(KPATHSEA_DEPEND)  
$(libmplibextramath_a_OBJECTS): $(nodist_libmplibextramath_a_SOURCES) $(KPATHSEA_DEPEND)  $(MPFR_DEPEND)
$(libmplibbackends_a_OBJECTS): $(nodist_libmplibbackends_a_SOURCES) $(KPATHSEA_DEPEND) $(CAIRO_DEPEND) $(MPFR_DEPEND)


EXTRA_DIST += $(libmplib_web)

DISTCLEANFILES += $(nodist_libmplibcore_a_SOURCES) $(nodist_libmplibextramath_a_SOURCES) $(nodist_libmplibbackends_a_SOURCES) \
	mp-tangle mpmath-tangle mpmathdecimal-tangle mpmathdouble-tangle \
	mpstrings-tangle psout-tangle svgout-tangle pngout-tangle