blob: 685718221f88c737200f2ab788913d1f4f7d0cc4 [file] [log] [blame]
Behdad Esfahbod49f261d2009-08-10 23:35:05 -04001# Process this file with automake to produce Makefile.in
Owen Taylor80a15822000-12-20 04:41:36 +00002
Behdad Esfahbod8fe4c742012-07-24 21:05:12 -04003SUBDIRS =
4DIST_SUBDIRS =
Behdad Esfahbodd75333f2011-08-19 19:59:24 +02005BUILT_SOURCES =
Behdad Esfahbod7bbe14b2011-01-09 22:29:14 -05006EXTRA_DIST =
Behdad Esfahbodc78f4482011-05-05 21:31:04 -04007CLEANFILES =
8DISTCLEANFILES =
9MAINTAINERCLEANFILES =
Behdad Esfahbod84d781e2012-06-16 15:21:41 -040010DISTCHECK_CONFIGURE_FLAGS = --enable-introspection
Behdad Esfahbodb857b492009-05-20 05:35:14 -040011
Behdad Esfahbod11c4ad42012-07-13 11:29:31 -040012# The following warning options are useful for debugging: -Wpadded
Behdad Esfahbod69367062009-08-12 19:45:50 -040013#AM_CXXFLAGS =
Owen Taylor80a15822000-12-20 04:41:36 +000014
Behdad Esfahbod7988da22015-01-21 18:33:50 -080015# Convenience targets:
Behdad Esfahbodfd74b932015-07-20 13:30:45 +010016lib: $(BUILT_SOURCES) libharfbuzz.la
Behdad Esfahbodff16ef32015-11-18 16:27:32 -080017fuzzing: $(BUILT_SOURCES) libharfbuzz-fuzzing.la
Behdad Esfahbod7988da22015-01-21 18:33:50 -080018
Behdad Esfahbod1f0ceeb2009-11-02 16:28:39 -050019lib_LTLIBRARIES = libharfbuzz.la
Owen Taylor80a15822000-12-20 04:41:36 +000020
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080021include Makefile.sources
22
Behdad Esfahbodd94647e2009-11-03 16:35:10 -050023HBCFLAGS =
24HBLIBS =
Behdad Esfahbod539a6102015-08-11 12:58:49 +020025HBNONPCLIBS =
26HBDEPS =
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080027HBSOURCES = $(HB_BASE_sources)
ebraminiod2acaf62017-04-05 02:21:23 -070028HBSOURCES += $(HB_BASE_RAGEL_GENERATED_sources)
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080029HBHEADERS = $(HB_BASE_headers)
30HBNODISTHEADERS = $(HB_NODIST_headers)
Behdad Esfahbodd5a8e462009-11-03 15:14:40 -050031
Behdad Esfahbod02aeca92011-08-04 22:31:05 -040032if HAVE_OT
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080033HBSOURCES += $(HB_OT_sources)
ebraminiod2acaf62017-04-05 02:21:23 -070034HBSOURCES += $(HB_OT_RAGEL_GENERATED_sources)
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080035HBHEADERS += $(HB_OT_headers)
Behdad Esfahbod02aeca92011-08-04 22:31:05 -040036endif
Behdad Esfahbodc78f4482011-05-05 21:31:04 -040037
Konstantin Rittc9522de2014-01-22 21:07:13 +020038if HAVE_FALLBACK
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080039HBSOURCES += $(HB_FALLBACK_sources)
Konstantin Rittc9522de2014-01-22 21:07:13 +020040endif
41
Behdad Esfahbod66efe892012-10-02 14:55:32 -040042if HAVE_PTHREAD
43HBCFLAGS += $(PTHREAD_CFLAGS)
Behdad Esfahbod539a6102015-08-11 12:58:49 +020044HBNONPCLIBS += $(PTHREAD_LIBS)
Behdad Esfahbod66efe892012-10-02 14:55:32 -040045endif
46
Behdad Esfahbod63a792a2009-11-02 18:33:52 -050047if HAVE_GLIB
Behdad Esfahbodd94647e2009-11-03 16:35:10 -050048HBCFLAGS += $(GLIB_CFLAGS)
Behdad Esfahbod8fb3d1a2009-11-03 18:34:20 -050049HBLIBS += $(GLIB_LIBS)
Behdad Esfahbod539a6102015-08-11 12:58:49 +020050HBDEPS += $(GLIB_DEPS)
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080051HBSOURCES += $(HB_GLIB_sources)
52HBHEADERS += $(HB_GLIB_headers)
Behdad Esfahbodc214cff2011-08-14 15:17:16 +020053endif
54
Behdad Esfahbod8fb3d1a2009-11-03 18:34:20 -050055if HAVE_FREETYPE
56HBCFLAGS += $(FREETYPE_CFLAGS)
57HBLIBS += $(FREETYPE_LIBS)
Behdad Esfahbodddd6bf12015-08-18 15:55:09 +010058# XXX
59# The following creates a recursive dependency on FreeType if FreeType is
60# built with HarfBuzz support enabled. Newer pkg-config handles that just
61# fine but pkg-config 0.26 as shipped in Ubuntu 14.04 crashes. Remove
62# in a year or two, or otherwise work around it...
63#HBDEPS += $(FREETYPE_DEPS)
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080064HBSOURCES += $(HB_FT_sources)
65HBHEADERS += $(HB_FT_headers)
Behdad Esfahbod8fb3d1a2009-11-03 18:34:20 -050066endif
Behdad Esfahbodca95ce42009-11-03 14:18:33 -050067
Behdad Esfahbod6bd9b472012-04-12 14:53:53 -040068if HAVE_GRAPHITE2
69HBCFLAGS += $(GRAPHITE2_CFLAGS)
70HBLIBS += $(GRAPHITE2_LIBS)
Behdad Esfahbod539a6102015-08-11 12:58:49 +020071HBDEPS += $(GRAPHITE2_DEPS)
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080072HBSOURCES += $(HB_GRAPHITE2_sources)
73HBHEADERS += $(HB_GRAPHITE2_headers)
Behdad Esfahbod1f49cf32011-08-24 01:29:25 +020074endif
75
Behdad Esfahbod0fbb2dc2011-08-03 19:55:04 -040076if HAVE_UNISCRIBE
77HBCFLAGS += $(UNISCRIBE_CFLAGS)
Behdad Esfahbod539a6102015-08-11 12:58:49 +020078HBNONPCLIBS += $(UNISCRIBE_LIBS)
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080079HBSOURCES += $(HB_UNISCRIBE_sources)
80HBHEADERS += $(HB_UNISCRIBE_headers)
Behdad Esfahbod0fbb2dc2011-08-03 19:55:04 -040081endif
82
Chun-wei Fanc6792852016-02-03 18:31:23 +080083if HAVE_DIRECTWRITE
84HBCFLAGS += $(DIRECTWRITE_CXXFLAGS)
85HBNONPCLIBS += $(DIRECTWRITE_LIBS)
86HBSOURCES += $(HB_DIRECTWRITE_sources)
87HBHEADERS += $(HB_DIRECTWRITE_headers)
88endif
89
Jonathan Kewaa6d8492012-07-24 15:52:32 -040090if HAVE_CORETEXT
91HBCFLAGS += $(CORETEXT_CFLAGS)
Behdad Esfahbod539a6102015-08-11 12:58:49 +020092HBNONPCLIBS += $(CORETEXT_LIBS)
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080093HBSOURCES += $(HB_CORETEXT_sources)
94HBHEADERS += $(HB_CORETEXT_headers)
Jonathan Kewaa6d8492012-07-24 15:52:32 -040095endif
96
Behdad Esfahbod3f33f0d2012-10-02 16:03:18 -040097if HAVE_UCDN
98SUBDIRS += hb-ucdn
99HBCFLAGS += -I$(srcdir)/hb-ucdn
100HBLIBS += hb-ucdn/libhb-ucdn.la
Chun-wei Fan35ded3a2015-11-03 16:56:27 +0800101HBSOURCES += $(HB_UCDN_sources)
Behdad Esfahbod909de952017-11-14 16:22:52 -0800102hb-ucdn/libhb-ucdn.la: ucdn
103ucdn:
104 @$(MAKE) $(AM_MAKEFLAGS) -C hb-ucdn
Behdad Esfahbod3f33f0d2012-10-02 16:03:18 -0400105endif
106DIST_SUBDIRS += hb-ucdn
Behdad Esfahbod1512a732012-07-24 19:16:56 -0400107
Behdad Esfahbod560d68a2012-08-08 17:16:01 -0400108
109# Put the library together
110
Behdad Esfahbod539a6102015-08-11 12:58:49 +0200111HBLIBS += $(HBNONPCLIBS)
112
Behdad Esfahbod560d68a2012-08-08 17:16:01 -0400113if OS_WIN32
114export_symbols = -export-symbols harfbuzz.def
115harfbuzz_def_dependency = harfbuzz.def
Behdad Esfahbod20a840c2012-09-24 20:23:00 -0400116libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS)
117else
Behdad Esfahbode7846322013-01-14 00:27:21 -0600118# Use a C linker for GCC, not C++; Don't link to libstdc++
119if HAVE_GCC
Behdad Esfahbod61eb60c2012-06-05 21:14:04 -0400120libharfbuzz_la_LINK = $(LINK) $(libharfbuzz_la_LDFLAGS)
Behdad Esfahbode7846322013-01-14 00:27:21 -0600121else
122libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS)
123endif
Behdad Esfahbod20a840c2012-09-24 20:23:00 -0400124endif
125
Behdad Esfahbod9de5f982013-02-04 23:28:22 -0500126libharfbuzz_la_SOURCES = $(HBSOURCES) $(HBHEADERS) $(HBNODISTHEADERS)
Behdad Esfahbodd94647e2009-11-03 16:35:10 -0500127libharfbuzz_la_CPPFLAGS = $(HBCFLAGS)
Behdad Esfahbod6a2cbc62017-10-12 10:46:09 +0200128libharfbuzz_la_LDFLAGS = $(AM_LDFLAGS) -lm -version-info $(HB_LIBTOOL_VERSION_INFO) $(export_symbols) -no-undefined
Behdad Esfahbodd94647e2009-11-03 16:35:10 -0500129libharfbuzz_la_LIBADD = $(HBLIBS)
Behdad Esfahbodeb7669a2012-09-18 19:42:06 -0400130EXTRA_libharfbuzz_la_DEPENDENCIES = $(harfbuzz_def_dependency)
Behdad Esfahbod1f0ceeb2009-11-02 16:28:39 -0500131pkginclude_HEADERS = $(HBHEADERS)
Behdad Esfahbod9de5f982013-02-04 23:28:22 -0500132nodist_pkginclude_HEADERS = $(HBNODISTHEADERS)
Behdad Esfahbod22ce0962013-05-28 17:18:30 -0400133pkgconfigdir = $(libdir)/pkgconfig
134pkgconfig_DATA = harfbuzz.pc
Behdad Esfahbodd70be292013-05-28 17:23:56 -0400135EXTRA_DIST += harfbuzz.pc.in
Owen Taylor80a15822000-12-20 04:41:36 +0000136
Behdad Esfahbodff16ef32015-11-18 16:27:32 -0800137FUZZING_CPPFLAGS= \
Behdad Esfahbod91dd1152016-02-25 13:56:47 +0900138 -DHB_NDEBUG \
Behdad Esfahbodff16ef32015-11-18 16:27:32 -0800139 -DHB_MAX_NESTING_LEVEL=3 \
140 -DHB_SANITIZE_MAX_EDITS=3 \
Behdad Esfahbodbaf77792017-11-14 21:53:48 -0800141 -DHB_BUFFER_MAX_LEN_FACTOR=3 \
Behdad Esfahbodff16ef32015-11-18 16:27:32 -0800142 -DHB_BUFFER_MAX_LEN_MIN=8 \
143 -DHB_BUFFER_MAX_LEN_DEFAULT=128 \
Behdad Esfahbodbaf77792017-11-14 21:53:48 -0800144 -DHB_BUFFER_MAX_OPS_FACTOR=8 \
145 -DHB_BUFFER_MAX_OPS_MIN=64 \
146 -DHB_BUFFER_MAX_OPS_DEFAULT=1024 \
Behdad Esfahbodff16ef32015-11-18 16:27:32 -0800147 $(NULL)
148EXTRA_LTLIBRARIES = libharfbuzz-fuzzing.la
149libharfbuzz_fuzzing_la_LINK = $(libharfbuzz_la_LINK)
150libharfbuzz_fuzzing_la_SOURCES = $(libharfbuzz_la_SOURCES)
151libharfbuzz_fuzzing_la_CPPFLAGS = $(libharfbuzz_la_CPPFLAGS) $(FUZZING_CPPFLAGS)
152libharfbuzz_fuzzing_la_LDFLAGS = $(libharfbuzz_la_LDFLAGS)
153libharfbuzz_fuzzing_la_LIBADD = $(libharfbuzz_la_LIBADD)
154EXTRA_libharfbuzz_fuzzing_la_DEPENDENCIES = $(EXTRA_libharfbuzz_la_DEPENDENCIES)
Behdad Esfahbod63fe05c2015-11-18 23:52:34 -0800155CLEANFILES += libharfbuzz-fuzzing.la
Behdad Esfahbodff16ef32015-11-18 16:27:32 -0800156
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400157if HAVE_ICU
Kal Conleyb424b6c2016-02-26 00:35:15 +0100158if HAVE_ICU_BUILTIN
159HBCFLAGS += $(ICU_CFLAGS)
160HBLIBS += $(ICU_LIBS)
161HBSOURCES += $(HB_ICU_sources)
162HBHEADERS += $(HB_ICU_headers)
163else
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400164lib_LTLIBRARIES += libharfbuzz-icu.la
Chun-wei Fan35ded3a2015-11-03 16:56:27 +0800165libharfbuzz_icu_la_SOURCES = $(HB_ICU_sources)
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400166libharfbuzz_icu_la_CPPFLAGS = $(ICU_CFLAGS)
167libharfbuzz_icu_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) -no-undefined
168libharfbuzz_icu_la_LIBADD = $(ICU_LIBS) libharfbuzz.la
Chun-wei Fan35ded3a2015-11-03 16:56:27 +0800169pkginclude_HEADERS += $(HB_ICU_headers)
Behdad Esfahbod22ce0962013-05-28 17:18:30 -0400170pkgconfig_DATA += harfbuzz-icu.pc
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400171endif
Kal Conleyb424b6c2016-02-26 00:35:15 +0100172endif
Behdad Esfahbod213001a2013-09-03 20:00:16 -0400173EXTRA_DIST += harfbuzz-icu.pc.in
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400174
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400175if HAVE_GOBJECT
176lib_LTLIBRARIES += libharfbuzz-gobject.la
Chun-wei Fan35ded3a2015-11-03 16:56:27 +0800177libharfbuzz_gobject_la_SOURCES = $(HB_GOBJECT_sources)
178nodist_libharfbuzz_gobject_la_SOURCES = $(HB_GOBJECT_ENUM_sources)
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400179libharfbuzz_gobject_la_CPPFLAGS = $(GOBJECT_CFLAGS)
180libharfbuzz_gobject_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) -no-undefined
181libharfbuzz_gobject_la_LIBADD = $(GOBJECT_LIBS) libharfbuzz.la
Chun-wei Fan35ded3a2015-11-03 16:56:27 +0800182pkginclude_HEADERS += $(HB_GOBJECT_headers)
183nodist_pkginclude_HEADERS += $(HB_GOBJECT_ENUM_headers)
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400184pkgconfig_DATA += harfbuzz-gobject.pc
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400185
186BUILT_SOURCES += \
Chun-wei Fan35ded3a2015-11-03 16:56:27 +0800187 $(HB_GOBJECT_ENUM_sources) \
188 $(HB_GOBJECT_ENUM_headers) \
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400189 $(NULL)
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400190DISTCLEANFILES += \
Chun-wei Fan35ded3a2015-11-03 16:56:27 +0800191 $(HB_GOBJECT_ENUM_sources) \
192 $(HB_GOBJECT_ENUM_headers) \
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400193 $(NULL)
194hb-gobject-enums.%: hb-gobject-enums.%.tmpl $(HBHEADERS)
195 $(AM_V_GEN) $(GLIB_MKENUMS) \
196 --identifier-prefix hb_ --symbol-prefix hb_gobject \
197 --template $^ | \
Behdad Esfahbod8971cac2014-10-01 12:41:03 -0400198 sed 's/_t_get_type/_get_type/g; s/_T (/ (/g' > "$@" \
199 || ($(RM) "$@"; false)
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400200endif
Behdad Esfahbod213001a2013-09-03 20:00:16 -0400201EXTRA_DIST += \
202 harfbuzz-gobject.pc.in \
203 hb-gobject-enums.cc.tmpl \
204 hb-gobject-enums.h.tmpl \
205 $(NULL)
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400206
207
Behdad Esfahbod22ce0962013-05-28 17:18:30 -0400208%.pc: %.pc.in $(top_builddir)/config.status
209 $(AM_V_GEN) \
Behdad Esfahbod2fd0e022013-06-06 17:16:01 -0400210 $(SED) -e 's@%prefix%@$(prefix)@g' \
211 -e 's@%exec_prefix%@$(exec_prefix)@g' \
212 -e 's@%libdir%@$(libdir)@g' \
213 -e 's@%includedir%@$(includedir)@g' \
Behdad Esfahbod539a6102015-08-11 12:58:49 +0200214 -e 's@%libs_private%@$(HBNONPCLIBS)@g' \
215 -e 's@%requires_private%@$(HBDEPS)@g' \
Behdad Esfahbod2fd0e022013-06-06 17:16:01 -0400216 -e 's@%VERSION%@$(VERSION)@g' \
Behdad Esfahbod8971cac2014-10-01 12:41:03 -0400217 "$<" > "$@" \
218 || ($(RM) "$@"; false)
Behdad Esfahbod22ce0962013-05-28 17:18:30 -0400219
Behdad Esfahbodd70be292013-05-28 17:23:56 -0400220CLEANFILES += $(pkgconfig_DATA)
221
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400222
Behdad Esfahbod560d68a2012-08-08 17:16:01 -0400223CLEANFILES += harfbuzz.def
Behdad Esfahbod9de5f982013-02-04 23:28:22 -0500224harfbuzz.def: $(HBHEADERS) $(HBNODISTHEADERS)
Behdad Esfahbod560d68a2012-08-08 17:16:01 -0400225 $(AM_V_GEN) (echo EXPORTS; \
226 (cat $^ || echo 'hb_ERROR ()' ) | \
227 $(EGREP) '^hb_.* \(' | \
228 sed -e 's/ (.*//' | \
Behdad Esfahbod7c474742017-02-08 14:33:28 -0800229 LC_ALL=C sort; \
Behdad Esfahbodbd22a5c2015-08-07 11:13:27 +0200230 echo LIBRARY libharfbuzz-0.dll; \
Behdad Esfahbod8971cac2014-10-01 12:41:03 -0400231 ) >"$@"
232 @ ! grep -q hb_ERROR "$@" \
233 || ($(RM) "$@"; false)
Behdad Esfahbod560d68a2012-08-08 17:16:01 -0400234
Behdad Esfahbod3eb936f2010-10-05 18:36:58 -0400235
236GENERATORS = \
Behdad Esfahbod9d494332011-06-01 18:10:10 -0400237 gen-arabic-table.py \
Behdad Esfahbodb9ddbd52011-06-02 17:43:12 -0400238 gen-indic-table.py \
Behdad Esfahbode2c95112015-07-20 11:32:48 +0100239 gen-use-table.py \
Behdad Esfahbod3eb936f2010-10-05 18:36:58 -0400240 $(NULL)
Behdad Esfahbod3eb936f2010-10-05 18:36:58 -0400241EXTRA_DIST += $(GENERATORS)
242
Behdad Esfahbode2c95112015-07-20 11:32:48 +0100243unicode-tables: arabic-table indic-table use-table
Behdad Esfahbodcdc8b492012-03-07 12:08:33 -0500244
Behdad Esfahbod3f5327a2014-06-20 16:17:42 -0400245arabic-table: gen-arabic-table.py ArabicShaping.txt UnicodeData.txt Blocks.txt
Behdad Esfahbod8971cac2014-10-01 12:41:03 -0400246 $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-arabic-table.hh \
247 || ($(RM) hb-ot-shape-complex-arabic-table.hh; false)
Behdad Esfahbodcdc8b492012-03-07 12:08:33 -0500248
Behdad Esfahbode2c95112015-07-20 11:32:48 +0100249indic-table: gen-indic-table.py IndicSyllabicCategory-7.0.0.txt IndicMatraCategory-7.0.0.txt Blocks.txt
250 $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-indic-table.cc \
251 || ($(RM) hb-ot-shape-complex-indic-table.cc; false)
252
Behdad Esfahbod20e246e2015-07-20 15:56:19 +0100253use-table: gen-use-table.py IndicSyllabicCategory.txt IndicPositionalCategory.txt UnicodeData.txt Blocks.txt
Behdad Esfahbode2c95112015-07-20 11:32:48 +0100254 $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-use-table.cc \
255 || ($(RM) hb-ot-shape-complex-use-table.cc; false)
256
Behdad Esfahbod343a0e42014-03-21 14:37:27 -0700257built-sources: $(BUILT_SOURCES)
Behdad Esfahbodcdc8b492012-03-07 12:08:33 -0500258
Behdad Esfahbode2c95112015-07-20 11:32:48 +0100259.PHONY: unicode-tables arabic-table indic-table use-table built-sources
Behdad Esfahbodcdc8b492012-03-07 12:08:33 -0500260
Behdad Esfahbodc0b82ba2014-10-01 14:24:07 -0400261RAGEL_GENERATED = \
William Hua5ecf96e2017-04-17 01:33:42 -0400262 $(patsubst %,$(srcdir)/%,$(HB_BASE_RAGEL_GENERATED_sources)) \
263 $(patsubst %,$(srcdir)/%,$(HB_OT_RAGEL_GENERATED_sources)) \
Behdad Esfahbod98628ca2013-02-11 13:36:23 -0500264 $(NULL)
Behdad Esfahbodc0b82ba2014-10-01 14:24:07 -0400265BUILT_SOURCES += $(RAGEL_GENERATED)
Behdad Esfahbod98628ca2013-02-11 13:36:23 -0500266EXTRA_DIST += \
Behdad Esfahboda4471d02017-04-05 15:42:11 +0200267 $(HB_BASE_RAGEL_sources) \
268 $(HB_OT_RAGEL_sources) \
Behdad Esfahbod98628ca2013-02-11 13:36:23 -0500269 $(NULL)
Behdad Esfahbodc0b82ba2014-10-01 14:24:07 -0400270MAINTAINERCLEANFILES += $(RAGEL_GENERATED)
271$(srcdir)/%.hh: $(srcdir)/%.rl
272 $(AM_V_GEN)(cd $(srcdir) && $(RAGEL) -e -F1 -o "$*.hh" "$*.rl") \
Behdad Esfahbod8971cac2014-10-01 12:41:03 -0400273 || ($(RM) "$@"; false)
Behdad Esfahbod867361c2011-06-17 18:35:46 -0400274
Behdad Esfahbode54dd262013-02-27 13:01:02 -0500275noinst_PROGRAMS = \
276 main \
277 test \
278 test-buffer-serialize \
279 test-size-params \
280 test-would-substitute \
281 $(NULL)
Behdad Esfahbod5353bf42011-02-22 18:06:19 -0500282bin_PROGRAMS =
283
Behdad Esfahbodb857b492009-05-20 05:35:14 -0400284main_SOURCES = main.cc
Behdad Esfahbodd94647e2009-11-03 16:35:10 -0500285main_CPPFLAGS = $(HBCFLAGS)
286main_LDADD = libharfbuzz.la $(HBLIBS)
Owen Taylor80a15822000-12-20 04:41:36 +0000287
Behdad Esfahbod0f3f5292012-11-30 09:06:59 +0200288test_SOURCES = test.cc
289test_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS)
290test_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
291
Behdad Esfahbodbe73a5f2012-07-19 14:59:15 -0400292test_would_substitute_SOURCES = test-would-substitute.cc
293test_would_substitute_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS)
294test_would_substitute_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
295
Behdad Esfahbod0f3f5292012-11-30 09:06:59 +0200296test_size_params_SOURCES = test-size-params.cc
297test_size_params_CPPFLAGS = $(HBCFLAGS)
298test_size_params_LDADD = libharfbuzz.la $(HBLIBS)
299
Behdad Esfahbode54dd262013-02-27 13:01:02 -0500300test_buffer_serialize_SOURCES = test-buffer-serialize.cc
301test_buffer_serialize_CPPFLAGS = $(HBCFLAGS)
302test_buffer_serialize_LDADD = libharfbuzz.la $(HBLIBS)
303
Behdad Esfahbod785982b2017-01-20 19:57:27 -0800304check: harfbuzz.def # For check-defs.sh
305
Behdad Esfahbod7bbe14b2011-01-09 22:29:14 -0500306dist_check_SCRIPTS = \
Behdad Esfahbodacdba3f2010-07-23 15:11:18 -0400307 check-c-linkage-decls.sh \
Behdad Esfahbod2af82622013-09-16 21:49:56 -0400308 check-defs.sh \
Behdad Esfahbodc2545b92017-10-07 12:56:53 +0200309 check-externs.sh \
Behdad Esfahbodd05d13d2010-06-09 07:15:03 -0400310 check-header-guards.sh \
Behdad Esfahbod5bc18192011-05-27 15:58:54 -0400311 check-includes.sh \
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400312 check-libstdc++.sh \
313 check-static-inits.sh \
Behdad Esfahbodac1b7232013-08-30 19:32:10 -0400314 check-symbols.sh \
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400315 $(NULL)
Behdad Esfahbodd59e28e2012-08-28 19:08:36 -0400316
Behdad Esfahbod70952dd2015-12-07 10:28:46 +0100317check_PROGRAMS = \
318 test-ot-tag \
319 $(NULL)
320test_ot_tag_SOURCES = hb-ot-tag.cc
321test_ot_tag_CPPFLAGS = $(HBCFLAGS) -DMAIN
322test_ot_tag_LDADD = libharfbuzz.la $(HBLIBS)
323
324TESTS = $(dist_check_SCRIPTS) $(check_PROGRAMS)
Behdad Esfahbod5bc18192011-05-27 15:58:54 -0400325TESTS_ENVIRONMENT = \
326 srcdir="$(srcdir)" \
327 MAKE="$(MAKE) $(AM_MAKEFLAGS)" \
328 HBSOURCES="$(HBSOURCES)" \
Behdad Esfahbod9de5f982013-02-04 23:28:22 -0500329 HBHEADERS="$(HBHEADERS) $(HBNODISTHEADERS)" \
Behdad Esfahbod5bc18192011-05-27 15:58:54 -0400330 $(NULL)
Behdad Esfahbod7bbe14b2011-01-09 22:29:14 -0500331
Behdad Esfahbod71ef22b2013-08-28 12:52:55 -0400332if HAVE_INTROSPECTION
333
Behdad Esfahbod23027f72013-08-22 19:03:21 -0400334-include $(INTROSPECTION_MAKEFILE)
Behdad Esfahbod26044232015-07-26 23:39:10 +0200335INTROSPECTION_GIRS = HarfBuzz-0.0.gir # What does the 0 mean anyway?!
Behdad Esfahbod23027f72013-08-22 19:03:21 -0400336INTROSPECTION_SCANNER_ARGS = -I$(srcdir) -n hb --identifier-prefix=hb_ --warn-all
337INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
Behdad Esfahbodd6d349d2014-07-23 11:38:49 -0400338INTROSPECTION_SCANNER_ENV = CC="$(CC)"
Behdad Esfahbod23027f72013-08-22 19:03:21 -0400339
Behdad Esfahbodb94243d2013-08-30 18:41:33 -0400340HarfBuzz-0.0.gir: libharfbuzz.la libharfbuzz-gobject.la
341HarfBuzz_0_0_gir_INCLUDES = GObject-2.0
342HarfBuzz_0_0_gir_CFLAGS = \
Behdad Esfahbod23027f72013-08-22 19:03:21 -0400343 $(INCLUDES) \
344 $(HBCFLAGS) \
345 -DHB_H \
346 -DHB_H_IN \
347 -DHB_OT_H \
348 -DHB_OT_H_IN \
Behdad Esfahbodd8f50702013-08-26 21:26:24 -0400349 -DHB_GOBJECT_H \
350 -DHB_GOBJECT_H_IN \
Behdad Esfahbod0e38c912015-11-26 19:26:26 -0500351 -DHB_EXTERN= \
Behdad Esfahbod23027f72013-08-22 19:03:21 -0400352 $(NULL)
Behdad Esfahbodb94243d2013-08-30 18:41:33 -0400353HarfBuzz_0_0_gir_LIBS = \
Behdad Esfahbodd8f50702013-08-26 21:26:24 -0400354 libharfbuzz.la \
355 libharfbuzz-gobject.la \
356 $(NULL)
Behdad Esfahbodb94243d2013-08-30 18:41:33 -0400357HarfBuzz_0_0_gir_FILES = \
Behdad Esfahbodd8f50702013-08-26 21:26:24 -0400358 $(HBHEADERS) \
359 $(HBNODISTHEADERS) \
Behdad Esfahbode0dbf992013-09-05 16:00:47 -0400360 $(HBSOURCES) \
Chun-wei Fan35ded3a2015-11-03 16:56:27 +0800361 $(HB_GOBJECT_ENUM_sources) \
362 $(HB_GOBJECT_ENUM_headers) \
363 $(HB_GOBJECT_sources) \
364 $(HB_GOBJECT_STRUCTS_headers) \
Behdad Esfahbodd8f50702013-08-26 21:26:24 -0400365 $(NULL)
Behdad Esfahbod23027f72013-08-22 19:03:21 -0400366
367girdir = $(datadir)/gir-1.0
368gir_DATA = $(INTROSPECTION_GIRS)
369
370typelibdir = $(libdir)/girepository-1.0
371typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
372
373CLEANFILES += $(gir_DATA) $(typelib_DATA)
Behdad Esfahbod71ef22b2013-08-28 12:52:55 -0400374
Behdad Esfahbod23027f72013-08-22 19:03:21 -0400375endif
Behdad Esfahbodc214cff2011-08-14 15:17:16 +0200376
Behdad Esfahbod0e13bee2009-04-17 17:03:39 -0400377-include $(top_srcdir)/git.mk