.PRECIOUS: po/%.po dictionaries/% JMDICT_LANGS=dut fre ger hun rus slv spa swe DICOS=dicos/JMdict_e.nani $(addprefix dicos/JMdict_, $(addsuffix .nani, $(JMDICT_LANGS))) PAGES=blog.scm data.scm documentation.scm e404.scm feeds.scm index.scm mentions.scm HAUNT_FILES= haunt.scm $(addprefix pages/, $(PAGES)) \ tools/i18n.scm tools/theme.scm WEB_FILES= $(HAUNT_FILES) \ $(shell find css) $(shell find images) $(DICOS) \ DICO_MODULES=modules/nani/trie.scm modules/nani/result.scm modules/nani/jmdict/trie.scm \ modules/nani/jmdict/serialize.scm modules/nani/jmdict/xml.scm \ modules/nani/jmdict/entities.scm modules/nani/frequency.scm \ modules/nani/serialize.scm LANGS=fr all: $(addprefix po/, $(addsuffix /LC_MESSAGES/nani.mo, $(LANGS))) $(WEB_FILES) haunt build rm -rf public.bak mv public public.bak mv site public touch all download: @rm -f dictionaries/* @$(MAKE) dictionaries/JMdict_e.xml dictionaries/JMdict.xml dictionaries/frequency.tsv # Download JMdict dictionaries from ERDRG dictionaries/%.xml: dl_filename="$(shell basename "$@" | rev | cut -c5- | rev)"; \ wget ftp://ftp.edrdg.org/pub/Nihongo/"$$dl_filename".gz -O "$$dl_filename.gz"; \ gunzip "$$dl_filename.gz"; \ sed -i -e 's|<|\&\<;|g' -e 's|>|\&\>;|g' "$$dl_filename"; \ sed -i -e 's|&\([^;]\+\);|\1|g' "$$dl_filename"; \ mv "$$dl_filename" "$@" # Download frequency analysis run on Wikipedia in 2015 # https://en.wiktionary.org/wiki/Wiktionary:Frequency_lists/Japanese2015_10000 dictionaries/frequency.tsv: wget --no-check-certificate \ https://namakajiri.net/data/wikipedia-20150422-lemmas.tsv -O $@.tmp sed -i 's| ||g' $@.tmp head -n20000 $@.tmp > $@ rm $@.tmp dictionaries/%.sxml: dictionaries/%.xml tools/jmdict.scm guile -L modules tools/jmdict.scm convert $< nolang $@ dicos/JMdict_%.nani: dictionaries/JMdict.sxml tools/jmdict.scm dictionaries/frequency.tsv $(DICO_MODULES) guile -L modules tools/jmdict.scm build \ $< $(shell echo $@ | sed 's|^.*_\([^.]*\)\..*$$|\1|g') $@ dicos/JMdict_e.nani: dictionaries/JMdict_e.sxml tools/jmdict.scm dictionaries/frequency.tsv $(DICO_MODULES) guile -L modules tools/jmdict.scm build $< e $@ po/%/LC_MESSAGES/nani.mo: po/%.po @mkdir -p $$(dirname $@) msgfmt --output-file=$@ $< po/%.po: po/nani.pot if [ -f $@ ]; then \ msgmerge --update $@ $< ;\ else \ msginit --input=$< --locale=$$(printf $$(basename $@) | sed 's|.po$$||') --output=$@ ;\ fi po/nani.pot: $(HAUNT_FILES) xgettext --keyword=_ --language=scheme --add-comments --sort-output --from-code UTF-8 -o $@ $^ include radicals.mk