
JUMAN = somewhere/juman-7.0

all: initial-dict dict conjugation_table

clean:
	rm -f JUMAN.dic JUMAN-auto.dic JUMAN-wiki.dic
	rm -f JUMAN.katuyou
	rm -f initial-dict
	rm -f rewritten-dict
	rm -f dict.*
	rm -f dict
	rm -f conjugation_table

#
# Tidy the original data
#
JUMAN.katuyou: preprocess.pl manual.katuyou
	cat $(JUMAN)/dic/JUMAN.katuyou | ./preprocess.pl > JUMAN.katuyou
	cat manual.katuyou >> JUMAN.katuyou

JUMAN.dic: preprocess.pl
	cat $(JUMAN)/dic/*.dic | ./preprocess.pl > JUMAN.dic

JUMAN-auto.dic: preprocess.pl
	cat $(JUMAN)/autodic/*.dic | ./preprocess.pl > JUMAN-auto.dic

JUMAN-wiki.dic: preprocess.pl
	cat $(JUMAN)/wikipediadic/*.dic | ./preprocess.pl > JUMAN-wiki.dic


#
# Construct an initial dictionary, in which all surface forms are equal to normal forms.
#
initial-dict: JUMAN.dic JUMAN-auto.dic JUMAN-wiki.dic JUMAN.katuyou extract_entry.pl expand_conjugation.pl
	cat JUMAN.dic JUMAN-auto.dic JUMAN-wiki.dic | ./extract_entry.pl | ./expand_conjugation.pl JUMAN.katuyou > initial-dict


#
# Rewrite normal forms of ill-spelled words already registered in the initial dictionary
#
rewritten-dict: initial-dict rewrite_rule1 rewrite_rule2 rewrite.pl
	cat initial-dict | ./rewrite.pl rewrite_rule1 rewrite_rule2 > rewritten-dict

#
# Add new ill-spelled words
#
dict.0: rewritten-dict new_conjugation_rule mapping_rule JUMAN.katuyou transliteration.pl add_new_conjugation.pl phonetic_mapping.pl
	cat rewritten-dict | perl -n -e '++$$i; if ( $$i%10 == 0 ) { print; } ' | ./transliteration.pl JUMAN.katuyou | ./phonetic_mapping.pl new_conjugation_rule contraction_rule mapping_rule > dict.0

dict.1: rewritten-dict new_conjugation_rule mapping_rule JUMAN.katuyou transliteration.pl add_new_conjugation.pl phonetic_mapping.pl
	cat rewritten-dict | perl -n -e '++$$i; if ( $$i%10 == 1 ) { print; } ' | ./transliteration.pl JUMAN.katuyou | ./phonetic_mapping.pl new_conjugation_rule contraction_rule mapping_rule > dict.1

dict.2: rewritten-dict new_conjugation_rule mapping_rule JUMAN.katuyou transliteration.pl add_new_conjugation.pl phonetic_mapping.pl
	cat rewritten-dict | perl -n -e '++$$i; if ( $$i%10 == 2 ) { print; } ' | ./transliteration.pl JUMAN.katuyou | ./phonetic_mapping.pl new_conjugation_rule contraction_rule mapping_rule > dict.2

dict.3: rewritten-dict new_conjugation_rule mapping_rule JUMAN.katuyou transliteration.pl add_new_conjugation.pl phonetic_mapping.pl
	cat rewritten-dict | perl -n -e '++$$i; if ( $$i%10 == 3 ) { print; } ' | ./transliteration.pl JUMAN.katuyou | ./phonetic_mapping.pl new_conjugation_rule contraction_rule mapping_rule > dict.3

dict.4: rewritten-dict new_conjugation_rule mapping_rule JUMAN.katuyou transliteration.pl add_new_conjugation.pl phonetic_mapping.pl
	cat rewritten-dict | perl -n -e '++$$i; if ( $$i%10 == 4 ) { print; } ' | ./transliteration.pl JUMAN.katuyou | ./phonetic_mapping.pl new_conjugation_rule contraction_rule mapping_rule > dict.4

dict.5: rewritten-dict new_conjugation_rule mapping_rule JUMAN.katuyou transliteration.pl add_new_conjugation.pl phonetic_mapping.pl
	cat rewritten-dict | perl -n -e '++$$i; if ( $$i%10 == 5 ) { print; } ' | ./transliteration.pl JUMAN.katuyou | ./phonetic_mapping.pl new_conjugation_rule contraction_rule mapping_rule > dict.5

dict.6: rewritten-dict new_conjugation_rule mapping_rule JUMAN.katuyou transliteration.pl add_new_conjugation.pl phonetic_mapping.pl
	cat rewritten-dict | perl -n -e '++$$i; if ( $$i%10 == 6 ) { print; } ' | ./transliteration.pl JUMAN.katuyou | ./phonetic_mapping.pl new_conjugation_rule contraction_rule mapping_rule > dict.6

dict.7: rewritten-dict new_conjugation_rule mapping_rule JUMAN.katuyou transliteration.pl add_new_conjugation.pl phonetic_mapping.pl
	cat rewritten-dict | perl -n -e '++$$i; if ( $$i%10 == 7 ) { print; } ' | ./transliteration.pl JUMAN.katuyou | ./phonetic_mapping.pl new_conjugation_rule contraction_rule mapping_rule > dict.7

dict.8: rewritten-dict new_conjugation_rule mapping_rule JUMAN.katuyou transliteration.pl add_new_conjugation.pl phonetic_mapping.pl
	cat rewritten-dict | perl -n -e '++$$i; if ( $$i%10 == 8 ) { print; } ' | ./transliteration.pl JUMAN.katuyou | ./phonetic_mapping.pl new_conjugation_rule contraction_rule mapping_rule > dict.8

dict.9: rewritten-dict new_conjugation_rule mapping_rule JUMAN.katuyou transliteration.pl add_new_conjugation.pl phonetic_mapping.pl
	cat rewritten-dict | perl -n -e '++$$i; if ( $$i%10 == 9 ) { print; } ' | ./transliteration.pl JUMAN.katuyou | ./phonetic_mapping.pl new_conjugation_rule contraction_rule mapping_rule > dict.9

dict: dict.0 dict.1 dict.2 dict.3 dict.4 dict.5 dict.6 dict.7 dict.8 dict.9
	cat dict.0 dict.1 dict.2 dict.3 dict.4 dict.5 dict.6 dict.7 dict.8 dict.9 > dict

#
# Conjugation table
#
conjugation_table: build_conjugation_table.pl JUMAN.katuyou initial-dict
	./build_conjugation_table.pl JUMAN.katuyou initial-dict > conjugation_table
