blob: fe14287a26b3d842d6d0aa2c89ed015d5c17719d [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 Esfahbodb857b492009-05-20 05:35:14 -04003NULL =
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 Esfahbodfd74b932015-07-20 13:30:45 +010017lib: $(BUILT_SOURCES) libharfbuzz.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
Behdad Esfahbodd94647e2009-11-03 16:35:10 -050022HBCFLAGS =
23HBLIBS =
Behdad Esfahbod539a6102015-08-11 12:58:49 +020024HBNONPCLIBS =
25HBDEPS =
Behdad Esfahbodb857b492009-05-20 05:35:14 -040026HBSOURCES = \
Behdad Esfahbodec3ba4b2012-05-17 20:30:46 -040027 hb-atomic-private.hh \
Behdad Esfahbodf19f4f92011-04-20 18:25:56 -040028 hb-blob.cc \
Behdad Esfahbodcd54d502013-03-04 21:29:38 -050029 hb-buffer-deserialize-json.hh \
30 hb-buffer-deserialize-text.hh \
Behdad Esfahbod22da7fd2010-05-12 18:23:21 -040031 hb-buffer-private.hh \
Behdad Esfahbodd3e14aa2013-02-27 11:06:36 -050032 hb-buffer-serialize.cc \
Behdad Esfahbod56eb5ad2011-05-04 19:27:37 -040033 hb-buffer.cc \
Behdad Esfahbod20fdb0f2012-05-17 22:04:45 -040034 hb-cache-private.hh \
Behdad Esfahbodc57d4542011-04-20 18:50:27 -040035 hb-common.cc \
Behdad Esfahbod2e3a07a2013-08-26 18:49:07 -040036 hb-face-private.hh \
37 hb-face.cc \
Behdad Esfahbodc57d4542011-04-20 18:50:27 -040038 hb-font-private.hh \
Behdad Esfahbod56eb5ad2011-05-04 19:27:37 -040039 hb-font.cc \
40 hb-mutex-private.hh \
Behdad Esfahbodc57d4542011-04-20 18:50:27 -040041 hb-object-private.hh \
Behdad Esfahbod5f5b24f2009-08-02 20:03:12 -040042 hb-open-file-private.hh \
Behdad Esfahbod7edb4302009-08-04 22:06:57 -040043 hb-open-type-private.hh \
Behdad Esfahbod41ca1fb2014-05-09 15:35:56 -040044 hb-ot-cmap-table.hh \
Behdad Esfahbodb50fcfa2015-08-23 14:42:20 +010045 hb-ot-glyf-table.hh \
Behdad Esfahbod7a750ac2011-08-17 14:19:59 +020046 hb-ot-head-table.hh \
Behdad Esfahbod74ef81a2011-08-24 19:16:13 +020047 hb-ot-hhea-table.hh \
48 hb-ot-hmtx-table.hh \
Behdad Esfahbod7a750ac2011-08-17 14:19:59 +020049 hb-ot-maxp-table.hh \
50 hb-ot-name-table.hh \
Behdad Esfahbodb4922992011-08-05 20:34:50 -040051 hb-ot-tag.cc \
Behdad Esfahbodc57d4542011-04-20 18:50:27 -040052 hb-private.hh \
Behdad Esfahbod0b08adb2012-04-23 22:41:09 -040053 hb-set-private.hh \
54 hb-set.cc \
Behdad Esfahbod22da7fd2010-05-12 18:23:21 -040055 hb-shape.cc \
Behdad Esfahbod027857d2012-07-26 17:34:25 -040056 hb-shape-plan-private.hh \
57 hb-shape-plan.cc \
Behdad Esfahbod027857d2012-07-26 17:34:25 -040058 hb-shaper-list.hh \
59 hb-shaper-impl-private.hh \
60 hb-shaper-private.hh \
Behdad Esfahbodbd26b4d2012-07-26 22:05:39 -040061 hb-shaper.cc \
Behdad Esfahbodfb194b82011-04-20 02:00:47 -040062 hb-unicode-private.hh \
Behdad Esfahbod56eb5ad2011-05-04 19:27:37 -040063 hb-unicode.cc \
Behdad Esfahbod7f19ae72012-09-25 11:22:28 -040064 hb-utf-private.hh \
Behdad Esfahbodbd7ff1d2012-02-23 15:06:16 -050065 hb-warning.cc \
Behdad Esfahbodb857b492009-05-20 05:35:14 -040066 $(NULL)
Behdad Esfahbodb857b492009-05-20 05:35:14 -040067HBHEADERS = \
Behdad Esfahbod678bed42009-08-02 15:35:31 -040068 hb.h \
Behdad Esfahbodf0954d12009-07-30 15:33:57 -040069 hb-blob.h \
Behdad Esfahbod5c0adce2009-05-20 05:42:12 -040070 hb-buffer.h \
Behdad Esfahbodf0954d12009-07-30 15:33:57 -040071 hb-common.h \
Behdad Esfahbod4dc798d2013-08-26 20:39:00 -040072 hb-deprecated.h \
Behdad Esfahbod2e3a07a2013-08-26 18:49:07 -040073 hb-face.h \
Behdad Esfahbodc62b5032009-08-01 19:54:49 -040074 hb-font.h \
Behdad Esfahbod0b08adb2012-04-23 22:41:09 -040075 hb-set.h \
Behdad Esfahbodd5a8e462009-11-03 15:14:40 -050076 hb-shape.h \
Behdad Esfahbodf3064102012-11-15 18:39:46 -080077 hb-shape-plan.h \
Behdad Esfahbodd5a8e462009-11-03 15:14:40 -050078 hb-unicode.h \
Behdad Esfahbod9de5f982013-02-04 23:28:22 -050079 $(NULL)
80HBNODISTHEADERS = \
Behdad Esfahbodc78f4482011-05-05 21:31:04 -040081 hb-version.h \
Behdad Esfahbodd5a8e462009-11-03 15:14:40 -050082 $(NULL)
83
Behdad Esfahbod02aeca92011-08-04 22:31:05 -040084if HAVE_OT
Behdad Esfahbodd5a8e462009-11-03 15:14:40 -050085HBSOURCES += \
Behdad Esfahbod90364842014-03-24 14:26:36 -070086 hb-ot-font.cc \
Behdad Esfahbodd5a8e462009-11-03 15:14:40 -050087 hb-ot-layout.cc \
88 hb-ot-layout-common-private.hh \
Behdad Esfahbod7a750ac2011-08-17 14:19:59 +020089 hb-ot-layout-gdef-table.hh \
90 hb-ot-layout-gpos-table.hh \
Behdad Esfahbodd5a8e462009-11-03 15:14:40 -050091 hb-ot-layout-gsubgpos-private.hh \
Behdad Esfahbod7a750ac2011-08-17 14:19:59 +020092 hb-ot-layout-gsub-table.hh \
Behdad Esfahbod6c48f202013-09-09 15:43:10 -040093 hb-ot-layout-jstf-table.hh \
Behdad Esfahbod22da7fd2010-05-12 18:23:21 -040094 hb-ot-layout-private.hh \
Behdad Esfahbod5a2b0b32010-10-08 20:14:57 -040095 hb-ot-map.cc \
Behdad Esfahbod4924aff2010-10-08 19:18:16 -040096 hb-ot-map-private.hh \
Behdad Esfahbod22da7fd2010-05-12 18:23:21 -040097 hb-ot-shape.cc \
Behdad Esfahbod49baa1f2010-10-12 16:50:36 -040098 hb-ot-shape-complex-arabic.cc \
Behdad Esfahbodfabd3112012-09-05 22:19:28 -040099 hb-ot-shape-complex-arabic-fallback.hh \
Behdad Esfahbod9daf2df2015-07-22 10:32:30 +0100100 hb-ot-shape-complex-arabic-private.hh \
Behdad Esfahbodc57d4542011-04-20 18:50:27 -0400101 hb-ot-shape-complex-arabic-table.hh \
Behdad Esfahbodf28b1c82014-07-30 02:15:44 -0400102 hb-ot-shape-complex-arabic-win1256.hh \
Behdad Esfahbod43f04a72012-11-14 15:51:54 -0800103 hb-ot-shape-complex-default.cc \
Behdad Esfahbodc98b7182013-12-31 15:55:40 +0800104 hb-ot-shape-complex-hangul.cc \
Behdad Esfahbodf14bb7d2013-12-31 16:49:15 +0800105 hb-ot-shape-complex-hebrew.cc \
Behdad Esfahbodb9ddbd52011-06-02 17:43:12 -0400106 hb-ot-shape-complex-indic.cc \
Behdad Esfahbod867361c2011-06-17 18:35:46 -0400107 hb-ot-shape-complex-indic-machine.hh \
Behdad Esfahbod3ed46342012-04-19 22:34:06 -0400108 hb-ot-shape-complex-indic-private.hh \
Behdad Esfahbod3a83d332013-02-12 12:14:10 -0500109 hb-ot-shape-complex-indic-table.cc \
Behdad Esfahbod98628ca2013-02-11 13:36:23 -0500110 hb-ot-shape-complex-myanmar.cc \
111 hb-ot-shape-complex-myanmar-machine.hh \
Behdad Esfahbod43f04a72012-11-14 15:51:54 -0800112 hb-ot-shape-complex-thai.cc \
Behdad Esfahbodf14bb7d2013-12-31 16:49:15 +0800113 hb-ot-shape-complex-tibetan.cc \
Behdad Esfahbode2c95112015-07-20 11:32:48 +0100114 hb-ot-shape-complex-use.cc \
115 hb-ot-shape-complex-use-machine.hh \
116 hb-ot-shape-complex-use-private.hh \
117 hb-ot-shape-complex-use-table.cc \
Behdad Esfahbod49baa1f2010-10-12 16:50:36 -0400118 hb-ot-shape-complex-private.hh \
Behdad Esfahbod11138cc2012-04-05 17:25:19 -0400119 hb-ot-shape-normalize-private.hh \
Behdad Esfahbod655586f2011-07-21 00:51:18 -0400120 hb-ot-shape-normalize.cc \
Behdad Esfahbod9c929ab2012-08-08 14:33:37 -0400121 hb-ot-shape-fallback-private.hh \
122 hb-ot-shape-fallback.cc \
Behdad Esfahboda8067622010-10-08 19:18:40 -0400123 hb-ot-shape-private.hh \
Behdad Esfahbodd5a8e462009-11-03 15:14:40 -0500124 $(NULL)
125HBHEADERS += \
Behdad Esfahbod678bed42009-08-02 15:35:31 -0400126 hb-ot.h \
Behdad Esfahbod90364842014-03-24 14:26:36 -0700127 hb-ot-font.h \
Behdad Esfahbodb857b492009-05-20 05:35:14 -0400128 hb-ot-layout.h \
Luis de Bethencourtfbd4acc2013-12-22 08:02:11 -0500129 hb-ot-shape.h \
Behdad Esfahbod8a3511a2009-11-04 19:45:39 -0500130 hb-ot-tag.h \
Behdad Esfahbodb857b492009-05-20 05:35:14 -0400131 $(NULL)
Behdad Esfahbod02aeca92011-08-04 22:31:05 -0400132endif
Behdad Esfahbodc78f4482011-05-05 21:31:04 -0400133
Konstantin Rittc9522de2014-01-22 21:07:13 +0200134if HAVE_FALLBACK
135HBSOURCES += hb-fallback-shape.cc
136endif
137
Behdad Esfahbod66efe892012-10-02 14:55:32 -0400138if HAVE_PTHREAD
139HBCFLAGS += $(PTHREAD_CFLAGS)
Behdad Esfahbod539a6102015-08-11 12:58:49 +0200140HBNONPCLIBS += $(PTHREAD_LIBS)
Behdad Esfahbod66efe892012-10-02 14:55:32 -0400141endif
142
Behdad Esfahbod63a792a2009-11-02 18:33:52 -0500143if HAVE_GLIB
Behdad Esfahbodd94647e2009-11-03 16:35:10 -0500144HBCFLAGS += $(GLIB_CFLAGS)
Behdad Esfahbod8fb3d1a2009-11-03 18:34:20 -0500145HBLIBS += $(GLIB_LIBS)
Behdad Esfahbod539a6102015-08-11 12:58:49 +0200146HBDEPS += $(GLIB_DEPS)
Behdad Esfahbodc214cff2011-08-14 15:17:16 +0200147HBSOURCES += hb-glib.cc
148HBHEADERS += hb-glib.h
149endif
150
Behdad Esfahbod8fb3d1a2009-11-03 18:34:20 -0500151if HAVE_FREETYPE
152HBCFLAGS += $(FREETYPE_CFLAGS)
153HBLIBS += $(FREETYPE_LIBS)
Behdad Esfahbodddd6bf12015-08-18 15:55:09 +0100154# XXX
155# The following creates a recursive dependency on FreeType if FreeType is
156# built with HarfBuzz support enabled. Newer pkg-config handles that just
157# fine but pkg-config 0.26 as shipped in Ubuntu 14.04 crashes. Remove
158# in a year or two, or otherwise work around it...
159#HBDEPS += $(FREETYPE_DEPS)
Behdad Esfahbodc214cff2011-08-14 15:17:16 +0200160HBSOURCES += hb-ft.cc
161HBHEADERS += hb-ft.h
Behdad Esfahbod8fb3d1a2009-11-03 18:34:20 -0500162endif
Behdad Esfahbodca95ce42009-11-03 14:18:33 -0500163
Behdad Esfahbod6bd9b472012-04-12 14:53:53 -0400164if HAVE_GRAPHITE2
165HBCFLAGS += $(GRAPHITE2_CFLAGS)
166HBLIBS += $(GRAPHITE2_LIBS)
Behdad Esfahbod539a6102015-08-11 12:58:49 +0200167HBDEPS += $(GRAPHITE2_DEPS)
Behdad Esfahbod027857d2012-07-26 17:34:25 -0400168HBSOURCES += hb-graphite2.cc
Behdad Esfahbod1f49cf32011-08-24 01:29:25 +0200169HBHEADERS += hb-graphite2.h
170endif
171
Behdad Esfahbod0fbb2dc2011-08-03 19:55:04 -0400172if HAVE_UNISCRIBE
173HBCFLAGS += $(UNISCRIBE_CFLAGS)
Behdad Esfahbod539a6102015-08-11 12:58:49 +0200174HBNONPCLIBS += $(UNISCRIBE_LIBS)
Behdad Esfahbod027857d2012-07-26 17:34:25 -0400175HBSOURCES += hb-uniscribe.cc
Behdad Esfahbodc214cff2011-08-14 15:17:16 +0200176HBHEADERS += hb-uniscribe.h
Behdad Esfahbod0fbb2dc2011-08-03 19:55:04 -0400177endif
178
Jonathan Kewaa6d8492012-07-24 15:52:32 -0400179if HAVE_CORETEXT
180HBCFLAGS += $(CORETEXT_CFLAGS)
Behdad Esfahbod539a6102015-08-11 12:58:49 +0200181HBNONPCLIBS += $(CORETEXT_LIBS)
Behdad Esfahbod027857d2012-07-26 17:34:25 -0400182HBSOURCES += hb-coretext.cc
Jonathan Kewaa6d8492012-07-24 15:52:32 -0400183HBHEADERS += hb-coretext.h
184endif
185
Behdad Esfahbod3f33f0d2012-10-02 16:03:18 -0400186if HAVE_UCDN
187SUBDIRS += hb-ucdn
188HBCFLAGS += -I$(srcdir)/hb-ucdn
189HBLIBS += hb-ucdn/libhb-ucdn.la
190HBSOURCES += hb-ucdn.cc
191endif
192DIST_SUBDIRS += hb-ucdn
Behdad Esfahbod1512a732012-07-24 19:16:56 -0400193
Behdad Esfahbod560d68a2012-08-08 17:16:01 -0400194
195# Put the library together
196
Behdad Esfahbod539a6102015-08-11 12:58:49 +0200197HBLIBS += $(HBNONPCLIBS)
198
Behdad Esfahbod560d68a2012-08-08 17:16:01 -0400199if OS_WIN32
200export_symbols = -export-symbols harfbuzz.def
201harfbuzz_def_dependency = harfbuzz.def
Behdad Esfahbod20a840c2012-09-24 20:23:00 -0400202libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS)
203else
Behdad Esfahbode7846322013-01-14 00:27:21 -0600204# Use a C linker for GCC, not C++; Don't link to libstdc++
205if HAVE_GCC
Behdad Esfahbod61eb60c2012-06-05 21:14:04 -0400206libharfbuzz_la_LINK = $(LINK) $(libharfbuzz_la_LDFLAGS)
Behdad Esfahbode7846322013-01-14 00:27:21 -0600207else
208libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS)
209endif
Behdad Esfahbod20a840c2012-09-24 20:23:00 -0400210endif
211
Behdad Esfahbod9de5f982013-02-04 23:28:22 -0500212libharfbuzz_la_SOURCES = $(HBSOURCES) $(HBHEADERS) $(HBNODISTHEADERS)
Behdad Esfahbodd94647e2009-11-03 16:35:10 -0500213libharfbuzz_la_CPPFLAGS = $(HBCFLAGS)
Behdad Esfahbod560d68a2012-08-08 17:16:01 -0400214libharfbuzz_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) $(export_symbols) -no-undefined
Behdad Esfahbodd94647e2009-11-03 16:35:10 -0500215libharfbuzz_la_LIBADD = $(HBLIBS)
Behdad Esfahbodeb7669a2012-09-18 19:42:06 -0400216EXTRA_libharfbuzz_la_DEPENDENCIES = $(harfbuzz_def_dependency)
Behdad Esfahbod1f0ceeb2009-11-02 16:28:39 -0500217pkginclude_HEADERS = $(HBHEADERS)
Behdad Esfahbod9de5f982013-02-04 23:28:22 -0500218nodist_pkginclude_HEADERS = $(HBNODISTHEADERS)
Behdad Esfahbod22ce0962013-05-28 17:18:30 -0400219pkgconfigdir = $(libdir)/pkgconfig
220pkgconfig_DATA = harfbuzz.pc
Behdad Esfahbodd70be292013-05-28 17:23:56 -0400221EXTRA_DIST += harfbuzz.pc.in
Owen Taylor80a15822000-12-20 04:41:36 +0000222
Behdad Esfahbodff16ef32015-11-18 16:27:32 -0800223FUZZING_CPPFLAGS= \
224 -DHB_MAX_NESTING_LEVEL=3 \
225 -DHB_SANITIZE_MAX_EDITS=3 \
226 -DHB_BUFFER_MAX_EXPANSION_FACTOR=3 \
227 -DHB_BUFFER_MAX_LEN_MIN=8 \
228 -DHB_BUFFER_MAX_LEN_DEFAULT=128 \
229 $(NULL)
230EXTRA_LTLIBRARIES = libharfbuzz-fuzzing.la
231libharfbuzz_fuzzing_la_LINK = $(libharfbuzz_la_LINK)
232libharfbuzz_fuzzing_la_SOURCES = $(libharfbuzz_la_SOURCES)
233libharfbuzz_fuzzing_la_CPPFLAGS = $(libharfbuzz_la_CPPFLAGS) $(FUZZING_CPPFLAGS)
234libharfbuzz_fuzzing_la_LDFLAGS = $(libharfbuzz_la_LDFLAGS)
235libharfbuzz_fuzzing_la_LIBADD = $(libharfbuzz_la_LIBADD)
236EXTRA_libharfbuzz_fuzzing_la_DEPENDENCIES = $(EXTRA_libharfbuzz_la_DEPENDENCIES)
Behdad Esfahbod63fe05c2015-11-18 23:52:34 -0800237CLEANFILES += libharfbuzz-fuzzing.la
Behdad Esfahbodff16ef32015-11-18 16:27:32 -0800238
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400239if HAVE_ICU
240lib_LTLIBRARIES += libharfbuzz-icu.la
241libharfbuzz_icu_la_SOURCES = hb-icu.cc
242libharfbuzz_icu_la_CPPFLAGS = $(ICU_CFLAGS)
243libharfbuzz_icu_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) -no-undefined
244libharfbuzz_icu_la_LIBADD = $(ICU_LIBS) libharfbuzz.la
245pkginclude_HEADERS += hb-icu.h
Behdad Esfahbod22ce0962013-05-28 17:18:30 -0400246pkgconfig_DATA += harfbuzz-icu.pc
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400247endif
Behdad Esfahbod213001a2013-09-03 20:00:16 -0400248EXTRA_DIST += harfbuzz-icu.pc.in
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400249
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400250if HAVE_GOBJECT
251lib_LTLIBRARIES += libharfbuzz-gobject.la
252libharfbuzz_gobject_la_SOURCES = hb-gobject-structs.cc
253nodist_libharfbuzz_gobject_la_SOURCES = hb-gobject-enums.cc
254libharfbuzz_gobject_la_CPPFLAGS = $(GOBJECT_CFLAGS)
255libharfbuzz_gobject_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) -no-undefined
256libharfbuzz_gobject_la_LIBADD = $(GOBJECT_LIBS) libharfbuzz.la
257pkginclude_HEADERS += hb-gobject.h hb-gobject-structs.h
258nodist_pkginclude_HEADERS += hb-gobject-enums.h
259pkgconfig_DATA += harfbuzz-gobject.pc
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400260
261BUILT_SOURCES += \
262 hb-gobject-enums.cc \
263 hb-gobject-enums.h \
264 $(NULL)
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400265DISTCLEANFILES += \
266 hb-gobject-enums.cc \
267 hb-gobject-enums.h \
268 $(NULL)
269hb-gobject-enums.%: hb-gobject-enums.%.tmpl $(HBHEADERS)
270 $(AM_V_GEN) $(GLIB_MKENUMS) \
271 --identifier-prefix hb_ --symbol-prefix hb_gobject \
272 --template $^ | \
Behdad Esfahbod8971cac2014-10-01 12:41:03 -0400273 sed 's/_t_get_type/_get_type/g; s/_T (/ (/g' > "$@" \
274 || ($(RM) "$@"; false)
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400275endif
Behdad Esfahbod213001a2013-09-03 20:00:16 -0400276EXTRA_DIST += \
277 harfbuzz-gobject.pc.in \
278 hb-gobject-enums.cc.tmpl \
279 hb-gobject-enums.h.tmpl \
280 $(NULL)
Behdad Esfahbod71439a82013-08-26 20:56:58 -0400281
282
Behdad Esfahbod22ce0962013-05-28 17:18:30 -0400283%.pc: %.pc.in $(top_builddir)/config.status
284 $(AM_V_GEN) \
Behdad Esfahbod2fd0e022013-06-06 17:16:01 -0400285 $(SED) -e 's@%prefix%@$(prefix)@g' \
286 -e 's@%exec_prefix%@$(exec_prefix)@g' \
287 -e 's@%libdir%@$(libdir)@g' \
288 -e 's@%includedir%@$(includedir)@g' \
Behdad Esfahbod539a6102015-08-11 12:58:49 +0200289 -e 's@%libs_private%@$(HBNONPCLIBS)@g' \
290 -e 's@%requires_private%@$(HBDEPS)@g' \
Behdad Esfahbod2fd0e022013-06-06 17:16:01 -0400291 -e 's@%VERSION%@$(VERSION)@g' \
Behdad Esfahbod8971cac2014-10-01 12:41:03 -0400292 "$<" > "$@" \
293 || ($(RM) "$@"; false)
Behdad Esfahbod22ce0962013-05-28 17:18:30 -0400294
Behdad Esfahbodd70be292013-05-28 17:23:56 -0400295CLEANFILES += $(pkgconfig_DATA)
296
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400297
Behdad Esfahbod560d68a2012-08-08 17:16:01 -0400298CLEANFILES += harfbuzz.def
Behdad Esfahbod9de5f982013-02-04 23:28:22 -0500299harfbuzz.def: $(HBHEADERS) $(HBNODISTHEADERS)
Behdad Esfahbod560d68a2012-08-08 17:16:01 -0400300 $(AM_V_GEN) (echo EXPORTS; \
301 (cat $^ || echo 'hb_ERROR ()' ) | \
302 $(EGREP) '^hb_.* \(' | \
303 sed -e 's/ (.*//' | \
304 LANG=C sort; \
Behdad Esfahbodbd22a5c2015-08-07 11:13:27 +0200305 echo LIBRARY libharfbuzz-0.dll; \
Behdad Esfahbod8971cac2014-10-01 12:41:03 -0400306 ) >"$@"
307 @ ! grep -q hb_ERROR "$@" \
308 || ($(RM) "$@"; false)
Behdad Esfahbod560d68a2012-08-08 17:16:01 -0400309
Behdad Esfahbod3eb936f2010-10-05 18:36:58 -0400310
311GENERATORS = \
Behdad Esfahbod9d494332011-06-01 18:10:10 -0400312 gen-arabic-table.py \
Behdad Esfahbodb9ddbd52011-06-02 17:43:12 -0400313 gen-indic-table.py \
Behdad Esfahbode2c95112015-07-20 11:32:48 +0100314 gen-use-table.py \
Behdad Esfahbod3eb936f2010-10-05 18:36:58 -0400315 $(NULL)
Behdad Esfahbod3eb936f2010-10-05 18:36:58 -0400316EXTRA_DIST += $(GENERATORS)
317
Behdad Esfahbode2c95112015-07-20 11:32:48 +0100318unicode-tables: arabic-table indic-table use-table
Behdad Esfahbodcdc8b492012-03-07 12:08:33 -0500319
Behdad Esfahbod3f5327a2014-06-20 16:17:42 -0400320arabic-table: gen-arabic-table.py ArabicShaping.txt UnicodeData.txt Blocks.txt
Behdad Esfahbod8971cac2014-10-01 12:41:03 -0400321 $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-arabic-table.hh \
322 || ($(RM) hb-ot-shape-complex-arabic-table.hh; false)
Behdad Esfahbodcdc8b492012-03-07 12:08:33 -0500323
Behdad Esfahbode2c95112015-07-20 11:32:48 +0100324indic-table: gen-indic-table.py IndicSyllabicCategory-7.0.0.txt IndicMatraCategory-7.0.0.txt Blocks.txt
325 $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-indic-table.cc \
326 || ($(RM) hb-ot-shape-complex-indic-table.cc; false)
327
Behdad Esfahbod20e246e2015-07-20 15:56:19 +0100328use-table: gen-use-table.py IndicSyllabicCategory.txt IndicPositionalCategory.txt UnicodeData.txt Blocks.txt
Behdad Esfahbode2c95112015-07-20 11:32:48 +0100329 $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-use-table.cc \
330 || ($(RM) hb-ot-shape-complex-use-table.cc; false)
331
Behdad Esfahbod343a0e42014-03-21 14:37:27 -0700332built-sources: $(BUILT_SOURCES)
Behdad Esfahbodcdc8b492012-03-07 12:08:33 -0500333
Behdad Esfahbode2c95112015-07-20 11:32:48 +0100334.PHONY: unicode-tables arabic-table indic-table use-table built-sources
Behdad Esfahbodcdc8b492012-03-07 12:08:33 -0500335
Behdad Esfahbodc0b82ba2014-10-01 14:24:07 -0400336RAGEL_GENERATED = \
337 $(srcdir)/hb-buffer-deserialize-json.hh \
338 $(srcdir)/hb-buffer-deserialize-text.hh \
339 $(srcdir)/hb-ot-shape-complex-indic-machine.hh \
340 $(srcdir)/hb-ot-shape-complex-myanmar-machine.hh \
Behdad Esfahbode2c95112015-07-20 11:32:48 +0100341 $(srcdir)/hb-ot-shape-complex-use-machine.hh \
Behdad Esfahbod98628ca2013-02-11 13:36:23 -0500342 $(NULL)
Behdad Esfahbodc0b82ba2014-10-01 14:24:07 -0400343BUILT_SOURCES += $(RAGEL_GENERATED)
Behdad Esfahbod98628ca2013-02-11 13:36:23 -0500344EXTRA_DIST += \
Behdad Esfahbod20b817a2013-02-27 18:39:37 -0500345 hb-buffer-deserialize-json.rl \
Behdad Esfahbod847794e2013-02-27 17:59:28 -0500346 hb-buffer-deserialize-text.rl \
Behdad Esfahbod98628ca2013-02-11 13:36:23 -0500347 hb-ot-shape-complex-indic-machine.rl \
348 hb-ot-shape-complex-myanmar-machine.rl \
Behdad Esfahbode2c95112015-07-20 11:32:48 +0100349 hb-ot-shape-complex-use-machine.rl \
Behdad Esfahbod98628ca2013-02-11 13:36:23 -0500350 $(NULL)
Behdad Esfahbodc0b82ba2014-10-01 14:24:07 -0400351MAINTAINERCLEANFILES += $(RAGEL_GENERATED)
352$(srcdir)/%.hh: $(srcdir)/%.rl
353 $(AM_V_GEN)(cd $(srcdir) && $(RAGEL) -e -F1 -o "$*.hh" "$*.rl") \
Behdad Esfahbod8971cac2014-10-01 12:41:03 -0400354 || ($(RM) "$@"; false)
Behdad Esfahbod867361c2011-06-17 18:35:46 -0400355
Behdad Esfahbode54dd262013-02-27 13:01:02 -0500356noinst_PROGRAMS = \
357 main \
358 test \
359 test-buffer-serialize \
360 test-size-params \
361 test-would-substitute \
362 $(NULL)
Behdad Esfahbod5353bf42011-02-22 18:06:19 -0500363bin_PROGRAMS =
364
Behdad Esfahbodb857b492009-05-20 05:35:14 -0400365main_SOURCES = main.cc
Behdad Esfahbodd94647e2009-11-03 16:35:10 -0500366main_CPPFLAGS = $(HBCFLAGS)
367main_LDADD = libharfbuzz.la $(HBLIBS)
Owen Taylor80a15822000-12-20 04:41:36 +0000368
Behdad Esfahbod0f3f5292012-11-30 09:06:59 +0200369test_SOURCES = test.cc
370test_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS)
371test_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
372
Behdad Esfahbodbe73a5f2012-07-19 14:59:15 -0400373test_would_substitute_SOURCES = test-would-substitute.cc
374test_would_substitute_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS)
375test_would_substitute_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
376
Behdad Esfahbod0f3f5292012-11-30 09:06:59 +0200377test_size_params_SOURCES = test-size-params.cc
378test_size_params_CPPFLAGS = $(HBCFLAGS)
379test_size_params_LDADD = libharfbuzz.la $(HBLIBS)
380
Behdad Esfahbode54dd262013-02-27 13:01:02 -0500381test_buffer_serialize_SOURCES = test-buffer-serialize.cc
382test_buffer_serialize_CPPFLAGS = $(HBCFLAGS)
383test_buffer_serialize_LDADD = libharfbuzz.la $(HBLIBS)
384
Behdad Esfahbod7bbe14b2011-01-09 22:29:14 -0500385dist_check_SCRIPTS = \
Behdad Esfahbodacdba3f2010-07-23 15:11:18 -0400386 check-c-linkage-decls.sh \
Behdad Esfahbod2af82622013-09-16 21:49:56 -0400387 check-defs.sh \
Behdad Esfahbodd05d13d2010-06-09 07:15:03 -0400388 check-header-guards.sh \
Behdad Esfahbod5bc18192011-05-27 15:58:54 -0400389 check-includes.sh \
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400390 check-libstdc++.sh \
391 check-static-inits.sh \
Behdad Esfahbodac1b7232013-08-30 19:32:10 -0400392 check-symbols.sh \
Behdad Esfahbodd9afa112013-05-28 15:27:40 -0400393 $(NULL)
Behdad Esfahbodd59e28e2012-08-28 19:08:36 -0400394
Behdad Esfahbodc57d4542011-04-20 18:50:27 -0400395TESTS = $(dist_check_SCRIPTS)
Behdad Esfahbod5bc18192011-05-27 15:58:54 -0400396TESTS_ENVIRONMENT = \
397 srcdir="$(srcdir)" \
398 MAKE="$(MAKE) $(AM_MAKEFLAGS)" \
399 HBSOURCES="$(HBSOURCES)" \
Behdad Esfahbod9de5f982013-02-04 23:28:22 -0500400 HBHEADERS="$(HBHEADERS) $(HBNODISTHEADERS)" \
Behdad Esfahbod5bc18192011-05-27 15:58:54 -0400401 $(NULL)
Behdad Esfahbod7bbe14b2011-01-09 22:29:14 -0500402
Behdad Esfahbod71ef22b2013-08-28 12:52:55 -0400403if HAVE_INTROSPECTION
404
Behdad Esfahbod23027f72013-08-22 19:03:21 -0400405-include $(INTROSPECTION_MAKEFILE)
Behdad Esfahbod26044232015-07-26 23:39:10 +0200406INTROSPECTION_GIRS = HarfBuzz-0.0.gir # What does the 0 mean anyway?!
Behdad Esfahbod23027f72013-08-22 19:03:21 -0400407INTROSPECTION_SCANNER_ARGS = -I$(srcdir) -n hb --identifier-prefix=hb_ --warn-all
408INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
Behdad Esfahbodd6d349d2014-07-23 11:38:49 -0400409INTROSPECTION_SCANNER_ENV = CC="$(CC)"
Behdad Esfahbod23027f72013-08-22 19:03:21 -0400410
Behdad Esfahbodb94243d2013-08-30 18:41:33 -0400411HarfBuzz-0.0.gir: libharfbuzz.la libharfbuzz-gobject.la
412HarfBuzz_0_0_gir_INCLUDES = GObject-2.0
413HarfBuzz_0_0_gir_CFLAGS = \
Behdad Esfahbod23027f72013-08-22 19:03:21 -0400414 $(INCLUDES) \
415 $(HBCFLAGS) \
416 -DHB_H \
417 -DHB_H_IN \
418 -DHB_OT_H \
419 -DHB_OT_H_IN \
Behdad Esfahbodd8f50702013-08-26 21:26:24 -0400420 -DHB_GOBJECT_H \
421 -DHB_GOBJECT_H_IN \
Behdad Esfahbod23027f72013-08-22 19:03:21 -0400422 $(NULL)
Behdad Esfahbodb94243d2013-08-30 18:41:33 -0400423HarfBuzz_0_0_gir_LIBS = \
Behdad Esfahbodd8f50702013-08-26 21:26:24 -0400424 libharfbuzz.la \
425 libharfbuzz-gobject.la \
426 $(NULL)
Behdad Esfahbodb94243d2013-08-30 18:41:33 -0400427HarfBuzz_0_0_gir_FILES = \
Behdad Esfahbodd8f50702013-08-26 21:26:24 -0400428 $(HBHEADERS) \
429 $(HBNODISTHEADERS) \
Behdad Esfahbode0dbf992013-09-05 16:00:47 -0400430 $(HBSOURCES) \
Behdad Esfahboddfdbe7f2013-09-12 20:52:20 -0400431 hb-gobject-enums.cc \
Behdad Esfahbodd8f50702013-08-26 21:26:24 -0400432 hb-gobject-enums.h \
Behdad Esfahboddfdbe7f2013-09-12 20:52:20 -0400433 hb-gobject-structs.cc \
Behdad Esfahbodd8f50702013-08-26 21:26:24 -0400434 hb-gobject-structs.h \
435 $(NULL)
Behdad Esfahbod23027f72013-08-22 19:03:21 -0400436
437girdir = $(datadir)/gir-1.0
438gir_DATA = $(INTROSPECTION_GIRS)
439
440typelibdir = $(libdir)/girepository-1.0
441typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
442
443CLEANFILES += $(gir_DATA) $(typelib_DATA)
Behdad Esfahbod71ef22b2013-08-28 12:52:55 -0400444
Behdad Esfahbod23027f72013-08-22 19:03:21 -0400445endif
Behdad Esfahbodc214cff2011-08-14 15:17:16 +0200446
Behdad Esfahbod0e13bee2009-04-17 17:03:39 -0400447-include $(top_srcdir)/git.mk