ln = fin-Latn
version = ee36d73172193ca473702ff3dcfcbb7624fd6ef4
omor = $(version).zip
venv = . venv/bin/activate &&
#
all: clean venv epitran osf omorfi parse transcription frequencies tag metadata validate

venv:
	echo "Build venv..."
	# Create venv if it doesn't exist
	test -d venv || python3 -m venv venv
	$(venv) pip install -r build/requirements.txt

epitran: epitran/map/$(ln).csv epitran/post/$(ln).txt epitran/pre/$(ln).txt
	# We move epitran data to the right place.
	find -wholename "./venv/lib/*/epitran/data" -exec cp epitran/map/$(ln).csv {}/map/$(ln).csv \;
	find -wholename "./venv/lib/*/epitran/data" -exec cp epitran/post/$(ln).txt {}/post/$(ln).txt \;
	find -wholename "./venv/lib/*/epitran/data" -exec cp epitran/pre/$(ln).txt {}/pre/$(ln).txt \;

osf: sources/parsebank_10

sources/parsebank_10: venv
	osf -p 7hrbv fetch fi_parsebank_5B_10.zip sources/fi_parsebank_5B_10.zip
	unzip -j "sources/fi_parsebank_5B_10.zip" "fi_parsebank_5B_10/tables/wordfreqs.csv" "fi_parsebank_5B_10/tables/lemmas.csv" -d "sources/parsebank_10/"
	rm sources/fi_parsebank_5B_10.zip

omorfi: sources/omorfi

sources/omorfi: venv
	wget https://github.com/flammie/omorfi/archive/$(omor)
	unzip -u $(omor) -d sources
	mv sources/omorfi-$(version)/ sources/omorfi-src
	rm $(omor)
	$(venv) cd sources/omorfi-src && autoreconf -i
	sed -i -e 's/libhfst/hfst/g' sources/omorfi-src/configure
	$(venv) cd sources/omorfi-src && ./configure
	$(venv) cd sources/omorfi-src && make
	mkdir -p sources/omorfi
	mv sources/omorfi-src/src/generated/master.tsv sources/omorfi/master.tsv
	mv sources/omorfi-src/src/generated/omorfi.generate.hfst sources/omorfi/omorfi.generate.hfst
	rm -r sources/omorfi-src

parse: venv
	echo "Parse source..."
	$(venv) python3 format_lexicon.py --parse

evaluate: venv epitran
	echo "Run evaluation..."
	$(venv) python3 format_lexicon.py --evaluate

transcription: venv epitran
	echo "Run transcription..."
	$(venv) python3 format_lexicon.py --transcription

frequencies: venv
	echo "Build frequencies..."
	$(venv) python3 format_lexicon.py --frequencies

tag: venv
	echo "Add overabundance and defectivity tags..."
	$(venv) python3 format_lexicon.py --tag

sample: venv
	echo "Build sample..."
	$(venv) python3 format_lexicon.py --sample

metadata: venv
	echo "Run metadata..."
	$(venv) paralex meta build/parafin.yml --basepath="."

validate: metadata venv
	echo "Run validation..."
	$(venv) frictionless validate parafin.package.json
	$(venv) paralex validate parafin.package.json

clean:
	rm -r venv
# 	rm source/*

