1 # Process this file with automake to produce Makefile.in
10 MAINTAINERCLEANFILES =
11 DISTCHECK_CONFIGURE_FLAGS = --enable-introspection
13 # The following warning options are useful for debugging: -Wpadded
16 lib_LTLIBRARIES = libharfbuzz.la
21 hb-atomic-private.hh \
23 hb-buffer-deserialize-json.hh \
24 hb-buffer-deserialize-text.hh \
25 hb-buffer-private.hh \
26 hb-buffer-serialize.cc \
35 hb-object-private.hh \
36 hb-open-file-private.hh \
37 hb-open-type-private.hh \
49 hb-shape-plan-private.hh \
52 hb-shaper-impl-private.hh \
53 hb-shaper-private.hh \
55 hb-unicode-private.hh \
81 hb-ot-layout-common-private.hh \
82 hb-ot-layout-gdef-table.hh \
83 hb-ot-layout-gpos-table.hh \
84 hb-ot-layout-gsubgpos-private.hh \
85 hb-ot-layout-gsub-table.hh \
86 hb-ot-layout-jstf-table.hh \
87 hb-ot-layout-private.hh \
89 hb-ot-map-private.hh \
91 hb-ot-shape-complex-arabic.cc \
92 hb-ot-shape-complex-arabic-fallback.hh \
93 hb-ot-shape-complex-arabic-table.hh \
94 hb-ot-shape-complex-arabic-win1256.hh \
95 hb-ot-shape-complex-default.cc \
96 hb-ot-shape-complex-hangul.cc \
97 hb-ot-shape-complex-hebrew.cc \
98 hb-ot-shape-complex-indic.cc \
99 hb-ot-shape-complex-indic-machine.hh \
100 hb-ot-shape-complex-indic-private.hh \
101 hb-ot-shape-complex-indic-table.cc \
102 hb-ot-shape-complex-myanmar.cc \
103 hb-ot-shape-complex-myanmar-machine.hh \
104 hb-ot-shape-complex-sea.cc \
105 hb-ot-shape-complex-sea-machine.hh \
106 hb-ot-shape-complex-thai.cc \
107 hb-ot-shape-complex-tibetan.cc \
108 hb-ot-shape-complex-private.hh \
109 hb-ot-shape-normalize-private.hh \
110 hb-ot-shape-normalize.cc \
111 hb-ot-shape-fallback-private.hh \
112 hb-ot-shape-fallback.cc \
113 hb-ot-shape-private.hh \
125 HBSOURCES += hb-fallback-shape.cc
129 HBCFLAGS += $(PTHREAD_CFLAGS)
130 HBLIBS += $(PTHREAD_LIBS)
134 HBCFLAGS += $(GLIB_CFLAGS)
135 HBLIBS += $(GLIB_LIBS)
136 HBSOURCES += hb-glib.cc
137 HBHEADERS += hb-glib.h
141 HBCFLAGS += $(FREETYPE_CFLAGS)
142 HBLIBS += $(FREETYPE_LIBS)
143 HBSOURCES += hb-ft.cc
148 HBCFLAGS += $(GRAPHITE2_CFLAGS)
149 HBLIBS += $(GRAPHITE2_LIBS)
150 HBSOURCES += hb-graphite2.cc
151 HBHEADERS += hb-graphite2.h
155 HBCFLAGS += $(UNISCRIBE_CFLAGS)
156 HBLIBS += $(UNISCRIBE_LIBS)
157 HBSOURCES += hb-uniscribe.cc
158 HBHEADERS += hb-uniscribe.h
162 HBCFLAGS += $(CORETEXT_CFLAGS)
163 HBLIBS += $(CORETEXT_LIBS)
164 HBSOURCES += hb-coretext.cc
165 HBHEADERS += hb-coretext.h
170 HBCFLAGS += -I$(srcdir)/hb-ucdn
171 HBLIBS += hb-ucdn/libhb-ucdn.la
172 HBSOURCES += hb-ucdn.cc
174 DIST_SUBDIRS += hb-ucdn
177 # Put the library together
180 export_symbols = -export-symbols harfbuzz.def
181 harfbuzz_def_dependency = harfbuzz.def
182 libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS)
184 # Use a C linker for GCC, not C++; Don't link to libstdc++
186 libharfbuzz_la_LINK = $(LINK) $(libharfbuzz_la_LDFLAGS)
188 libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS)
192 libharfbuzz_la_SOURCES = $(HBSOURCES) $(HBHEADERS) $(HBNODISTHEADERS)
193 libharfbuzz_la_CPPFLAGS = $(HBCFLAGS)
194 libharfbuzz_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) $(export_symbols) -no-undefined
195 libharfbuzz_la_LIBADD = $(HBLIBS)
196 EXTRA_libharfbuzz_la_DEPENDENCIES = $(harfbuzz_def_dependency)
197 pkginclude_HEADERS = $(HBHEADERS)
198 nodist_pkginclude_HEADERS = $(HBNODISTHEADERS)
199 pkgconfigdir = $(libdir)/pkgconfig
200 pkgconfig_DATA = harfbuzz.pc
201 EXTRA_DIST += harfbuzz.pc.in
204 lib_LTLIBRARIES += libharfbuzz-icu.la
205 libharfbuzz_icu_la_SOURCES = hb-icu.cc
206 libharfbuzz_icu_la_CPPFLAGS = $(ICU_CFLAGS)
207 libharfbuzz_icu_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) -no-undefined
208 libharfbuzz_icu_la_LIBADD = $(ICU_LIBS) libharfbuzz.la
209 pkginclude_HEADERS += hb-icu.h
210 pkgconfig_DATA += harfbuzz-icu.pc
212 EXTRA_DIST += harfbuzz-icu.pc.in
215 lib_LTLIBRARIES += libharfbuzz-gobject.la
216 libharfbuzz_gobject_la_SOURCES = hb-gobject-structs.cc
217 nodist_libharfbuzz_gobject_la_SOURCES = hb-gobject-enums.cc
218 libharfbuzz_gobject_la_CPPFLAGS = $(GOBJECT_CFLAGS)
219 libharfbuzz_gobject_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) -no-undefined
220 libharfbuzz_gobject_la_LIBADD = $(GOBJECT_LIBS) libharfbuzz.la
221 pkginclude_HEADERS += hb-gobject.h hb-gobject-structs.h
222 nodist_pkginclude_HEADERS += hb-gobject-enums.h
223 pkgconfig_DATA += harfbuzz-gobject.pc
226 hb-gobject-enums.cc \
230 hb-gobject-enums.cc \
233 hb-gobject-enums.%: hb-gobject-enums.%.tmpl $(HBHEADERS)
234 $(AM_V_GEN) $(GLIB_MKENUMS) \
235 --identifier-prefix hb_ --symbol-prefix hb_gobject \
237 sed 's/_t_get_type/_get_type/g; s/_T (/ (/g' > "$@.tmp" && \
238 mv "$@.tmp" "$@" || ( $(RM) "@.tmp" && false )
241 harfbuzz-gobject.pc.in \
242 hb-gobject-enums.cc.tmpl \
243 hb-gobject-enums.h.tmpl \
247 %.pc: %.pc.in $(top_builddir)/config.status
249 $(SED) -e 's@%prefix%@$(prefix)@g' \
250 -e 's@%exec_prefix%@$(exec_prefix)@g' \
251 -e 's@%libdir%@$(libdir)@g' \
252 -e 's@%includedir%@$(includedir)@g' \
253 -e 's@%VERSION%@$(VERSION)@g' \
255 > "$@.tmp" && mv "$@.tmp" "$@" || ( $(RM) "$@.tmp"; false )
257 CLEANFILES += $(pkgconfig_DATA)
260 CLEANFILES += harfbuzz.def
261 harfbuzz.def: $(HBHEADERS) $(HBNODISTHEADERS)
262 $(AM_V_GEN) (echo EXPORTS; \
263 (cat $^ || echo 'hb_ERROR ()' ) | \
264 $(EGREP) '^hb_.* \(' | \
265 sed -e 's/ (.*//' | \
267 echo LIBRARY libharfbuzz-$(HB_VERSION_MAJOR).dll; \
269 @ ! grep -q hb_ERROR "$@.tmp" && mv "$@.tmp" "$@" || ($(RM) "$@"; false)
273 gen-arabic-table.py \
276 EXTRA_DIST += $(GENERATORS)
278 unicode-tables: arabic-table indic-table
280 indic-table: gen-indic-table.py IndicSyllabicCategory.txt IndicMatraCategory.txt Blocks.txt
281 $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-indic-table.cc.tmp && \
282 mv hb-ot-shape-complex-indic-table.cc.tmp $(srcdir)/hb-ot-shape-complex-indic-table.cc || \
283 ($(RM) hb-ot-shape-complex-indic-table.cc.tmp; false)
285 arabic-table: gen-arabic-table.py ArabicShaping.txt UnicodeData.txt Blocks.txt
286 $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-arabic-table.hh.tmp && \
287 mv hb-ot-shape-complex-arabic-table.hh.tmp $(srcdir)/hb-ot-shape-complex-arabic-table.hh || \
288 ($(RM) hb-ot-shape-complex-arabic-table.hh.tmp; false)
290 built-sources: $(BUILT_SOURCES)
292 .PHONY: unicode-tables arabic-table indic-table built-sources
295 hb-buffer-deserialize-json.hh \
296 hb-buffer-deserialize-text.hh \
297 hb-ot-shape-complex-indic-machine.hh \
298 hb-ot-shape-complex-myanmar-machine.hh \
299 hb-ot-shape-complex-sea-machine.hh \
302 hb-buffer-deserialize-json.rl \
303 hb-buffer-deserialize-text.rl \
304 hb-ot-shape-complex-indic-machine.rl \
305 hb-ot-shape-complex-myanmar-machine.rl \
306 hb-ot-shape-complex-sea-machine.rl \
309 $(AM_V_GEN)$(RAGEL) -e -F1 -o "$@.tmp" "$<" && \
310 mv "$@.tmp" "$@" || ( $(RM) "$@.tmp" && false )
315 test-buffer-serialize \
317 test-would-substitute \
321 main_SOURCES = main.cc
322 main_CPPFLAGS = $(HBCFLAGS)
323 main_LDADD = libharfbuzz.la $(HBLIBS)
325 test_SOURCES = test.cc
326 test_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS)
327 test_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
329 test_would_substitute_SOURCES = test-would-substitute.cc
330 test_would_substitute_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS)
331 test_would_substitute_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
333 test_size_params_SOURCES = test-size-params.cc
334 test_size_params_CPPFLAGS = $(HBCFLAGS)
335 test_size_params_LDADD = libharfbuzz.la $(HBLIBS)
337 test_buffer_serialize_SOURCES = test-buffer-serialize.cc
338 test_buffer_serialize_CPPFLAGS = $(HBCFLAGS)
339 test_buffer_serialize_LDADD = libharfbuzz.la $(HBLIBS)
341 dist_check_SCRIPTS = \
342 check-c-linkage-decls.sh \
344 check-header-guards.sh \
347 check-static-inits.sh \
351 TESTS = $(dist_check_SCRIPTS)
352 TESTS_ENVIRONMENT = \
354 MAKE="$(MAKE) $(AM_MAKEFLAGS)" \
355 HBSOURCES="$(HBSOURCES)" \
356 HBHEADERS="$(HBHEADERS) $(HBNODISTHEADERS)" \
359 if HAVE_INTROSPECTION
361 -include $(INTROSPECTION_MAKEFILE)
362 INTROSPECTION_GIRS = HarfBuzz-$(HB_VERSION_MAJOR).0.gir # What does the 0 mean anyway?!
363 INTROSPECTION_SCANNER_ARGS = -I$(srcdir) -n hb --identifier-prefix=hb_ --warn-all
364 INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
365 INTROSPECTION_SCANNER_ENV = CC="$(CC)"
367 HarfBuzz-0.0.gir: libharfbuzz.la libharfbuzz-gobject.la
368 HarfBuzz_0_0_gir_INCLUDES = GObject-2.0
369 HarfBuzz_0_0_gir_CFLAGS = \
379 HarfBuzz_0_0_gir_LIBS = \
381 libharfbuzz-gobject.la \
383 HarfBuzz_0_0_gir_FILES = \
387 hb-gobject-enums.cc \
389 hb-gobject-structs.cc \
390 hb-gobject-structs.h \
393 girdir = $(datadir)/gir-1.0
394 gir_DATA = $(INTROSPECTION_GIRS)
396 typelibdir = $(libdir)/girepository-1.0
397 typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
399 CLEANFILES += $(gir_DATA) $(typelib_DATA)
403 -include $(top_srcdir)/git.mk