Blame src/Makefile.am

Packit 874993
# Process this file with automake to produce Makefile.in
Packit 874993
Packit 874993
SUBDIRS =
Packit 874993
DIST_SUBDIRS =
Packit 874993
BUILT_SOURCES =
Packit 874993
EXTRA_DIST =
Packit 874993
CLEANFILES =
Packit 874993
DISTCLEANFILES =
Packit 874993
MAINTAINERCLEANFILES =
Packit 874993
DISTCHECK_CONFIGURE_FLAGS = --enable-introspection
Packit 874993
Packit 874993
# The following warning options are useful for debugging: -Wpadded
Packit 874993
#AM_CXXFLAGS =
Packit 874993
Packit 874993
# Convenience targets:
Packit 874993
lib: $(BUILT_SOURCES) libharfbuzz.la
Packit 874993
fuzzing: $(BUILT_SOURCES) libharfbuzz-fuzzing.la
Packit 874993
Packit 874993
lib_LTLIBRARIES = libharfbuzz.la
Packit 874993
Packit 874993
include Makefile.sources
Packit 874993
Packit 874993
HBCFLAGS =
Packit 874993
HBLIBS =
Packit 874993
HBNONPCLIBS =
Packit 874993
HBDEPS =
Packit 874993
HBSOURCES =  $(HB_BASE_sources)
Packit 874993
HBSOURCES += $(HB_BASE_RAGEL_GENERATED_sources)
Packit 874993
HBHEADERS = $(HB_BASE_headers)
Packit 874993
HBNODISTHEADERS = $(HB_NODIST_headers)
Packit 874993
Packit 874993
if HAVE_OT
Packit 874993
HBSOURCES += $(HB_OT_sources)
Packit 874993
HBSOURCES += $(HB_OT_RAGEL_GENERATED_sources)
Packit 874993
HBHEADERS += $(HB_OT_headers)
Packit 874993
endif
Packit 874993
Packit 874993
if HAVE_FALLBACK
Packit 874993
HBSOURCES += $(HB_FALLBACK_sources)
Packit 874993
endif
Packit 874993
Packit 874993
if HAVE_PTHREAD
Packit 874993
HBCFLAGS += $(PTHREAD_CFLAGS)
Packit 874993
HBNONPCLIBS += $(PTHREAD_LIBS)
Packit 874993
endif
Packit 874993
Packit 874993
if HAVE_GLIB
Packit 874993
HBCFLAGS += $(GLIB_CFLAGS)
Packit 874993
HBLIBS   += $(GLIB_LIBS)
Packit 874993
HBDEPS   += $(GLIB_DEPS)
Packit 874993
HBSOURCES += $(HB_GLIB_sources)
Packit 874993
HBHEADERS += $(HB_GLIB_headers)
Packit 874993
endif
Packit 874993
Packit 874993
if HAVE_FREETYPE
Packit Service 8c7edd
if ENABLE_DELAY_LOAD
Packit Service 8c7edd
# Create delay-loaded import library for freetype
Packit Service 8c7edd
libfreetype-delay-loaded.dll.a:
Packit Service 8c7edd
	DLL=$(bindir)/libfreetype-6.dll; \
Packit Service 8c7edd
	if test ! -f "$$DLL" ; then \
Packit Service 8c7edd
	  echo "*** File $$DLL could not be found, unable to create delay-loaded import library"; \
Packit Service 8c7edd
	  exit 1; \
Packit Service 8c7edd
	fi; \
Packit Service 8c7edd
	$(GENDEF) - "$$DLL" > freetype_delay_load.def; \
Packit Service 8c7edd
	$(DLLTOOL) --def freetype_delay_load.def --kill-at --output-delaylib libfreetype-delay-loaded.dll.a
