Skip to content

Instantly share code, notes, and snippets.

@orumin
Created November 26, 2019 10:08
Show Gist options
  • Save orumin/4a5fbd9ed4e277bea362714b559c2381 to your computer and use it in GitHub Desktop.
Save orumin/4a5fbd9ed4e277bea362714b559c2381 to your computer and use it in GitHub Desktop.
Openlabが公開してるSKK辞書をまとめてもってきてひとつに結合するMakefile
SKK_TOOLS := skktools
VERSION := 1.3.4
VERSION_ := $(subst .,_,$(VERSION))
SOURCE_ARCHIVE := $(SKK_TOOLS)-$(VERSION).tar.gz
SOURCE_URL := http://openlab.ring.gr.jp/skk/tools/$(SOURCE_ARCHIVE)
TOOLS_DIR := $(SKK_TOOLS)-$(SKK_TOOLS)-$(VERSION_)
TEMP_DIR := temp
DICTS_DIR := dicts
SKKDIC-EXPR := $(TOOLS_DIR)/skkdic-expr2
DICTS_GZ := \
$(TEMP_DIR)/SKK-JISYO.L.gz \
$(TEMP_DIR)/SKK-JISYO.jinmei.gz \
$(TEMP_DIR)/SKK-JISYO.fullname.gz \
$(TEMP_DIR)/SKK-JISYO.geo.gz \
$(TEMP_DIR)/SKK-JISYO.propernoun.gz \
$(TEMP_DIR)/SKK-JISYO.station.gz \
$(TEMP_DIR)/SKK-JISYO.law.gz \
$(TEMP_DIR)/SKK-JISYO.okinawa.gz \
$(TEMP_DIR)/SKK-JISYO.china_taiwan.gz \
$(TEMP_DIR)/SKK-JISYO.assoc.gz \
$(TEMP_DIR)/SKK-JISYO.JIS2.gz \
$(TEMP_DIR)/SKK-JISYO.JIS3_4.gz \
$(TEMP_DIR)/SKK-JISYO.JIS2004.gz \
$(TEMP_DIR)/SKK-JISYO.itaiji.gz \
$(TEMP_DIR)/SKK-JISYO.itaiji.JIS3_4.gz
DICTS_TAR_GZ := $(TEMP_DIR)/SKK-JISYO.edict.tar.gz
DICTS_ARCHIVE := $(DICTS_GZ) $(DICTS_TAR_GZ)
DICTS := \
$(subst $(TEMP_DIR),$(DICTS_DIR),$(DICTS_GZ:.gz=)) \
$(subst $(TEMP_DIR),$(DICTS_DIR),$(DICTS_TAR_GZ:.tar.gz=))
TARGET=SKK-JISYO.all
.PHONY:
.PHONY: all tools dicts clean-all clean clean-source clean-dist
all: $(TARGET)
tools: $(SKKDIC-EXPR)
dicts: $(DICTS)
$(SOURCE_ARCHIVE):
curl -LO $(SOURCE_URL)
$(TOOLS_DIR): $(SOURCE_ARCHIVE)
tar xzf $(SOURCE_ARCHIVE)
$(SKKDIC-EXPR): $(TOOLS_DIR)
cd $(TOOLS_DIR) && ./configure
make -C $(TOOLS_DIR)
$(DICTS_ARCHIVE):
@curl -L --create-dirs http://openlab.jp/skk/dic/`echo $@ | sed 's|$(TEMP_DIR)/||'` -o $@
$(DICTS_DIR)/%: $(TEMP_DIR)/%.gz
@mkdir -p $(DICTS_DIR)
gunzip -d $< -c > $@
$(DICTS_DIR)/%: $(TEMP_DIR)/%.tar.gz
@mkdir -p $(DICTS_DIR)
tar xzf $< -C $(DICTS_DIR)
$(TARGET): $(DICTS) $(SKKDIC-EXPR)
EXPR=`echo "$(DICTS)" | sed -e 's/ / + /g'` && $(SKKDIC-EXPR) $$EXPR > $@
clean-all: clean clean-source clean-dist
clean:
rm -rf $(TARGET)
clean-source:
rm -rf $(TOOLS_DIR) $(DICTS)
clean-dist:
rm -rf $(SOURCE_ARCHIVE) $(TEMP_DIR)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment