11# Makefile for PO directory in any package using GNU gettext.
2- # Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
2+ # Copyright (C) 1995-1997, 2000-2007 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
33#
44# This file can be copied and used freely without restrictions. It can
55# be used in projects which are not available under the GNU General Public
88# Please note that the actual code of GNU gettext is covered by the GNU
99# General Public License and is *not* in the public domain.
1010#
11- # Origin: gettext-0.15
11+ # Origin: gettext-0.16.2
12+ GETTEXT_MACRO_VERSION = 0.16.2
1213
1314PACKAGE = @PACKAGE@
1415VERSION = @VERSION@
@@ -30,7 +31,17 @@ gettextsrcdir = $(datadir)/gettext/po
3031
3132INSTALL = @INSTALL@
3233INSTALL_DATA = @INSTALL_DATA@
34+
35+ # We use $(mkdir_p).
36+ # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
37+ # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
38+ # @install_sh@ does not start with $(SHELL), so we add it.
39+ # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
40+ # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
41+ # versions, $(mkinstalldirs) and $(install_sh) are unused.
3342mkinstalldirs = $(SHELL) @install_sh@ -d
43+ install_sh = $(SHELL) @install_sh@
44+ MKDIR_P = @MKDIR_P@
3445mkdir_p = @mkdir_p@
3546
3647GMSGFMT_ = @GMSGFMT@
@@ -85,11 +96,18 @@ CATALOGS = @CATALOGS@
8596 mv t-$@ $@
8697
8798
88- all: all-@USE_NLS@
99+ all: check-macro-version all-@USE_NLS@
89100
90101all-yes: stamp-po
91102all-no:
92103
104+ # Ensure that the gettext macros and this Makefile.in.in are in sync.
105+ check-macro-version:
106+ @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
107+ || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \
108+ exit 1; \
109+ }
110+
93111# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
94112# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
95113# we don't want to bother translators with empty POT files). We assume that
@@ -120,16 +138,34 @@ stamp-po: $(srcdir)/$(DOMAIN).pot
120138# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
121139# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
122140$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
141+ if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \
142+ package_gnu='GNU '; \
143+ else \
144+ package_gnu=''; \
145+ fi; \
123146 if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
124147 msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
125148 else \
126149 msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
127150 fi; \
128- $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
129- --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
130- --files-from=$(srcdir)/POTFILES.in \
131- --copyright-holder='$(COPYRIGHT_HOLDER)' \
132- --msgid-bugs-address="$$msgid_bugs_address"
151+ case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
152+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
153+ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
154+ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
155+ --files-from=$(srcdir)/POTFILES.in \
156+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
157+ --msgid-bugs-address="$$msgid_bugs_address" \
158+ ;; \
159+ *) \
160+ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
161+ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
162+ --files-from=$(srcdir)/POTFILES.in \
163+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
164+ --package-name="$${package_gnu}@PACKAGE@" \
165+ --package-version='@VERSION@' \
166+ --msgid-bugs-address="$$msgid_bugs_address" \
167+ ;; \
168+ esac
133169 test ! -f $(DOMAIN).po || { \
134170 if test -f $(srcdir)/$(DOMAIN).pot; then \
135171 sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
0 commit comments