Code

git-gui: Quiet the msgfmt part of the make process
authorShawn O. Pearce <spearce@spearce.org>
Mon, 3 Sep 2007 04:42:09 +0000 (00:42 -0400)
committerShawn O. Pearce <spearce@spearce.org>
Mon, 3 Sep 2007 04:42:09 +0000 (00:42 -0400)
I really prefer having a very short and sweet makefile output that
does not flood the user's screen with a ton of commands that they
don't care much about.  Traditionally git-gui has hidden away the
actual commands from output by the $(QUIET*) series of macros but
allow them to be seen with either `make QUIET=` or `make V=1`.

This change makes our i18n message generation process to be a lot
shorter and easier to digest at a glance:

  GITGUI_VERSION = 0.8.2.19.gb868-dirty
    * new locations or Tcl/Tk interpreter
    GEN git-gui
    BUILTIN git-citool
    INDEX lib/
    MSGFMT    po/de.msg 268 translated.
    MSGFMT    po/hu.msg 268 translated.
    MSGFMT    po/it.msg 268 translated.
    MSGFMT    po/ja.msg 268 translated.
    MSGFMT    po/ru.msg 249 translated, 12 fuzzy, 4 untranslated.
    MSGFMT po/zh_cn.msg 60 translated, 37 fuzzy, 168 untranslated.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Makefile

index 559e65ecd633add6ce031f0b36bb4e649baf6506..875edacac3823e7ea32d7047882b60ee5dd10b74 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -47,6 +47,8 @@ ifndef V
        QUIET_GEN      = $(QUIET)echo '   ' GEN $@ &&
        QUIET_BUILT_IN = $(QUIET)echo '   ' BUILTIN $@ &&
        QUIET_INDEX    = $(QUIET)echo '   ' INDEX $(dir $@) &&
+       QUIET_MSGFMT0  = $(QUIET)printf '    MSGFMT %12s ' $@ &&
+       QUIET_MSGFMT1  = 2>&1 | sed -e 's/fuzzy translations/fuzzy/' | sed -e 's/ messages//g'
        QUIET_2DEVNULL = 2>/dev/null
 
        INSTALL_D0 = dir=
@@ -104,6 +106,7 @@ $(GITGUI_BUILT_INS): git-gui
        $(QUIET_BUILT_IN)rm -f $@ && ln git-gui $@
 
 XGETTEXT   ?= xgettext
+MSGFMT     ?= msgfmt
 msgsdir    ?= $(libdir)/msgs
 msgsdir_SQ  = $(subst ','\'',$(msgsdir))
 PO_TEMPLATE = po/git-gui.pot
@@ -115,8 +118,7 @@ $(PO_TEMPLATE): $(SCRIPT_SH) $(ALL_LIBFILES)
 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 $@)
+       $(QUIET_MSGFMT0)$(MSGFMT) --statistics --tcl $< -l $(basename $(notdir $<)) -d $(dir $@) $(QUIET_MSGFMT1)
 
 lib/tclIndex: $(ALL_LIBFILES)
        $(QUIET_INDEX)if echo \