Packit Service 8c7edd
Packit Service 8c7edd
harfbuzz_delayload_ldflags = -Wl,libfreetype-delay-loaded.dll.a -Wl,-lmingwex -Wl,-lkernel32
Packit Service 8c7edd
harfbuzz_delayload_dependency = libfreetype-delay-loaded.dll.a
Packit Service 8c7edd
else
Packit 874993
HBLIBS   += $(FREETYPE_LIBS)
Packit Service 8c7edd
endif
Packit 874993
# XXX
Packit 874993
# The following creates a recursive dependency on FreeType if FreeType is
Packit 874993
# built with HarfBuzz support enabled.  Newer pkg-config handles that just
Packit 874993
# fine but pkg-config 0.26 as shipped in Ubuntu 14.04 crashes.  Remove
Packit 874993
# in a year or two, or otherwise work around it...
Packit 874993
#HBDEPS   += $(FREETYPE_DEPS)
Packit Service 8c7edd
HBCFLAGS  += $(FREETYPE_CFLAGS)
Packit 874993
HBSOURCES += $(HB_FT_sources)
Packit 874993
HBHEADERS += $(HB_FT_headers)
Packit 874993
endif
Packit 874993
Packit 874993
if HAVE_GRAPHITE2
Packit 874993
HBCFLAGS += $(GRAPHITE2_CFLAGS)
Packit 874993
HBLIBS   += $(GRAPHITE2_LIBS)
Packit 874993
HBDEPS   += $(GRAPHITE2_DEPS)
Packit 874993
HBSOURCES += $(HB_GRAPHITE2_sources)
Packit 874993
HBHEADERS += $(HB_GRAPHITE2_headers)
Packit 874993
endif
Packit 874993
Packit 874993
if HAVE_UNISCRIBE
Packit 874993
HBCFLAGS += $(UNISCRIBE_CFLAGS)
Packit 874993
HBNONPCLIBS += $(UNISCRIBE_LIBS)
Packit 874993
HBSOURCES += $(HB_UNISCRIBE_sources)
Packit 874993
HBHEADERS += $(HB_UNISCRIBE_headers)
Packit 874993
endif
Packit 874993
Packit 874993
if HAVE_DIRECTWRITE
Packit 874993
HBCFLAGS += $(DIRECTWRITE_CXXFLAGS)
Packit 874993
HBNONPCLIBS += $(DIRECTWRITE_LIBS)
Packit 874993
HBSOURCES += $(HB_DIRECTWRITE_sources)
Packit 874993
HBHEADERS += $(HB_DIRECTWRITE_headers)
Packit 874993
endif
Packit 874993
Packit 874993
if HAVE_CORETEXT
Packit 874993
HBCFLAGS += $(CORETEXT_CFLAGS)
Packit 874993
HBNONPCLIBS += $(CORETEXT_LIBS)
Packit 874993
HBSOURCES += $(HB_CORETEXT_sources)
Packit 874993
HBHEADERS += $(HB_CORETEXT_headers)
Packit 874993
endif
Packit 874993
Packit 874993
if HAVE_UCDN
Packit 874993
SUBDIRS += hb-ucdn
Packit 874993
HBCFLAGS += -I$(srcdir)/hb-ucdn
Packit 874993
HBLIBS   += hb-ucdn/libhb-ucdn.la
Packit 874993
HBSOURCES += $(HB_UCDN_sources)
Packit 874993
endif
Packit 874993
DIST_SUBDIRS += hb-ucdn
Packit 874993
Packit 874993
Packit 874993
# Put the library together
Packit 874993
Packit 874993
HBLIBS += $(HBNONPCLIBS)
Packit 874993
Packit 874993
if OS_WIN32
Packit 874993
export_symbols = -export-symbols harfbuzz.def
Packit 874993
harfbuzz_def_dependency = harfbuzz.def
Packit 874993
libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS)
Packit 874993
else
Packit 874993
# Use a C linker for GCC, not C++; Don't link to libstdc++
Packit 874993
if HAVE_GCC
Packit 874993
libharfbuzz_la_LINK = $(LINK) $(libharfbuzz_la_LDFLAGS)
Packit 874993
else
Packit 874993
libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS)
Packit 874993
endif
Packit 874993
endif
Packit 874993
Packit 874993
libharfbuzz_la_SOURCES = $(HBSOURCES) $(HBHEADERS) $(HBNODISTHEADERS)
Packit 874993
libharfbuzz_la_CPPFLAGS = $(HBCFLAGS)
Packit Service 8c7edd
libharfbuzz_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) $(export_symbols) -no-undefined $(harfbuzz_delayload_ldflags)
Packit 874993
libharfbuzz_la_LIBADD = $(HBLIBS)
Packit Service 8c7edd
EXTRA_libharfbuzz_la_DEPENDENCIES = $(harfbuzz_def_dependency) $(harfbuzz_delayload_dependency)
Packit 874993
pkginclude_HEADERS = $(HBHEADERS)
Packit 874993
nodist_pkginclude_HEADERS = $(HBNODISTHEADERS)
Packit 874993
pkgconfigdir = $(libdir)/pkgconfig
Packit 874993
pkgconfig_DATA = harfbuzz.pc
Packit 874993
EXTRA_DIST += harfbuzz.pc.in
Packit 874993
Packit 874993
FUZZING_CPPFLAGS= \
Packit 874993
	-DHB_NDEBUG \
