Makefile: add xgettext target for *.sh files

Change the "pot" target to also extract strings from our $(SCRIPT_SH) files with xgettext(1). Note that due to Jonathan Nieder's trick of doing "mv $@+ $@" at the end of the target the "pot" target will now warn: $ make pot XGETTEXT po/git.pot po/git.pot+: warning: Charset "CHARSET" is not a portable encoding name. Message conversion to user's charset might not work. This warnings is emitted because xgettext is writing into a non-*.pot file, it's harmless however. The content that's written out is equivalent to what it would be if we were writing directly into an existing POT file with --join-existing. As part of this change I've eliminated the && chain between xgettext calls, this is incompatible with $(QUIET_XGETTEXT), if the && is left in it'll emit: /bin/sh: @echo: not found Since it's redundant (the Makefile will stop if there's an error) I've removed it altogether. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Ævar Arnfjörð Bjarmason committed May 14, 2011 at 13:47 UTC adc3b2b27670f123bd7dd742ba0fa0e0a60e1b19
1 file changed +5 -1
Makefile
+5 -1
@@ -2065,10 +2065,14 @@ XGETTEXT_FLAGS = \
2065 --from-code=UTF-8
2066 XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
2067 --keyword=_ --keyword=N_ --keyword="Q_:1,2"
2068 +XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell
2069 LOCALIZED_C := $(C_OBJ:o=c)
2070 +LOCALIZED_SH := $(SCRIPT_SH)
2071
2072 po/git.pot: $(LOCALIZED_C)
2071 - $(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ $(XGETTEXT_FLAGS_C) $(LOCALIZED_C) && \
2073 + $(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ $(XGETTEXT_FLAGS_C) $(LOCALIZED_C)
2074 + $(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_SH) \
2075 + $(LOCALIZED_SH)
2076 mv $@+ $@
2077
2078 pot: po/git.pot