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-fallback-shape.cc \
     31 	hb-font-private.hh \
     32 	hb-font.cc \
     33 	hb-mutex-private.hh \
     34 	hb-object-private.hh \
     35 	hb-open-file-private.hh \
     36 	hb-open-type-private.hh \
     37 	hb-ot-head-table.hh \
     38 	hb-ot-hhea-table.hh \
     39 	hb-ot-hmtx-table.hh \
     40 	hb-ot-maxp-table.hh \
     41 	hb-ot-name-table.hh \
     42 	hb-ot-tag.cc \
     43 	hb-private.hh \
     44 	hb-set-private.hh \
     45 	hb-set.cc \
     46 	hb-shape.cc \
     47 	hb-shape-plan-private.hh \
     48 	hb-shape-plan.cc \
     49 	hb-shaper-list.hh \
     50 	hb-shaper-impl-private.hh \
     51 	hb-shaper-private.hh \
     52 	hb-shaper.cc \
     53 	hb-tt-font.cc \
     54 	hb-unicode-private.hh \
     55 	hb-unicode.cc \
     56 	hb-utf-private.hh \
     57 	hb-warning.cc \
     58 	$(NULL)
     59 HBHEADERS = \
     60 	hb.h \
     61 	hb-blob.h \
     62 	hb-buffer.h \
     63 	hb-common.h \
     64 	hb-font.h \
     65 	hb-set.h \
     66 	hb-shape.h \
     67 	hb-shape-plan.h \
     68 	hb-unicode.h \
     69 	$(NULL)
     70 HBNODISTHEADERS = \
     71 	hb-version.h \
     72 	$(NULL)
     73 
     74 if HAVE_OT
     75 HBSOURCES += \
     76 	hb-ot-layout.cc \
     77 	hb-ot-layout-common-private.hh \
     78 	hb-ot-layout-gdef-table.hh \
     79 	hb-ot-layout-gpos-table.hh \
     80 	hb-ot-layout-gsubgpos-private.hh \
     81 	hb-ot-layout-gsub-table.hh \
     82 	hb-ot-layout-private.hh \
     83 	hb-ot-map.cc \
     84 	hb-ot-map-private.hh \
     85 	hb-ot-shape.cc \
     86 	hb-ot-shape-complex-arabic.cc \
     87 	hb-ot-shape-complex-arabic-fallback.hh \
     88 	hb-ot-shape-complex-arabic-table.hh \
     89 	hb-ot-shape-complex-default.cc \
     90 	hb-ot-shape-complex-indic.cc \
     91 	hb-ot-shape-complex-indic-machine.hh \
     92 	hb-ot-shape-complex-indic-private.hh \
     93 	hb-ot-shape-complex-indic-table.cc \
     94 	hb-ot-shape-complex-myanmar.cc \
     95 	hb-ot-shape-complex-myanmar-machine.hh \
     96 	hb-ot-shape-complex-sea.cc \
     97 	hb-ot-shape-complex-sea-machine.hh \
     98 	hb-ot-shape-complex-thai.cc \
     99 	hb-ot-shape-complex-private.hh \
    100 	hb-ot-shape-normalize-private.hh \
    101 	hb-ot-shape-normalize.cc \
    102 	hb-ot-shape-fallback-private.hh \
    103 	hb-ot-shape-fallback.cc \
    104 	hb-ot-shape-private.hh \
    105 	$(NULL)
    106 HBHEADERS += \
    107 	hb-ot.h \
    108 	hb-ot-layout.h \
    109 	hb-ot-tag.h \
    110 	$(NULL)
    111 endif
    112 
    113 if HAVE_PTHREAD
    114 HBCFLAGS += $(PTHREAD_CFLAGS)
    115 HBLIBS   += $(PTHREAD_LIBS)
    116 endif
    117 
    118 if HAVE_GLIB
    119 HBCFLAGS += $(GLIB_CFLAGS)
    120 HBLIBS   += $(GLIB_LIBS)
    121 HBSOURCES += hb-glib.cc
    122 HBHEADERS += hb-glib.h
    123 endif
    124 
    125 if HAVE_GOBJECT
    126 HBCFLAGS += $(GOBJECT_CFLAGS)
    127 HBLIBS   += $(GOBJECT_LIBS)
    128 HBSOURCES += hb-gobject-structs.cc
    129 nodist_HBSOURCES = hb-gobject-enums.cc
    130 HBHEADERS += hb-gobject.h
    131 BUILT_SOURCES += hb-gobject-enums.cc
    132 EXTRA_DIST += hb-gobject-enums.cc.tmpl
    133 DISTCLEANFILES += hb-gobject-enums.cc
    134 
    135 hb-gobject-enums.cc: hb-gobject-enums.cc.tmpl $(HBHEADERS)
    136 	$(AM_V_GEN) $(GLIB_MKENUMS) --template $^ > "$@.tmp" && \
    137 	mv "$@.tmp" "$@" || ( $(RM) "@.tmp" && false )
    138 endif
    139 
    140 if HAVE_ICU
    141 HBCFLAGS += $(ICU_CFLAGS)
    142 HBLIBS   += $(ICU_LIBS)
    143 HBSOURCES += hb-icu.cc
    144 HBHEADERS += hb-icu.h
    145 endif
    146 
    147 if HAVE_FREETYPE
    148 HBCFLAGS += $(FREETYPE_CFLAGS)
    149 HBLIBS   += $(FREETYPE_LIBS)
    150 HBSOURCES += hb-ft.cc
    151 HBHEADERS += hb-ft.h
    152 endif
    153 
    154 if HAVE_GRAPHITE2
    155 HBCFLAGS += $(GRAPHITE2_CFLAGS)
    156 HBLIBS   += $(GRAPHITE2_LIBS)
    157 HBSOURCES += hb-graphite2.cc
    158 HBHEADERS += hb-graphite2.h
    159 endif
    160 
    161 if HAVE_UNISCRIBE
    162 HBCFLAGS += $(UNISCRIBE_CFLAGS)
    163 HBLIBS   += $(UNISCRIBE_LIBS)
    164 HBSOURCES += hb-uniscribe.cc
    165 HBHEADERS += hb-uniscribe.h
    166 endif
    167 
    168 if HAVE_CORETEXT
    169 HBCFLAGS += $(CORETEXT_CFLAGS)
    170 HBLIBS   += $(CORETEXT_LIBS)
    171 HBSOURCES += hb-coretext.cc
    172 HBHEADERS += hb-coretext.h
    173 endif
    174 
    175 if HAVE_HB_OLD
    176 SUBDIRS += hb-old
    177 HBCFLAGS += -I$(srcdir)/hb-old
    178 HBLIBS   += hb-old/libhb-old.la
    179 HBSOURCES += hb-old.cc
    180 endif
    181 DIST_SUBDIRS += hb-old
    182 
    183 if HAVE_ICU_LE
    184 SUBDIRS += hb-icu-le
    185 HBCFLAGS += -I$(srcdir)/hb-icu-le
    186 HBLIBS   += hb-icu-le/libhb-icu-le.la
    187 HBSOURCES += hb-icu-le.cc
    188 endif
    189 DIST_SUBDIRS += hb-icu-le
    190 
    191 if HAVE_UCDN
    192 SUBDIRS += hb-ucdn
    193 HBCFLAGS += -I$(srcdir)/hb-ucdn
    194 HBLIBS   += hb-ucdn/libhb-ucdn.la
    195 HBSOURCES += hb-ucdn.cc
    196 endif
    197 DIST_SUBDIRS += hb-ucdn
    198 
    199 
    200 # Put the library together
    201 
    202 if OS_WIN32
    203 export_symbols = -export-symbols harfbuzz.def
    204 harfbuzz_def_dependency = harfbuzz.def
    205 libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS)
    206 else
    207 if HAVE_ICU
    208 libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS)
    209 else
    210 # Use a C linker for GCC, not C++; Don't link to libstdc++
    211 if HAVE_GCC
    212 libharfbuzz_la_LINK = $(LINK) $(libharfbuzz_la_LDFLAGS)
    213 else
    214 libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS)
    215 endif
    216 endif
    217 endif
    218 
    219 libharfbuzz_la_SOURCES = $(HBSOURCES) $(HBHEADERS) $(HBNODISTHEADERS)
    220 nodist_libharfbuzz_la_SOURCES = $(nodist_HBSOURCES)
    221 libharfbuzz_la_CPPFLAGS = $(HBCFLAGS)
    222 libharfbuzz_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) $(export_symbols) -no-undefined
    223 libharfbuzz_la_LIBADD = $(HBLIBS)
    224 EXTRA_libharfbuzz_la_DEPENDENCIES = $(harfbuzz_def_dependency)
    225 pkginclude_HEADERS = $(HBHEADERS)
    226 nodist_pkginclude_HEADERS = $(HBNODISTHEADERS)
    227 
    228 CLEANFILES += harfbuzz.def
    229 harfbuzz.def: $(HBHEADERS) $(HBNODISTHEADERS)
    230 	$(AM_V_GEN) (echo EXPORTS; \
    231 	(cat $^ || echo 'hb_ERROR ()' ) | \
    232 	$(EGREP) '^hb_.* \(' | \
    233 	sed -e 's/ (.*//' | \
    234 	LANG=C sort; \
    235 	echo LIBRARY libharfbuzz-$(HB_VERSION_MAJOR).dll; \
    236 	) >"$@.tmp"
    237 	@ ! grep -q hb_ERROR "$@.tmp" && mv "$@.tmp" "$@" || ($(RM) "$@"; false)
    238 
    239 
    240 GENERATORS = \
    241 	gen-arabic-table.py \
    242 	gen-indic-table.py \
    243 	$(NULL)
    244 
    245 EXTRA_DIST += $(GENERATORS)
    246 
    247 unicode-tables: arabic-table indic-table
    248 
    249 indic-table: gen-indic-table.py IndicSyllabicCategory.txt IndicMatraCategory.txt Blocks.txt
    250 	$(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-indic-table.cc.tmp && \
    251 	mv hb-ot-shape-complex-indic-table.cc.tmp $(srcdir)/hb-ot-shape-complex-indic-table.cc || \
    252 	($(RM) hb-ot-shape-complex-indic-table.cc.tmp; false)
    253 
    254 arabic-table: gen-arabic-table.py ArabicShaping.txt UnicodeData.txt
    255 	$(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-arabic-table.hh.tmp && \
    256 	mv hb-ot-shape-complex-arabic-table.hh.tmp $(srcdir)/hb-ot-shape-complex-arabic-table.hh || \
    257 	($(RM) hb-ot-shape-complex-arabic-table.hh.tmp; false)
    258 
    259 
    260 .PHONY: unicode-tables arabic-table indic-table
    261 
    262 BUILT_SOURCES += \
    263 	hb-buffer-deserialize-json.hh \
    264 	hb-buffer-deserialize-text.hh \
    265 	hb-ot-shape-complex-indic-machine.hh \
    266 	hb-ot-shape-complex-myanmar-machine.hh \
    267 	hb-ot-shape-complex-sea-machine.hh \
    268 	$(NULL)
    269 EXTRA_DIST += \
    270 	hb-buffer-deserialize-json.rl \
    271 	hb-buffer-deserialize-text.rl \
    272 	hb-ot-shape-complex-indic-machine.rl \
    273 	hb-ot-shape-complex-myanmar-machine.rl \
    274 	hb-ot-shape-complex-sea-machine.rl \
    275 	$(NULL)
    276 %.hh: %.rl
    277 	$(AM_V_GEN)$(top_srcdir)/missing --run ragel -e -F1 -o "$@.tmp" "$<" && \
    278 	mv "$@.tmp" "$@" || ( $(RM) "$@.tmp" && false )
    279 
    280 noinst_PROGRAMS = \
    281 	main \
    282 	test \
    283 	test-buffer-serialize \
    284 	test-size-params \
    285 	test-would-substitute \
    286 	$(NULL)
    287 bin_PROGRAMS =
    288 
    289 main_SOURCES = main.cc
    290 main_CPPFLAGS = $(HBCFLAGS)
    291 main_LDADD = libharfbuzz.la $(HBLIBS)
    292 
    293 test_SOURCES = test.cc
    294 test_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS)
    295 test_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
    296 
    297 test_would_substitute_SOURCES = test-would-substitute.cc
    298 test_would_substitute_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS)
    299 test_would_substitute_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
    300 
    301 test_size_params_SOURCES = test-size-params.cc
    302 test_size_params_CPPFLAGS = $(HBCFLAGS)
    303 test_size_params_LDADD = libharfbuzz.la $(HBLIBS)
    304 
    305 test_buffer_serialize_SOURCES = test-buffer-serialize.cc
    306 test_buffer_serialize_CPPFLAGS = $(HBCFLAGS)
    307 test_buffer_serialize_LDADD = libharfbuzz.la $(HBLIBS)
    308 
    309 dist_check_SCRIPTS = \
    310 	check-c-linkage-decls.sh \
    311 	check-header-guards.sh \
    312 	check-includes.sh \
    313 	check-symbols.sh \
    314 	$(NULL)
    315 
    316 if HAVE_ICU
    317 else
    318 dist_check_SCRIPTS += check-libstdc++.sh
    319 endif
    320 
    321 if HAVE_ICU_LE
    322 else
    323 dist_check_SCRIPTS += check-static-inits.sh
    324 endif
    325 
    326 TESTS = $(dist_check_SCRIPTS)
    327 TESTS_ENVIRONMENT = \
    328 	srcdir="$(srcdir)" \
    329 	MAKE="$(MAKE) $(AM_MAKEFLAGS)" \
    330 	HBSOURCES="$(HBSOURCES)" \
    331 	HBHEADERS="$(HBHEADERS) $(HBNODISTHEADERS)" \
    332 	$(NULL)
    333 
    334 #-include $(INTROSPECTION_MAKEFILE)
    335 #INTROSPECTION_GIRS = hb-1.0.gir
    336 #INTROSPECTION_SCANNER_ARGS = -I$(srcdir) -n hb --identifier-prefix=hb_
    337 #INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
    338 #
    339 #if HAVE_INTROSPECTION
    340 #
    341 #hb-1.0.gir: libharfbuzz.la
    342 #hb_1_0_gir_INCLUDES = GObject-2.0
    343 #hb_1_0_gir_CFLAGS = $(INCLUDES) $(HBCFLAGS) -DHB_H -DHB_H_IN -DHB_OT_H -DHB_OT_H_IN
    344 #hb_1_0_gir_LIBS = libharfbuzz.la
    345 #hb_1_0_gir_FILES = $(HBHEADERS) $(HBNODISTHEADERS)
    346 #
    347 #girdir = $(datadir)/gir-1.0
    348 #gir_DATA = $(INTROSPECTION_GIRS)
    349 #
    350 #typelibdir = $(libdir)/girepository-1.0
    351 #typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
    352 #
    353 #CLEANFILES += $(gir_DATA) $(typelib_DATA)
    354 #endif
    355 
    356 -include $(top_srcdir)/git.mk
    357