Packit 874993
	-DHB_MAX_NESTING_LEVEL=3 \
Packit 874993
	-DHB_SANITIZE_MAX_EDITS=3 \
Packit 874993
	-DHB_BUFFER_MAX_EXPANSION_FACTOR=3 \
Packit 874993
	-DHB_BUFFER_MAX_LEN_MIN=8 \
Packit 874993
	-DHB_BUFFER_MAX_LEN_DEFAULT=128 \
Packit 874993
	$(NULL)
Packit 874993
EXTRA_LTLIBRARIES = libharfbuzz-fuzzing.la
Packit 874993
libharfbuzz_fuzzing_la_LINK = $(libharfbuzz_la_LINK)
Packit 874993
libharfbuzz_fuzzing_la_SOURCES = $(libharfbuzz_la_SOURCES)
Packit 874993
libharfbuzz_fuzzing_la_CPPFLAGS = $(libharfbuzz_la_CPPFLAGS) $(FUZZING_CPPFLAGS)
Packit 874993
libharfbuzz_fuzzing_la_LDFLAGS = $(libharfbuzz_la_LDFLAGS)
Packit 874993
libharfbuzz_fuzzing_la_LIBADD = $(libharfbuzz_la_LIBADD)
Packit 874993
EXTRA_libharfbuzz_fuzzing_la_DEPENDENCIES = $(EXTRA_libharfbuzz_la_DEPENDENCIES)
Packit 874993
CLEANFILES += libharfbuzz-fuzzing.la
Packit 874993
Packit 874993
if HAVE_ICU
Packit 874993
if HAVE_ICU_BUILTIN
Packit 874993
HBCFLAGS += $(ICU_CFLAGS)
Packit 874993
HBLIBS += $(ICU_LIBS)
Packit 874993
HBSOURCES += $(HB_ICU_sources)
Packit 874993
HBHEADERS += $(HB_ICU_headers)
Packit 874993
else
Packit 874993
lib_LTLIBRARIES += libharfbuzz-icu.la
Packit 874993
libharfbuzz_icu_la_SOURCES = $(HB_ICU_sources)
Packit 874993
libharfbuzz_icu_la_CPPFLAGS = $(ICU_CFLAGS)
Packit 874993
libharfbuzz_icu_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) -no-undefined
Packit 874993
libharfbuzz_icu_la_LIBADD = $(ICU_LIBS) libharfbuzz.la
Packit 874993
pkginclude_HEADERS += $(HB_ICU_headers)
Packit 874993
pkgconfig_DATA += harfbuzz-icu.pc
Packit 874993
endif
Packit 874993
endif
Packit 874993
EXTRA_DIST += harfbuzz-icu.pc.in
Packit 874993
Packit 874993
if HAVE_GOBJECT
Packit 874993
lib_LTLIBRARIES += libharfbuzz-gobject.la
Packit 874993
libharfbuzz_gobject_la_SOURCES = $(HB_GOBJECT_sources)
Packit 874993
nodist_libharfbuzz_gobject_la_SOURCES = $(HB_GOBJECT_ENUM_sources)
Packit 874993
libharfbuzz_gobject_la_CPPFLAGS = $(GOBJECT_CFLAGS)
Packit 874993
libharfbuzz_gobject_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) -no-undefined
Packit 874993
libharfbuzz_gobject_la_LIBADD = $(GOBJECT_LIBS) libharfbuzz.la
Packit 874993
pkginclude_HEADERS += $(HB_GOBJECT_headers)
Packit 874993
nodist_pkginclude_HEADERS += $(HB_GOBJECT_ENUM_headers)
Packit 874993
pkgconfig_DATA += harfbuzz-gobject.pc
Packit 874993
Packit 874993
BUILT_SOURCES += \
Packit 874993
	$(HB_GOBJECT_ENUM_sources) \
