Home | History | Annotate | Download | only in src
      1 # Process this file with automake to produce Makefile.in
      2 
      3 NULL =
      4 SUBDIRS =
      5 DIST_SUBDIRS =
      6 BUILT_SOURCES =
      7 EXTRA_DIST =
      8 CLEANFILES =
      9 DISTCLEANFILES =
     10 MAINTAINERCLEANFILES =
     11 DISTCHECK_CONFIGURE_FLAGS = --enable-introspection
     12 
     13 # The following warning options are useful for debugging: -Wpadded
     14 #AM_CXXFLAGS =
     15 
     16 lib_LTLIBRARIES = libharfbuzz.la
     17 
     18 HBCFLAGS =
     19 HBLIBS =
     20 HBSOURCES =  \
     21 	hb-atomic-private.hh \
     22 	hb-blob.cc \
     23 	hb-buffer-deserialize-json.hh \
     24 	hb-buffer-deserialize-text.hh \
     25 	hb-buffer-private.hh \
     26 	hb-buffer-serialize.cc \
     27 	hb-buffer.cc \
     28 	hb-cache-private.hh \
     29 	hb-common.cc \
     30 	hb-face-private.hh \
     31 	hb-face.cc \
     32 	hb-font-private.hh \
     33 	hb-font.cc \
     34 	hb-mutex-private.hh \
     35 	hb-object-private.hh \
     36 	hb-open-file-private.hh \
     37 	hb-open-type-private.hh \
     38 	hb-ot-cmap-table.hh \
     39 	hb-ot-head-table.hh \
     40 	hb-ot-hhea-table.hh \
     41 	hb-ot-hmtx-table.hh \
     42 	hb-ot-maxp-table.hh \
     43 	hb-ot-name-table.hh \
     44 	hb-ot-tag.cc \
     45 	hb-private.hh \
     46 	hb-set-private.hh \
     47 	hb-set.cc \
     48 	hb-shape.cc \
     49 	hb-shape-plan-private.hh \
     50 	hb-shape-plan.cc \
     51 	hb-shaper-list.hh \
     52 	hb-shaper-impl-private.hh \
     53 	hb-shaper-private.hh \
     54 	hb-shaper.cc \
     55 	hb-unicode-private.hh \
     56 	hb-unicode.cc \
     57 	hb-utf-private.hh \
     58 	hb-warning.cc \
     59 	$(NULL)
     60 HBHEADERS = \
     61 	hb.h \
     62 	hb-blob.h \
     63 	hb-buffer.h \
     64 	hb-common.h \
     65 	hb-deprecated.h \
     66 	hb-face.h \
     67 	hb-font.h \
     68 	hb-set.h \
     69 	hb-shape.h \
     70 	hb-shape-plan.h \
     71 	hb-unicode.h \
     72 	$(NULL)
     73 HBNODISTHEADERS = \
     74 	hb-version.h \
     75 	$(NULL)
     76 
     77 if HAVE_OT
     78 HBSOURCES += \
     79 	hb-ot-font.cc \
     80 	hb-ot-layout.cc \
     81 	hb-ot-layout-common-private.hh \
     82 	hb-ot-layout-gdef-table.hh \
     83 	hb-ot-layout-gpos-table.hh \
     84 	hb-ot-layout-gsubgpos-private.hh \
     85 	hb-ot-layout-gsub-table.hh \
     86 	hb-ot-layout-jstf-table.hh \
     87 	hb-ot-layout-private.hh \
     88 	hb-ot-map.cc \
     89 	hb-ot-map-private.hh \
     90 	hb-ot-shape.cc \
     91 	hb-ot-shape-complex-arabic.cc \
     92 	hb-ot-shape-complex-arabic-fallback.hh \
     93 	hb-ot-shape-complex-arabic-table.hh \
     94 	hb-ot-shape-complex-default.cc \
     95 	hb-ot-shape-complex-hangul.cc \
     96 	hb-ot-shape-complex-hebrew.cc \
     97 	hb-ot-shape-complex-indic.cc \
     98 	hb-ot-shape-complex-indic-machine.hh \
     99 	hb-ot-shape-complex-indic-private.hh \
    100 	hb-ot-shape-complex-indic-table.cc \
    101 	hb-ot-shape-complex-myanmar.cc \
    102 	hb-ot-shape-complex-myanmar-machine.hh \
    103 	hb-ot-shape-complex-sea.cc \
    104 	hb-ot-shape-complex-sea-machine.hh \
    105 	hb-ot-shape-complex-thai.cc \
    106 	hb-ot-shape-complex-tibetan.cc \
    107 	hb-ot-shape-complex-private.hh \
    108 	hb-ot-shape-normalize-private.hh \
    109 	hb-ot-shape-normalize.cc \
    110 	hb-ot-shape-fallback-private.hh \
    111 	hb-ot-shape-fallback.cc \
    112 	hb-ot-shape-private.hh \
    113 	$(NULL)
    114 HBHEADERS += \
    115 	hb-ot.h \
    116 	hb-ot-font.h \
    117 	hb-ot-layout.h \
    118 	hb-ot-shape.h \
    119 	hb-ot-tag.h \
    120 	$(NULL)
    121 endif
    122 
    123 if HAVE_FALLBACK
    124 HBSOURCES += hb-fallback-shape.cc
    125 endif
    126 
    127 if HAVE_PTHREAD
    128 HBCFLAGS += $(PTHREAD_CFLAGS)
    129 HBLIBS   += $(PTHREAD_LIBS)
    130 endif
    131 
    132 if HAVE_GLIB
    133 HBCFLAGS += $(GLIB_CFLAGS)
    134 HBLIBS   += $(GLIB_LIBS)
    135 HBSOURCES += hb-glib.cc
    136 HBHEADERS += hb-glib.h
    137 endif
    138 
    139 if HAVE_FREETYPE
    140 HBCFLAGS += $(FREETYPE_CFLAGS)
    141 HBLIBS   += $(FREETYPE_LIBS)
    142 HBSOURCES += hb-ft.cc
    143 HBHEADERS += hb-ft.h
    144 endif
    145 
    146 if HAVE_GRAPHITE2
    147 HBCFLAGS += $(GRAPHITE2_CFLAGS)
    148 HBLIBS   += $(GRAPHITE2_LIBS)
    149 HBSOURCES += hb-graphite2.cc
    150 HBHEADERS += hb-graphite2.h
    151 endif
    152 
    153 if HAVE_UNISCRIBE
    154 HBCFLAGS += $(UNISCRIBE_CFLAGS)
    155 HBLIBS   += $(UNISCRIBE_LIBS)
    156 HBSOURCES += hb-uniscribe.cc
    157 HBHEADERS += hb-uniscribe.h
    158 endif
    159 
    160 if HAVE_CORETEXT
    161 HBCFLAGS += $(CORETEXT_CFLAGS)
    162 HBLIBS   += $(CORETEXT_LIBS)
    163 HBSOURCES += hb-coretext.cc
    164 HBHEADERS += hb-coretext.h
    165 endif
    166 
    167 if HAVE_UCDN
    168 SUBDIRS += hb-ucdn
    169 HBCFLAGS += -I$(srcdir)/hb-ucdn
    170 HBLIBS   += hb-ucdn/libhb-ucdn.la
    171 HBSOURCES += hb-ucdn.cc
    172 endif
    173 DIST_SUBDIRS += hb-ucdn
    174 
    175 
    176 # Put the library together
    177 
    178 if OS_WIN32
    179 export_symbols = -export-symbols harfbuzz.def
    180 harfbuzz_def_dependency = harfbuzz.def
    181 libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS)
    182 else
    183 # Use a C linker for GCC, not C++; Don't link to libstdc++
    184 if HAVE_GCC
    185 libharfbuzz_la_LINK = $(LINK) $(libharfbuzz_la_LDFLAGS)
    186 else
    187 libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS)
    188 endif
    189 endif
    190 
    191 libharfbuzz_la_SOURCES = $(HBSOURCES) $(HBHEADERS) $(HBNODISTHEADERS)
    192 libharfbuzz_la_CPPFLAGS = $(HBCFLAGS)
    193 libharfbuzz_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) $(export_symbols) -no-undefined
    194 libharfbuzz_la_LIBADD = $(HBLIBS)
    195 EXTRA_libharfbuzz_la_DEPENDENCIES = $(harfbuzz_def_dependency)
    196 pkginclude_HEADERS = $(HBHEADERS)
    197 nodist_pkginclude_HEADERS = $(HBNODISTHEADERS)
    198 pkgconfigdir = $(libdir)/pkgconfig
    199 pkgconfig_DATA = harfbuzz.pc
    200 EXTRA_DIST += harfbuzz.pc.in
    201 
    202 if HAVE_ICU
    203 lib_LTLIBRARIES += libharfbuzz-icu.la
    204 libharfbuzz_icu_la_SOURCES = hb-icu.cc
    205 libharfbuzz_icu_la_CPPFLAGS = $(ICU_CFLAGS)
    206 libharfbuzz_icu_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) -no-undefined
    207 libharfbuzz_icu_la_LIBADD = $(ICU_LIBS) libharfbuzz.la
    208 pkginclude_HEADERS += hb-icu.h
    209 pkgconfig_DATA += harfbuzz-icu.pc
    210 endif
    211 EXTRA_DIST += harfbuzz-icu.pc.in
    212 
    213 if HAVE_GOBJECT
    214 lib_LTLIBRARIES += libharfbuzz-gobject.la
    215 libharfbuzz_gobject_la_SOURCES = hb-gobject-structs.cc
    216 nodist_libharfbuzz_gobject_la_SOURCES = hb-gobject-enums.cc
    217 libharfbuzz_gobject_la_CPPFLAGS = $(GOBJECT_CFLAGS)
    218 libharfbuzz_gobject_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) -no-undefined
    219 libharfbuzz_gobject_la_LIBADD = $(GOBJECT_LIBS) libharfbuzz.la
    220 pkginclude_HEADERS += hb-gobject.h hb-gobject-structs.h
    221 nodist_pkginclude_HEADERS += hb-gobject-enums.h
    222 pkgconfig_DATA += harfbuzz-gobject.pc
    223 
    224 BUILT_SOURCES += \
    225 	hb-gobject-enums.cc \
    226 	hb-gobject-enums.h \
    227 	$(NULL)
    228 DISTCLEANFILES += \
    229 	hb-gobject-enums.cc \
    230 	hb-gobject-enums.h \
    231 	$(NULL)
    232 hb-gobject-enums.%: hb-gobject-enums.%.tmpl $(HBHEADERS)
    233 	$(AM_V_GEN) $(GLIB_MKENUMS) \
    234 		--identifier-prefix hb_ --symbol-prefix hb_gobject \
    235 		--template $^ | \
    236 	sed 's/_t_get_type/_get_type/g; s/_T (/ (/g' > "$@.tmp" && \
    237 	mv "$@.tmp" "$@" || ( $(RM) "@.tmp" && false )
    238 endif
    239 EXTRA_DIST += \
    240 	harfbuzz-gobject.pc.in \
    241 	hb-gobject-enums.cc.tmpl \
    242 	hb-gobject-enums.h.tmpl \
    243 	$(NULL)
    244 
    245 
    246 %.pc: %.pc.in $(top_builddir)/config.status
    247 	$(AM_V_GEN) \
    248 	$(SED)	-e 's@%prefix%@$(prefix)@g' \
    249 		-e 's@%exec_prefix%@$(exec_prefix)@g' \
    250 		-e 's@%libdir%@$(libdir)@g' \
    251 		-e 's@%includedir%@$(includedir)@g' \
    252 		-e 's@%VERSION%@$(VERSION)@g' \
    253 	"$<" \
    254 	> "$@.tmp" && mv "$@.tmp" "$@" || ( $(RM) "$@.tmp"; false )
    255 
    256 CLEANFILES += $(pkgconfig_DATA)
    257 
    258 
    259 CLEANFILES += harfbuzz.def
    260 harfbuzz.def: $(HBHEADERS) $(HBNODISTHEADERS)
    261 	$(AM_V_GEN) (echo EXPORTS; \
    262 	(cat $^ || echo 'hb_ERROR ()' ) | \
    263 	$(EGREP) '^hb_.* \(' | \
    264 	sed -e 's/ (.*//' | \
    265 	LANG=C sort; \
    266 	echo LIBRARY libharfbuzz-$(HB_VERSION_MAJOR).dll; \
    267 	) >"$@.tmp"
    268 	@ ! grep -q hb_ERROR "$@.tmp" && mv "$@.tmp" "$@" || ($(RM) "$@"; false)
    269 
    270 
    271 GENERATORS = \
    272 	gen-arabic-table.py \
    273 	gen-indic-table.py \
    274 	$(NULL)
    275 EXTRA_DIST += $(GENERATORS)
    276 
    277 unicode-tables: arabic-table indic-table
    278 
    279 indic-table: gen-indic-table.py IndicSyllabicCategory.txt IndicMatraCategory.txt Blocks.txt
    280 	$(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-indic-table.cc.tmp && \
    281 	mv hb-ot-shape-complex-indic-table.cc.tmp $(srcdir)/hb-ot-shape-complex-indic-table.cc || \
    282 	($(RM) hb-ot-shape-complex-indic-table.cc.tmp; false)
    283 
    284 arabic-table: gen-arabic-table.py ArabicShaping.txt UnicodeData.txt Blocks.txt
    285 	$(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-arabic-table.hh.tmp && \
    286 	mv hb-ot-shape-complex-arabic-table.hh.tmp $(srcdir)/hb-ot-shape-complex-arabic-table.hh || \
    287 	($(RM) hb-ot-shape-complex-arabic-table.hh.tmp; false)
    288 
    289 built-sources: $(BUILT_SOURCES)
    290 
    291 .PHONY: unicode-tables arabic-table indic-table built-sources
    292 
    293 BUILT_SOURCES += \
    294 	hb-buffer-deserialize-json.hh \
    295 	hb-buffer-deserialize-text.hh \
    296 	hb-ot-shape-complex-indic-machine.hh \
    297 	hb-ot-shape-complex-myanmar-machine.hh \
    298 	hb-ot-shape-complex-sea-machine.hh \
    299 	$(NULL)
    300 EXTRA_DIST += \
    301 	hb-buffer-deserialize-json.rl \
    302 	hb-buffer-deserialize-text.rl \
    303 	hb-ot-shape-complex-indic-machine.rl \
    304 	hb-ot-shape-complex-myanmar-machine.rl \
    305 	hb-ot-shape-complex-sea-machine.rl \
    306 	$(NULL)
    307 .rl.hh:
    308 	$(AM_V_GEN)$(RAGEL) -e -F1 -o "$@.tmp" "$<" && \
    309 	mv "$@.tmp" "$@" || ( $(RM) "$@.tmp" && false )
    310 
    311 noinst_PROGRAMS = \
    312 	main \
    313 	test \
    314 	test-buffer-serialize \
    315 	test-size-params \
    316 	test-would-substitute \
    317 	$(NULL)
    318 bin_PROGRAMS =
    319 
    320 main_SOURCES = main.cc
    321 main_CPPFLAGS = $(HBCFLAGS)
    322 main_LDADD = libharfbuzz.la $(HBLIBS)
    323 
    324 test_SOURCES = test.cc
    325 test_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS)
    326 test_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
    327 
    328 test_would_substitute_SOURCES = test-would-substitute.cc
    329 test_would_substitute_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS)
    330 test_would_substitute_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
    331 
    332 test_size_params_SOURCES = test-size-params.cc
    333 test_size_params_CPPFLAGS = $(HBCFLAGS)
    334 test_size_params_LDADD = libharfbuzz.la $(HBLIBS)
    335 
    336 test_buffer_serialize_SOURCES = test-buffer-serialize.cc
    337 test_buffer_serialize_CPPFLAGS = $(HBCFLAGS)
    338 test_buffer_serialize_LDADD = libharfbuzz.la $(HBLIBS)
    339 
    340 dist_check_SCRIPTS = \
    341 	check-c-linkage-decls.sh \
    342 	check-defs.sh \
    343 	check-header-guards.sh \
    344 	check-includes.sh \
    345 	check-libstdc++.sh \
    346 	check-static-inits.sh \
    347 	check-symbols.sh \
    348 	$(NULL)
    349 
    350 TESTS = $(dist_check_SCRIPTS)
    351 TESTS_ENVIRONMENT = \
    352 	srcdir="$(srcdir)" \
    353 	MAKE="$(MAKE) $(AM_MAKEFLAGS)" \
    354 	HBSOURCES="$(HBSOURCES)" \
    355 	HBHEADERS="$(HBHEADERS) $(HBNODISTHEADERS)" \
    356 	$(NULL)
    357 
    358 if HAVE_INTROSPECTION
    359 
    360 -include $(INTROSPECTION_MAKEFILE)
    361 INTROSPECTION_GIRS = HarfBuzz-$(HB_VERSION_MAJOR).0.gir # What does the 0 mean anyway?!
    362 INTROSPECTION_SCANNER_ARGS = -I$(srcdir) -n hb --identifier-prefix=hb_ --warn-all
    363 INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
    364 INTROSPECTION_SCANNER_ENV = CC="$(CC)"
    365 
    366 HarfBuzz-0.0.gir: libharfbuzz.la libharfbuzz-gobject.la
    367 HarfBuzz_0_0_gir_INCLUDES = GObject-2.0
    368 HarfBuzz_0_0_gir_CFLAGS = \
    369 	$(INCLUDES) \
    370 	$(HBCFLAGS) \
    371 	-DHB_H \
    372 	-DHB_H_IN \
    373 	-DHB_OT_H \
    374 	-DHB_OT_H_IN \
    375 	-DHB_GOBJECT_H \
    376 	-DHB_GOBJECT_H_IN \
    377 	$(NULL)
    378 HarfBuzz_0_0_gir_LIBS = \
    379 	libharfbuzz.la \
    380 	libharfbuzz-gobject.la \
    381 	$(NULL)
    382 HarfBuzz_0_0_gir_FILES = \
    383 	$(HBHEADERS) \
    384 	$(HBNODISTHEADERS) \
    385 	$(HBSOURCES) \
    386 	hb-gobject-enums.cc \
    387 	hb-gobject-enums.h \
    388 	hb-gobject-structs.cc \
    389 	hb-gobject-structs.h \
    390 	$(NULL)
    391 
    392 girdir = $(datadir)/gir-1.0
    393 gir_DATA = $(INTROSPECTION_GIRS)
    394 
    395 typelibdir = $(libdir)/girepository-1.0
    396 typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
    397 
    398 CLEANFILES += $(gir_DATA) $(typelib_DATA)
    399 
    400 endif
    401 
    402 -include $(top_srcdir)/git.mk
    403