# generate the list of tables as follows:
# $ ls | grep -v Makefile | grep -v README | grep -v maketablelist.sh | grep -v '.*~$' | sort -df | sed -e 's/$/ \\/' -e 's/^/	/' -e '$s/\\$//'
table_files = \
	afr-za-g1.ctb \
	afr-za-g2.ctb \
	ar-ar-g1.utb \
	ar-ar-g2.ctb \
	ar-ar-comp8.utb \
	ar.tbl \
	as-in-g1.utb \
	as.tbl \
	awa.tbl \
	aw-in-g1.utb \
	spaces.uti \
	be-in-g1.utb \
	bengali.cti \
	bg.ctb \
	bg.tbl \
	bh.ctb \
	bh.tbl \
	bn.tbl \
	bo.ctb \
	bo.tbl \
	boxes.ctb \
	braille-patterns.cti \
	bra.tbl \
	br-in-g1.utb \
	ca-chardefs.cti \
	ca-g1.ctb \
	ca.tbl \
	en-chardefs.cti \
	chr-us-g1.ctb \
	ckb-chardefs.cti \
	ckb-g1.ctb \
	ckb.tbl \
	ckb-translation.cti \
	compress.cti \
	controlchars.cti \
	corrections.cti \
	countries.cti \
	cs-chardefs.cti \
	cs-comp8.utb \
	cs-g1.ctb \
	cs-letterDef8Dots.uti \
	cs.tbl \
	cs-translation.cti \
	cy-cy-g1.utb \
	cy-cy-g2.ctb \
	cy.tbl \
	da-dk-6miscChars.cti \
	da-dk-8miscChars.cti \
	da-dk.dis \
	da-dk-g08.ctb \
	da-dk-g16.ctb \
	da-dk-g16-lit.ctb \
	da-dk-g18.ctb \
	da-dk-g26.ctb \
	da-dk-g26l.ctb \
	da-dk-g26-lit.ctb \
	da-dk-g26l-lit.ctb \
	da-dk-g28.ctb \
	da-dk-g28l.ctb \
	da-dk-octobraille.dis \
	da-lt.ctb \
	de-accents.cti \
	de-accents-detailed.cti \
	de-chardefs6.cti \
	de-chardefs8.cti \
	de-chess.ctb \
	de-de-comp8.ctb \
	de-de.dis \
	de-eurobrl6.dis \
	de-eurobrl6u.dis \
	de-g0-core.uti \
	de-g0.utb \
	de-g1-core.cti \
	de-g1-core-patterns.dic \
	de-g1.ctb \
	de-g2-core.cti \
	de-g2-core-patterns.dic \
	de-g2.ctb \
	devanagari.cti \
	digits6DotsPlusDot6.uti \
	digits6Dots.uti \
	digits8Dots.uti \
	dra.ctb \
	dra.tbl \
	el.ctb \
	en_CA.ctb \
	en_CA.tbl \
	en-chess.ctb \
	en-gb-comp8.ctb \
	en-gb-g1.utb \
	en-GB-g2.ctb \
	en_GB.tbl \
	en-in-g1.ctb \
	en-nabcc.utb \
	en-ueb-chardefs.uti \
	en-ueb-g1.ctb \
	en-ueb-g2.ctb \
	en-ueb-math.ctb \
	en-us-brf.dis \
	en-us-comp6.ctb \
	en-us-comp8.ctb \
	en_US-comp8-ext.tbl \
	en-us-comp8-ext.utb \
	en-us-compbrl.uti \
	en-us-g1.ctb \
	en-us-g2.ctb \
	en-us-interline.ctb \
	en-us-mathtext.ctb \
	en_US.tbl \
	eo-g1.ctb \
	eo-g1-x-system.ctb \
	eo.tbl \
	es-chardefs.cti \
	Es-Es-G0.utb \
	es-g1.ctb \
	es-g2.ctb \
	es-new.dis \
	es-old.dis \
	es.tbl \
	et.ctb \
	et-g0.utb \
	ethio-g1.ctb \
	et.tbl \
	eurodefs.cti \
	fa-ir-comp8.ctb \
	fa-ir-g1.utb \
	fi1.ctb \
	fi2.ctb \
	fi-fi-8dot.ctb \
	fi.utb \
	fr-bfu-comp68.cti \
	fr-bfu-comp6.utb \
	fr-bfu-comp8.utb \
	fr-bfu-g2.ctb \
	ga-g1.utb \
	ga-g2.ctb \
	gd.ctb \
	gd.tbl \
	gez.tbl \
	gon.ctb \
	gon.tbl \
	grc-international-en.utb \
	grc-international-common.uti \
	grc-international-composed.uti \
	grc-international-decomposed.uti \
	gr-pl-comp8.uti \
	gu-in-g1.utb \
	gujarati.cti \
	gurumuki.cti \
	gu.tbl \
	haw-us-g1.ctb \
	he.ctb \
	he.tbl \
	hi-in-g1.utb \
	hi.tbl \
	hr-chardefs.cti \
	hr-comp8.tbl \
	hr-comp8.utb \
	hr-digits.uti \
	hr-g1.ctb \
	hr-g1.tbl \
	hr-translation.cti \
	hu-backtranslate-correction.dis \
	hu-chardefs.cti \
	hu-exceptionwords.cti \
	hu-hu-g1_braille_input.cti \
	hu-hu-comp8.ctb \
	hu-hu-g1.ctb \
	hu-hu-g2.ctb \
	hu-hu-g2_exceptions.cti \
	hu.tbl \
	hy.ctb \
	hyph_brl_da_dk.dic \
	hyph_cs_CZ.dic \
	hyph_da_DK.dic \
	hyph_de_DE.dic \
	hyph_en_US.dic \
	hyph_eo.dic \
	hyph_es_ES.dic \
	hyph_fr_FR.dic \
	hyph_hu_HU.dic \
	hyph_it_IT.dic \
	hyph_nb_NO.dic \
	hyph_nl_NL.dic \
	hyph_nn_NO.dic \
	hyph_pl_PL.dic \
	hyph_pt_PT.dic \
	hyph_ru.dic \
	hyph_sv_SE.dic \
	hy.tbl \
	IPA-unicode-range.uti \
	IPA.utb \
	is-chardefs6.cti \
	is-chardefs8.cti \
	is.ctb \
	is.tbl \
	it-it-comp6.utb \
	it-it-comp8.utb \
	it.tbl \
	iu-ca-g1.ctb \
	ka-in-g1.utb \
	kannada.cti \
	kha.tbl \
	kh-in-g1.utb \
	kn.tbl \
	ko-2006.cti \
	ko-2006-g1.ctb \
	ko-2006-g2.ctb \
	ko-chars.cti \
	ko.cti \
	ko-g1.ctb \
	ko-g1-rules.cti \
	ko-g2.ctb \
	ko-g2-rules.cti \
	kok.ctb \
	kok.tbl \
	kru.ctb \
	kru.tbl \
	ks-in-g1.utb \
	latinLetterDef6Dots.uti \
	latinLetterDef8Dots.uti \
	litdigits6DotsPlusDot6.uti \
	litdigits6Dots.uti \
	loweredDigits6Dots.uti \
	loweredDigits8Dots.uti \
	lt.ctb \
	lt.tbl \
	lt-6dot.utb \
	lt-6dot.tbl \
	Lv-Lv-g1.utb \
	lv.tbl \
	malayalam.cti \
	mao-nz-g1.ctb \
	marburg_single_cell_defs.cti \
	marburg_unicode_defs.cti \
	ml-in-g1.utb \
	ml.tbl \
	mn-in-g1.utb \
	mni.tbl \
	mn-MN-common.cti \
	mn-MN-g1.utb \
	mn-MN-g2.ctb \
	mr-in-g1.utb \
	mr.tbl \
	mt.ctb \
	mt.tbl \
	mun.ctb \
	mun.tbl \
	mwr.ctb \
	mwr.tbl \
	ne.ctb \
	nemethdefs.cti \
	ne.tbl \
	nl-BE.dis \
	nl-BE-g0.utb \
	nl_BE.tbl \
	nl-chardefs.uti \
	nl-g0.uti \
	nl-NL-g0.utb \
	nl.tbl \
	nl-comp8.utb \
	no-no-8dot-fallback-6dot-g0.utb \
	no-no-8dot.utb \
	no-no-braillo-047-01.dis \
	no-no-chardefs6.uti \
	no-no-comp8.ctb \
	no-no.dis \
	no-no-g0.utb \
	no-no-g1.ctb \
	no-no-g2.ctb \
	no-no-g3.ctb \
	no-no-generic.ctb \
	no-no-generic.dis \
	no-no-latinLetterDef6Dots_diacritics.uti \
	no.tbl \
	np-in-g1.utb \
	or-in-g1.utb \
	oriya.cti \
	or.tbl \
	pa.tbl \
	pi.ctb \
	pi.tbl \
	pl-pl-comp8.ctb \
	Pl-Pl-g1.utb \
	pl.tbl \
	printables.cti \
	pt-pt-comp8.ctb \
	pt-pt-g1.utb \
	pt-pt-g2.ctb \
	pt.tbl \
	pu-in-g1.utb \
	ro.ctb \
	ro.tbl \
	ru-chardefs.cti \
	ru-compbrl.ctb \
	ru.ctb \
	ru-letters.dis \
	ru-litbrl.ctb \
	ru-ru.dis \
	ru-ru-g1.utb \
	ru-unicode.dis \
	ru.tbl \
	sa-in-g1.utb \
	sa.tbl \
	sd.tbl \
	se-se.ctb \
	se-se.dis \
	Se-Se-g1.utb \
	si-in-g1.utb \
	sin.cti \
	sin.utb \
	sk-chardefs.cti \
	sk-g1.ctb \
	sk-sk-g1.utb \
	sk-sk.utb \
	sk.tbl \
	sk-translation.cti \
	sl-si-comp8.ctb \
	sl-si-g1.utb \
	sl.tbl \
	sot-za-g1.ctb \
	sr-chardefs.cti \
	sr-g1.ctb \
	sr.tbl \
	sv-1989.ctb \
	sv-1996.ctb \
	sv.tbl \
	ta.ctb \
	tamil.cti \
	ta-ta-g1.ctb \
	ta.tbl \
	te-in-g1.utb \
	telugu.cti \
	te.tbl \
	text_nabcc.dis \
	tr.ctb \
	tr-g1.ctb \
	tr-g2.ctb \
	tr-g2.tbl \
	tr.tbl \
	tsn-za-g1.ctb \
	uk.utb \
	ukchardefs.cti \
	ukmaths_single_cell_defs.cti \
	ukmaths_unicode_defs.cti \
	unicode-braille.utb \
	unicode.dis \
	unicode-without-blank.dis \
	uni-text.dis \
	ur-pk-g1.utb \
	ur-pk-g2.ctb \
	us-table.dis \
	vi.ctb \
	vi-g1.ctb \
	vi.tbl \
	wiskunde-chardefs.cti \
	zh-chn.ctb \
	zh_CHN.tbl \
	zhcn-g1.ctb \
	zhcn-g2.ctb \
	zh-hk.ctb \
	zh_HK.tbl \
	zh-tw.ctb \
	zh_TW.tbl 

tablesdir = $(datadir)/liblouis/tables
tables_DATA = $(table_files)
EXTRA_DIST = $(table_files)
