|  | # The default target of this Makefile is... | 
|  | 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 | 
|  |  | 
|  | DESTDIR_SQ = $(subst ','\'',$(DESTDIR)) | 
|  | bindir_SQ = $(subst ','\'',$(bindir)) | 
|  | TCLTK_PATH_SQ = $(subst ','\'',$(TCLTK_PATH)) | 
|  |  | 
|  | ## po-file creation rules | 
|  | XGETTEXT   ?= xgettext | 
|  | ifdef NO_MSGFMT | 
|  | MSGFMT ?= $(TCL_PATH) po/po2msg.sh | 
|  | else | 
|  | MSGFMT ?= msgfmt | 
|  | endif | 
|  |  | 
|  | 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_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 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 $@) | 
|  |  |