# Makefile: makefile for SKK Dictionaries.
#
# Maintainer: SKK Development Team <skk@ring.gr.jp>
# Version: $Id: Makefile,v 1.29 2003/11/15 10:46:12 minakaji Exp $
# Last Modified: $Date: 2003/11/15 10:46:12 $

BZIP2     = bzip2 -9
COUNT	  = skkdic-count
DATE	  = date
EXPR      = skkdic-expr
GAWK      = gawk
GREP	  = grep
GZIP      = gzip -9
MD5	  = md5
RM	  = /bin/rm -f
RUBY      = ruby
SORT	  = skkdic-sort
TAR	  = tar
#TODAY     = `$(DATE) '+%Y%m%d'`
ZIP       = zip
ZIPDIC_DIR  = ./zipcode

DIC2PDB = dic2pdb
DICCOMPACT = diccompact.rb
KANADIC2ROMADIC = kanadic2romadic
NKF = nkf
SKKDIC2KANADIC = skkdic2kanadic

SRCS	  = SKK-JISYO.L SKK-JISYO.ML SKK-JISYO.M SKK-JISYO.S SKK-JISYO.JIS2 \
		SKK-JISYO.JIS3_4 SKK-JISYO.pubdic+ SKK-JISYO.wrong.annotated \
		SKK-JISYO.okinawa SKK-JISYO.geo SKK-JISYO.jinmei SKK-JISYO.law \
		SKK-JISYO.mazegaki SKK-JISYO.assoc SKK-JISYO.itaiji \
		SKK-JISYO.china_taiwan
BIN_SRCS  = #PBinlineDB.pdb
ALL_SRCS  = $(SRCS) $(BIN_SRCS) SKK-JISYO.wrong SKK-JISYO.L.unannotated

clean:
	$(RM) *.gz* *.bz2* *.zip* *~ `find . -name '*~'` `find . -name '.*~'` `find . -name '.#*'` \
	*.unannotated SKK-JISYO.wrong SKK-JISYO.tmp PBinlineDB.pdb *.tmp *.w PBinlineDB.dic

archive: zip gzip #bzip2

unannotated: SKK-JISYO.L.unannotated SKK-JISYO.wrong SKK-JISYO.china_taiwan.unannotated

SKK-JISYO.L.unannotated: SKK-JISYO.L
	$(GAWK) -f ../tools/unannotation.awk SKK-JISYO.L > SKK-JISYO.L.unannotated

SKK-JISYO.wrong: SKK-JISYO.wrong.annotated
	$(GAWK) -f ../tools/unannotation.awk SKK-JISYO.wrong.annotated > SKK-JISYO.wrong

SKK-JISYO.china_taiwan: csv/china_taiwan.csv
	$(RUBY) ../tools/convert2skk/ctdicconv.rb csv/china_taiwan.csv > SKK-JISYO.tmp
	$(EXPR) SKK-JISYO.tmp | $(SORT) - > SKK-JISYO.tmp1
	cat SKK-JISYO.china_taiwan.header SKK-JISYO.tmp1 > SKK-JISYO.china_taiwan
	$(RM) SKK-JISYO.tmp SKK-JISYO.tmp1

SKK-JISYO.china_taiwan.unannotated: SKK-JISYO.china_taiwan csv/china_taiwan.csv
	$(GAWK) -f ../tools/unannotation.awk SKK-JISYO.china_taiwan > SKK-JISYO.china_taiwan.unannotated

wrong_check: SKK-JISYO.wrong
	for file in $(SRCS) ; do \
	  if [ $$file != "SKK-JISYO.wrong.annotated" ] ; then \
	    $(EXPR) $$file - SKK-JISYO.wrong > $$file.tmp ;\
	    $(EXPR) $$file - $$file.tmp > $$file.w ;\
	    $(RM) $$file.tmp ;\
	    $(COUNT) $$file.w | $(GREP) -v '0 candidate' | \
	      sed -e 's/\.w:/:/' -e 's/\([1-9]\)/\1 wrong/' ;\
	    if [ $$? != 0 ]; then \
	      $(RM) $$file.w ; \
	    fi ;\
	  fi ;\
	done

PBinlineDB.dic: clean SKK-JISYO.L.unannotated
	$(SKKDIC2KANADIC) SKK-JISYO.L.unannotated | $(KANADIC2ROMADIC) - | $(NKF) -s > PBinlineDB.dic

PBinlineDB_compact.pdb: PBinlineDB.dic
	 $(DICCOMPACT) PBinlineDB.dic | $(DIC2PDB) - PBinlineDB.pdb

PBinlineDB_full.pdb: PBinlineDB.dic
	$(DIC2PDB) PBinlineDB.dic PBinlineDB.pdb

PBinlineDB.pdb: PBinlineDB_full.pdb
	$(RM) PBinlineDB.dic

zip: clean $(ALL_SRCS)
	for file in $(ALL_SRCS); do \
	  $(ZIP) $$file.zip $$file ;\
	  $(MD5) $$file.zip >$$file.zip.md5; \
	done
	$(ZIP) SKK-JISYO.edict.zip SKK-JISYO.edict edict_doc.txt
	$(ZIP) -r zipcode.zip $(ZIPDIC_DIR) -x@./skk.ex
	$(MD5) zipcode.zip >zipcode.zip.md5

gzip: clean $(ALL_SRCS)
	for file in $(ALL_SRCS); do \
	  $(GZIP) -fc $$file >$$file.gz ;\
	  $(MD5) $$file.gz >$$file.gz.md5; \
	done
	$(TAR) cvpf SKK-JISYO.edict.tar SKK-JISYO.edict edict_doc.txt
	$(GZIP) -f SKK-JISYO.edict.tar
	$(MD5) SKK-JISYO.edict.tar.gz > SKK-JISYO.edict.tar.gz.md5
	$(TAR) cvzpf zipcode.tar.gz ./zipcode --exclude-from=./skk.ex
	$(MD5) zipcode.tar.gz >zipcode.tar.gz.md5

# bzip2: clean $(SRCS)
# 	for file in $(SRCS); do \
# 	  $(BZIP2) -fc $$file >$$file.bz2 ;\
# 	  $(MD5) $$file.bz2 >$$file.bz2.md5; \
# 	done
# 	$(TAR) cvpf SKK-JISYO.edict.tar SKK-JISYO.edict edict_doc.txt
# 	$(BZIP2) -f SKK-JISYO.edict.tar
# 	$(MD5) SKK-JISYO.edict.tar.bz2 > SKK-JISYO.edict.tar.bz2.md5
# #	$(TAR) cvpf zipcode.tar ./zipcode --exclude-from=./skk.ex
# 	$(TAR) cvpf zipcode.tar ./zipcode
# 	$(BZIP2) -f zipcode.tar
# 	$(MD5) zipcode.tar.bz2 >zipcode.tar.bz2.md5

# end of Makefile.
