1# Process this file with automake to produce Makefile.in 2 3NULL = 4SUBDIRS = 5DIST_SUBDIRS = 6BUILT_SOURCES = 7EXTRA_DIST = 8CLEANFILES = 9DISTCLEANFILES = 10MAINTAINERCLEANFILES = 11DISTCHECK_CONFIGURE_FLAGS = --enable-introspection 12 13# The following warning options are useful for debugging: -Wpadded 14#AM_CXXFLAGS = 15 16lib_LTLIBRARIES = libharfbuzz.la 17 18HBCFLAGS = 19HBLIBS = 20HBSOURCES = \ 21 hb-atomic-private.hh \ 22 hb-blob.cc \ 23 hb-buffer-deserialize-json.hh \ 24 hb-buffer-deserialize-text.hh \ 25 hb-buffer-private.hh \ 26 hb-buffer-serialize.cc \ 27 hb-buffer.cc \ 28 hb-cache-private.hh \ 29 hb-common.cc \ 30 hb-fallback-shape.cc \ 31 hb-font-private.hh \ 32 hb-font.cc \ 33 hb-mutex-private.hh \ 34 hb-object-private.hh \ 35 hb-open-file-private.hh \ 36 hb-open-type-private.hh \ 37 hb-ot-head-table.hh \ 38 hb-ot-hhea-table.hh \ 39 hb-ot-hmtx-table.hh \ 40 hb-ot-maxp-table.hh \ 41 hb-ot-name-table.hh \ 42 hb-ot-tag.cc \ 43 hb-private.hh \ 44 hb-set-private.hh \ 45 hb-set.cc \ 46 hb-shape.cc \ 47 hb-shape-plan-private.hh \ 48 hb-shape-plan.cc \ 49 hb-shaper-list.hh \ 50 hb-shaper-impl-private.hh \ 51 hb-shaper-private.hh \ 52 hb-shaper.cc \ 53 hb-tt-font.cc \ 54 hb-unicode-private.hh \ 55 hb-unicode.cc \ 56 hb-utf-private.hh \ 57 hb-warning.cc \ 58 $(NULL) 59HBHEADERS = \ 60 hb.h \ 61 hb-blob.h \ 62 hb-buffer.h \ 63 hb-common.h \ 64 hb-font.h \ 65 hb-set.h \ 66 hb-shape.h \ 67 hb-shape-plan.h \ 68 hb-unicode.h \ 69 $(NULL) 70HBNODISTHEADERS = \ 71 hb-version.h \ 72 $(NULL) 73 74if HAVE_OT 75HBSOURCES += \ 76 hb-ot-layout.cc \ 77 hb-ot-layout-common-private.hh \ 78 hb-ot-layout-gdef-table.hh \ 79 hb-ot-layout-gpos-table.hh \ 80 hb-ot-layout-gsubgpos-private.hh \ 81 hb-ot-layout-gsub-table.hh \ 82 hb-ot-layout-private.hh \ 83 hb-ot-map.cc \ 84 hb-ot-map-private.hh \ 85 hb-ot-shape.cc \ 86 hb-ot-shape-complex-arabic.cc \ 87 hb-ot-shape-complex-arabic-fallback.hh \ 88 hb-ot-shape-complex-arabic-table.hh \ 89 hb-ot-shape-complex-default.cc \ 90 hb-ot-shape-complex-indic.cc \ 91 hb-ot-shape-complex-indic-machine.hh \ 92 hb-ot-shape-complex-indic-private.hh \ 93 hb-ot-shape-complex-indic-table.cc \ 94 hb-ot-shape-complex-myanmar.cc \ 95 hb-ot-shape-complex-myanmar-machine.hh \ 96 hb-ot-shape-complex-sea.cc \ 97 hb-ot-shape-complex-sea-machine.hh \ 98 hb-ot-shape-complex-thai.cc \ 99 hb-ot-shape-complex-private.hh \ 100 hb-ot-shape-normalize-private.hh \ 101 hb-ot-shape-normalize.cc \ 102 hb-ot-shape-fallback-private.hh \ 103 hb-ot-shape-fallback.cc \ 104 hb-ot-shape-private.hh \ 105 $(NULL) 106HBHEADERS += \ 107 hb-ot.h \ 108 hb-ot-layout.h \ 109 hb-ot-tag.h \ 110 $(NULL) 111endif 112 113if HAVE_PTHREAD 114HBCFLAGS += $(PTHREAD_CFLAGS) 115HBLIBS += $(PTHREAD_LIBS) 116endif 117 118if HAVE_GLIB 119HBCFLAGS += $(GLIB_CFLAGS) 120HBLIBS += $(GLIB_LIBS) 121HBSOURCES += hb-glib.cc 122HBHEADERS += hb-glib.h 123endif 124 125if HAVE_GOBJECT 126HBCFLAGS += $(GOBJECT_CFLAGS) 127HBLIBS += $(GOBJECT_LIBS) 128HBSOURCES += hb-gobject-structs.cc 129nodist_HBSOURCES = hb-gobject-enums.cc 130HBHEADERS += hb-gobject.h 131BUILT_SOURCES += hb-gobject-enums.cc 132EXTRA_DIST += hb-gobject-enums.cc.tmpl 133DISTCLEANFILES += hb-gobject-enums.cc 134 135hb-gobject-enums.cc: hb-gobject-enums.cc.tmpl $(HBHEADERS) 136 $(AM_V_GEN) $(GLIB_MKENUMS) --template $^ > "$@.tmp" && \ 137 mv "$@.tmp" "$@" || ( $(RM) "@.tmp" && false ) 138endif 139 140if HAVE_ICU 141HBCFLAGS += $(ICU_CFLAGS) 142HBLIBS += $(ICU_LIBS) 143HBSOURCES += hb-icu.cc 144HBHEADERS += hb-icu.h 145endif 146 147if HAVE_FREETYPE 148HBCFLAGS += $(FREETYPE_CFLAGS) 149HBLIBS += $(FREETYPE_LIBS) 150HBSOURCES += hb-ft.cc 151HBHEADERS += hb-ft.h 152endif 153 154if HAVE_GRAPHITE2 155HBCFLAGS += $(GRAPHITE2_CFLAGS) 156HBLIBS += $(GRAPHITE2_LIBS) 157HBSOURCES += hb-graphite2.cc 158HBHEADERS += hb-graphite2.h 159endif 160 161if HAVE_UNISCRIBE 162HBCFLAGS += $(UNISCRIBE_CFLAGS) 163HBLIBS += $(UNISCRIBE_LIBS) 164HBSOURCES += hb-uniscribe.cc 165HBHEADERS += hb-uniscribe.h 166endif 167 168if HAVE_CORETEXT 169HBCFLAGS += $(CORETEXT_CFLAGS) 170HBLIBS += $(CORETEXT_LIBS) 171HBSOURCES += hb-coretext.cc 172HBHEADERS += hb-coretext.h 173endif 174 175if HAVE_HB_OLD 176SUBDIRS += hb-old 177HBCFLAGS += -I$(srcdir)/hb-old 178HBLIBS += hb-old/libhb-old.la 179HBSOURCES += hb-old.cc 180endif 181DIST_SUBDIRS += hb-old 182 183if HAVE_ICU_LE 184SUBDIRS += hb-icu-le 185HBCFLAGS += -I$(srcdir)/hb-icu-le 186HBLIBS += hb-icu-le/libhb-icu-le.la 187HBSOURCES += hb-icu-le.cc 188endif 189DIST_SUBDIRS += hb-icu-le 190 191if HAVE_UCDN 192SUBDIRS += hb-ucdn 193HBCFLAGS += -I$(srcdir)/hb-ucdn 194HBLIBS += hb-ucdn/libhb-ucdn.la 195HBSOURCES += hb-ucdn.cc 196endif 197DIST_SUBDIRS += hb-ucdn 198 199 200# Put the library together 201 202if OS_WIN32 203export_symbols = -export-symbols harfbuzz.def 204harfbuzz_def_dependency = harfbuzz.def 205libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS) 206else 207if HAVE_ICU 208libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS) 209else 210# Use a C linker for GCC, not C++; Don't link to libstdc++ 211if HAVE_GCC 212libharfbuzz_la_LINK = $(LINK) $(libharfbuzz_la_LDFLAGS) 213else 214libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS) 215endif 216endif 217endif 218 219libharfbuzz_la_SOURCES = $(HBSOURCES) $(HBHEADERS) $(HBNODISTHEADERS) 220nodist_libharfbuzz_la_SOURCES = $(nodist_HBSOURCES) 221libharfbuzz_la_CPPFLAGS = $(HBCFLAGS) 222libharfbuzz_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) $(export_symbols) -no-undefined 223libharfbuzz_la_LIBADD = $(HBLIBS) 224EXTRA_libharfbuzz_la_DEPENDENCIES = $(harfbuzz_def_dependency) 225pkginclude_HEADERS = $(HBHEADERS) 226nodist_pkginclude_HEADERS = $(HBNODISTHEADERS) 227 228CLEANFILES += harfbuzz.def 229harfbuzz.def: $(HBHEADERS) $(HBNODISTHEADERS) 230 $(AM_V_GEN) (echo EXPORTS; \ 231 (cat $^ || echo 'hb_ERROR ()' ) | \ 232 $(EGREP) '^hb_.* \(' | \ 233 sed -e 's/ (.*//' | \ 234 LANG=C sort; \ 235 echo LIBRARY libharfbuzz-$(HB_VERSION_MAJOR).dll; \ 236 ) >"$@.tmp" 237 @ ! grep -q hb_ERROR "$@.tmp" && mv "$@.tmp" "$@" || ($(RM) "$@"; false) 238 239 240GENERATORS = \ 241 gen-arabic-table.py \ 242 gen-indic-table.py \ 243 $(NULL) 244 245EXTRA_DIST += $(GENERATORS) 246 247unicode-tables: arabic-table indic-table 248 249indic-table: gen-indic-table.py IndicSyllabicCategory.txt IndicMatraCategory.txt Blocks.txt 250 $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-indic-table.cc.tmp && \ 251 mv hb-ot-shape-complex-indic-table.cc.tmp $(srcdir)/hb-ot-shape-complex-indic-table.cc || \ 252 ($(RM) hb-ot-shape-complex-indic-table.cc.tmp; false) 253 254arabic-table: gen-arabic-table.py ArabicShaping.txt UnicodeData.txt 255 $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-arabic-table.hh.tmp && \ 256 mv hb-ot-shape-complex-arabic-table.hh.tmp $(srcdir)/hb-ot-shape-complex-arabic-table.hh || \ 257 ($(RM) hb-ot-shape-complex-arabic-table.hh.tmp; false) 258 259 260.PHONY: unicode-tables arabic-table indic-table 261 262BUILT_SOURCES += \ 263 hb-buffer-deserialize-json.hh \ 264 hb-buffer-deserialize-text.hh \ 265 hb-ot-shape-complex-indic-machine.hh \ 266 hb-ot-shape-complex-myanmar-machine.hh \ 267 hb-ot-shape-complex-sea-machine.hh \ 268 $(NULL) 269EXTRA_DIST += \ 270 hb-buffer-deserialize-json.rl \ 271 hb-buffer-deserialize-text.rl \ 272 hb-ot-shape-complex-indic-machine.rl \ 273 hb-ot-shape-complex-myanmar-machine.rl \ 274 hb-ot-shape-complex-sea-machine.rl \ 275 $(NULL) 276%.hh: %.rl 277 $(AM_V_GEN)$(top_srcdir)/missing --run ragel -e -F1 -o "$@.tmp" "$<" && \ 278 mv "$@.tmp" "$@" || ( $(RM) "$@.tmp" && false ) 279 280noinst_PROGRAMS = \ 281 main \ 282 test \ 283 test-buffer-serialize \ 284 test-size-params \ 285 test-would-substitute \ 286 $(NULL) 287bin_PROGRAMS = 288 289main_SOURCES = main.cc 290main_CPPFLAGS = $(HBCFLAGS) 291main_LDADD = libharfbuzz.la $(HBLIBS) 292 293test_SOURCES = test.cc 294test_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS) 295test_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS) 296 297test_would_substitute_SOURCES = test-would-substitute.cc 298test_would_substitute_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS) 299test_would_substitute_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS) 300 301test_size_params_SOURCES = test-size-params.cc 302test_size_params_CPPFLAGS = $(HBCFLAGS) 303test_size_params_LDADD = libharfbuzz.la $(HBLIBS) 304 305test_buffer_serialize_SOURCES = test-buffer-serialize.cc 306test_buffer_serialize_CPPFLAGS = $(HBCFLAGS) 307test_buffer_serialize_LDADD = libharfbuzz.la $(HBLIBS) 308 309dist_check_SCRIPTS = \ 310 check-c-linkage-decls.sh \ 311 check-header-guards.sh \ 312 check-includes.sh \ 313 check-symbols.sh \ 314 $(NULL) 315 316if HAVE_ICU 317else 318dist_check_SCRIPTS += check-libstdc++.sh 319endif 320 321if HAVE_ICU_LE 322else 323dist_check_SCRIPTS += check-static-inits.sh 324endif 325 326TESTS = $(dist_check_SCRIPTS) 327TESTS_ENVIRONMENT = \ 328 srcdir="$(srcdir)" \ 329 MAKE="$(MAKE) $(AM_MAKEFLAGS)" \ 330 HBSOURCES="$(HBSOURCES)" \ 331 HBHEADERS="$(HBHEADERS) $(HBNODISTHEADERS)" \ 332 $(NULL) 333 334#-include $(INTROSPECTION_MAKEFILE) 335#INTROSPECTION_GIRS = hb-1.0.gir 336#INTROSPECTION_SCANNER_ARGS = -I$(srcdir) -n hb --identifier-prefix=hb_ 337#INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) 338# 339#if HAVE_INTROSPECTION 340# 341#hb-1.0.gir: libharfbuzz.la 342#hb_1_0_gir_INCLUDES = GObject-2.0 343#hb_1_0_gir_CFLAGS = $(INCLUDES) $(HBCFLAGS) -DHB_H -DHB_H_IN -DHB_OT_H -DHB_OT_H_IN 344#hb_1_0_gir_LIBS = libharfbuzz.la 345#hb_1_0_gir_FILES = $(HBHEADERS) $(HBNODISTHEADERS) 346# 347#girdir = $(datadir)/gir-1.0 348#gir_DATA = $(INTROSPECTION_GIRS) 349# 350#typelibdir = $(libdir)/girepository-1.0 351#typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib) 352# 353#CLEANFILES += $(gir_DATA) $(typelib_DATA) 354#endif 355 356-include $(top_srcdir)/git.mk 357