summaryrefslogtreecommitdiff
path: root/liboil/Makefile.am
blob: d2d9f0d5f641cb635285051584877f384da14148 (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

pkgincludedir = $(includedir)/liboil-@LIBOIL_MAJORMINOR@/liboil

SUBDIRS = colorspace conv copy dct jpeg simdpack md5 utf8

lib_LTLIBRARIES = liboiltmp1.la liboil-@LIBOIL_MAJORMINOR@.la

noinst_LTLIBRARIES = liboilfunctions.la

noinst_PROGRAMS = build_prototypes build_prototypes_doc build_marshal

pkginclude_HEADERS = liboil.h liboilfunction.h liboildebug.h liboilfuncs.h \
	liboiltypes.h liboilcpu.h liboilprototype.h liboilparameter.h \
	liboilrandom.h liboilgcc.h

nodist_noinst_HEADERS = liboilfuncs-doc.h

CLEANFILES = liboilarray.c liboilfuncs-doc.h

liboilfunctions_la_SOURCES = \
	null.c
liboilfunctions_la_CFLAGS = $(LIBOIL_CFLAGS)
liboilfunctions_la_LIBADD = \
	conv/libconv.la \
	colorspace/libcolorspace.la \
	copy/libcopy.la \
	dct/libdct.la \
	jpeg/libjpeg.la \
	md5/libmd5.la \
	simdpack/libsimdpack.la \
	utf8/libutf8.la \
	-lm

liboiltmp1_la_SOURCES =
liboiltmp1_la_LDFLAGS = \
	-export-symbols-regex 'oil_'
liboiltmp1_la_LIBADD = \
	liboilfunctions.la \
	-lm

liboil_@LIBOIL_MAJORMINOR@_la_SOURCES = \
	liboil.h \
	liboildebug.h \
	liboilfuncs.h \
	liboilfunction.h \
	liboilprofile.h \
	liboiltypes.h \
	liboilfunction.c \
	liboildebug.c \
	liboilcpu.c \
	liboilprofile.c \
	liboilprototype.c \
	liboilarray.c \
	liboiltest.h \
	liboiltest.c \
	liboilmarshal.c
liboil_@LIBOIL_MAJORMINOR@_la_LIBADD = \
	liboilfunctions.la \
	-lm
liboil_@LIBOIL_MAJORMINOR@_la_CFLAGS = $(LIBOIL_CFLAGS)
liboil_@LIBOIL_MAJORMINOR@_la_LDFLAGS = \
	-version-info $(LIBOIL_LIBVERSION) \
	-export-symbols-regex '^oil_'

# This is required to use 'make -j2'. Automake doesn't seem to notice
# that one of the dependencies is in this directory.
build_prototypes_DEPENDENCIES = liboil-$(LIBOIL_MAJORMINOR).la

build_prototypes_SOURCES = build_prototypes.c
build_prototypes_CFLAGS = $(LIBOIL_CFLAGS)
build_prototypes_LDADD = $(LIBOIL_LIBS)

build_prototypes_doc_DEPENDENCIES = liboil-$(LIBOIL_MAJORMINOR).la
build_prototypes_doc_SOURCES = build_prototypes_doc.c
build_prototypes_doc_CFLAGS = $(LIBOIL_CFLAGS)
build_prototypes_doc_LDADD = $(LIBOIL_LIBS)

build_marshal_DEPENDENCIES = liboil-$(LIBOIL_MAJORMINOR).la

build_marshal_SOURCES = build_marshal.c
build_marshal_CFLAGS = $(LIBOIL_CFLAGS)
build_marshal_LDADD = $(LIBOIL_LIBS)

liboilarray.c: liboiltmp1.la Makefile
	echo '/* This file is autogenerated.  Do not edit */' >liboilarray.c
	echo >>liboilarray.c
	echo '#include <liboil/liboilfunction.h>' >>liboilarray.c
	echo >>liboilarray.c
	grep '^_oil_function_class_' .libs/liboiltmp1.exp | \
	  sed 's/.*/extern OilFunctionClass &;/' >>liboilarray.c
	echo >>liboilarray.c
	echo 'OilFunctionClass *_oil_function_class_array[] = {' >>liboilarray.c
	grep '^_oil_function_class_' .libs/liboiltmp1.exp | \
	  sed 's/.*/  \&&,/' >>liboilarray.c
	echo '  NULL' >>liboilarray.c
	echo '};' >>liboilarray.c
	echo >>liboilarray.c
	grep '^_oil_function_impl_' .libs/liboiltmp1.exp | \
	  sed 's/.*/extern OilFunctionImpl &;/' >>liboilarray.c
	echo >>liboilarray.c
	echo 'OilFunctionImpl *_oil_function_impl_array[] = {' >>liboilarray.c
	grep '^_oil_function_impl_' .libs/liboiltmp1.exp | \
	  sed 's/.*/  \&&,/' >>liboilarray.c
	echo '  NULL' >>liboilarray.c
	echo '};' >>liboilarray.c
	echo >>liboilarray.c

liboilfuncs.h:
	./build_prototypes >liboilfuncs.h

liboilmarshal.c:
	./build_marshal >liboilmarshal.c

liboilfuncs-doc.h:
	./build_prototypes_doc >liboilfuncs-doc.h

update:
	./build_prototypes >liboilfuncs.h
	./build_marshal >liboilmarshal.c
	./build_prototypes_doc >liboilfuncs-doc.h