Packit 874993
	$(HB_GOBJECT_ENUM_headers) \
Packit 874993
	$(NULL)
Packit 874993
DISTCLEANFILES += \
Packit 874993
	$(HB_GOBJECT_ENUM_sources) \
Packit 874993
	$(HB_GOBJECT_ENUM_headers) \
Packit 874993
	$(NULL)
Packit 874993
hb-gobject-enums.%: hb-gobject-enums.%.tmpl $(HBHEADERS)
Packit 874993
	$(AM_V_GEN) $(GLIB_MKENUMS) \
Packit 874993
		--identifier-prefix hb_ --symbol-prefix hb_gobject \
Packit 874993
		--template $^ | \
Packit 874993
	sed 's/_t_get_type/_get_type/g; s/_T (/ (/g' > "$@" \
Packit 874993
	|| ($(RM) "$@"; false)
Packit 874993
endif
Packit 874993
EXTRA_DIST += \
Packit 874993
	harfbuzz-gobject.pc.in \
Packit 874993
	hb-gobject-enums.cc.tmpl \
Packit 874993
	hb-gobject-enums.h.tmpl \
Packit 874993
	$(NULL)
Packit 874993
Packit 874993
Packit 874993
%.pc: %.pc.in $(top_builddir)/config.status
Packit 874993
	$(AM_V_GEN) \
Packit 874993
	$(SED)	-e 's@%prefix%@$(prefix)@g' \
Packit 874993
		-e 's@%exec_prefix%@$(exec_prefix)@g' \
Packit 874993
		-e 's@%libdir%@$(libdir)@g' \
Packit 874993
		-e 's@%includedir%@$(includedir)@g' \
Packit 874993
		-e 's@%libs_private%@$(HBNONPCLIBS)@g' \
Packit 874993
		-e 's@%requires_private%@$(HBDEPS)@g' \
Packit 874993
		-e 's@%VERSION%@$(VERSION)@g' \
Packit 874993
	"$<" > "$@" \
Packit 874993
	|| ($(RM) "$@"; false)
Packit 874993
Packit 874993
CLEANFILES += $(pkgconfig_DATA)
Packit 874993
Packit 874993
Packit 874993
CLEANFILES += harfbuzz.def
Packit 874993
harfbuzz.def: $(HBHEADERS) $(HBNODISTHEADERS)
Packit 874993
	$(AM_V_GEN) (echo EXPORTS; \
Packit 874993
	(cat $^ || echo 'hb_ERROR ()' ) | \
Packit 874993
	$(EGREP) '^hb_.* \(' | \
Packit 874993
	sed -e 's/ (.*//' | \
Packit 874993
	LC_ALL=C sort; \
Packit 874993
	echo LIBRARY libharfbuzz-0.dll; \
Packit 874993
	) >"$@"
Packit 874993
	@ ! grep -q hb_ERROR "$@" \
Packit 874993
	|| ($(RM) "$@"; false)
Packit 874993
Packit 874993
Packit 874993
GENERATORS = \
Packit 874993
	gen-arabic-table.py \
Packit 874993
	gen-indic-table.py \
Packit 874993
	gen-use-table.py \
