Makefile
author Oleksandr Gavenko <gavenkoa@gmail.com>
Fri, 08 Jan 2010 22:18:46 +0200
changeset 21 d4b27e5b7a4b
parent 20 9f5eedd08178
child 22 0616adf6e983
permissions -rw-r--r--
Added per user install target.


# On Debian Etch 'stardict-tools' package not placed tools in any system bin dir.
export PATH := $(PATH):/usr/lib/stardict-tools

DICSETNAME = gavenkoa-dicts

prefix = /usr/local
datarootdir = $(prefix)/share
datadir = $(datarootdir)/stardict
dicdir = $(datadir)/dic/$(DICSETNAME)

# Per user dictionaries hold in user HOME directory.
dicdir-local = $(HOME)/.stardict/dic/$(DICSETNAME)

F_TAB_ = $(wildcard *.tab_)

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))

all: dist

verify: dist
	@echo
	@for dic in $(F_IFO); do \
		stardict_verify $$dic; \
	done

dist: $(F_DICT)

%.tab: %.tab_
	sed -e '/^#/d' -e 's_\\n _\\n_g' > $@ < $<

%.dict.dz: %.tab %.descr
	tabfile $<
	/bin/sh update-ifo.sh $*.ifo

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); \
	done

uninstall:
	rm -r -f $(dicdir)

.PHONY: install-local
install-local:
	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)

clean:
	for dic in $(FNAME); do \
		rm -f $$dic.dict.dz $$dic.idx $$dic.ifo $$dic.tab; \
	done