summaryrefslogtreecommitdiff
path: root/gitk-git/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'gitk-git/Makefile')
-rw-r--r--gitk-git/Makefile33
1 files changed, 31 insertions, 2 deletions
diff --git a/gitk-git/Makefile b/gitk-git/Makefile
index 9bc1e24082..61585045b7 100644
--- a/gitk-git/Makefile
+++ b/gitk-git/Makefile
@@ -3,6 +3,11 @@ all::
prefix ?= $(HOME)
bindir ?= $(prefix)/bin
+sharedir ?= $(prefix)/share
+gitk_libdir ?= $(sharedir)/gitk/lib
+msgsdir ?= $(gitk_libdir)/msgs
+msgsdir_SQ = $(subst ','\'',$(msgsdir))
+
TCLTK_PATH ?= wish
INSTALL ?= install
RM ?= rm -f
@@ -11,19 +16,43 @@ DESTDIR_SQ = $(subst ','\'',$(DESTDIR))
bindir_SQ = $(subst ','\'',$(bindir))
TCLTK_PATH_SQ = $(subst ','\'',$(TCLTK_PATH))
+## po-file creation rules
+XGETTEXT ?= xgettext
+MSGFMT ?= msgfmt
+PO_TEMPLATE = po/gitk.pot
+ALL_POFILES = $(wildcard po/*.po)
+ALL_MSGFILES = $(subst .po,.msg,$(ALL_POFILES))
+
ifndef V
QUIET = @
QUIET_GEN = $(QUIET)echo ' ' GEN $@ &&
endif
-all:: gitk-wish
+all:: gitk-wish $(ALL_MSGFILES)
+
install:: all
$(INSTALL) gitk-wish '$(DESTDIR_SQ)$(bindir_SQ)'/gitk
+ $(INSTALL) -d '$(DESTDIR_SQ)$(msgsdir_SQ)'
+ $(foreach p,$(ALL_MSGFILES), $(INSTALL) $p '$(DESTDIR_SQ)$(msgsdir_SQ)' &&) true
+
+uninstall::
+ $(foreach p,$(ALL_MSGFILES), $(RM) '$(DESTDIR_SQ)$(msgsdir_SQ)'/$(notdir $p) &&) true
+ $(RM) '$(DESTDIR_SQ)$(bindir_SQ)'/gitk
+
clean::
- $(RM) gitk-wish
+ $(RM) gitk-wish po/*.msg
gitk-wish: gitk
$(QUIET_GEN)$(RM) $@ $@+ && \
sed -e '1,3s|^exec .* "$$0"|exec $(subst |,'\|',$(TCLTK_PATH_SQ)) "$$0"|' <gitk >$@+ && \
chmod +x $@+ && \
mv -f $@+ $@
+
+$(PO_TEMPLATE): gitk
+ $(XGETTEXT) -kmc -LTcl -o $@ gitk
+update-po:: $(PO_TEMPLATE)
+ $(foreach p, $(ALL_POFILES), echo Updating $p ; msgmerge -U $p $(PO_TEMPLATE) ; )
+$(ALL_MSGFILES): %.msg : %.po
+ @echo Generating catalog $@
+ $(MSGFMT) --statistics --tcl $< -l $(basename $(notdir $<)) -d $(dir $@)
+