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-private.hh \
27 hb-fallback-shape.cc \
31 hb-object-private.hh \
32 hb-open-file-private.hh \
33 hb-open-type-private.hh \
44 hb-shape-plan-private.hh \
47 hb-shaper-impl-private.hh \
48 hb-shaper-private.hh \
51 hb-unicode-private.hh \
72 hb-ot-layout-common-private.hh \
73 hb-ot-layout-gdef-table.hh \
74 hb-ot-layout-gpos-table.hh \
75 hb-ot-layout-gsubgpos-private.hh \
76 hb-ot-layout-gsub-table.hh \
77 hb-ot-layout-private.hh \
79 hb-ot-map-private.hh \
81 hb-ot-shape-complex-arabic.cc \
82 hb-ot-shape-complex-arabic-fallback.hh \
83 hb-ot-shape-complex-arabic-table.hh \
84 hb-ot-shape-complex-default.cc \
85 hb-ot-shape-complex-indic.cc \
86 hb-ot-shape-complex-indic-machine.hh \
87 hb-ot-shape-complex-indic-private.hh \
88 hb-ot-shape-complex-indic-table.hh \
89 hb-ot-shape-complex-thai.cc \
90 hb-ot-shape-complex-private.hh \
91 hb-ot-shape-normalize-private.hh \
92 hb-ot-shape-normalize.cc \
93 hb-ot-shape-fallback-private.hh \
94 hb-ot-shape-fallback.cc \
95 hb-ot-shape-private.hh \
105 HBCFLAGS += $(PTHREAD_CFLAGS)
106 HBLIBS += $(PTHREAD_LIBS)
110 HBCFLAGS += $(GLIB_CFLAGS)
111 HBLIBS += $(GLIB_LIBS)
112 HBSOURCES += hb-glib.cc
113 HBHEADERS += hb-glib.h
117 HBCFLAGS += $(GOBJECT_CFLAGS)
118 HBLIBS += $(GOBJECT_LIBS)
119 HBSOURCES += hb-gobject-structs.cc
120 nodist_HBSOURCES = hb-gobject-enums.cc
121 HBHEADERS += hb-gobject.h
122 BUILT_SOURCES += hb-gobject-enums.cc
123 EXTRA_DIST += hb-gobject-enums.cc.tmpl
124 DISTCLEANFILES += hb-gobject-enums.cc
126 hb-gobject-enums.cc: hb-gobject-enums.cc.tmpl $(HBHEADERS)
127 $(AM_V_GEN) $(GLIB_MKENUMS) --template $^ > "$@.tmp" && \
128 mv "$@.tmp" "$@" || ( $(RM) "@.tmp" && false )
132 HBCFLAGS += $(ICU_CFLAGS)
133 HBLIBS += $(ICU_LIBS)
134 HBSOURCES += hb-icu.cc
135 HBHEADERS += hb-icu.h
139 HBCFLAGS += $(FREETYPE_CFLAGS)
140 HBLIBS += $(FREETYPE_LIBS)
141 HBSOURCES += hb-ft.cc
146 HBCFLAGS += $(GRAPHITE2_CFLAGS)
147 HBLIBS += $(GRAPHITE2_LIBS)
148 HBSOURCES += hb-graphite2.cc
149 HBHEADERS += hb-graphite2.h
153 HBCFLAGS += $(UNISCRIBE_CFLAGS)
154 HBLIBS += $(UNISCRIBE_LIBS)
155 HBSOURCES += hb-uniscribe.cc
156 HBHEADERS += hb-uniscribe.h
160 HBCFLAGS += $(CORETEXT_CFLAGS)
161 HBLIBS += $(CORETEXT_LIBS)
162 HBSOURCES += hb-coretext.cc
163 HBHEADERS += hb-coretext.h
168 HBCFLAGS += -I$(srcdir)/hb-old
169 HBLIBS += hb-old/libhb-old.la
170 HBSOURCES += hb-old.cc
172 DIST_SUBDIRS += hb-old
176 HBCFLAGS += -I$(srcdir)/hb-icu-le
177 HBLIBS += hb-icu-le/libhb-icu-le.la
178 HBSOURCES += hb-icu-le.cc
180 DIST_SUBDIRS += hb-icu-le
184 HBCFLAGS += -I$(srcdir)/hb-ucdn
185 HBLIBS += hb-ucdn/libhb-ucdn.la
186 HBSOURCES += hb-ucdn.cc
188 DIST_SUBDIRS += hb-ucdn
191 # Put the library together
194 export_symbols = -export-symbols harfbuzz.def
195 harfbuzz_def_dependency = harfbuzz.def
196 libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS)
199 libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS)
201 # Use a C linker for GCC, not C++; Don't link to libstdc++
203 libharfbuzz_la_LINK = $(LINK) $(libharfbuzz_la_LDFLAGS)
205 libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS)
210 libharfbuzz_la_SOURCES = $(HBSOURCES) $(HBHEADERS)
211 nodist_libharfbuzz_la_SOURCES = $(nodist_HBSOURCES)
212 libharfbuzz_la_CPPFLAGS = $(HBCFLAGS)
213 libharfbuzz_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) $(export_symbols) -no-undefined
214 libharfbuzz_la_LIBADD = $(HBLIBS)
215 EXTRA_libharfbuzz_la_DEPENDENCIES = $(harfbuzz_def_dependency)
216 pkginclude_HEADERS = $(HBHEADERS)
217 nodist_pkginclude_HEADERS = hb-version.h
219 CLEANFILES += harfbuzz.def
220 harfbuzz.def: $(HBHEADERS)
221 $(AM_V_GEN) (echo EXPORTS; \
222 (cat $^ || echo 'hb_ERROR ()' ) | \
223 $(EGREP) '^hb_.* \(' | \
224 sed -e 's/ (.*//' | \
226 echo LIBRARY libharfbuzz-$(HB_VERSION_MAJOR).dll; \
228 @ ! grep -q hb_ERROR "$@.tmp" && mv "$@.tmp" "$@" || ($(RM) "$@"; false)
232 gen-arabic-table.py \
236 EXTRA_DIST += $(GENERATORS)
238 unicode-tables: arabic-table indic-table
240 indic-table: gen-indic-table.py IndicSyllabicCategory.txt IndicMatraCategory.txt Blocks.txt
241 $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-indic-table.hh.tmp && \
242 mv hb-ot-shape-complex-indic-table.hh.tmp $(srcdir)/hb-ot-shape-complex-indic-table.hh || \
243 ($(RM) hb-ot-shape-complex-indic-table.hh.tmp; false)
245 arabic-table: gen-arabic-table.py ArabicShaping.txt UnicodeData.txt
246 $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-arabic-table.hh.tmp && \
247 mv hb-ot-shape-complex-arabic-table.hh.tmp $(srcdir)/hb-ot-shape-complex-arabic-table.hh || \
248 ($(RM) hb-ot-shape-complex-arabic-table.hh.tmp; false)
251 .PHONY: unicode-tables arabic-table indic-table
253 EXTRA_DIST += hb-ot-shape-complex-indic-machine.rl
254 $(srcdir)/hb-ot-shape-complex-indic-machine.hh: hb-ot-shape-complex-indic-machine.rl
255 $(AM_V_GEN)$(top_srcdir)/missing --run ragel -e -F1 -o "$@.tmp" "$<" && \
256 mv "$@.tmp" "$@" || ( $(RM) "$@.tmp" && false )
258 noinst_PROGRAMS = main test test-would-substitute test-size-params
261 main_SOURCES = main.cc
262 main_CPPFLAGS = $(HBCFLAGS)
263 main_LDADD = libharfbuzz.la $(HBLIBS)
265 test_SOURCES = test.cc
266 test_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS)
267 test_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
269 test_would_substitute_SOURCES = test-would-substitute.cc
270 test_would_substitute_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS)
271 test_would_substitute_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
273 test_size_params_SOURCES = test-size-params.cc
274 test_size_params_CPPFLAGS = $(HBCFLAGS)
275 test_size_params_LDADD = libharfbuzz.la $(HBLIBS)
277 dist_check_SCRIPTS = \
278 check-c-linkage-decls.sh \
279 check-header-guards.sh \
280 check-exported-symbols.sh \
282 check-internal-symbols.sh \
287 dist_check_SCRIPTS += check-libstdc++.sh
292 dist_check_SCRIPTS += check-static-inits.sh
295 TESTS = $(dist_check_SCRIPTS)
296 TESTS_ENVIRONMENT = \
298 MAKE="$(MAKE) $(AM_MAKEFLAGS)" \
299 HBSOURCES="$(HBSOURCES)" \
300 HBHEADERS="$(HBHEADERS)" \
303 #-include $(INTROSPECTION_MAKEFILE)
304 #INTROSPECTION_GIRS = hb-1.0.gir
305 #INTROSPECTION_SCANNER_ARGS = -I$(srcdir) -n hb --identifier-prefix=hb_
306 #INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
308 #if HAVE_INTROSPECTION
310 #hb-1.0.gir: libharfbuzz.la
311 #hb_1_0_gir_INCLUDES = GObject-2.0
312 #hb_1_0_gir_CFLAGS = $(INCLUDES) $(HBCFLAGS) -DHB_H -DHB_H_IN -DHB_OT_H -DHB_OT_H_IN
313 #hb_1_0_gir_LIBS = libharfbuzz.la
314 #hb_1_0_gir_FILES = $(HBHEADERS)
316 #girdir = $(datadir)/gir-1.0
317 #gir_DATA = $(INTROSPECTION_GIRS)
319 #typelibdir = $(libdir)/girepository-1.0
320 #typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
322 #CLEANFILES += $(gir_DATA) $(typelib_DATA)
325 -include $(top_srcdir)/git.mk