eSpeak NG is an open source speech synthesizer that supports more than hundred languages and accents.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Makefile.am 30KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967
  1. AUTOMAKE_OPTIONS = subdir-objects
  2. ACLOCAL_AMFLAGS = -I m4
  3. PREFIX=@prefix@
  4. BINDIR=@bindir@
  5. INCDIR=@includedir@/espeak
  6. LIBDIR=@libdir@
  7. DATADIR=$(PREFIX)/share/espeak-ng-data
  8. VIMDIR=$(PREFIX)/share/vim
  9. pkgconfigdir = $(libdir)/pkgconfig
  10. pkgconfig_DATA = espeak-ng.pc
  11. SHARED_VERSION=2:51:1 # = *.so.1.1.51
  12. MKDIR=mkdir -p
  13. # -Wno-endif-labels : Needed to prevent warnings in ieee80.c.
  14. AM_CFLAGS = \
  15. -Isrc/include -Isrc/include/compat -I$(srcdir)/src/ucd-tools/src/include \
  16. -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112L \
  17. -Wno-endif-labels
  18. EXTRA_DIST=
  19. bin_PROGRAMS =
  20. lib_LTLIBRARIES =
  21. man1_MANS =
  22. check_PROGRAMS =
  23. check_LTLIBRARIES =
  24. ##### ChangeLog:
  25. ChangeLog:
  26. git log > ChangeLog
  27. dist-hook: ChangeLog
  28. .PHONY: ChangeLog
  29. EXTRA_DIST += ChangeLog
  30. ##### standard build actions:
  31. all-local: \
  32. espeak-ng-data/phontab \
  33. dictionaries \
  34. mbrola
  35. uninstall-hook:
  36. rm -rf $(DESTDIR)$(DATADIR)
  37. install-data-hook: uninstall-hook
  38. $(MKDIR) $(DESTDIR)$(DATADIR)
  39. cp -prf espeak-ng-data/* $(DESTDIR)$(DATADIR)
  40. install-exec-hook:
  41. cd $(DESTDIR)$(BINDIR) && rm -f espeak && $(LN_S) espeak-ng espeak
  42. cd $(DESTDIR)$(BINDIR) && rm -f speak && $(LN_S) speak-ng speak
  43. cd $(DESTDIR)$(LIBDIR) && rm -f libespeak.la && $(LN_S) libespeak-ng.la libespeak.la
  44. clean-local:
  45. cd src && rm -f *.o *~ && cd ..
  46. cd src/libespeak-ng/ && rm -f *.o *.lo && cd ../..
  47. cd tests && rm -f *.o *.lo && cd ..
  48. if HAVE_GRADLE
  49. cd android && $(GRADLE) clean
  50. endif
  51. distclean-local:
  52. rm -rf espeak-ng-data/phondata-manifest
  53. rm -f espeak-ng-data/*_dict
  54. ##### custom rules:
  55. SUFFIXES=.html .md .ronn .check .test
  56. .md.html: _layouts/webpage.html
  57. @echo " MD $@"
  58. @cat $< | sed -e 's/\.md)/.html)/g' -e 's/\.ronn/.html/g' | \
  59. kramdown --template _layouts/webpage.html > $@
  60. .ronn.html:
  61. ronn --html $<
  62. ##### vim:
  63. vim_registrydir = $(VIMDIR)/registry
  64. vim_registry_DATA = $(srcdir)/vim/registry/*.yaml
  65. EXTRA_DIST += $(vim_registry_DATA)
  66. vim_addons_ftdetectdir = $(VIMDIR)/addons/ftdetect
  67. vim_addons_ftdetect_DATA = $(srcdir)/vim/ftdetect/*.vim
  68. EXTRA_DIST += $(vim_addons_ftdetect_DATA)
  69. vim_addons_syntaxdir = $(VIMDIR)/addons/syntax
  70. vim_addons_syntax_DATA = $(srcdir)/vim/syntax/*.vim
  71. EXTRA_DIST += $(vim_addons_syntax_DATA)
  72. ##### documentation:
  73. src/espeak-ng.1: src/espeak-ng.1.ronn
  74. ronn --roff $<
  75. src/speak-ng.1: src/speak-ng.1.ronn
  76. ronn --roff $<
  77. docs_MARKDOWN != ls docs/*.md docs/*/*.md docs/*/*/*.md
  78. docs_HTML = ${docs_MARKDOWN:.md=.html}
  79. docs: $(docs_HTML) \
  80. src/espeak-ng.1.html \
  81. src/speak-ng.1.html \
  82. CHANGELOG.html \
  83. README.html
  84. ##### build targets:
  85. espeak_includedir = $(includedir)/espeak
  86. espeak_include_HEADERS = \
  87. src/include/espeak/speak_lib.h
  88. espeak_ng_includedir = $(includedir)/espeak-ng
  89. espeak_ng_include_HEADERS = \
  90. src/include/espeak-ng/encoding.h \
  91. src/include/espeak-ng/espeak_ng.h \
  92. src/include/espeak-ng/speak_lib.h
  93. lib_LTLIBRARIES += src/libespeak-ng.la
  94. src_libespeak_ng_la_LDFLAGS = -version-info $(SHARED_VERSION) -lpthread -lm \
  95. ${PCAUDIOLIB_LIBS}
  96. src_libespeak_ng_la_CFLAGS = \
  97. -fPIC -fvisibility=hidden \
  98. -pedantic -fno-exceptions -D PATH_ESPEAK_DATA=\"$(DATADIR)\" -DLIBESPEAK_NG_EXPORT \
  99. ${PCAUDIOLIB_CFLAGS} ${AM_CFLAGS}
  100. src_libespeak_ng_la_SOURCES = \
  101. src/ucd-tools/src/case.c \
  102. src/ucd-tools/src/categories.c \
  103. src/ucd-tools/src/ctype.c \
  104. src/ucd-tools/src/proplist.c \
  105. src/ucd-tools/src/scripts.c \
  106. src/ucd-tools/src/tostring.c \
  107. src/libespeak-ng/compiledata.c \
  108. src/libespeak-ng/compiledict.c \
  109. src/libespeak-ng/compilembrola.c \
  110. src/libespeak-ng/dictionary.c \
  111. src/libespeak-ng/encoding.c \
  112. src/libespeak-ng/error.c \
  113. src/libespeak-ng/espeak_api.c \
  114. src/libespeak-ng/ieee80.c \
  115. src/libespeak-ng/intonation.c \
  116. src/libespeak-ng/mnemonics.c \
  117. src/libespeak-ng/numbers.c \
  118. src/libespeak-ng/readclause.c \
  119. src/libespeak-ng/phoneme.c \
  120. src/libespeak-ng/phonemelist.c \
  121. src/libespeak-ng/setlengths.c \
  122. src/libespeak-ng/spect.c \
  123. src/libespeak-ng/speech.c \
  124. src/libespeak-ng/ssml.c \
  125. src/libespeak-ng/synthdata.c \
  126. src/libespeak-ng/synthesize.c \
  127. src/libespeak-ng/synth_mbrola.c \
  128. src/libespeak-ng/translate.c \
  129. src/libespeak-ng/tr_languages.c \
  130. src/libespeak-ng/voices.c \
  131. src/libespeak-ng/wavegen.c
  132. noinst_HEADERS = \
  133. src/ucd-tools/src/include/ucd/ucd.h
  134. if OPT_KLATT
  135. src_libespeak_ng_la_CFLAGS += -DINCLUDE_KLATT
  136. src_libespeak_ng_la_SOURCES += src/libespeak-ng/klatt.c
  137. endif
  138. if OPT_MBROLA
  139. src_libespeak_ng_la_CFLAGS += -DINCLUDE_MBROLA
  140. src_libespeak_ng_la_SOURCES += src/libespeak-ng/mbrowrap.c
  141. endif
  142. if OPT_ASYNC
  143. src_libespeak_ng_la_CFLAGS += -DUSE_ASYNC
  144. src_libespeak_ng_la_SOURCES += \
  145. src/libespeak-ng/espeak_command.c \
  146. src/libespeak-ng/event.c \
  147. src/libespeak-ng/fifo.c
  148. endif
  149. bin_PROGRAMS += src/speak-ng
  150. if HAVE_RONN
  151. man1_MANS += src/speak-ng.1
  152. endif
  153. src_speak_ng_LDADD = src/libespeak-ng.la
  154. src_speak_ng_LDFLAGS = -static -lm ${PCAUDIOLIB_LIBS}
  155. src_speak_ng_CFLAGS = -Isrc/libespeak-ng ${AM_CFLAGS}
  156. src_speak_ng_SOURCES = src/speak-ng.c
  157. bin_PROGRAMS += src/espeak-ng
  158. if HAVE_RONN
  159. man1_MANS += src/espeak-ng.1
  160. endif
  161. src_espeak_ng_LDADD = src/libespeak-ng.la ${PCAUDIOLIB_LIBS}
  162. src_espeak_ng_SOURCES = src/espeak-ng.c
  163. ##### tests:
  164. # Test version of libespeak-ng.so with access to the internal APIs, so they can
  165. # be accessed in the test code. This version should not be installed, as the
  166. # internal APIs are not guaranteed to be stable between releases.
  167. check_LTLIBRARIES += src/libespeak-ng-test.la
  168. src_libespeak_ng_test_la_LDFLAGS = $(src_libespeak_ng_la_LDFLAGS)
  169. src_libespeak_ng_test_la_CFLAGS = \
  170. -fPIC -pedantic -fno-exceptions -D PATH_ESPEAK_DATA=\"$(DATADIR)\" -DLIBESPEAK_NG_EXPORT \
  171. ${PCAUDIOLIB_CFLAGS} ${AM_CFLAGS}
  172. src_libespeak_ng_test_la_SOURCES = $(src_libespeak_ng_la_SOURCES)
  173. check_PROGRAMS += tests/encoding.test
  174. tests_encoding_test_LDADD = src/libespeak-ng.la
  175. tests_encoding_test_SOURCES = tests/encoding.c
  176. check_PROGRAMS += tests/readclause.test
  177. tests_readclause_test_CFLAGS = -Isrc/libespeak-ng ${AM_CFLAGS}
  178. tests_readclause_test_LDADD = src/libespeak-ng-test.la
  179. tests_readclause_test_SOURCES = tests/readclause.c
  180. check_PROGRAMS += tests/api.test
  181. tests_api_test_CFLAGS = -Isrc/libespeak-ng ${AM_CFLAGS}
  182. tests_api_test_LDADD = src/libespeak-ng-test.la
  183. tests_api_test_SOURCES = tests/api.c
  184. .test.check:
  185. @echo " TEST $<"
  186. @ESPEAK_DATA_PATH=$(CURDIR) $< && echo " PASSED $<"
  187. check: tests/encoding.check \
  188. tests/readclause.check \
  189. tests/translate.check \
  190. tests/ssml.check \
  191. tests/ssml-fuzzer.check \
  192. tests/api.check \
  193. tests/language-phonemes.check \
  194. tests/language-replace.check \
  195. tests/language-pronunciation.check \
  196. tests/language-numbers-cardinal.check \
  197. tests/language-numbers-ordinal.check \
  198. tests/non-executable-files-with-executable-bit.check \
  199. tests/bom.check
  200. ##### fuzzer:
  201. if !HAVE_LIBFUZZER
  202. # libfuzzrunner is a stub implementation of libFuzzer that calls the
  203. # LLVMFuzzerTestOneInput with the files passed to the fuzzer program.
  204. check_LTLIBRARIES += tests/libfuzzrunner.la
  205. tests_libfuzzrunner_la_CFLAGS = -Isrc/libespeak-ng ${AM_CFLAGS}
  206. tests_libfuzzrunner_la_SOURCES = tests/fuzzrunner.c
  207. endif
  208. check_PROGRAMS += tests/ssml-fuzzer.test
  209. tests_ssml_fuzzer_test_CFLAGS = ${AM_CFLAGS}
  210. tests_ssml_fuzzer_test_SOURCES = tests/ssml-fuzzer.c
  211. tests_ssml_fuzzer_test_LDADD = src/libespeak-ng.la
  212. if HAVE_LIBFUZZER
  213. tests_ssml_fuzzer_test_CFLAGS += -fsanitize=fuzzer
  214. tests_ssml_fuzzer_test_LDFLAGS = -fsanitize=fuzzer
  215. else
  216. tests_ssml_fuzzer_test_LDADD += tests/libfuzzrunner.la
  217. endif
  218. tests/ssml-fuzzer.check: tests/ssml-fuzzer.test
  219. @echo " TEST $<"
  220. @ESPEAK_DATA_PATH=$(CURDIR) $< tests/ssml/*.ssml tests/ssml-fuzzer/*.ssml && echo " PASSED $<"
  221. ##### phoneme data:
  222. espeak-ng-data/phondata: phsource/phonemes.stamp
  223. espeak-ng-data/phondata-manifest: phsource/phonemes.stamp
  224. espeak-ng-data/phonindex: phsource/phonemes.stamp
  225. espeak-ng-data/phontab: phsource/phonemes.stamp
  226. espeak-ng-data/intonations: phsource/phonemes.stamp
  227. phsource/phonemes.stamp: \
  228. phsource/ph_afrikaans \
  229. phsource/ph_akan \
  230. phsource/ph_albanian \
  231. phsource/ph_amhari \
  232. phsource/ph_arabic \
  233. phsource/ph_aragon \
  234. phsource/ph_armenian \
  235. phsource/ph_assamese \
  236. phsource/ph_azerbaijani \
  237. phsource/ph_base2 \
  238. phsource/ph_basque \
  239. phsource/ph_bengali \
  240. phsource/ph_bulgarian \
  241. phsource/ph_catalan \
  242. phsource/ph_cherokee \
  243. phsource/ph_consonants \
  244. phsource/ph_croatian \
  245. phsource/ph_czech \
  246. phsource/ph_danish \
  247. phsource/ph_dari \
  248. phsource/ph_divehi \
  249. phsource/ph_dutch \
  250. phsource/ph_english \
  251. phsource/ph_english_n \
  252. phsource/ph_english_rp \
  253. phsource/ph_english_sc \
  254. phsource/ph_english_us \
  255. phsource/ph_english_wi \
  256. phsource/ph_english_wm \
  257. phsource/ph_esperanto \
  258. phsource/ph_estonian \
  259. phsource/ph_farsi \
  260. phsource/ph_finnish \
  261. phsource/ph_french \
  262. phsource/ph_georgian \
  263. phsource/ph_german \
  264. phsource/ph_greek \
  265. phsource/ph_greek_ancient \
  266. phsource/ph_greenlandic \
  267. phsource/ph_gujarati \
  268. phsource/ph_haitian \
  269. phsource/ph_hakka \
  270. phsource/ph_hindi \
  271. phsource/ph_hindi_base \
  272. phsource/ph_hungarian \
  273. phsource/ph_icelandic \
  274. phsource/ph_indonesian \
  275. phsource/ph_interlingua \
  276. phsource/ph_irish \
  277. phsource/ph_italian \
  278. phsource/ph_japanese \
  279. phsource/ph_kannada \
  280. phsource/ph_kazakh \
  281. phsource/ph_kinyarwanda \
  282. phsource/ph_korean \
  283. phsource/ph_kurdish \
  284. phsource/ph_kyrgyz \
  285. phsource/ph_latin \
  286. phsource/ph_latvian \
  287. phsource/ph_lithuanian \
  288. phsource/ph_lojban \
  289. phsource/ph_macedonian \
  290. phsource/ph_malayalam \
  291. phsource/ph_maltese \
  292. phsource/ph_manipuri \
  293. phsource/ph_maori \
  294. phsource/ph_marathi \
  295. phsource/ph_myanmar \
  296. phsource/ph_nahuatl \
  297. phsource/ph_nepali \
  298. phsource/ph_northern-sotho \
  299. phsource/ph_norwegian \
  300. phsource/ph_oriya \
  301. phsource/ph_oromo \
  302. phsource/ph_polish \
  303. phsource/ph_portugal \
  304. phsource/ph_pt_brazil \
  305. phsource/ph_punjabi \
  306. phsource/ph_pyash \
  307. phsource/ph_romanian \
  308. phsource/ph_russian \
  309. phsource/ph_russian_lv \
  310. phsource/ph_s_gaelic \
  311. phsource/ph_serbian \
  312. phsource/ph_setswana \
  313. phsource/ph_shan \
  314. phsource/ph_sinhala \
  315. phsource/ph_slovak \
  316. phsource/ph_slovenian \
  317. phsource/ph_spanish \
  318. phsource/ph_spanish_la \
  319. phsource/ph_swahili \
  320. phsource/ph_swedish \
  321. phsource/ph_tamil \
  322. phsource/ph_tatar \
  323. phsource/ph_telugu \
  324. phsource/ph_tibetan \
  325. phsource/ph_turkish \
  326. phsource/ph_turkmen \
  327. phsource/ph_urdu \
  328. phsource/ph_uyghur \
  329. phsource/ph_uzbek \
  330. phsource/ph_vietnam \
  331. phsource/ph_vietnam_hue \
  332. phsource/ph_vietnam_sgn \
  333. phsource/ph_welsh \
  334. phsource/ph_wolof \
  335. phsource/ph_yoruba \
  336. phsource/ph_zh \
  337. phsource/ph_zh_yue \
  338. phsource/phonemes \
  339. src/espeak-ng
  340. ESPEAK_DATA_PATH=$(CURDIR) src/espeak-ng --compile-intonations && \
  341. ESPEAK_DATA_PATH=$(CURDIR) src/espeak-ng --compile-phonemes && \
  342. touch $@
  343. ##### android targets:
  344. jni:
  345. cd android && ndk-build
  346. apk-release: jni espeakdata
  347. cd android && $(GRADLE) assembleRelease
  348. apk-debug: jni espeakdata
  349. cd android && $(GRADLE) assembleDebug
  350. apk-check: jni espeakdata
  351. cd android && $(GRADLE) connectedCheck
  352. android/res/raw/espeakdata.zip: espeak-ng-data/phontab dictionaries
  353. mkdir -pv android/res/raw
  354. rm -f $@
  355. find espeak-ng-data/{intonations,phondata,phonindex,phontab} | zip -@ $@
  356. find espeak-ng-data/*_dict | zip -@ $@
  357. find espeak-ng-data/lang -type f | zip -@ $@
  358. find espeak-ng-data/voices -type f | grep -vF "/mb/" | zip -@ $@
  359. android/res/raw/espeakdata_version: android/res/raw/espeakdata.zip
  360. sha1sum $< | awk '{ print $$1 }' > $@
  361. espeakdata: \
  362. android/res/raw/espeakdata.zip \
  363. android/res/raw/espeakdata_version
  364. ##### dictionaries:
  365. dictsource/%_emoji:
  366. @echo " EMOJI $@"
  367. @if test x"${CLDR_PATH}" = x ; then \
  368. touch $@ ; \
  369. else \
  370. tools/emoji \
  371. dictsource/en_emoji \
  372. `echo $@ | sed -e 's,dictsource/,,g' -e 's,_emoji,,g'` \
  373. ${CLDR_PATH} > $@ ; \
  374. fi
  375. dictsource/%_extra:
  376. touch $@
  377. espeak-ng-data/%_dict: src/espeak-ng phsource/phonemes.stamp
  378. @echo " DICT $@"
  379. @cd dictsource && ESPEAK_DATA_PATH=$(CURDIR) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak-ng \
  380. --compile=`echo $@ | sed -e 's,espeak-ng-data/,,g' -e 's,_dict,,g'` && cd ..
  381. dictionaries: \
  382. espeak-ng-data/af_dict \
  383. espeak-ng-data/am_dict \
  384. espeak-ng-data/an_dict \
  385. espeak-ng-data/ar_dict \
  386. espeak-ng-data/as_dict \
  387. espeak-ng-data/az_dict \
  388. espeak-ng-data/ba_dict \
  389. espeak-ng-data/bg_dict \
  390. espeak-ng-data/bn_dict \
  391. espeak-ng-data/bpy_dict \
  392. espeak-ng-data/bs_dict \
  393. espeak-ng-data/ca_dict \
  394. espeak-ng-data/chr_dict \
  395. espeak-ng-data/cs_dict \
  396. espeak-ng-data/cv_dict \
  397. espeak-ng-data/cy_dict \
  398. espeak-ng-data/da_dict \
  399. espeak-ng-data/de_dict \
  400. espeak-ng-data/el_dict \
  401. espeak-ng-data/en_dict \
  402. espeak-ng-data/eo_dict \
  403. espeak-ng-data/es_dict \
  404. espeak-ng-data/et_dict \
  405. espeak-ng-data/eu_dict \
  406. espeak-ng-data/fa_dict \
  407. espeak-ng-data/fi_dict \
  408. espeak-ng-data/fr_dict \
  409. espeak-ng-data/ga_dict \
  410. espeak-ng-data/gd_dict \
  411. espeak-ng-data/gn_dict \
  412. espeak-ng-data/grc_dict \
  413. espeak-ng-data/gu_dict \
  414. espeak-ng-data/hak_dict \
  415. espeak-ng-data/haw_dict \
  416. espeak-ng-data/he_dict \
  417. espeak-ng-data/hi_dict \
  418. espeak-ng-data/hr_dict \
  419. espeak-ng-data/ht_dict \
  420. espeak-ng-data/hu_dict \
  421. espeak-ng-data/hy_dict \
  422. espeak-ng-data/ia_dict \
  423. espeak-ng-data/id_dict \
  424. espeak-ng-data/is_dict \
  425. espeak-ng-data/it_dict \
  426. espeak-ng-data/ja_dict \
  427. espeak-ng-data/jbo_dict \
  428. espeak-ng-data/ka_dict \
  429. espeak-ng-data/kk_dict \
  430. espeak-ng-data/kl_dict \
  431. espeak-ng-data/kn_dict \
  432. espeak-ng-data/ko_dict \
  433. espeak-ng-data/kok_dict \
  434. espeak-ng-data/ku_dict \
  435. espeak-ng-data/ky_dict \
  436. espeak-ng-data/la_dict \
  437. espeak-ng-data/lfn_dict \
  438. espeak-ng-data/lt_dict \
  439. espeak-ng-data/lv_dict \
  440. espeak-ng-data/mi_dict \
  441. espeak-ng-data/mk_dict \
  442. espeak-ng-data/ml_dict \
  443. espeak-ng-data/mr_dict \
  444. espeak-ng-data/ms_dict \
  445. espeak-ng-data/mt_dict \
  446. espeak-ng-data/my_dict \
  447. espeak-ng-data/nci_dict \
  448. espeak-ng-data/ne_dict \
  449. espeak-ng-data/nl_dict \
  450. espeak-ng-data/no_dict \
  451. espeak-ng-data/nog_dict \
  452. espeak-ng-data/om_dict \
  453. espeak-ng-data/or_dict \
  454. espeak-ng-data/pa_dict \
  455. espeak-ng-data/pap_dict \
  456. espeak-ng-data/pl_dict \
  457. espeak-ng-data/pt_dict \
  458. espeak-ng-data/py_dict \
  459. espeak-ng-data/qu_dict \
  460. espeak-ng-data/quc_dict \
  461. espeak-ng-data/ro_dict \
  462. espeak-ng-data/ru_dict \
  463. espeak-ng-data/sd_dict \
  464. espeak-ng-data/shn_dict \
  465. espeak-ng-data/si_dict \
  466. espeak-ng-data/sk_dict \
  467. espeak-ng-data/sl_dict \
  468. espeak-ng-data/sq_dict \
  469. espeak-ng-data/sr_dict \
  470. espeak-ng-data/sv_dict \
  471. espeak-ng-data/sw_dict \
  472. espeak-ng-data/ta_dict \
  473. espeak-ng-data/te_dict \
  474. espeak-ng-data/tk_dict \
  475. espeak-ng-data/tn_dict \
  476. espeak-ng-data/tr_dict \
  477. espeak-ng-data/tt_dict \
  478. espeak-ng-data/uk_dict \
  479. espeak-ng-data/ug_dict \
  480. espeak-ng-data/ur_dict \
  481. espeak-ng-data/uz_dict \
  482. espeak-ng-data/vi_dict \
  483. espeak-ng-data/zh_dict \
  484. espeak-ng-data/zhy_dict
  485. af: espeak-ng-data/af_dict
  486. espeak-ng-data/af_dict: dictsource/af_list dictsource/af_rules dictsource/af_extra dictsource/af_emoji
  487. am: espeak-ng-data/am_dict
  488. espeak-ng-data/am_dict: dictsource/am_list dictsource/am_rules dictsource/am_extra dictsource/am_emoji
  489. an: espeak-ng-data/an_dict
  490. espeak-ng-data/an_dict: dictsource/an_list dictsource/an_rules dictsource/an_extra
  491. ar: espeak-ng-data/ar_dict
  492. espeak-ng-data/ar_dict: dictsource/ar_list dictsource/ar_listx dictsource/ar_rules dictsource/ar_extra dictsource/ar_emoji
  493. as: espeak-ng-data/as_dict
  494. espeak-ng-data/as_dict: dictsource/as_list dictsource/as_rules dictsource/as_extra
  495. az: espeak-ng-data/az_dict
  496. espeak-ng-data/az_dict: dictsource/az_list dictsource/az_rules dictsource/az_extra dictsource/az_emoji
  497. ba: espeak-ng-data/ba_dict
  498. espeak-ng-data/ba_dict: dictsource/ba_list dictsource/ba_rules
  499. bg: espeak-ng-data/bg_dict
  500. espeak-ng-data/bg_dict: dictsource/bg_list dictsource/bg_listx dictsource/bg_rules dictsource/bg_extra dictsource/bg_emoji
  501. bn: espeak-ng-data/bn_dict
  502. espeak-ng-data/bn_dict: dictsource/bn_list dictsource/bn_rules dictsource/bn_extra dictsource/bn_emoji
  503. bpy: espeak-ng-data/bpy_dict
  504. espeak-ng-data/bpy_dict: dictsource/bpy_list dictsource/bpy_rules dictsource/bpy_extra
  505. bs: espeak-ng-data/bs_dict
  506. espeak-ng-data/bs_dict: dictsource/bs_list dictsource/bs_rules dictsource/bs_extra dictsource/bs_emoji
  507. ca: espeak-ng-data/ca_dict
  508. espeak-ng-data/ca_dict: dictsource/ca_list dictsource/ca_rules dictsource/ca_extra dictsource/ca_emoji
  509. chr: espeak-ng-data/chr_dict
  510. espeak-ng-data/chr_dict: dictsource/chr_list dictsource/chr_rules
  511. cs: espeak-ng-data/cs_dict
  512. espeak-ng-data/cs_dict: dictsource/cs_list dictsource/cs_rules dictsource/cs_extra dictsource/cs_emoji
  513. cv: espeak-ng-data/cv_dict
  514. espeak-ng-data/cv_dict: dictsource/cv_list dictsource/cv_rules dictsource/cv_extra
  515. cy: espeak-ng-data/cy_dict
  516. espeak-ng-data/cy_dict: dictsource/cy_list dictsource/cy_rules dictsource/cy_extra dictsource/cy_emoji
  517. da: espeak-ng-data/da_dict
  518. espeak-ng-data/da_dict: dictsource/da_list dictsource/da_rules dictsource/da_extra dictsource/da_emoji
  519. de: espeak-ng-data/de_dict
  520. espeak-ng-data/de_dict: dictsource/de_list dictsource/de_rules dictsource/de_extra dictsource/de_emoji
  521. el: espeak-ng-data/el_dict
  522. espeak-ng-data/el_dict: dictsource/el_list dictsource/el_rules dictsource/el_extra dictsource/el_emoji
  523. en: espeak-ng-data/en_dict
  524. espeak-ng-data/en_dict: dictsource/en_list dictsource/en_rules dictsource/en_extra dictsource/en_emoji
  525. eo: espeak-ng-data/eo_dict
  526. espeak-ng-data/eo_dict: dictsource/eo_list dictsource/eo_rules dictsource/eo_extra
  527. es: espeak-ng-data/es_dict
  528. espeak-ng-data/es_dict: dictsource/es_list dictsource/es_rules dictsource/es_extra dictsource/es_emoji
  529. et: espeak-ng-data/et_dict
  530. espeak-ng-data/et_dict: dictsource/et_list dictsource/et_rules dictsource/et_extra dictsource/et_emoji
  531. eu: espeak-ng-data/eu_dict
  532. espeak-ng-data/eu_dict: dictsource/eu_list dictsource/eu_rules dictsource/eu_extra dictsource/eu_emoji
  533. fa: espeak-ng-data/fa_dict
  534. espeak-ng-data/fa_dict: dictsource/fa_list dictsource/fa_rules dictsource/fa_extra dictsource/fa_emoji
  535. fi: espeak-ng-data/fi_dict
  536. espeak-ng-data/fi_dict: dictsource/fi_list dictsource/fi_rules dictsource/fi_extra dictsource/fi_emoji
  537. fr: espeak-ng-data/fr_dict
  538. espeak-ng-data/fr_dict: dictsource/fr_list dictsource/fr_rules dictsource/fr_extra dictsource/fr_emoji
  539. ga: espeak-ng-data/ga_dict
  540. espeak-ng-data/ga_dict: dictsource/ga_list dictsource/ga_rules dictsource/ga_extra dictsource/ga_emoji
  541. gd: espeak-ng-data/gd_dict
  542. espeak-ng-data/gd_dict: dictsource/gd_list dictsource/gd_rules dictsource/gd_extra dictsource/gd_emoji
  543. gn: espeak-ng-data/gn_dict
  544. espeak-ng-data/gn_dict: dictsource/gn_list dictsource/gn_rules dictsource/gn_extra
  545. grc: espeak-ng-data/grc_dict
  546. espeak-ng-data/grc_dict: dictsource/grc_list dictsource/grc_rules dictsource/grc_extra
  547. gu: espeak-ng-data/gu_dict
  548. espeak-ng-data/gu_dict: dictsource/gu_list dictsource/gu_rules dictsource/gu_extra dictsource/gu_emoji
  549. hak: espeak-ng-data/hak_dict
  550. espeak-ng-data/hak_dict: dictsource/hak_list dictsource/hak_rules dictsource/hak_extra
  551. haw: espeak-ng-data/haw_dict
  552. espeak-ng-data/haw_dict: dictsource/haw_list dictsource/haw_rules dictsource/haw_extra
  553. he: espeak-ng-data/he_dict
  554. espeak-ng-data/he_dict: dictsource/he_list dictsource/he_rules dictsource/he_extra
  555. hi: espeak-ng-data/hi_dict
  556. espeak-ng-data/hi_dict: dictsource/hi_list dictsource/hi_rules dictsource/hi_extra dictsource/hi_emoji
  557. hr: espeak-ng-data/hr_dict
  558. espeak-ng-data/hr_dict: dictsource/hr_list dictsource/hr_rules dictsource/hr_extra dictsource/hr_emoji
  559. ht: espeak-ng-data/ht_dict
  560. espeak-ng-data/ht_dict: dictsource/ht_list dictsource/ht_rules dictsource/ht_extra
  561. hu: espeak-ng-data/hu_dict
  562. espeak-ng-data/hu_dict: dictsource/hu_list dictsource/hu_rules dictsource/hu_extra dictsource/hu_emoji
  563. hy: espeak-ng-data/hy_dict
  564. espeak-ng-data/hy_dict: dictsource/hy_list dictsource/hy_rules dictsource/hy_extra dictsource/hy_emoji
  565. ia: espeak-ng-data/ia_dict
  566. espeak-ng-data/ia_dict: dictsource/ia_list dictsource/ia_rules dictsource/ia_extra
  567. id: espeak-ng-data/id_dict
  568. espeak-ng-data/id_dict: dictsource/id_list dictsource/id_rules dictsource/id_extra dictsource/id_emoji
  569. is: espeak-ng-data/is_dict
  570. espeak-ng-data/is_dict: dictsource/is_list dictsource/is_rules dictsource/is_extra dictsource/is_emoji
  571. it: espeak-ng-data/it_dict
  572. espeak-ng-data/it_dict: dictsource/it_list dictsource/it_listx dictsource/it_rules dictsource/it_extra dictsource/it_emoji
  573. ja: espeak-ng-data/ja_dict
  574. espeak-ng-data/ja_dict: dictsource/ja_list dictsource/ja_rules dictsource/ja_extra dictsource/ja_emoji
  575. jbo: espeak-ng-data/jbo_dict
  576. espeak-ng-data/jbo_dict: dictsource/jbo_list dictsource/jbo_rules dictsource/jbo_extra
  577. ka: espeak-ng-data/ka_dict
  578. espeak-ng-data/ka_dict: dictsource/ka_list dictsource/ka_rules dictsource/ka_extra dictsource/ka_emoji
  579. kk: espeak-ng-data/kk_dict
  580. espeak-ng-data/kk_dict: dictsource/kk_list dictsource/kk_rules dictsource/kk_extra dictsource/kk_emoji
  581. kl: espeak-ng-data/kl_dict
  582. espeak-ng-data/kl_dict: dictsource/kl_list dictsource/kl_rules dictsource/kl_extra
  583. kn: espeak-ng-data/kn_dict
  584. espeak-ng-data/kn_dict: dictsource/kn_list dictsource/kn_rules dictsource/kn_extra dictsource/kn_emoji
  585. ko: espeak-ng-data/ko_dict
  586. espeak-ng-data/ko_dict: dictsource/ko_list dictsource/ko_rules dictsource/ko_extra dictsource/ko_emoji
  587. kok: espeak-ng-data/kok_dict
  588. espeak-ng-data/kok_dict: dictsource/kok_list dictsource/kok_rules dictsource/kok_extra
  589. ku: espeak-ng-data/ku_dict
  590. espeak-ng-data/ku_dict: dictsource/ku_list dictsource/ku_rules dictsource/ku_extra
  591. ky: espeak-ng-data/ky_dict
  592. espeak-ng-data/ky_dict: dictsource/ky_list dictsource/ky_rules dictsource/ky_extra dictsource/ky_emoji
  593. la: espeak-ng-data/la_dict
  594. espeak-ng-data/la_dict: dictsource/la_list dictsource/la_rules dictsource/la_extra
  595. lfn: espeak-ng-data/lfn_dict
  596. espeak-ng-data/lfn_dict: dictsource/lfn_list dictsource/lfn_rules dictsource/lfn_extra
  597. lt: espeak-ng-data/lt_dict
  598. espeak-ng-data/lt_dict: dictsource/lt_list dictsource/lt_rules dictsource/lt_extra dictsource/lt_emoji
  599. lv: espeak-ng-data/lv_dict
  600. espeak-ng-data/lv_dict: dictsource/lv_list dictsource/lv_rules dictsource/lv_extra dictsource/lv_emoji
  601. mi: espeak-ng-data/mi_dict
  602. espeak-ng-data/mi_dict: dictsource/mi_list dictsource/mi_rules dictsource/mi_extra
  603. mk: espeak-ng-data/mk_dict
  604. espeak-ng-data/mk_dict: dictsource/mk_list dictsource/mk_rules dictsource/mk_extra dictsource/mk_emoji
  605. ml: espeak-ng-data/ml_dict
  606. espeak-ng-data/ml_dict: dictsource/ml_list dictsource/ml_rules dictsource/ml_extra dictsource/ml_emoji
  607. mr: espeak-ng-data/mr_dict
  608. espeak-ng-data/mr_dict: dictsource/mr_list dictsource/mr_rules dictsource/mr_extra dictsource/mr_emoji
  609. ms: espeak-ng-data/ms_dict
  610. espeak-ng-data/ms_dict: dictsource/ms_list dictsource/ms_rules dictsource/ms_extra dictsource/ms_emoji
  611. mt: espeak-ng-data/mt_dict
  612. espeak-ng-data/mt_dict: dictsource/mt_list dictsource/mt_rules dictsource/mt_extra
  613. my: espeak-ng-data/my_dict
  614. espeak-ng-data/my_dict: dictsource/my_list dictsource/my_rules dictsource/my_extra dictsource/my_emoji
  615. nci: espeak-ng-data/nci_dict
  616. espeak-ng-data/nci_dict: dictsource/nci_list dictsource/nci_rules dictsource/nci_extra
  617. ne: espeak-ng-data/ne_dict
  618. espeak-ng-data/ne_dict: dictsource/ne_list dictsource/ne_rules dictsource/ne_extra dictsource/ne_emoji
  619. nl: espeak-ng-data/nl_dict
  620. espeak-ng-data/nl_dict: dictsource/nl_list dictsource/nl_rules dictsource/nl_extra dictsource/nl_emoji
  621. no: espeak-ng-data/no_dict
  622. espeak-ng-data/no_dict: dictsource/no_list dictsource/no_rules dictsource/no_extra
  623. no: espeak-ng-data/nog_dict
  624. espeak-ng-data/nog_dict: dictsource/nog_list dictsource/nog_rules dictsource/nog_extra
  625. om: espeak-ng-data/om_dict
  626. espeak-ng-data/om_dict: dictsource/om_list dictsource/om_rules dictsource/om_extra
  627. or: espeak-ng-data/or_dict
  628. espeak-ng-data/or_dict: dictsource/or_list dictsource/or_rules dictsource/or_extra dictsource/or_emoji
  629. pa: espeak-ng-data/pa_dict
  630. espeak-ng-data/pa_dict: dictsource/pa_list dictsource/pa_rules dictsource/pa_extra dictsource/pa_emoji
  631. pap: espeak-ng-data/pap_dict
  632. espeak-ng-data/pap_dict: dictsource/pap_list dictsource/pap_rules dictsource/pap_extra
  633. pl: espeak-ng-data/pl_dict
  634. espeak-ng-data/pl_dict: dictsource/pl_list dictsource/pl_rules dictsource/pl_extra dictsource/pl_emoji
  635. pt: espeak-ng-data/pt_dict
  636. espeak-ng-data/pt_dict: dictsource/pt_list dictsource/pt_rules dictsource/pt_extra dictsource/pt_emoji
  637. py: espeak-ng-data/py_dict
  638. espeak-ng-data/py_dict: dictsource/py_list dictsource/py_rules dictsource/py_extra
  639. qu: espeak-ng-data/qu_dict
  640. espeak-ng-data/qu_dict: dictsource/qu_list dictsource/qu_rules dictsource/qu_extra
  641. quc: espeak-ng-data/quc_dict
  642. espeak-ng-data/quc_dict: dictsource/quc_list dictsource/quc_rules dictsource/quc_extra dictsource/quc_emoji
  643. ro: espeak-ng-data/ro_dict
  644. espeak-ng-data/ro_dict: dictsource/ro_list dictsource/ro_rules dictsource/ro_extra dictsource/ro_emoji
  645. ru: espeak-ng-data/ru_dict
  646. dictsource/ru_listx:
  647. ln -svf extra/ru_listx dictsource/
  648. if HAVE_RU_EXTENDED_DICTIONARY
  649. espeak-ng-data/ru_dict: dictsource/ru_list dictsource/ru_rules dictsource/ru_extra dictsource/ru_listx dictsource/ru_emoji
  650. else
  651. espeak-ng-data/ru_dict: dictsource/ru_list dictsource/ru_rules dictsource/ru_extra dictsource/ru_emoji
  652. endif
  653. sd: espeak-ng-data/sd_dict
  654. espeak-ng-data/sd_dict: dictsource/sd_list dictsource/sd_rules dictsource/sd_extra dictsource/sd_emoji
  655. shn: espeak-ng-data/shn_dict
  656. espeak-ng-data/shn_dict: dictsource/shn_list dictsource/shn_rules dictsource/shn_extra
  657. si: espeak-ng-data/si_dict
  658. espeak-ng-data/si_dict: dictsource/si_list dictsource/si_rules dictsource/si_extra dictsource/si_emoji
  659. sk: espeak-ng-data/sk_dict
  660. espeak-ng-data/sk_dict: dictsource/sk_list dictsource/sk_rules dictsource/sk_extra dictsource/sk_emoji
  661. sl: espeak-ng-data/sl_dict
  662. espeak-ng-data/sl_dict: dictsource/sl_list dictsource/sl_rules dictsource/sl_extra dictsource/sl_emoji
  663. sq: espeak-ng-data/sq_dict
  664. espeak-ng-data/sq_dict: dictsource/sq_list dictsource/sq_rules dictsource/sq_extra dictsource/sq_emoji
  665. dictsource/sr_emoji:
  666. @echo " EMOJI $@"
  667. @if test x"${CLDR_PATH}" = x ; then \
  668. touch $@ ; \
  669. else \
  670. tools/emoji dictsource/en_emoji sr_Latn ${CLDR_PATH} > $@ ; \
  671. fi
  672. sr: espeak-ng-data/sr_dict
  673. espeak-ng-data/sr_dict: dictsource/sr_list dictsource/sr_rules dictsource/sr_extra dictsource/sr_emoji
  674. sv: espeak-ng-data/sv_dict
  675. espeak-ng-data/sv_dict: dictsource/sv_list dictsource/sv_rules dictsource/sv_extra dictsource/sv_emoji
  676. sw: espeak-ng-data/sw_dict
  677. espeak-ng-data/sw_dict: dictsource/sw_list dictsource/sw_rules dictsource/sw_extra dictsource/sw_emoji
  678. ta: espeak-ng-data/ta_dict
  679. espeak-ng-data/ta_dict: dictsource/ta_list dictsource/ta_rules dictsource/ta_extra dictsource/ta_emoji
  680. te: espeak-ng-data/te_dict
  681. espeak-ng-data/te_dict: dictsource/te_list dictsource/te_rules dictsource/te_extra dictsource/te_emoji
  682. tk: espeak-ng-data/tk_dict
  683. espeak-ng-data/tk_dict: dictsource/tk_list dictsource/tk_listx dictsource/tk_rules dictsource/tk_extra
  684. tn: espeak-ng-data/tn_dict
  685. espeak-ng-data/tn_dict: dictsource/tn_list dictsource/tn_rules dictsource/tn_extra
  686. tr: espeak-ng-data/tr_dict
  687. espeak-ng-data/tr_dict: dictsource/tr_list dictsource/tr_rules dictsource/tr_extra dictsource/tr_emoji
  688. tt: espeak-ng-data/tt_dict
  689. espeak-ng-data/tt_dict: dictsource/tt_list dictsource/tt_rules dictsource/tt_extra
  690. ug: espeak-ng-data/ug_dict
  691. espeak-ng-data/ug_dict: dictsource/ug_list dictsource/ug_rules dictsource/ug_extra
  692. uk: espeak-ng-data/uk_dict
  693. espeak-ng-data/uk_dict: dictsource/uk_list dictsource/uk_rules dictsource/uk_extra
  694. ur: espeak-ng-data/ur_dict
  695. espeak-ng-data/ur_dict: dictsource/ur_list dictsource/ur_rules dictsource/ur_extra dictsource/ur_emoji
  696. uz: espeak-ng-data/uz_dict
  697. espeak-ng-data/uz_dict: dictsource/uz_list dictsource/uz_rules dictsource/uz_extra
  698. vi: espeak-ng-data/vi_dict
  699. espeak-ng-data/vi_dict: dictsource/vi_list dictsource/vi_rules dictsource/vi_extra dictsource/vi_emoji
  700. zh: espeak-ng-data/zh_dict
  701. dictsource/zh_listx:
  702. ln -svf extra/zh_listx dictsource/
  703. if HAVE_ZH_EXTENDED_DICTIONARY
  704. espeak-ng-data/zh_dict: dictsource/zh_list dictsource/zh_rules dictsource/zh_listx dictsource/zh_extra dictsource/zh_emoji
  705. else
  706. espeak-ng-data/zh_dict: dictsource/zh_list dictsource/zh_rules dictsource/zh_extra dictsource/zh_emoji
  707. endif
  708. zhy: espeak-ng-data/zhy_dict
  709. dictsource/zhy_listx:
  710. ln -svf extra/zhy_listx dictsource/
  711. if HAVE_ZHY_EXTENDED_DICTIONARY
  712. espeak-ng-data/zhy_dict: dictsource/zhy_list dictsource/zhy_rules dictsource/zhy_extra dictsource/zhy_listx dictsource/zhy_emoji
  713. else
  714. espeak-ng-data/zhy_dict: dictsource/zhy_list dictsource/zhy_rules dictsource/zhy_extra dictsource/zhy_emoji
  715. endif
  716. cd dictsource && ESPEAK_DATA_PATH=$(CURDIR) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak-ng --compile=yue && cd ..
  717. dictsource/zhy_emoji:
  718. @echo " EMOJI $@"
  719. @if test x"${CLDR_PATH}" = x ; then \
  720. touch $@ ; \
  721. else \
  722. tools/emoji dictsource/en_emoji yue ${CLDR_PATH} > $@ ; \
  723. fi
  724. ##### mbrola:
  725. mbrola: \
  726. espeak-ng-data/mbrola_ph/af1_phtrans \
  727. espeak-ng-data/mbrola_ph/ar1_phtrans \
  728. espeak-ng-data/mbrola_ph/ar2_phtrans \
  729. espeak-ng-data/mbrola_ph/ca_phtrans \
  730. espeak-ng-data/mbrola_ph/cr1_phtrans \
  731. espeak-ng-data/mbrola_ph/cs_phtrans \
  732. espeak-ng-data/mbrola_ph/de2_phtrans \
  733. espeak-ng-data/mbrola_ph/de4_phtrans \
  734. espeak-ng-data/mbrola_ph/de6_phtrans \
  735. espeak-ng-data/mbrola_ph/de8_phtrans \
  736. espeak-ng-data/mbrola_ph/ee1_phtrans \
  737. espeak-ng-data/mbrola_ph/en1_phtrans \
  738. espeak-ng-data/mbrola_ph/es_phtrans \
  739. espeak-ng-data/mbrola_ph/es3_phtrans \
  740. espeak-ng-data/mbrola_ph/es4_phtrans \
  741. espeak-ng-data/mbrola_ph/fr_phtrans \
  742. espeak-ng-data/mbrola_ph/gr1_phtrans \
  743. espeak-ng-data/mbrola_ph/gr2_phtrans \
  744. espeak-ng-data/mbrola_ph/grc-de6_phtrans \
  745. espeak-ng-data/mbrola_ph/hn1_phtrans \
  746. espeak-ng-data/mbrola_ph/hu1_phtrans \
  747. espeak-ng-data/mbrola_ph/ic1_phtrans \
  748. espeak-ng-data/mbrola_ph/id1_phtrans \
  749. espeak-ng-data/mbrola_ph/in_phtrans \
  750. espeak-ng-data/mbrola_ph/ir1_phtrans \
  751. espeak-ng-data/mbrola_ph/it1_phtrans \
  752. espeak-ng-data/mbrola_ph/it3_phtrans \
  753. espeak-ng-data/mbrola_ph/jp_phtrans \
  754. espeak-ng-data/mbrola_ph/la1_phtrans \
  755. espeak-ng-data/mbrola_ph/lt_phtrans \
  756. espeak-ng-data/mbrola_ph/ma1_phtrans \
  757. espeak-ng-data/mbrola_ph/mx1_phtrans \
  758. espeak-ng-data/mbrola_ph/mx2_phtrans \
  759. espeak-ng-data/mbrola_ph/nl_phtrans \
  760. espeak-ng-data/mbrola_ph/nz1_phtrans \
  761. espeak-ng-data/mbrola_ph/pl1_phtrans \
  762. espeak-ng-data/mbrola_ph/pt1_phtrans \
  763. espeak-ng-data/mbrola_ph/ptbr_phtrans \
  764. espeak-ng-data/mbrola_ph/ptbr4_phtrans \
  765. espeak-ng-data/mbrola_ph/ro1_phtrans \
  766. espeak-ng-data/mbrola_ph/sv_phtrans \
  767. espeak-ng-data/mbrola_ph/sv2_phtrans \
  768. espeak-ng-data/mbrola_ph/tl1_phtrans \
  769. espeak-ng-data/mbrola_ph/tr1_phtrans \
  770. espeak-ng-data/mbrola_ph/us_phtrans \
  771. espeak-ng-data/mbrola_ph/us3_phtrans \
  772. espeak-ng-data/mbrola_ph/vz_phtrans \
  773. espeak-ng-data/mbrola_ph/zh_phtrans
  774. espeak-ng-data/mbrola_ph/%_phtrans: phsource/mbrola/% src/espeak-ng
  775. mkdir -p espeak-ng-data/mbrola_ph
  776. ESPEAK_DATA_PATH=$(CURDIR) src/espeak-ng --compile-mbrola=phsource/mbrola/$*