X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=po%2FMakefile.in.in;h=33534f93140225f4b81cb2997dcf9540ec00bf6f;hb=dfdcc56cbaf77b67048cfd7e2ad877b7687f4888;hp=cf1b062ba260121caa16d507e9dba4a16573b7e2;hpb=8923218965d5776e83bd6863cce72227de14c9c0;p=lyx.git diff --git a/po/Makefile.in.in b/po/Makefile.in.in index cf1b062ba2..33534f9314 100644 --- a/po/Makefile.in.in +++ b/po/Makefile.in.in @@ -1,5 +1,5 @@ # Makefile for PO directory in any package using GNU gettext. -# Copyright (C) 1995-1997, 2000-2004 by Ulrich Drepper +# Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public @@ -8,10 +8,13 @@ # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # -# Origin: gettext-0.14 +# Origin: gettext-0.16 PACKAGE = @PACKAGE@ VERSION = @VERSION@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ + +PYTHON = @PYTHON@ SHELL = /bin/sh @SET_MAKE@ @@ -22,20 +25,40 @@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ datadir = @datadir@ -localedir = $(datadir)/locale +localedir = @localedir@ gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -mkinstalldirs = $(SHELL) $(MKINSTALLDIRS) -GMSGFMT = @GMSGFMT@ -MSGFMT = @MSGFMT@ -XGETTEXT = @XGETTEXT@ +# We use $(mkdir_p). +# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as +# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, +# @install_sh@ does not start with $(SHELL), so we add it. +# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined +# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake +# versions, $(mkinstalldirs) and $(install_sh) are unused. +mkinstalldirs = $(SHELL) @install_sh@ -d +install_sh = $(SHELL) @install_sh@ +MKDIR_P = @MKDIR_P@ +mkdir_p = @mkdir_p@ + +GMSGFMT_ = @GMSGFMT@ +GMSGFMT_no = @GMSGFMT@ +GMSGFMT_yes = @GMSGFMT_015@ +GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) +MSGFMT_ = @MSGFMT@ +MSGFMT_no = @MSGFMT@ +MSGFMT_yes = @MSGFMT_015@ +MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) +XGETTEXT_ = @XGETTEXT@ +XGETTEXT_no = @XGETTEXT@ +XGETTEXT_yes = @XGETTEXT_015@ +XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) MSGMERGE = msgmerge -MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGMERGE_UPDATE = @MSGMERGE@ --update --backup=none MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter @@ -46,12 +69,10 @@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) -DISTFILES = $(DISTFILES.common) Makevars POTFILES.in $(DOMAIN).pot stamp-po \ +DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) -POTFILE_IN_DEPS = $(shell find $(top_srcdir)/src -name Makefile.am) - POTFILES = \ CATALOGS = @CATALOGS@ @@ -81,6 +102,12 @@ all: all-@USE_NLS@ all-yes: stamp-po all-no: +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + # stamp-po is a timestamp denoting the last time at which the CATALOGS have # been loosely updated. Its purpose is that when a developer or translator # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, @@ -90,10 +117,13 @@ all-no: # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot - test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) - @echo "touch stamp-po" - @echo timestamp > stamp-poT - @mv stamp-poT stamp-po + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source @@ -102,12 +132,16 @@ stamp-po: $(srcdir)/$(DOMAIN).pot # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed - $(MAKE) l10n_pots + if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ - --msgid-bugs-address='$(MSGID_BUGS_ADDRESS)' + --msgid-bugs-address="$$msgid_bugs_address" test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ @@ -146,7 +180,7 @@ install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ - $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ + $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common) Makevars.template; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ @@ -159,13 +193,13 @@ install-data: install-data-@USE_NLS@ fi install-data-no: all install-data-yes: all - $(mkinstalldirs) $(DESTDIR)$(datadir) + $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ - $(mkinstalldirs) $(DESTDIR)$$dir; \ + $(mkdir_p) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ @@ -205,19 +239,19 @@ installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ - $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ + $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: - $(mkinstalldirs) $(DESTDIR)$(datadir) + $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ - $(mkinstalldirs) $(DESTDIR)$$dir; \ + $(mkdir_p) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ @@ -292,11 +326,14 @@ dist distdir: $(MAKE) update-po @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. -dist2: $(DISTFILES) +dist2: stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ fi; \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + dists="$$dists $(DOMAIN).pot stamp-po"; \ + fi; \ if test -f $(srcdir)/ChangeLog; then \ dists="$$dists ChangeLog"; \ fi; \ @@ -308,9 +345,9 @@ dist2: $(DISTFILES) if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ - cp -p $$file $(distdir); \ + cp -p $$file $(distdir) || exit 1; \ else \ - cp -p $(srcdir)/$$file $(distdir); \ + cp -p $(srcdir)/$$file $(distdir) || exit 1; \ fi; \ done @@ -357,156 +394,9 @@ $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: -Makefile: Makefile.in.in $(top_builddir)/config.status @POMAKEFILEDEPS@ +Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ - $(SHELL) ./config.status - -${srcdir}/POTFILES.in: $(POTFILE_IN_DEPS) - LC_ALL=C ; export LC_ALL ; \ - rm -f $@-t \ - && ( cd $(top_srcdir); \ - grep -l "_(\".*\")" `find src \( -name '*.[Cch]' -o -name '*.C.in' \) -print` |\ - sed -e '/xforms.forms/d'| grep -v -e "src/support/package.C$$" |\ - sort | uniq ) > $@-t \ - && mv $@-t $@ - -l10n_pots: xforms_l10n.pot qt_l10n.pot layouts_l10n.pot languages_l10n.pot ui_l10n.pot - cat $^ | \ - msguniq -o $(DOMAIN).po && rm -f $^ - -xforms_l10n.pot: $(top_srcdir)/src/frontends/xforms/forms/*.fd - LC_ALL=C ; export LC_ALL ; \ - awk -v top_srcdir="$(top_srcdir)" ' \ - function fixupfilename() \ - {\ - return substr(FILENAME, length(top_srcdir "/") + 1);\ - }\ - BEGIN { \ - print "#, fuzzy"; \ - print "msgid \"\""; \ - print "msgstr \"\""; \ - print "\"Content-Type: text/plain; charset=ISO-8859-1\\n\""; \ - print "\"Content-Transfer-Encoding: 8bit\\n\""; \ - print "\n"; \ - skip=0; \ - } \ - /style: 15/ { \ - skip=1; \ - } \ - /label: / { \ - if (NF > 1 && skip == 0) { \ - line=$$0;\ - sub(/label: /,"",line);\ - printf("#: %s:%d\nmsgid \"%s\"\nmsgstr \"\"\n\n", fixupfilename(), FNR, line);\ - }\ - skip=0; \ - }' \ - ${top_srcdir}/src/frontends/xforms/forms/*.fd > $@ - -qt_l10n.pot: $(top_srcdir)/src/frontends/qt2/ui/*.ui - LC_ALL=C ; export LC_ALL ; \ - awk -v top_srcdir="$(top_srcdir)" ' \ - function fixupfilename() \ - {\ - return substr(FILENAME, length(top_srcdir "/") + 1);\ - }\ - // { \ - line=$$0; \ - sub(/.*/, "", line); \ - sub(/<\/string>.*/, "", line); \ - gsub(/&/, "\\&", line); \ - gsub(/</, "<", line); \ - gsub(/>/, ">", line); \ - gsub(/\"/, "\\\"", line); \ - if (length(line) > 0) {\ - printf("#: %s:%d\nmsgid \"%s\"\nmsgstr \"\"\n\n",\ - fixupfilename(), FNR, line); \ - } \ - }' \ - ${top_srcdir}/src/frontends/qt2/ui/*.ui > $@ - -layouts_l10n.pot: $(top_srcdir)/lib/layouts/*.layout $(top_srcdir)/lib/layouts/*.inc - LC_ALL=C ; export LC_ALL ; \ - awk -v top_srcdir="$(top_srcdir)" ' \ - function fixupfilename() \ - {\ - return substr(FILENAME, length(top_srcdir "/") + 1);\ - }\ - /^Style / { \ - line=$$0; \ - sub(/Style /, "", line); \ - gsub(/\"/, "", line); \ - gsub(/_/, " ", line); \ - printf("#: %s:%d\nmsgid \"%s\"\nmsgstr \"\"\n\n", \ - fixupfilename(), FNR, line); \ - } \ - /GuiName/ { \ - line=$$0; \ - sub(/[[:space:]]*GuiName[[:space:]]*/, "", line); \ - gsub(/"/, "", line); \ - printf("#: %s:%d\nmsgid \"%s\"\nmsgstr \"\"\n\n", \ - fixupfilename(), FNR, line); \ - } \ - /ListName/ { \ - line=$$0; \ - sub(/[[:space:]]*ListName[[:space:]]*/, "", line); \ - gsub(/"/, "", line); \ - printf("#: %s:%d\nmsgid \"%s\"\nmsgstr \"\"\n\n", \ - fixupfilename(), FNR, line); \ - }' \ - ${top_srcdir}/lib/layouts/*.layout ${top_srcdir}/lib/layouts/*.inc > $@ - -languages_l10n.pot: $(top_srcdir)/lib/languages - awk -v top_srcdir="$(top_srcdir)" ' \ - function fixupfilename() \ - {\ - return substr(FILENAME, length(top_srcdir "/") + 1);\ - }\ - /^#/ { \ - next; \ - } \ - { \ - match($$0,"\"[^\"]*\""); \ - lang=substr($$0,RSTART,RLENGTH); \ - gsub(/\"/, "", lang); \ - printf("#: %s:%d\nmsgid \"%s\"\nmsgstr \"\"\n\n", \ - fixupfilename(), FNR, lang); \ - }' \ - ${top_srcdir}/lib/languages > $@ - -ui_l10n.pot: $(top_srcdir)/lib/ui/*.ui - LC_ALL=C ; export LC_ALL ; \ - awk -v top_srcdir="$(top_srcdir)" ' \ - function fixupfilename() \ - {\ - return substr(FILENAME, length(top_srcdir "/") + 1);\ - }\ - /^[^#]*Submenu/ { \ - line=$$0; \ - sub(/[^"]*"/, "", line); \ - sub(/".*/, "", line); \ - printf("#: %s:%d\nmsgid \"%s\"\nmsgstr \"\"\n\n", \ - fixupfilename(), FNR, line); \ - } \ - /^[^#]*Toolbar/ { \ - line=$$0; \ - sub(/[^"]*"/, "", line); \ - sub(/".*/, "", line); \ - printf("#: %s:%d\nmsgid \"%s\"\nmsgstr \"\"\n\n", \ - fixupfilename(), FNR, line); \ - } \ - /^[^#]*Item/ { \ - line=$$0; \ - sub(/[^"]*"/, "", line); \ - sub(/".*/, "", line); \ - printf("#: %s:%d\nmsgid \"%s\"\nmsgstr \"\"\n\n", \ - fixupfilename(), FNR, line); \ - }' \ - ${top_srcdir}/lib/ui/*.ui > $@ - -i18n.php3: $(POFILES) - (cd $(srcdir) ; ./postats.sh $(POFILES)) >$@ + && $(SHELL) ./config.status $(subdir)/$@.in po-directories force: