--- a/Makefile Fri Sep 02 01:01:11 2011 +0300
+++ b/Makefile Fri Sep 02 01:29:08 2011 +0300
@@ -8,87 +8,58 @@
# install-local-symlink create symlink from installed dir to user HOME dir, so dictionaries been available in stardict
# uninstall-local-symlink remove symlink from user HOME directory
-
-# On Debian Etch 'stardict-tools' package not placed tools in any system bin dir.
-export PATH := $(PATH):/usr/lib/stardict-tools
+DICTNAME_PREFIX = gadict
-DICSETNAME = gavenkoa-dicts
-
-prefix = /usr/local
+ifeq '$(origin prefix)' 'undefined'
+ ifeq '$(shell id -u)' '0'
+ prefix = /usr/local
+ else
+ prefix = $(HOME)/usr
+ endif
+endif
datarootdir = $(prefix)/share
-datadir = $(datarootdir)/stardict
-dicdir = $(datadir)/dic/$(DICSETNAME)
-
-# Per user dictionaries hold in user HOME directory.
-dicdir-local = $(HOME)/.stardict/dic/$(DICSETNAME)
+datadir = $(datarootdir)/dictd
-F_TAB_ = $(wildcard *.tab_)
+C5_FILES := $(wildcard *.c5)
+DICT_FILES := $(C5_FILES:.c5=.dict)
+DICTDZ_FILES := $(C5_FILES:.c5=.dict.dz)
+INDEX_FILES := $(C5_FILES:.c5=.index)
-F_TAB = $(patsubst %.tab_,%.tab,$(F_TAB_))
-FNAME = $(patsubst %.tab,%,$(F_TAB))
-F_DICT = $(patsubst %.tab,%.dict.dz,$(F_TAB))
-F_IFO = $(patsubst %.tab,%.ifo,$(F_TAB))
.PHONY: all
all: dist
-.PHONY: verify
-verify: dist
- @echo
- @for dic in $(F_IFO); do \
- stardict_verify $$dic; \
- done
+.PHONY: dist
+dist: $(DICTDZ_FILES) $(INDEX_FILES)
-.PHONY: dist
-dist: $(F_DICT)
+# --case-sensitive
+%.dict %.index: %.c5
+ dictfmt -c5 \
+ --headword-separator '; ' --break-headwords \
+ --utf8 --allchars \
+ -u "`sed -n '\|http://[[:print:]]\+/|{s=^.*\(http://\)=\1=;p;q;}' $<`" \
+ -s "`sed -n '/^ABOUT: /{s=ABOUT: ==;p;q;}' $<`" \
+ $* <$<
-%.tab: %.tab_
- sed -e '/^#/d' -e 's_\\n _\\n_g' > $@ < $<
-
-%.dict.dz: %.tab %.descr
- tabfile $<
- /bin/sh update-ifo.sh $*.ifo
+%.dict.dz: %.dict
+ dictzip -c $< >$@
.PHONY: install
install: dist
- mkdir -p $(dicdir)
- for dic in $(FNAME); do \
- install -m 644 $$dic.dict.dz $(dicdir); \
- install -m 644 $$dic.idx $(dicdir); \
- install -m 644 $$dic.ifo $(dicdir); \
+ mkdir -p $(datadir)
+ for f in $(DICTDZ_FILES) $(INDEX_FILES); do \
+ install -m 644 $$f $(datadir); \
done
.PHONY: uninstall
uninstall:
- rm -r -f $(dicdir)
-
-.PHONY: install-local-symlink
-install-local-symlink: # Assume use run "make install" before.
- mkdir -p $(HOME)/.stardict/dic
- ln -s $(dicdir) $(HOME)/.stardict/dic/$(DICSETNAME)
-
-.PHONY: uninstall-local-symlink
-uninstall-local-symlink: # Assume use run "make uninstall" before.
- rm -f $(HOME)/.stardict/dic/$(DICSETNAME)
-
-.PHONY: install-local
-install-local: dist
- mkdir -p $(dicdir-local)
- for dic in $(FNAME); do \
- install -m 644 $$dic.dict.dz $(dicdir-local); \
- install -m 644 $$dic.idx $(dicdir-local); \
- install -m 644 $$dic.ifo $(dicdir-local); \
- done
-
-.PHONY: uninstall-local
-uninstall-local:
- rm -f -r $(HOME)/.stardict/dic/$(DICSETNAME)
-
-.PHONY: clean
-clean:
- for dic in $(FNAME); do \
- rm -f $$dic.dict.dz $$dic.idx $$dic.ifo $$dic.tab; \
+ for f in $(DICTDZ_FILES) $(INDEX_FILES); do \
+ rm -f $(datadir)/$$f; \
done
.PHONY: distclean
distclean: clean
+
+.PHONY: clean
+clean:
+ rm -f $(DICTDZ_FILES) $(INDEX_FILES);