Packit 874993
	$(NULL)
Packit 874993
EXTRA_DIST += $(GENERATORS)
Packit 874993
Packit 874993
unicode-tables: arabic-table indic-table use-table
Packit 874993
Packit 874993
arabic-table: gen-arabic-table.py ArabicShaping.txt UnicodeData.txt Blocks.txt
Packit 874993
	$(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-arabic-table.hh \
Packit 874993
	|| ($(RM) hb-ot-shape-complex-arabic-table.hh; false)
Packit 874993
Packit 874993
indic-table: gen-indic-table.py IndicSyllabicCategory-7.0.0.txt IndicMatraCategory-7.0.0.txt Blocks.txt
Packit 874993
	$(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-indic-table.cc \
Packit 874993
	|| ($(RM) hb-ot-shape-complex-indic-table.cc; false)
Packit 874993
Packit 874993
use-table: gen-use-table.py IndicSyllabicCategory.txt IndicPositionalCategory.txt UnicodeData.txt Blocks.txt
Packit 874993
	$(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-use-table.cc \
Packit 874993
	|| ($(RM) hb-ot-shape-complex-use-table.cc; false)
Packit 874993
Packit 874993
built-sources: $(BUILT_SOURCES)
Packit 874993
Packit 874993
.PHONY: unicode-tables arabic-table indic-table use-table built-sources
Packit 874993
Packit 874993
RAGEL_GENERATED = \
Packit 874993
	$(patsubst %,$(srcdir)/%,$(HB_BASE_RAGEL_GENERATED_sources)) \
Packit 874993
	$(patsubst %,$(srcdir)/%,$(HB_OT_RAGEL_GENERATED_sources)) \
Packit 874993
	$(NULL)
Packit 874993
BUILT_SOURCES += $(RAGEL_GENERATED)
Packit 874993
EXTRA_DIST += \
Packit 874993
	$(HB_BASE_RAGEL_sources) \
Packit 874993
	$(HB_OT_RAGEL_sources) \
Packit 874993
	$(NULL)
Packit 874993
MAINTAINERCLEANFILES += $(RAGEL_GENERATED)
Packit 874993
$(srcdir)/%.hh: $(srcdir)/%.rl
Packit 874993
	$(AM_V_GEN)(cd $(srcdir) && $(RAGEL) -e -F1 -o "$*.hh" "$*.rl") \
Packit 874993
	|| ($(RM) "$@"; false)
Packit 874993
Packit 874993
noinst_PROGRAMS = \
Packit 874993
	main \
Packit 874993
	test \
Packit 874993
	test-buffer-serialize \
Packit 874993
	test-size-params \
Packit 874993
	test-would-substitute \
Packit 874993
	$(NULL)
Packit 874993
bin_PROGRAMS =
Packit 874993
Packit 874993
main_SOURCES = main.cc
Packit 874993
main_CPPFLAGS = $(HBCFLAGS)
Packit 874993
main_LDADD = libharfbuzz.la $(HBLIBS)
Packit 874993
Packit 874993
test_SOURCES = test.cc
Packit 874993
test_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS)
Packit 874993
test_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
Packit 874993
Packit 874993
test_would_substitute_SOURCES = test-would-substitute.cc
Packit 874993
test_would_substitute_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS)
Packit 874993
test_would_substitute_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
Packit 874993
Packit 874993
test_size_params_SOURCES = test-size-params.cc
Packit 874993
test_size_params_CPPFLAGS = $(HBCFLAGS)
Packit 874993
test_size_params_LDADD = libharfbuzz.la $(HBLIBS)
Packit 874993
Packit 874993
test_buffer_serialize_SOURCES = test-buffer-serialize.cc
Packit 874993
test_buffer_serialize_CPPFLAGS = $(HBCFLAGS)
Packit 874993
test_buffer_serialize_LDADD = libharfbuzz.la $(HBLIBS)
Packit 874993
Packit 874993
check: harfbuzz.def # For check-defs.sh
Packit 874993
Packit 874993
dist_check_SCRIPTS = \
Packit 874993
	check-c-linkage-decls.sh \
Packit 874993
	check-defs.sh \
Packit 874993
	check-header-guards.sh \
Packit 874993
	check-includes.sh \
Packit 874993
	check-libstdc++.sh \
Packit 874993
	check-static-inits.sh \
Packit 874993
	check-symbols.sh \
Packit 874993
	$(NULL)
Packit 874993
Packit 874993
check_PROGRAMS = \
Packit 874993
	test-ot-tag \
Packit 874993
	$(NULL)
Packit 874993
test_ot_tag_SOURCES = hb-ot-tag.cc
Packit 874993
test_ot_tag_CPPFLAGS = $(HBCFLAGS) -DMAIN
Packit 874993
test_ot_tag_LDADD = libharfbuzz.la $(HBLIBS)
Packit 874993
Packit 874993
TESTS = $(dist_check_SCRIPTS) $(check_PROGRAMS)
Packit 874993
TESTS_ENVIRONMENT = \
Packit 874993
	srcdir="$(srcdir)" \
Packit 874993
	MAKE="$(MAKE) $(AM_MAKEFLAGS)" \
Packit 874993
	HBSOURCES="$(HBSOURCES)" \
Packit 874993
	HBHEADERS="$(HBHEADERS) $(HBNODISTHEADERS)" \
Packit 874993
	$(NULL)
Packit 874993
Packit 874993
if HAVE_INTROSPECTION
Packit 874993
Packit 874993
-include $(INTROSPECTION_MAKEFILE)
Packit 874993
INTROSPECTION_GIRS = HarfBuzz-0.0.gir # What does the 0 mean anyway?!
Packit 874993
INTROSPECTION_SCANNER_ARGS = -I$(srcdir) -n hb --identifier-prefix=hb_ --warn-all
Packit 874993
INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
Packit 874993
INTROSPECTION_SCANNER_ENV = CC="$(CC)"
Packit 874993
Packit 874993
HarfBuzz-0.0.gir: libharfbuzz.la libharfbuzz-gobject.la
Packit 874993
HarfBuzz_0_0_gir_INCLUDES = GObject-2.0
Packit 874993
HarfBuzz_0_0_gir_CFLAGS = \
Packit 874993
	$(INCLUDES) \
Packit 874993
	$(HBCFLAGS) \
Packit 874993
	-DHB_H \
Packit 874993
	-DHB_H_IN \
Packit 874993
	-DHB_OT_H \
Packit 874993
	-DHB_OT_H_IN \
Packit 874993
	-DHB_GOBJECT_H \
Packit 874993
	-DHB_GOBJECT_H_IN \
Packit 874993
	-DHB_EXTERN= \
Packit 874993
	$(NULL)
Packit 874993
HarfBuzz_0_0_gir_LIBS = \
Packit 874993
	libharfbuzz.la \
Packit 874993
	libharfbuzz-gobject.la \
Packit 874993
	$(NULL)
Packit 874993
HarfBuzz_0_0_gir_FILES = \
Packit 874993
	$(HBHEADERS) \
Packit 874993
	$(HBNODISTHEADERS) \
Packit 874993
	$(HBSOURCES) \
Packit 874993
	$(HB_GOBJECT_ENUM_sources) \
Packit 874993
	$(HB_GOBJECT_ENUM_headers) \
Packit 874993
	$(HB_GOBJECT_sources) \
Packit 874993
	$(HB_GOBJECT_STRUCTS_headers) \
Packit 874993
	$(NULL)
Packit 874993
Packit 874993
girdir = $(datadir)/gir-1.0
Packit 874993
gir_DATA = $(INTROSPECTION_GIRS)
Packit 874993
Packit 874993
typelibdir = $(libdir)/girepository-1.0
Packit 874993
typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
Packit 874993
Packit 874993
CLEANFILES += $(gir_DATA) $(typelib_DATA)
Packit 874993
Packit 874993
endif
Packit 874993
Packit 874993
-include $(top_srcdir)/git.mk