#!/usr/bin/make -f
# -*- mode: makefile; indent-tabs-mode: t -*- vim:noet:ts=4

# In case of problems, try replacing `jaist' in ${DL_HOST} with one of these
# (copied from <https://sourceforge.net/p/forge/documentation/Mirrors/>):
#   astuteinternet ayera cfhcable cytranet excellmedia freefr gigenet
#   iweb jaist kent liquidtelecom nchc netcologne netix newcontinuum
#   phoenixnap razaoinfo superb-dca2 superb-sea2 svwh ufpr versaweb

WGET = wget
TAR = tar
W3M = wget -q -O -
ENDIANNESS = le
DATA_DIR = /usr/share/sunpinyin

DL_LIST = https://sourceforge.net/projects/open-gram/files/
DL_HOST = https://jaist.dl.sourceforge.net
DL_ROOT = ${DL_HOST}/open-gram
DICT_PAT = 'dict\.utf8-[0-9]\+.tar.bz2'
SLM_PAT = 'lm_sc\.3gm\.arpa-[0-9]\+.tar.bz2'

DICT_AR = $(shell ${W3M} ${DL_LIST} | grep -o ${DICT_PAT} | sort -u | tail -n 1)
SLM_AR = $(shell ${W3M} ${DL_LIST} | grep -o ${SLM_PAT} | sort -u | tail -n 1)

all: install

${DICT_AR}:
	${WGET} ${DL_ROOT}/$@

dict.utf8: ${DICT_AR}
	${TAR} xmf $^

${SLM_AR}:
	${WGET} ${DL_ROOT}/$@

lm_sc.3gm.arpa: ${SLM_AR}
	${TAR} xmf $^

lm_sc.3gm: lm_sc.3gm.arpa dict.utf8
	slmpack $^ $@

lm_sc.t3g.orig: lm_sc.3gm
	slmthread $^ $@

lm_sc.t3g: lm_sc.t3g.orig
	tslmendian -e ${ENDIANNESS} -i $^ -o $@

pydict_sc.bin: dict.utf8 lm_sc.t3g
	genpyt -e ${ENDIANNESS} -i dict.utf8 -s lm_sc.t3g \
		-l pydict_sc.log -o $@

install: lm_sc.t3g pydict_sc.bin
	install -d ${DATA_DIR}
	install -m644 $^ ${DATA_DIR}

clean:
	rm -rf ${DICT_AR} ${SLM_AR} dict.utf8 lm_sc.3gm.arpa lm_sc.3gm \
		lm_sc.t3g.orig lm_sc.t3g pydict_sc.log pydict_sc.bin
