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 \
48 hb-shaper-impl-private.hh \
49 hb-shaper-private.hh \
52 hb-unicode-private.hh \
71 hb-ot-layout-common-private.hh \
72 hb-ot-layout-gdef-table.hh \
73 hb-ot-layout-gpos-table.hh \
74 hb-ot-layout-gsubgpos-private.hh \
75 hb-ot-layout-gsub-table.hh \
76 hb-ot-layout-private.hh \
78 hb-ot-map-private.hh \
80 hb-ot-shape-complex-arabic.cc \
81 hb-ot-shape-complex-arabic-table.hh \
82 hb-ot-shape-complex-indic.cc \
83 hb-ot-shape-complex-indic-machine.hh \
84 hb-ot-shape-complex-indic-private.hh \
85 hb-ot-shape-complex-indic-table.hh \
86 hb-ot-shape-complex-misc.cc \
87 hb-ot-shape-complex-private.hh \
88 hb-ot-shape-normalize-private.hh \
89 hb-ot-shape-normalize.cc \
90 hb-ot-shape-fallback-private.hh \
91 hb-ot-shape-fallback.cc \
92 hb-ot-shape-private.hh \
102 HBCFLAGS += $(GLIB_CFLAGS)
103 HBLIBS += $(GLIB_LIBS)
104 HBSOURCES += hb-glib.cc
105 HBHEADERS += hb-glib.h
109 HBCFLAGS += $(GOBJECT_CFLAGS)
110 HBLIBS += $(GOBJECT_LIBS)
111 HBSOURCES += hb-gobject-structs.cc
112 nodist_HBSOURCES = hb-gobject-enums.cc
113 HBHEADERS += hb-gobject.h
114 BUILT_SOURCES += hb-gobject-enums.cc
115 EXTRA_DIST += hb-gobject-enums.cc.tmpl
116 DISTCLEANFILES += hb-gobject-enums.cc
118 hb-gobject-enums.cc: hb-gobject-enums.cc.tmpl $(HBHEADERS)
119 $(AM_V_GEN) $(GLIB_MKENUMS) --template $^ > "$@.tmp" && \
120 mv "$@.tmp" "$@" || ( $(RM) "@.tmp" && false )
124 HBCFLAGS += $(ICU_CFLAGS)
125 HBLIBS += $(ICU_LIBS)
126 HBSOURCES += hb-icu.cc
127 HBHEADERS += hb-icu.h
131 HBCFLAGS += $(FREETYPE_CFLAGS)
132 HBLIBS += $(FREETYPE_LIBS)
133 HBSOURCES += hb-ft.cc
138 HBCFLAGS += $(GRAPHITE2_CFLAGS)
139 HBLIBS += $(GRAPHITE2_LIBS)
140 HBSOURCES += hb-graphite2.cc
141 HBHEADERS += hb-graphite2.h
145 HBCFLAGS += $(UNISCRIBE_CFLAGS)
146 HBLIBS += $(UNISCRIBE_LIBS)
147 HBSOURCES += hb-uniscribe.cc
148 HBHEADERS += hb-uniscribe.h
152 HBCFLAGS += $(CORETEXT_CFLAGS)
153 HBLIBS += $(CORETEXT_LIBS)
154 HBSOURCES += hb-coretext.cc
155 HBHEADERS += hb-coretext.h
160 HBCFLAGS += -I$(srcdir)/hb-old
161 HBLIBS += hb-old/libhb-old.la
162 HBSOURCES += hb-old.cc
164 DIST_SUBDIRS += hb-old
168 # Put the library together
171 export_symbols = -export-symbols harfbuzz.def
172 harfbuzz_def_dependency = harfbuzz.def
175 # Use a C linker, not C++; Don't link to libstdc++
176 libharfbuzz_la_LINK = $(LINK) $(libharfbuzz_la_LDFLAGS)
177 libharfbuzz_la_SOURCES = $(HBSOURCES) $(HBHEADERS)
178 nodist_libharfbuzz_la_SOURCES = $(nodist_HBSOURCES)
179 libharfbuzz_la_CPPFLAGS = $(HBCFLAGS)
180 libharfbuzz_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) $(export_symbols) -no-undefined
181 libharfbuzz_la_LIBADD = $(HBLIBS)
182 libharfbuzz_la_DEPENDENCIES = $(harfbuzz_def_dependency)
183 pkginclude_HEADERS = $(HBHEADERS)
184 nodist_pkginclude_HEADERS = hb-version.h
186 CLEANFILES += harfbuzz.def
187 harfbuzz.def: $(HBHEADERS)
188 $(AM_V_GEN) (echo EXPORTS; \
189 (cat $^ || echo 'hb_ERROR ()' ) | \
190 $(EGREP) '^hb_.* \(' | \
191 sed -e 's/ (.*//' | \
193 echo LIBRARY libharfbuzz-$(HB_VERSION_MAJOR).dll; \
195 @ ! grep -q hb_ERROR "$@.tmp" && mv "$@.tmp" "$@" || ($(RM) "$@"; false)
199 gen-arabic-table.py \
203 EXTRA_DIST += $(GENERATORS)
205 unicode-tables: arabic-table indic-table
207 indic-table: gen-indic-table.py IndicSyllabicCategory.txt IndicMatraCategory.txt Blocks.txt
208 $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-indic-table.hh.tmp && \
209 mv hb-ot-shape-complex-indic-table.hh.tmp $(srcdir)/hb-ot-shape-complex-indic-table.hh || \
210 ($(RM) hb-ot-shape-complex-indic-table.hh.tmp; false)
212 arabic-table: gen-arabic-table.py ArabicShaping.txt UnicodeData.txt
213 $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-arabic-table.hh.tmp && \
214 mv hb-ot-shape-complex-arabic-table.hh.tmp $(srcdir)/hb-ot-shape-complex-arabic-table.hh || \
215 ($(RM) hb-ot-shape-complex-arabic-table.hh.tmp; false)
218 .PHONY: unicode-tables arabic-table indic-table
220 BUILT_SOURCES += hb-ot-shape-complex-indic-machine.hh
221 EXTRA_DIST += hb-ot-shape-complex-indic-machine.rl
222 hb-ot-shape-complex-indic-machine.hh: hb-ot-shape-complex-indic-machine.rl
223 $(AM_V_GEN)$(top_srcdir)/missing --run ragel -e -F1 -o "$@.tmp" "$<" && \
224 mv "$@.tmp" "$@" || ( $(RM) "$@.tmp" && false )
226 noinst_PROGRAMS = main indic test-would-substitute
229 main_SOURCES = main.cc
230 main_CPPFLAGS = $(HBCFLAGS)
231 main_LDADD = libharfbuzz.la $(HBLIBS)
233 indic_SOURCES = indic.cc
234 indic_CPPFLAGS = $(HBCFLAGS)
235 indic_LDADD = libharfbuzz.la $(HBLIBS)
237 test_would_substitute_SOURCES = test-would-substitute.cc
238 test_would_substitute_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS)
239 test_would_substitute_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
241 dist_check_SCRIPTS = \
242 check-c-linkage-decls.sh \
243 check-header-guards.sh \
244 check-exported-symbols.sh \
246 check-internal-symbols.sh \
247 check-static-inits.sh \
252 dist_check_SCRIPTS += check-libstdc++.sh
255 TESTS = $(dist_check_SCRIPTS)
256 TESTS_ENVIRONMENT = \
258 MAKE="$(MAKE) $(AM_MAKEFLAGS)" \
259 HBSOURCES="$(HBSOURCES)" \
260 HBHEADERS="$(HBHEADERS)" \
263 #-include $(INTROSPECTION_MAKEFILE)
264 #INTROSPECTION_GIRS = hb-1.0.gir
265 #INTROSPECTION_SCANNER_ARGS = -I$(srcdir) -n hb --identifier-prefix=hb_
266 #INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
268 #if HAVE_INTROSPECTION
270 #hb-1.0.gir: libharfbuzz.la
271 #hb_1_0_gir_INCLUDES = GObject-2.0
272 #hb_1_0_gir_CFLAGS = $(INCLUDES) $(HBCFLAGS) -DHB_H -DHB_H_IN -DHB_OT_H -DHB_OT_H_IN
273 #hb_1_0_gir_LIBS = libharfbuzz.la
274 #hb_1_0_gir_FILES = $(HBHEADERS)
276 #girdir = $(datadir)/gir-1.0
277 #gir_DATA = $(INTROSPECTION_GIRS)
279 #typelibdir = $(libdir)/girepository-1.0
280 #typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
282 #CLEANFILES += $(gir_DATA) $(typelib_DATA)
285 -include $(top_srcdir)/git.mk