344cc573b59cc2e5e88faddada425701cbe9ec98
[framework/uifw/harfbuzz.git] / src / Makefile.am
1 # Process this file with automake to produce Makefile.in
2
3 NULL =
4 BUILT_SOURCES =
5 EXTRA_DIST =
6 CLEANFILES =
7 DISTCLEANFILES =
8 MAINTAINERCLEANFILES =
9
10 # The following warning options are useful for debugging: -Wpadded -Wcast-align
11 #AM_CXXFLAGS =
12
13 lib_LTLIBRARIES = libharfbuzz.la
14
15 HBCFLAGS =
16 HBLIBS =
17 HBSOURCES =  \
18         hb-atomic-private.hh \
19         hb-blob.cc \
20         hb-buffer-private.hh \
21         hb-buffer.cc \
22         hb-cache-private.hh \
23         hb-common.cc \
24         hb-fallback-shape-private.hh \
25         hb-fallback-shape.cc \
26         hb-font-private.hh \
27         hb-font.cc \
28         hb-mutex-private.hh \
29         hb-object-private.hh \
30         hb-open-file-private.hh \
31         hb-open-type-private.hh \
32         hb-ot-head-table.hh \
33         hb-ot-hhea-table.hh \
34         hb-ot-hmtx-table.hh \
35         hb-ot-maxp-table.hh \
36         hb-ot-name-table.hh \
37         hb-ot-tag.cc \
38         hb-private.hh \
39         hb-set-private.hh \
40         hb-set.cc \
41         hb-shape.cc \
42         hb-tt-font.cc \
43         hb-unicode-private.hh \
44         hb-unicode.cc \
45         hb-warning.cc \
46         $(NULL)
47 HBHEADERS = \
48         hb.h \
49         hb-blob.h \
50         hb-buffer.h \
51         hb-common.h \
52         hb-font.h \
53         hb-set.h \
54         hb-shape.h \
55         hb-unicode.h \
56         hb-version.h \
57         $(NULL)
58
59 if HAVE_OT
60 HBSOURCES += \
61         hb-ot-layout.cc \
62         hb-ot-layout-common-private.hh \
63         hb-ot-layout-gdef-table.hh \
64         hb-ot-layout-gpos-table.hh \
65         hb-ot-layout-gsubgpos-private.hh \
66         hb-ot-layout-gsub-table.hh \
67         hb-ot-layout-private.hh \
68         hb-ot-map.cc \
69         hb-ot-map-private.hh \
70         hb-ot-shape.cc \
71         hb-ot-shape-complex-arabic.cc \
72         hb-ot-shape-complex-arabic-table.hh \
73         hb-ot-shape-complex-indic.cc \
74         hb-ot-shape-complex-indic-machine.hh \
75         hb-ot-shape-complex-indic-private.hh \
76         hb-ot-shape-complex-indic-table.hh \
77         hb-ot-shape-complex-misc.cc \
78         hb-ot-shape-complex-private.hh \
79         hb-ot-shape-normalize-private.hh \
80         hb-ot-shape-normalize.cc \
81         hb-ot-shape-private.hh \
82         $(NULL)
83 HBHEADERS += \
84         hb-ot.h \
85         hb-ot-layout.h \
86         hb-ot-tag.h \
87         $(NULL)
88 endif
89
90 if HAVE_GLIB
91 HBCFLAGS += $(GLIB_CFLAGS)
92 HBLIBS   += $(GLIB_LIBS)
93 HBSOURCES += hb-glib.cc
94 HBHEADERS += hb-glib.h
95 endif
96
97 if HAVE_GOBJECT
98 HBCFLAGS += $(GOBJECT_CFLAGS)
99 HBLIBS   += $(GOBJECT_LIBS)
100 HBSOURCES += hb-gobject-structs.cc
101 nodist_HBSOURCES = hb-gobject-enums.cc
102 HBHEADERS += hb-gobject.h
103 BUILT_SOURCES += hb-gobject-enums.cc
104 EXTRA_DIST += hb-gobject-enums.cc.tmpl
105 DISTCLEANFILES += hb-gobject-enums.cc
106
107 hb-gobject-enums.cc: hb-gobject-enums.cc.tmpl $(HBHEADERS)
108         $(AM_V_GEN) $(GLIB_MKENUMS) --template $^ > "$@.tmp" && \
109         mv "$@.tmp" "$@" || ( $(RM) "@.tmp" && false )
110 endif
111
112 if HAVE_ICU
113 HBCFLAGS += $(ICU_CFLAGS)
114 HBLIBS   += $(ICU_LIBS)
115 HBSOURCES += hb-icu.cc
116 HBHEADERS += hb-icu.h
117 endif
118
119 if HAVE_FREETYPE
120 HBCFLAGS += $(FREETYPE_CFLAGS)
121 HBLIBS   += $(FREETYPE_LIBS)
122 HBSOURCES += hb-ft.cc
123 HBHEADERS += hb-ft.h
124 endif
125
126 if HAVE_GRAPHITE2
127 HBCFLAGS += $(GRAPHITE2_CFLAGS)
128 HBLIBS   += $(GRAPHITE2_LIBS)
129 HBSOURCES += hb-graphite2.cc hb-graphite2-private.hh
130 HBHEADERS += hb-graphite2.h
131 endif
132
133 if HAVE_UNISCRIBE
134 HBCFLAGS += $(UNISCRIBE_CFLAGS)
135 HBLIBS   += $(UNISCRIBE_LIBS)
136 HBSOURCES += hb-uniscribe.cc hb-uniscribe-private.hh
137 HBHEADERS += hb-uniscribe.h
138 endif
139
140 # Use a C linker, not C++; Don't link to libstdc++
141 libharfbuzz_la_LINK = $(LINK) $(libharfbuzz_la_LDFLAGS)
142 libharfbuzz_la_SOURCES = $(HBSOURCES) $(HBHEADERS)
143 nodist_libharfbuzz_la_SOURCES = $(nodist_HBSOURCES)
144 libharfbuzz_la_CPPFLAGS = $(HBCFLAGS)
145 libharfbuzz_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) -no-undefined
146 libharfbuzz_la_LIBADD = $(HBLIBS)
147 pkginclude_HEADERS = $(HBHEADERS)
148 nodist_pkginclude_HEADERS = hb-version.h
149
150
151 GENERATORS = \
152         gen-arabic-table.py \
153         gen-indic-table.py \
154         $(NULL)
155
156 EXTRA_DIST += $(GENERATORS)
157
158 unicode-tables: arabic-table indic-table
159
160 indic-table: gen-indic-table.py IndicSyllabicCategory.txt IndicMatraCategory.txt Blocks.txt
161         $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-indic-table.hh.tmp && \
162         mv hb-ot-shape-complex-indic-table.hh.tmp $(srcdir)/hb-ot-shape-complex-indic-table.hh || \
163         ($(RM) hb-ot-shape-complex-indic-table.hh.tmp; false)
164
165 arabic-table: gen-arabic-table.py ArabicShaping.txt UnicodeData.txt
166         $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-arabic-table.hh.tmp && \
167         mv hb-ot-shape-complex-arabic-table.hh.tmp $(srcdir)/hb-ot-shape-complex-arabic-table.hh || \
168         ($(RM) hb-ot-shape-complex-arabic-table.hh.tmp; false)
169
170
171 .PHONY: unicode-tables arabic-table indic-table
172
173 BUILT_SOURCES += hb-ot-shape-complex-indic-machine.hh
174 EXTRA_DIST += hb-ot-shape-complex-indic-machine.rl
175 hb-ot-shape-complex-indic-machine.hh: hb-ot-shape-complex-indic-machine.rl
176         $(AM_V_GEN)$(top_srcdir)/missing --run ragel -e -F1 -o "$@.tmp" "$<" && \
177         mv "$@.tmp" "$@" || ( $(RM) "$@.tmp" && false )
178
179 noinst_PROGRAMS = main indic
180 bin_PROGRAMS =
181
182 main_SOURCES = main.cc
183 main_CPPFLAGS = $(HBCFLAGS)
184 main_LDADD = libharfbuzz.la $(HBLIBS)
185
186 indic_SOURCES = indic.cc
187 indic_CPPFLAGS = $(HBCFLAGS)
188 indic_LDADD = libharfbuzz.la $(HBLIBS)
189
190 dist_check_SCRIPTS = \
191         check-c-linkage-decls.sh \
192         check-header-guards.sh \
193         check-internal-symbols.sh \
194         check-includes.sh \
195         $(NULL)
196
197 if HAVE_ICU
198 else
199 dist_check_SCRIPTS += check-libstdc++.sh
200 endif
201
202 TESTS = $(dist_check_SCRIPTS)
203 TESTS_ENVIRONMENT = \
204         srcdir="$(srcdir)" \
205         MAKE="$(MAKE) $(AM_MAKEFLAGS)" \
206         HBSOURCES="$(HBSOURCES)" \
207         HBHEADERS="$(HBHEADERS)" \
208         $(NULL)
209
210 scan:
211         g-ir-scanner $(HBCFLAGS) $(HBHEADERS) -n hb --strip-prefix=hb --library libharfbuzz.la
212
213
214 -include $(top_srcdir)/git.mk