зеркало из https://github.com/microsoft/git.git
80 строки
2.1 KiB
Makefile
80 строки
2.1 KiB
Makefile
# 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))
|
|
|
|
TCL_PATH ?= tclsh
|
|
TCLTK_PATH ?= wish
|
|
INSTALL ?= install
|
|
RM ?= rm -f
|
|
|
|
DESTDIR_SQ = $(subst ','\'',$(DESTDIR))
|
|
bindir_SQ = $(subst ','\'',$(bindir))
|
|
TCLTK_PATH_SQ = $(subst ','\'',$(TCLTK_PATH))
|
|
|
|
### Detect Tck/Tk interpreter path changes
|
|
TRACK_TCLTK = $(subst ','\'',-DTCLTK_PATH='$(TCLTK_PATH_SQ)')
|
|
|
|
GIT-TCLTK-VARS: FORCE
|
|
@VARS='$(TRACK_TCLTK)'; \
|
|
if test x"$$VARS" != x"`cat $@ 2>/dev/null`" ; then \
|
|
echo 1>&2 " * new Tcl/Tk interpreter location"; \
|
|
echo "$$VARS" >$@; \
|
|
fi
|
|
|
|
## po-file creation rules
|
|
XGETTEXT ?= xgettext
|
|
ifdef NO_MSGFMT
|
|
MSGFMT ?= $(TCL_PATH) po/po2msg.sh
|
|
else
|
|
MSGFMT ?= msgfmt
|
|
ifneq ($(shell $(MSGFMT) --tcl -l C -d . /dev/null 2>/dev/null; echo $$?),0)
|
|
MSGFMT := $(TCL_PATH) po/po2msg.sh
|
|
endif
|
|
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) -m 755 gitk-wish '$(DESTDIR_SQ)$(bindir_SQ)'/gitk
|
|
$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(msgsdir_SQ)'
|
|
$(foreach p,$(ALL_MSGFILES), $(INSTALL) -m 644 $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 GIT-TCLTK-VARS
|
|
|
|
gitk-wish: gitk GIT-TCLTK-VARS
|
|
$(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 $@)
|
|
|
|
.PHONY: all install uninstall clean update-po
|
|
.PHONY: FORCE
|