blob: 888628329048ad750996378b19b5dcb288afa8a8 [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 Esfahbod7c32e012018-01-11 10:47:31 +01003NULL =
Behdad Esfahbod8fe4c742012-07-24 21:05:12 -04004SUBDIRS =
5DIST_SUBDIRS =
Behdad Esfahbodd75333f2011-08-19 19:59:24 +02006BUILT_SOURCES =
Behdad Esfahbod7bbe14b2011-01-09 22:29:14 -05007EXTRA_DIST =
Behdad Esfahbodc78f4482011-05-05 21:31:04 -04008CLEANFILES =
9DISTCLEANFILES =
10MAINTAINERCLEANFILES =
Behdad Esfahbod84d781e2012-06-16 15:21:41 -040011DISTCHECK_CONFIGURE_FLAGS = --enable-introspection
Behdad Esfahbodb857b492009-05-20 05:35:14 -040012
Behdad Esfahbod11c4ad42012-07-13 11:29:31 -040013# The following warning options are useful for debugging: -Wpadded
Behdad Esfahbod69367062009-08-12 19:45:50 -040014#AM_CXXFLAGS =
Owen Taylor80a15822000-12-20 04:41:36 +000015
Behdad Esfahbod7988da22015-01-21 18:33:50 -080016# Convenience targets:
Behdad Esfahbodeeffabc2018-02-07 21:34:05 -060017lib: $(BUILT_SOURCES) libharfbuzz.la libharfbuzz-subset.la
Behdad Esfahbodff16ef32015-11-18 16:27:32 -080018fuzzing: $(BUILT_SOURCES) libharfbuzz-fuzzing.la
Behdad Esfahbod7988da22015-01-21 18:33:50 -080019
Behdad Esfahbod1f0ceeb2009-11-02 16:28:39 -050020lib_LTLIBRARIES = libharfbuzz.la
Owen Taylor80a15822000-12-20 04:41:36 +000021
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080022include Makefile.sources
23
Behdad Esfahbodd94647e2009-11-03 16:35:10 -050024HBCFLAGS =
25HBLIBS =
Behdad Esfahbod539a6102015-08-11 12:58:49 +020026HBNONPCLIBS =
27HBDEPS =
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080028HBSOURCES = $(HB_BASE_sources)
ebraminiod2acaf62017-04-05 02:21:23 -070029HBSOURCES += $(HB_BASE_RAGEL_GENERATED_sources)
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080030HBHEADERS = $(HB_BASE_headers)
31HBNODISTHEADERS = $(HB_NODIST_headers)
Behdad Esfahbodd5a8e462009-11-03 15:14:40 -050032
Behdad Esfahbod02aeca92011-08-04 22:31:05 -040033if HAVE_OT
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080034HBSOURCES += $(HB_OT_sources)
ebraminiod2acaf62017-04-05 02:21:23 -070035HBSOURCES += $(HB_OT_RAGEL_GENERATED_sources)
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080036HBHEADERS += $(HB_OT_headers)
Behdad Esfahbod02aeca92011-08-04 22:31:05 -040037endif
Behdad Esfahbodc78f4482011-05-05 21:31:04 -040038
Konstantin Rittc9522de2014-01-22 21:07:13 +020039if HAVE_FALLBACK
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080040HBSOURCES += $(HB_FALLBACK_sources)
Konstantin Rittc9522de2014-01-22 21:07:13 +020041endif
42
Behdad Esfahbod66efe892012-10-02 14:55:32 -040043if HAVE_PTHREAD
44HBCFLAGS += $(PTHREAD_CFLAGS)
Behdad Esfahbod539a6102015-08-11 12:58:49 +020045HBNONPCLIBS += $(PTHREAD_LIBS)
Behdad Esfahbod66efe892012-10-02 14:55:32 -040046endif
47
Behdad Esfahbod63a792a2009-11-02 18:33:52 -050048if HAVE_GLIB
Behdad Esfahbodd94647e2009-11-03 16:35:10 -050049HBCFLAGS += $(GLIB_CFLAGS)
Behdad Esfahbod8fb3d1a2009-11-03 18:34:20 -050050HBLIBS += $(GLIB_LIBS)
Behdad Esfahbod539a6102015-08-11 12:58:49 +020051HBDEPS += $(GLIB_DEPS)
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080052HBSOURCES += $(HB_GLIB_sources)
53HBHEADERS += $(HB_GLIB_headers)
Behdad Esfahbodc214cff2011-08-14 15:17:16 +020054endif
55
Behdad Esfahbod8fb3d1a2009-11-03 18:34:20 -050056if HAVE_FREETYPE
57HBCFLAGS += $(FREETYPE_CFLAGS)
58HBLIBS += $(FREETYPE_LIBS)
Behdad Esfahbodddd6bf12015-08-18 15:55:09 +010059# XXX
60# The following creates a recursive dependency on FreeType if FreeType is
61# built with HarfBuzz support enabled. Newer pkg-config handles that just
62# fine but pkg-config 0.26 as shipped in Ubuntu 14.04 crashes. Remove
63# in a year or two, or otherwise work around it...
64#HBDEPS += $(FREETYPE_DEPS)
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080065HBSOURCES += $(HB_FT_sources)
66HBHEADERS += $(HB_FT_headers)
Behdad Esfahbod8fb3d1a2009-11-03 18:34:20 -050067endif
Behdad Esfahbodca95ce42009-11-03 14:18:33 -050068
Behdad Esfahbod6bd9b472012-04-12 14:53:53 -040069if HAVE_GRAPHITE2
70HBCFLAGS += $(GRAPHITE2_CFLAGS)
71HBLIBS += $(GRAPHITE2_LIBS)
Behdad Esfahbod539a6102015-08-11 12:58:49 +020072HBDEPS += $(GRAPHITE2_DEPS)
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080073HBSOURCES += $(HB_GRAPHITE2_sources)
74HBHEADERS += $(HB_GRAPHITE2_headers)
Behdad Esfahbod1f49cf32011-08-24 01:29:25 +020075endif
76
Behdad Esfahbod0fbb2dc2011-08-03 19:55:04 -040077if HAVE_UNISCRIBE
78HBCFLAGS += $(UNISCRIBE_CFLAGS)
Behdad Esfahbod539a6102015-08-11 12:58:49 +020079HBNONPCLIBS += $(UNISCRIBE_LIBS)
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080080HBSOURCES += $(HB_UNISCRIBE_sources)
81HBHEADERS += $(HB_UNISCRIBE_headers)
Behdad Esfahbod0fbb2dc2011-08-03 19:55:04 -040082endif
83
Chun-wei Fanc6792852016-02-03 18:31:23 +080084if HAVE_DIRECTWRITE
85HBCFLAGS += $(DIRECTWRITE_CXXFLAGS)
86HBNONPCLIBS += $(DIRECTWRITE_LIBS)
87HBSOURCES += $(HB_DIRECTWRITE_sources)
88HBHEADERS += $(HB_DIRECTWRITE_headers)
89endif
90
Jonathan Kewaa6d8492012-07-24 15:52:32 -040091if HAVE_CORETEXT
92HBCFLAGS += $(CORETEXT_CFLAGS)
Behdad Esfahbod539a6102015-08-11 12:58:49 +020093HBNONPCLIBS += $(CORETEXT_LIBS)
Chun-wei Fan35ded3a2015-11-03 16:56:27 +080094HBSOURCES += $(HB_CORETEXT_sources)
95HBHEADERS += $(HB_CORETEXT_headers)
Jonathan Kewaa6d8492012-07-24 15:52:32 -040096endif
97
Behdad Esfahbod3f33f0d2012-10-02 16:03:18 -040098if HAVE_UCDN
99SUBDIRS += hb-ucdn
100HBCFLAGS += -I$(srcdir)/hb-ucdn
101HBLIBS += hb-ucdn/libhb-ucdn.la
Chun-wei Fan35ded3a2015-11-03 16:56:27 +0800102HBSOURCES += $(HB_UCDN_sources)
Behdad Esfahbod909de952017-11-14 16:22:52 -0800103hb-ucdn/libhb-ucdn.la: ucdn
104ucdn:
105 @$(MAKE) $(AM_MAKEFLAGS) -C hb-ucdn
Behdad Esfahbod3f33f0d2012-10-02 16:03:18 -0400106endif
107DIST_SUBDIRS += hb-ucdn
Behdad Esfahbod1512a732012-07-24 19:16:56 -0400108
Behdad Esfahbod560d68a2012-08-08 17:16:01 -0400109
110# Put the library together
111
Behdad Esfahbod539a6102015-08-11 12:58:49 +0200112HBLIBS += $(HBNONPCLIBS)
113
Behdad Esfahbod560d68a2012-08-08 17:16:01 -0400114if OS_WIN32
115export_symbols = -export-symbols harfbuzz.def
116harfbuzz_def_dependency = harfbuzz.def
Behdad Esfahbod20a840c2012-09-24 20:23:00 -0400117libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS)
118else
Behdad Esfahbode7846322013-01-14 00:27:21 -0600119# Use a C linker for GCC, not C++; Don't link to libstdc++
120if HAVE_GCC
Behdad Esfahbod61eb60c2012-06-05 21:14:04 -0400121libharfbuzz_la_LINK = $(LINK) $(libharfbuzz_la_LDFLAGS)
Behdad Esfahbode7846322013-01-14 00:27:21 -0600122else
123libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS)
124endif
Behdad Esfahbod20a840c2012-09-24 20:23:00 -0400125endif
126
Behdad Esfahbod9de5f982013-02-04 23:28:22 -0500127libharfbuzz_la_SOURCES = $(HBSOURCES) $(HBHEADERS) $(HBNODISTHEADERS)
Behdad Esfahbodd94647e2009-11-03 16:35:10 -0500128libharfbuzz_la_CPPFLAGS = $(HBCFLAGS)
Behdad Esfahbod6a2cbc62017-10-12 10:46:09 +0200129libharfbuzz_la_LDFLAGS = $(AM_LDFLAGS) -lm -version-info $(HB_LIBTOOL_VERSION_INFO) $(export_symbols) -no-undefined
Behdad Esfahbodd94647e2009-11-03 16:35:10 -0500130libharfbuzz_la_LIBADD = $(HBLIBS)
Behdad Esfahbodeb7669a2012-09-18 19:42:06 -0400131EXTRA_libharfbuzz_la_DEPENDENCIES = $(harfbuzz_def_dependency)
Behdad Esfahbod1f0ceeb2009-11-02 16:28:39 -0500132pkginclude_HEADERS = $(HBHEADERS)
Behdad Esfahbod9de5f982013-02-04 23:28:22 -0500133nodist_pkginclude_HEADERS = $(HBNODISTHEADERS)
Behdad Esfahbod22ce0962013-05-28 17:18:30 -0400134pkgconfigdir = $(libdir)/pkgconfig
135pkgconfig_DATA = harfbuzz.pc
Behdad Esfahbodd70be292013-05-28 17:23:56 -0400136EXTRA_DIST += harfbuzz.pc.in
Owen Taylor80a15822000-12-20 04:41:36 +0000137
Behdad Esfahbodae39fc82018-02-04 20:18:52 -0500138lib_LTLIBRARIES += libharfbuzz-subset.la
Ebrahim Byagowi844f48e2018-02-10 23:13:12 +0330139libharfbuzz_subset_la_LINK = $(libharfbuzz_la_LINK)
Behdad Esfahbodae39fc82018-02-04 20:18:52 -0500140libharfbuzz_subset_la_SOURCES = $(HB_SUBSET_sources)
141libharfbuzz_subset_la_CPPFLAGS = $(libharfbuzz_la_CPPFLAGS)
142libharfbuzz_subset_la_LDFLAGS = $(libharfbuzz_la_LDFLAGS)
143libharfbuzz_subset_la_LIBADD = libharfbuzz.la
144pkginclude_HEADERS += $(HB_SUBSET_headers)
145pkgconfig_DATA += harfbuzz-subset.pc
146EXTRA_DIST += harfbuzz-subset.pc.in
147
Ebrahim Byagowi72bec1c2018-01-05 12:42:20 +0330148FUZZING_CPPFLAGS = \
Behdad Esfahbod91dd1152016-02-25 13:56:47 +0900149 -DHB_NDEBUG \
Behdad Esfahbodff16ef32015-11-18 16:27:32 -0800150 -DHB_MAX_NESTING_LEVEL=3 \
151 -DHB_SANITIZE_MAX_EDITS=3 \
Behdad Esfahbodbaf77792017-11-14 21:53:48 -0800152 -DHB_BUFFER_MAX_LEN_FACTOR=3 \
Behdad Esfahbodff16ef32015-11-18 16:27:32 -0800153 -DHB_BUFFER_MAX_LEN_MIN=8 \
154 -DHB_BUFFER_MAX_LEN_DEFAULT=128 \
Behdad Esfahbodbaf77792017-11-14 21:53:48 -0800155 -DHB_BUFFER_MAX_OPS_FACTOR=8 \
156 -DHB_BUFFER_MAX_OPS_MIN=64 \
157 -DHB_BUFFER_MAX_OPS_DEFAULT=1024 \
Behdad Esfahbodff16ef32015-11-18 16:27:32 -0800158 $(NULL)
159EXTRA_LTLIBRARIES = libharfbuzz-fuzzing.la
160libharfbuzz_fuzzing_la_LINK = $(libharfbuzz_la_LINK)
161libharfbuzz_fuzzing_la_SOURCES = $(libharfbuzz_la_SOURCES)
162libharfbuzz_fuzzing_la_CPPFLAGS = $(libharfbuzz_la_CPPFLAGS) $(FUZZING_CPPFLAGS)
Behdad Esfahbod3b68a032018-02-08 17:00:37 -0600163libharfbuzz_fuzzing_la_LDFLAGS = $(AM_LDFLAGS)
Behdad Esfahbodff16ef32015-11-18 16:27:32 -0800164libharfbuzz_fuzzing_la_LIBADD = $(libharfbuzz_la_LIBADD)
165EXTRA_libharfbuzz_fuzzing_la_DEPENDENCIES = $(EXTRA_libharfbuzz_la_DEPENDENCIES)
Behdad Esfahbod63fe05c2015-11-18 23:52:34 -0800166CLEANFILES += libharfbuzz-fuzzing.la
Behdad Esfahbodff16ef32015-11-18 16:27:32 -0800167
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400168if HAVE_ICU
Kal Conleyb424b6c2016-02-26 00:35:15 +0100169if HAVE_ICU_BUILTIN
170HBCFLAGS += $(ICU_CFLAGS)
171HBLIBS += $(ICU_LIBS)
172HBSOURCES += $(HB_ICU_sources)
173HBHEADERS += $(HB_ICU_headers)
174else
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400175lib_LTLIBRARIES += libharfbuzz-icu.la
Ebrahim Byagowi844f48e2018-02-10 23:13:12 +0330176libharfbuzz_icu_la_LINK = $(libharfbuzz_la_LINK)
Chun-wei Fan35ded3a2015-11-03 16:56:27 +0800177libharfbuzz_icu_la_SOURCES = $(HB_ICU_sources)
Behdad Esfahbodae39fc82018-02-04 20:18:52 -0500178libharfbuzz_icu_la_CPPFLAGS = $(libharfbuzz_la_CPPFLAGS) $(ICU_CFLAGS)
179libharfbuzz_icu_la_LDFLAGS = $(libharfbuzz_la_LDFLAGS)
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400180libharfbuzz_icu_la_LIBADD = $(ICU_LIBS) libharfbuzz.la
Chun-wei Fan35ded3a2015-11-03 16:56:27 +0800181pkginclude_HEADERS += $(HB_ICU_headers)
Behdad Esfahbod22ce0962013-05-28 17:18:30 -0400182pkgconfig_DATA += harfbuzz-icu.pc
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400183endif
Kal Conleyb424b6c2016-02-26 00:35:15 +0100184endif
Behdad Esfahbod213001a2013-09-03 20:00:16 -0400185EXTRA_DIST += harfbuzz-icu.pc.in
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400186
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400187if HAVE_GOBJECT
188lib_LTLIBRARIES += libharfbuzz-gobject.la
Ebrahim Byagowi844f48e2018-02-10 23:13:12 +0330189libharfbuzz_gobject_la_LINK = $(libharfbuzz_la_LINK)
Chun-wei Fan35ded3a2015-11-03 16:56:27 +0800190libharfbuzz_gobject_la_SOURCES = $(HB_GOBJECT_sources)
191nodist_libharfbuzz_gobject_la_SOURCES = $(HB_GOBJECT_ENUM_sources)
Behdad Esfahbodae39fc82018-02-04 20:18:52 -0500192libharfbuzz_gobject_la_CPPFLAGS = $(libharfbuzz_la_CPPFLAGS) $(GOBJECT_CFLAGS)
193libharfbuzz_gobject_la_LDFLAGS = $(libharfbuzz_la_LDFLAGS)
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400194libharfbuzz_gobject_la_LIBADD = $(GOBJECT_LIBS) libharfbuzz.la
Chun-wei Fan35ded3a2015-11-03 16:56:27 +0800195pkginclude_HEADERS += $(HB_GOBJECT_headers)
196nodist_pkginclude_HEADERS += $(HB_GOBJECT_ENUM_headers)
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400197pkgconfig_DATA += harfbuzz-gobject.pc
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400198
199BUILT_SOURCES += \
Chun-wei Fan35ded3a2015-11-03 16:56:27 +0800200 $(HB_GOBJECT_ENUM_sources) \
201 $(HB_GOBJECT_ENUM_headers) \
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400202 $(NULL)
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400203DISTCLEANFILES += \
Chun-wei Fan35ded3a2015-11-03 16:56:27 +0800204 $(HB_GOBJECT_ENUM_sources) \
205 $(HB_GOBJECT_ENUM_headers) \
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400206 $(NULL)
207hb-gobject-enums.%: hb-gobject-enums.%.tmpl $(HBHEADERS)
208 $(AM_V_GEN) $(GLIB_MKENUMS) \
209 --identifier-prefix hb_ --symbol-prefix hb_gobject \
210 --template $^ | \
Behdad Esfahbod8971cac2014-10-01 12:41:03 -0400211 sed 's/_t_get_type/_get_type/g; s/_T (/ (/g' > "$@" \
212 || ($(RM) "$@"; false)
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400213endif
Behdad Esfahbod213001a2013-09-03 20:00:16 -0400214EXTRA_DIST += \
215 harfbuzz-gobject.pc.in \
216 hb-gobject-enums.cc.tmpl \
217 hb-gobject-enums.h.tmpl \
218 $(NULL)
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400219
220
Behdad Esfahbod22ce0962013-05-28 17:18:30 -0400221%.pc: %.pc.in $(top_builddir)/config.status
222 $(AM_V_GEN) \
Behdad Esfahbod2fd0e022013-06-06 17:16:01 -0400223 $(SED) -e 's@%prefix%@$(prefix)@g' \
224 -e 's@%exec_prefix%@$(exec_prefix)@g' \
225 -e 's@%libdir%@$(libdir)@g' \
226 -e 's@%includedir%@$(includedir)@g' \
Behdad Esfahbod539a6102015-08-11 12:58:49 +0200227 -e 's@%libs_private%@$(HBNONPCLIBS)@g' \
228 -e 's@%requires_private%@$(HBDEPS)@g' \
Behdad Esfahbod2fd0e022013-06-06 17:16:01 -0400229 -e 's@%VERSION%@$(VERSION)@g' \
Behdad Esfahbod8971cac2014-10-01 12:41:03 -0400230 "$<" > "$@" \
231 || ($(RM) "$@"; false)
Behdad Esfahbod22ce0962013-05-28 17:18:30 -0400232
Behdad Esfahbodd70be292013-05-28 17:23:56 -0400233CLEANFILES += $(pkgconfig_DATA)
234
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400235
Behdad Esfahbod560d68a2012-08-08 17:16:01 -0400236CLEANFILES += harfbuzz.def
Behdad Esfahbod9de5f982013-02-04 23:28:22 -0500237harfbuzz.def: $(HBHEADERS) $(HBNODISTHEADERS)
Ebrahim Byagowi00806142018-01-19 01:12:31 +0330238 $(AM_V_GEN) headers="$^" $(srcdir)/gen-def.py $@
Behdad Esfahbod560d68a2012-08-08 17:16:01 -0400239
Behdad Esfahbod3eb936f2010-10-05 18:36:58 -0400240
241GENERATORS = \
Behdad Esfahbod9d494332011-06-01 18:10:10 -0400242 gen-arabic-table.py \
Behdad Esfahbodb9ddbd52011-06-02 17:43:12 -0400243 gen-indic-table.py \
Behdad Esfahbode2c95112015-07-20 11:32:48 +0100244 gen-use-table.py \
Ebrahim Byagowi00806142018-01-19 01:12:31 +0330245 gen-def.py \
Behdad Esfahbod3eb936f2010-10-05 18:36:58 -0400246 $(NULL)
Behdad Esfahbod3eb936f2010-10-05 18:36:58 -0400247EXTRA_DIST += $(GENERATORS)
248
Behdad Esfahbode2c95112015-07-20 11:32:48 +0100249unicode-tables: arabic-table indic-table use-table
Behdad Esfahbodcdc8b492012-03-07 12:08:33 -0500250
Behdad Esfahbod3f5327a2014-06-20 16:17:42 -0400251arabic-table: gen-arabic-table.py ArabicShaping.txt UnicodeData.txt Blocks.txt
Behdad Esfahbod8971cac2014-10-01 12:41:03 -0400252 $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-arabic-table.hh \
253 || ($(RM) hb-ot-shape-complex-arabic-table.hh; false)
Behdad Esfahbodcdc8b492012-03-07 12:08:33 -0500254
Behdad Esfahbode2c95112015-07-20 11:32:48 +0100255indic-table: gen-indic-table.py IndicSyllabicCategory-7.0.0.txt IndicMatraCategory-7.0.0.txt Blocks.txt
256 $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-indic-table.cc \
257 || ($(RM) hb-ot-shape-complex-indic-table.cc; false)
258
Behdad Esfahbod20e246e2015-07-20 15:56:19 +0100259use-table: gen-use-table.py IndicSyllabicCategory.txt IndicPositionalCategory.txt UnicodeData.txt Blocks.txt
Behdad Esfahbode2c95112015-07-20 11:32:48 +0100260 $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-use-table.cc \
261 || ($(RM) hb-ot-shape-complex-use-table.cc; false)
262
Behdad Esfahbod343a0e42014-03-21 14:37:27 -0700263built-sources: $(BUILT_SOURCES)
Behdad Esfahbodcdc8b492012-03-07 12:08:33 -0500264
Behdad Esfahbode2c95112015-07-20 11:32:48 +0100265.PHONY: unicode-tables arabic-table indic-table use-table built-sources
Behdad Esfahbodcdc8b492012-03-07 12:08:33 -0500266
Behdad Esfahbodc0b82ba2014-10-01 14:24:07 -0400267RAGEL_GENERATED = \
William Hua5ecf96e2017-04-17 01:33:42 -0400268 $(patsubst %,$(srcdir)/%,$(HB_BASE_RAGEL_GENERATED_sources)) \
269 $(patsubst %,$(srcdir)/%,$(HB_OT_RAGEL_GENERATED_sources)) \
Behdad Esfahbod98628ca2013-02-11 13:36:23 -0500270 $(NULL)
Behdad Esfahbodc0b82ba2014-10-01 14:24:07 -0400271BUILT_SOURCES += $(RAGEL_GENERATED)
Behdad Esfahbod98628ca2013-02-11 13:36:23 -0500272EXTRA_DIST += \
Behdad Esfahboda4471d02017-04-05 15:42:11 +0200273 $(HB_BASE_RAGEL_sources) \
274 $(HB_OT_RAGEL_sources) \
Behdad Esfahbod98628ca2013-02-11 13:36:23 -0500275 $(NULL)
Behdad Esfahbodc0b82ba2014-10-01 14:24:07 -0400276MAINTAINERCLEANFILES += $(RAGEL_GENERATED)
277$(srcdir)/%.hh: $(srcdir)/%.rl
278 $(AM_V_GEN)(cd $(srcdir) && $(RAGEL) -e -F1 -o "$*.hh" "$*.rl") \
Behdad Esfahbod8971cac2014-10-01 12:41:03 -0400279 || ($(RM) "$@"; false)
Behdad Esfahbod867361c2011-06-17 18:35:46 -0400280
Behdad Esfahbode54dd262013-02-27 13:01:02 -0500281noinst_PROGRAMS = \
282 main \
283 test \
284 test-buffer-serialize \
285 test-size-params \
286 test-would-substitute \
287 $(NULL)
Behdad Esfahbod5353bf42011-02-22 18:06:19 -0500288bin_PROGRAMS =
289
Behdad Esfahbodb857b492009-05-20 05:35:14 -0400290main_SOURCES = main.cc
Behdad Esfahbodd94647e2009-11-03 16:35:10 -0500291main_CPPFLAGS = $(HBCFLAGS)
292main_LDADD = libharfbuzz.la $(HBLIBS)
Owen Taylor80a15822000-12-20 04:41:36 +0000293
Behdad Esfahbod0f3f5292012-11-30 09:06:59 +0200294test_SOURCES = test.cc
295test_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS)
296test_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
297
Behdad Esfahbodbe73a5f2012-07-19 14:59:15 -0400298test_would_substitute_SOURCES = test-would-substitute.cc
299test_would_substitute_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS)
300test_would_substitute_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
301
Behdad Esfahbod0f3f5292012-11-30 09:06:59 +0200302test_size_params_SOURCES = test-size-params.cc
303test_size_params_CPPFLAGS = $(HBCFLAGS)
304test_size_params_LDADD = libharfbuzz.la $(HBLIBS)
305
Behdad Esfahbode54dd262013-02-27 13:01:02 -0500306test_buffer_serialize_SOURCES = test-buffer-serialize.cc
307test_buffer_serialize_CPPFLAGS = $(HBCFLAGS)
308test_buffer_serialize_LDADD = libharfbuzz.la $(HBLIBS)
309
Behdad Esfahbod785982b2017-01-20 19:57:27 -0800310check: harfbuzz.def # For check-defs.sh
311
Behdad Esfahbod7bbe14b2011-01-09 22:29:14 -0500312dist_check_SCRIPTS = \
Behdad Esfahbodacdba3f2010-07-23 15:11:18 -0400313 check-c-linkage-decls.sh \
Behdad Esfahbod2af82622013-09-16 21:49:56 -0400314 check-defs.sh \
Behdad Esfahbodc2545b92017-10-07 12:56:53 +0200315 check-externs.sh \
Behdad Esfahbodd05d13d2010-06-09 07:15:03 -0400316 check-header-guards.sh \
Behdad Esfahbod5bc18192011-05-27 15:58:54 -0400317 check-includes.sh \
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400318 check-libstdc++.sh \
319 check-static-inits.sh \
Behdad Esfahbodac1b7232013-08-30 19:32:10 -0400320 check-symbols.sh \
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400321 $(NULL)
Behdad Esfahbodd59e28e2012-08-28 19:08:36 -0400322
Behdad Esfahbod70952dd2015-12-07 10:28:46 +0100323check_PROGRAMS = \
324 test-ot-tag \
325 $(NULL)
326test_ot_tag_SOURCES = hb-ot-tag.cc
327test_ot_tag_CPPFLAGS = $(HBCFLAGS) -DMAIN
328test_ot_tag_LDADD = libharfbuzz.la $(HBLIBS)
329
330TESTS = $(dist_check_SCRIPTS) $(check_PROGRAMS)
Behdad Esfahbod5bc18192011-05-27 15:58:54 -0400331TESTS_ENVIRONMENT = \
332 srcdir="$(srcdir)" \
333 MAKE="$(MAKE) $(AM_MAKEFLAGS)" \
334 HBSOURCES="$(HBSOURCES)" \
Behdad Esfahbod9de5f982013-02-04 23:28:22 -0500335 HBHEADERS="$(HBHEADERS) $(HBNODISTHEADERS)" \
Behdad Esfahbod5bc18192011-05-27 15:58:54 -0400336 $(NULL)
Behdad Esfahbod7bbe14b2011-01-09 22:29:14 -0500337
Behdad Esfahbod71ef22b2013-08-28 12:52:55 -0400338if HAVE_INTROSPECTION
339
Behdad Esfahbod23027f72013-08-22 19:03:21 -0400340-include $(INTROSPECTION_MAKEFILE)
Behdad Esfahbod26044232015-07-26 23:39:10 +0200341INTROSPECTION_GIRS = HarfBuzz-0.0.gir # What does the 0 mean anyway?!
Behdad Esfahbod23027f72013-08-22 19:03:21 -0400342INTROSPECTION_SCANNER_ARGS = -I$(srcdir) -n hb --identifier-prefix=hb_ --warn-all
343INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
Behdad Esfahbodd6d349d2014-07-23 11:38:49 -0400344INTROSPECTION_SCANNER_ENV = CC="$(CC)"
Behdad Esfahbod23027f72013-08-22 19:03:21 -0400345
Behdad Esfahbodb94243d2013-08-30 18:41:33 -0400346HarfBuzz-0.0.gir: libharfbuzz.la libharfbuzz-gobject.la
347HarfBuzz_0_0_gir_INCLUDES = GObject-2.0
348HarfBuzz_0_0_gir_CFLAGS = \
Behdad Esfahbod23027f72013-08-22 19:03:21 -0400349 $(INCLUDES) \
350 $(HBCFLAGS) \
351 -DHB_H \
352 -DHB_H_IN \
353 -DHB_OT_H \
354 -DHB_OT_H_IN \
Behdad Esfahbodd8f50702013-08-26 21:26:24 -0400355 -DHB_GOBJECT_H \
356 -DHB_GOBJECT_H_IN \
Behdad Esfahbod0e38c912015-11-26 19:26:26 -0500357 -DHB_EXTERN= \
Behdad Esfahbod23027f72013-08-22 19:03:21 -0400358 $(NULL)
Behdad Esfahbodb94243d2013-08-30 18:41:33 -0400359HarfBuzz_0_0_gir_LIBS = \
Behdad Esfahbodd8f50702013-08-26 21:26:24 -0400360 libharfbuzz.la \
361 libharfbuzz-gobject.la \
362 $(NULL)
Behdad Esfahbodb94243d2013-08-30 18:41:33 -0400363HarfBuzz_0_0_gir_FILES = \
Behdad Esfahbodd8f50702013-08-26 21:26:24 -0400364 $(HBHEADERS) \
365 $(HBNODISTHEADERS) \
Behdad Esfahbode0dbf992013-09-05 16:00:47 -0400366 $(HBSOURCES) \
Chun-wei Fan35ded3a2015-11-03 16:56:27 +0800367 $(HB_GOBJECT_ENUM_sources) \
368 $(HB_GOBJECT_ENUM_headers) \
369 $(HB_GOBJECT_sources) \
370 $(HB_GOBJECT_STRUCTS_headers) \
Behdad Esfahbodd8f50702013-08-26 21:26:24 -0400371 $(NULL)
Behdad Esfahbod23027f72013-08-22 19:03:21 -0400372
373girdir = $(datadir)/gir-1.0
374gir_DATA = $(INTROSPECTION_GIRS)
375
376typelibdir = $(libdir)/girepository-1.0
377typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
378
379CLEANFILES += $(gir_DATA) $(typelib_DATA)
Behdad Esfahbod71ef22b2013-08-28 12:52:55 -0400380
Behdad Esfahbod23027f72013-08-22 19:03:21 -0400381endif
Behdad Esfahbodc214cff2011-08-14 15:17:16 +0200382
Behdad Esfahbod0e13bee2009-04-17 17:03:39 -0400383-include $(top_srcdir)/git.mk