diff options
Diffstat (limited to 'gitk-git/Makefile')
-rw-r--r-- | gitk-git/Makefile | 33 |
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 $@) + |