michael@0: # Process this file with automake to produce Makefile.in michael@0: michael@0: NULL = michael@0: SUBDIRS = michael@0: DIST_SUBDIRS = michael@0: BUILT_SOURCES = michael@0: EXTRA_DIST = michael@0: CLEANFILES = michael@0: DISTCLEANFILES = michael@0: MAINTAINERCLEANFILES = michael@0: DISTCHECK_CONFIGURE_FLAGS = --enable-introspection michael@0: michael@0: # The following warning options are useful for debugging: -Wpadded michael@0: #AM_CXXFLAGS = michael@0: michael@0: lib_LTLIBRARIES = libharfbuzz.la michael@0: michael@0: HBCFLAGS = michael@0: HBLIBS = michael@0: HBSOURCES = \ michael@0: hb-atomic-private.hh \ michael@0: hb-blob.cc \ michael@0: hb-buffer-deserialize-json.hh \ michael@0: hb-buffer-deserialize-text.hh \ michael@0: hb-buffer-private.hh \ michael@0: hb-buffer-serialize.cc \ michael@0: hb-buffer.cc \ michael@0: hb-cache-private.hh \ michael@0: hb-common.cc \ michael@0: hb-face-private.hh \ michael@0: hb-face.cc \ michael@0: hb-font-private.hh \ michael@0: hb-font.cc \ michael@0: hb-mutex-private.hh \ michael@0: hb-object-private.hh \ michael@0: hb-open-file-private.hh \ michael@0: hb-open-type-private.hh \ michael@0: hb-ot-head-table.hh \ michael@0: hb-ot-hhea-table.hh \ michael@0: hb-ot-hmtx-table.hh \ michael@0: hb-ot-maxp-table.hh \ michael@0: hb-ot-name-table.hh \ michael@0: hb-ot-tag.cc \ michael@0: hb-private.hh \ michael@0: hb-set-private.hh \ michael@0: hb-set.cc \ michael@0: hb-shape.cc \ michael@0: hb-shape-plan-private.hh \ michael@0: hb-shape-plan.cc \ michael@0: hb-shaper-list.hh \ michael@0: hb-shaper-impl-private.hh \ michael@0: hb-shaper-private.hh \ michael@0: hb-shaper.cc \ michael@0: hb-tt-font.cc \ michael@0: hb-unicode-private.hh \ michael@0: hb-unicode.cc \ michael@0: hb-utf-private.hh \ michael@0: hb-warning.cc \ michael@0: $(NULL) michael@0: HBHEADERS = \ michael@0: hb.h \ michael@0: hb-blob.h \ michael@0: hb-buffer.h \ michael@0: hb-common.h \ michael@0: hb-deprecated.h \ michael@0: hb-face.h \ michael@0: hb-font.h \ michael@0: hb-set.h \ michael@0: hb-shape.h \ michael@0: hb-shape-plan.h \ michael@0: hb-unicode.h \ michael@0: $(NULL) michael@0: HBNODISTHEADERS = \ michael@0: hb-version.h \ michael@0: $(NULL) michael@0: michael@0: if HAVE_OT michael@0: HBSOURCES += \ michael@0: hb-ot-layout.cc \ michael@0: hb-ot-layout-common-private.hh \ michael@0: hb-ot-layout-gdef-table.hh \ michael@0: hb-ot-layout-gpos-table.hh \ michael@0: hb-ot-layout-gsubgpos-private.hh \ michael@0: hb-ot-layout-gsub-table.hh \ michael@0: hb-ot-layout-jstf-table.hh \ michael@0: hb-ot-layout-private.hh \ michael@0: hb-ot-map.cc \ michael@0: hb-ot-map-private.hh \ michael@0: hb-ot-shape.cc \ michael@0: hb-ot-shape-complex-arabic.cc \ michael@0: hb-ot-shape-complex-arabic-fallback.hh \ michael@0: hb-ot-shape-complex-arabic-table.hh \ michael@0: hb-ot-shape-complex-default.cc \ michael@0: hb-ot-shape-complex-hangul.cc \ michael@0: hb-ot-shape-complex-hebrew.cc \ michael@0: hb-ot-shape-complex-indic.cc \ michael@0: hb-ot-shape-complex-indic-machine.hh \ michael@0: hb-ot-shape-complex-indic-private.hh \ michael@0: hb-ot-shape-complex-indic-table.cc \ michael@0: hb-ot-shape-complex-myanmar.cc \ michael@0: hb-ot-shape-complex-myanmar-machine.hh \ michael@0: hb-ot-shape-complex-sea.cc \ michael@0: hb-ot-shape-complex-sea-machine.hh \ michael@0: hb-ot-shape-complex-thai.cc \ michael@0: hb-ot-shape-complex-tibetan.cc \ michael@0: hb-ot-shape-complex-private.hh \ michael@0: hb-ot-shape-normalize-private.hh \ michael@0: hb-ot-shape-normalize.cc \ michael@0: hb-ot-shape-fallback-private.hh \ michael@0: hb-ot-shape-fallback.cc \ michael@0: hb-ot-shape-private.hh \ michael@0: $(NULL) michael@0: HBHEADERS += \ michael@0: hb-ot.h \ michael@0: hb-ot-layout.h \ michael@0: hb-ot-shape.h \ michael@0: hb-ot-tag.h \ michael@0: $(NULL) michael@0: endif michael@0: michael@0: if HAVE_FALLBACK michael@0: HBSOURCES += hb-fallback-shape.cc michael@0: endif michael@0: michael@0: if HAVE_PTHREAD michael@0: HBCFLAGS += $(PTHREAD_CFLAGS) michael@0: HBLIBS += $(PTHREAD_LIBS) michael@0: endif michael@0: michael@0: if HAVE_GLIB michael@0: HBCFLAGS += $(GLIB_CFLAGS) michael@0: HBLIBS += $(GLIB_LIBS) michael@0: HBSOURCES += hb-glib.cc michael@0: HBHEADERS += hb-glib.h michael@0: endif michael@0: michael@0: if HAVE_FREETYPE michael@0: HBCFLAGS += $(FREETYPE_CFLAGS) michael@0: HBLIBS += $(FREETYPE_LIBS) michael@0: HBSOURCES += hb-ft.cc michael@0: HBHEADERS += hb-ft.h michael@0: endif michael@0: michael@0: if HAVE_GRAPHITE2 michael@0: HBCFLAGS += $(GRAPHITE2_CFLAGS) michael@0: HBLIBS += $(GRAPHITE2_LIBS) michael@0: HBSOURCES += hb-graphite2.cc michael@0: HBHEADERS += hb-graphite2.h michael@0: endif michael@0: michael@0: if HAVE_UNISCRIBE michael@0: HBCFLAGS += $(UNISCRIBE_CFLAGS) michael@0: HBLIBS += $(UNISCRIBE_LIBS) michael@0: HBSOURCES += hb-uniscribe.cc michael@0: HBHEADERS += hb-uniscribe.h michael@0: endif michael@0: michael@0: if HAVE_CORETEXT michael@0: HBCFLAGS += $(CORETEXT_CFLAGS) michael@0: HBLIBS += $(CORETEXT_LIBS) michael@0: HBSOURCES += hb-coretext.cc michael@0: HBHEADERS += hb-coretext.h michael@0: endif michael@0: michael@0: if HAVE_UCDN michael@0: SUBDIRS += hb-ucdn michael@0: HBCFLAGS += -I$(srcdir)/hb-ucdn michael@0: HBLIBS += hb-ucdn/libhb-ucdn.la michael@0: HBSOURCES += hb-ucdn.cc michael@0: endif michael@0: DIST_SUBDIRS += hb-ucdn michael@0: michael@0: michael@0: # Put the library together michael@0: michael@0: if OS_WIN32 michael@0: export_symbols = -export-symbols harfbuzz.def michael@0: harfbuzz_def_dependency = harfbuzz.def michael@0: libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS) michael@0: else michael@0: # Use a C linker for GCC, not C++; Don't link to libstdc++ michael@0: if HAVE_GCC michael@0: libharfbuzz_la_LINK = $(LINK) $(libharfbuzz_la_LDFLAGS) michael@0: else michael@0: libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS) michael@0: endif michael@0: endif michael@0: michael@0: libharfbuzz_la_SOURCES = $(HBSOURCES) $(HBHEADERS) $(HBNODISTHEADERS) michael@0: libharfbuzz_la_CPPFLAGS = $(HBCFLAGS) michael@0: libharfbuzz_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) $(export_symbols) -no-undefined michael@0: libharfbuzz_la_LIBADD = $(HBLIBS) michael@0: EXTRA_libharfbuzz_la_DEPENDENCIES = $(harfbuzz_def_dependency) michael@0: pkginclude_HEADERS = $(HBHEADERS) michael@0: nodist_pkginclude_HEADERS = $(HBNODISTHEADERS) michael@0: pkgconfigdir = $(libdir)/pkgconfig michael@0: pkgconfig_DATA = harfbuzz.pc michael@0: EXTRA_DIST += harfbuzz.pc.in michael@0: michael@0: if HAVE_ICU michael@0: lib_LTLIBRARIES += libharfbuzz-icu.la michael@0: libharfbuzz_icu_la_SOURCES = hb-icu.cc michael@0: libharfbuzz_icu_la_CPPFLAGS = $(ICU_CFLAGS) michael@0: libharfbuzz_icu_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) -no-undefined michael@0: libharfbuzz_icu_la_LIBADD = $(ICU_LIBS) libharfbuzz.la michael@0: pkginclude_HEADERS += hb-icu.h michael@0: pkgconfig_DATA += harfbuzz-icu.pc michael@0: endif michael@0: EXTRA_DIST += harfbuzz-icu.pc.in michael@0: michael@0: if HAVE_GOBJECT michael@0: lib_LTLIBRARIES += libharfbuzz-gobject.la michael@0: libharfbuzz_gobject_la_SOURCES = hb-gobject-structs.cc michael@0: nodist_libharfbuzz_gobject_la_SOURCES = hb-gobject-enums.cc michael@0: libharfbuzz_gobject_la_CPPFLAGS = $(GOBJECT_CFLAGS) michael@0: libharfbuzz_gobject_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) -no-undefined michael@0: libharfbuzz_gobject_la_LIBADD = $(GOBJECT_LIBS) libharfbuzz.la michael@0: pkginclude_HEADERS += hb-gobject.h hb-gobject-structs.h michael@0: nodist_pkginclude_HEADERS += hb-gobject-enums.h michael@0: pkgconfig_DATA += harfbuzz-gobject.pc michael@0: michael@0: BUILT_SOURCES += \ michael@0: hb-gobject-enums.cc \ michael@0: hb-gobject-enums.h \ michael@0: $(NULL) michael@0: DISTCLEANFILES += \ michael@0: hb-gobject-enums.cc \ michael@0: hb-gobject-enums.h \ michael@0: $(NULL) michael@0: hb-gobject-enums.%: hb-gobject-enums.%.tmpl $(HBHEADERS) michael@0: $(AM_V_GEN) $(GLIB_MKENUMS) \ michael@0: --identifier-prefix hb_ --symbol-prefix hb_gobject \ michael@0: --template $^ | \ michael@0: sed 's/_t_get_type/_get_type/g; s/_T (/ (/g' > "$@.tmp" && \ michael@0: mv "$@.tmp" "$@" || ( $(RM) "@.tmp" && false ) michael@0: endif michael@0: EXTRA_DIST += \ michael@0: harfbuzz-gobject.pc.in \ michael@0: hb-gobject-enums.cc.tmpl \ michael@0: hb-gobject-enums.h.tmpl \ michael@0: $(NULL) michael@0: michael@0: michael@0: %.pc: %.pc.in $(top_builddir)/config.status michael@0: $(AM_V_GEN) \ michael@0: $(SED) -e 's@%prefix%@$(prefix)@g' \ michael@0: -e 's@%exec_prefix%@$(exec_prefix)@g' \ michael@0: -e 's@%libdir%@$(libdir)@g' \ michael@0: -e 's@%includedir%@$(includedir)@g' \ michael@0: -e 's@%VERSION%@$(VERSION)@g' \ michael@0: "$<" \ michael@0: > "$@.tmp" && mv "$@.tmp" "$@" || ( $(RM) "$@.tmp"; false ) michael@0: michael@0: CLEANFILES += $(pkgconfig_DATA) michael@0: michael@0: michael@0: CLEANFILES += harfbuzz.def michael@0: harfbuzz.def: $(HBHEADERS) $(HBNODISTHEADERS) michael@0: $(AM_V_GEN) (echo EXPORTS; \ michael@0: (cat $^ || echo 'hb_ERROR ()' ) | \ michael@0: $(EGREP) '^hb_.* \(' | \ michael@0: sed -e 's/ (.*//' | \ michael@0: LANG=C sort; \ michael@0: echo LIBRARY libharfbuzz-$(HB_VERSION_MAJOR).dll; \ michael@0: ) >"$@.tmp" michael@0: @ ! grep -q hb_ERROR "$@.tmp" && mv "$@.tmp" "$@" || ($(RM) "$@"; false) michael@0: michael@0: michael@0: GENERATORS = \ michael@0: gen-arabic-table.py \ michael@0: gen-indic-table.py \ michael@0: $(NULL) michael@0: EXTRA_DIST += $(GENERATORS) michael@0: michael@0: unicode-tables: arabic-table indic-table michael@0: michael@0: indic-table: gen-indic-table.py IndicSyllabicCategory.txt IndicMatraCategory.txt Blocks.txt michael@0: $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-indic-table.cc.tmp && \ michael@0: mv hb-ot-shape-complex-indic-table.cc.tmp $(srcdir)/hb-ot-shape-complex-indic-table.cc || \ michael@0: ($(RM) hb-ot-shape-complex-indic-table.cc.tmp; false) michael@0: michael@0: arabic-table: gen-arabic-table.py ArabicShaping.txt UnicodeData.txt michael@0: $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-arabic-table.hh.tmp && \ michael@0: mv hb-ot-shape-complex-arabic-table.hh.tmp $(srcdir)/hb-ot-shape-complex-arabic-table.hh || \ michael@0: ($(RM) hb-ot-shape-complex-arabic-table.hh.tmp; false) michael@0: michael@0: michael@0: .PHONY: unicode-tables arabic-table indic-table michael@0: michael@0: BUILT_SOURCES += \ michael@0: hb-buffer-deserialize-json.hh \ michael@0: hb-buffer-deserialize-text.hh \ michael@0: hb-ot-shape-complex-indic-machine.hh \ michael@0: hb-ot-shape-complex-myanmar-machine.hh \ michael@0: hb-ot-shape-complex-sea-machine.hh \ michael@0: $(NULL) michael@0: EXTRA_DIST += \ michael@0: hb-buffer-deserialize-json.rl \ michael@0: hb-buffer-deserialize-text.rl \ michael@0: hb-ot-shape-complex-indic-machine.rl \ michael@0: hb-ot-shape-complex-myanmar-machine.rl \ michael@0: hb-ot-shape-complex-sea-machine.rl \ michael@0: $(NULL) michael@0: .rl.hh: michael@0: $(AM_V_GEN)$(top_srcdir)/missing --run ragel -e -F1 -o "$@.tmp" "$<" && \ michael@0: mv "$@.tmp" "$@" || ( $(RM) "$@.tmp" && false ) michael@0: michael@0: noinst_PROGRAMS = \ michael@0: main \ michael@0: test \ michael@0: test-buffer-serialize \ michael@0: test-size-params \ michael@0: test-would-substitute \ michael@0: $(NULL) michael@0: bin_PROGRAMS = michael@0: michael@0: main_SOURCES = main.cc michael@0: main_CPPFLAGS = $(HBCFLAGS) michael@0: main_LDADD = libharfbuzz.la $(HBLIBS) michael@0: michael@0: test_SOURCES = test.cc michael@0: test_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS) michael@0: test_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS) michael@0: michael@0: test_would_substitute_SOURCES = test-would-substitute.cc michael@0: test_would_substitute_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS) michael@0: test_would_substitute_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS) michael@0: michael@0: test_size_params_SOURCES = test-size-params.cc michael@0: test_size_params_CPPFLAGS = $(HBCFLAGS) michael@0: test_size_params_LDADD = libharfbuzz.la $(HBLIBS) michael@0: michael@0: test_buffer_serialize_SOURCES = test-buffer-serialize.cc michael@0: test_buffer_serialize_CPPFLAGS = $(HBCFLAGS) michael@0: test_buffer_serialize_LDADD = libharfbuzz.la $(HBLIBS) michael@0: michael@0: dist_check_SCRIPTS = \ michael@0: check-c-linkage-decls.sh \ michael@0: check-defs.sh \ michael@0: check-header-guards.sh \ michael@0: check-includes.sh \ michael@0: check-libstdc++.sh \ michael@0: check-static-inits.sh \ michael@0: check-symbols.sh \ michael@0: $(NULL) michael@0: michael@0: TESTS = $(dist_check_SCRIPTS) michael@0: TESTS_ENVIRONMENT = \ michael@0: srcdir="$(srcdir)" \ michael@0: MAKE="$(MAKE) $(AM_MAKEFLAGS)" \ michael@0: HBSOURCES="$(HBSOURCES)" \ michael@0: HBHEADERS="$(HBHEADERS) $(HBNODISTHEADERS)" \ michael@0: $(NULL) michael@0: michael@0: if HAVE_INTROSPECTION michael@0: michael@0: -include $(INTROSPECTION_MAKEFILE) michael@0: INTROSPECTION_GIRS = HarfBuzz-$(HB_VERSION_MAJOR).0.gir # What does the 0 mean anyway?! michael@0: INTROSPECTION_SCANNER_ARGS = -I$(srcdir) -n hb --identifier-prefix=hb_ --warn-all michael@0: INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) michael@0: michael@0: HarfBuzz-0.0.gir: libharfbuzz.la libharfbuzz-gobject.la michael@0: HarfBuzz_0_0_gir_INCLUDES = GObject-2.0 michael@0: HarfBuzz_0_0_gir_CFLAGS = \ michael@0: $(INCLUDES) \ michael@0: $(HBCFLAGS) \ michael@0: -DHB_H \ michael@0: -DHB_H_IN \ michael@0: -DHB_OT_H \ michael@0: -DHB_OT_H_IN \ michael@0: -DHB_GOBJECT_H \ michael@0: -DHB_GOBJECT_H_IN \ michael@0: $(NULL) michael@0: HarfBuzz_0_0_gir_LIBS = \ michael@0: libharfbuzz.la \ michael@0: libharfbuzz-gobject.la \ michael@0: $(NULL) michael@0: HarfBuzz_0_0_gir_FILES = \ michael@0: $(HBHEADERS) \ michael@0: $(HBNODISTHEADERS) \ michael@0: $(HBSOURCES) \ michael@0: hb-gobject-enums.cc \ michael@0: hb-gobject-enums.h \ michael@0: hb-gobject-structs.cc \ michael@0: hb-gobject-structs.h \ michael@0: $(NULL) michael@0: michael@0: girdir = $(datadir)/gir-1.0 michael@0: gir_DATA = $(INTROSPECTION_GIRS) michael@0: michael@0: typelibdir = $(libdir)/girepository-1.0 michael@0: typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib) michael@0: michael@0: CLEANFILES += $(gir_DATA) $(typelib_DATA) michael@0: michael@0: endif michael@0: michael@0: -include $(top_srcdir)/git.mk