Makefile for launching Palmkit

Palmkit (= CMU-Cambridge SLM Toolkit) は、
各ステップの処理が別コマンドになっていて、
ユーザーが好きなスクリプトで走らせられるようになっている。

評価実験をするときには、色々な訓練データを使ってやりたい。
新規データの追加をしたときには、それを検出してLMを生成して欲しい。

ということで make

まだ訓練部分しかないですが。

本当は、1つの訓練データに対してオプションを変えて実験をするときに、
再利用可能な途中結果を利用できるようにしたい。

##########################################
# commands
TX2FQ = text2wfreq
FQ2VC = wfreq2vocab
TX2ID = text2idngram
ID2LM = idngram2lm
EVALLM = evallm

############################################
# data directories
TRAINDIRS = train t1 t2
DEVELDIR = devel
TESTDIR  = test

# files
TEXT := $(foreach dir,$(TRAINDIRS),$(wildcard $(dir)/*.text))

.SUFFIXES: .text .wfreq .idngram .arpa

all: train devel

############################################
train: $(ARPA)

%.arpa: %.idngram %.vocab
$(ID2LM) -vocab $*.vocab -idngram $< -arpa $@
%.idngram: %.text %.vocab
$(TX2ID) -vocab $*.vocab $< $@
%.vocab: %.wfreq
$(FQ2VC) $< $@
%.wfreq: %.text
$(TX2FQ) $< $@

############################################
develop: train

############################################
test: train