From: Bruno Haible Date: Thu, 18 Oct 2018 19:35:12 +0000 (+0200) Subject: examples: hello-java*: Fix 'make distcheck'. X-Git-Tag: v0.20~332 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2faca079c20e78c82718f46d399d454806c1f311;p=thirdparty%2Fgettext.git examples: hello-java*: Fix 'make distcheck'. * gettext-tools/examples/hello-java*/po/Makefile.am (update-properties): Create the new .properties files in the build dir and move them to $(srcdir) only if the new contents differs from the old contents. (update-classes): Likewise, also for .class files. --- diff --git a/gettext-tools/examples/hello-java-awt/po/Makefile.am b/gettext-tools/examples/hello-java-awt/po/Makefile.am index 4465df418..722f6f182 100644 --- a/gettext-tools/examples/hello-java-awt/po/Makefile.am +++ b/gettext-tools/examples/hello-java-awt/po/Makefile.am @@ -248,24 +248,57 @@ $(DUMMYPOFILES): update-properties: Makefile $(srcdir)/$(DOMAIN).pot $(POFILES) @echo "$(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(srcdir)/$(DOMAIN).properties"; \ - $(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(srcdir)/$(DOMAIN).properties || { rm -f $(srcdir)/$(DOMAIN).properties; exit 1; } + $(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(DOMAIN).properties || { rm -f $(DOMAIN).properties; exit 1; } +# Move $(DOMAIN).properties into $(srcdir). But don't provoke a gratuitous error +# in a VPATH build with read-only $(srcdir). + @if test '$(srcdir)' != .; then \ + if test -f $(srcdir)/$(DOMAIN).properties && cmp $(DOMAIN).properties $(srcdir)/$(DOMAIN).properties >/dev/null; then \ + rm -f $(DOMAIN).properties; \ + else \ + mv -f $(DOMAIN).properties $(srcdir)/$(DOMAIN).properties; \ + fi; \ + fi @for f in $(POFILES); do \ lang=`echo $$f | sed -e 's,.*/,,' -e 's,\.po$$,,'`; \ echo "$(GMSGFMT) -c --statistics --verbose -o /dev/null $(srcdir)/$${lang}.po"; \ $(GMSGFMT) -c --statistics --verbose -o /dev/null $(srcdir)/$${lang}.po || exit 1; \ echo "$(MSGCAT) --properties-output -o $(srcdir)/$(DOMAIN)_$$lang.properties $(srcdir)/$${lang}.po"; \ - $(MSGCAT) --properties-output -o $(srcdir)/$(DOMAIN)_$$lang.properties.tmp $(srcdir)/$${lang}.po || exit 1; \ - mv $(srcdir)/$(DOMAIN)_$$lang.properties.tmp $(srcdir)/$(DOMAIN)_$$lang.properties || exit 1; \ + $(MSGCAT) --properties-output -o $(DOMAIN)_$$lang.properties.tmp $(srcdir)/$${lang}.po || exit 1; \ + if test '$(srcdir)' = .; then \ + mv -f $(DOMAIN)_$$lang.properties.tmp $(DOMAIN)_$$lang.properties || exit 1; \ + else \ + if test -f $(srcdir)/$(DOMAIN)_$$lang.properties && cmp $(DOMAIN)_$$lang.properties.tmp $(srcdir)/$(DOMAIN)_$$lang.properties >/dev/null; then \ + rm -f $(DOMAIN)_$$lang.properties.tmp; \ + else \ + mv -f $(DOMAIN)_$$lang.properties.tmp $(srcdir)/$(DOMAIN)_$$lang.properties || exit 1; \ + fi; \ + fi; \ done # Alternatively, we could create classes instead of properties files. update-classes: Makefile $(srcdir)/$(DOMAIN).pot $(POFILES) @echo "$(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(srcdir)/$(DOMAIN).properties"; \ - $(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(srcdir)/$(DOMAIN).properties || { rm -f $(srcdir)/$(DOMAIN).properties; exit 1; } + $(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(DOMAIN).properties || { rm -f $(DOMAIN).properties; exit 1; } +# Move $(DOMAIN).properties into $(srcdir). But don't provoke a gratuitous error +# in a VPATH build with read-only $(srcdir). + @if test '$(srcdir)' != .; then \ + if test -f $(srcdir)/$(DOMAIN).properties && cmp $(DOMAIN).properties $(srcdir)/$(DOMAIN).properties >/dev/null; then \ + rm -f $(DOMAIN).properties; \ + else \ + mv -f $(DOMAIN).properties $(srcdir)/$(DOMAIN).properties; \ + fi; \ + fi @for f in $(POFILES); do \ lang=`echo $$f | sed -e 's,.*/,,' -e 's,\.po$$,,'`; \ echo "$(GMSGFMT) -c --statistics --verbose -j -d $(srcdir) -r $(DOMAIN) -l $${lang} $(srcdir)/$${lang}.po"; \ - $(GMSGFMT) -c --statistics --verbose -j -d $(srcdir) -r $(DOMAIN) -l $${lang} $(srcdir)/$${lang}.po || exit 1; \ + $(GMSGFMT) -c --statistics --verbose -j -d . -r $(DOMAIN) -l $${lang} $(srcdir)/$${lang}.po || exit 1; \ + if test '$(srcdir)' != .; then \ + if test -f $(srcdir)/$(DOMAIN)_$$lang.class && cmp $(DOMAIN)_$$lang.class $(srcdir)/$(DOMAIN)_$$lang.class >/dev/null; then \ + rm -f $(DOMAIN)_$$lang.class; \ + else \ + mv -f $(DOMAIN)_$$lang.class $(srcdir)/$(DOMAIN)_$$lang.class || exit 1; \ + fi; \ + fi; \ done echo-catalogs: diff --git a/gettext-tools/examples/hello-java-qtjambi/po/Makefile.am b/gettext-tools/examples/hello-java-qtjambi/po/Makefile.am index 4465df418..722f6f182 100644 --- a/gettext-tools/examples/hello-java-qtjambi/po/Makefile.am +++ b/gettext-tools/examples/hello-java-qtjambi/po/Makefile.am @@ -248,24 +248,57 @@ $(DUMMYPOFILES): update-properties: Makefile $(srcdir)/$(DOMAIN).pot $(POFILES) @echo "$(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(srcdir)/$(DOMAIN).properties"; \ - $(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(srcdir)/$(DOMAIN).properties || { rm -f $(srcdir)/$(DOMAIN).properties; exit 1; } + $(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(DOMAIN).properties || { rm -f $(DOMAIN).properties; exit 1; } +# Move $(DOMAIN).properties into $(srcdir). But don't provoke a gratuitous error +# in a VPATH build with read-only $(srcdir). + @if test '$(srcdir)' != .; then \ + if test -f $(srcdir)/$(DOMAIN).properties && cmp $(DOMAIN).properties $(srcdir)/$(DOMAIN).properties >/dev/null; then \ + rm -f $(DOMAIN).properties; \ + else \ + mv -f $(DOMAIN).properties $(srcdir)/$(DOMAIN).properties; \ + fi; \ + fi @for f in $(POFILES); do \ lang=`echo $$f | sed -e 's,.*/,,' -e 's,\.po$$,,'`; \ echo "$(GMSGFMT) -c --statistics --verbose -o /dev/null $(srcdir)/$${lang}.po"; \ $(GMSGFMT) -c --statistics --verbose -o /dev/null $(srcdir)/$${lang}.po || exit 1; \ echo "$(MSGCAT) --properties-output -o $(srcdir)/$(DOMAIN)_$$lang.properties $(srcdir)/$${lang}.po"; \ - $(MSGCAT) --properties-output -o $(srcdir)/$(DOMAIN)_$$lang.properties.tmp $(srcdir)/$${lang}.po || exit 1; \ - mv $(srcdir)/$(DOMAIN)_$$lang.properties.tmp $(srcdir)/$(DOMAIN)_$$lang.properties || exit 1; \ + $(MSGCAT) --properties-output -o $(DOMAIN)_$$lang.properties.tmp $(srcdir)/$${lang}.po || exit 1; \ + if test '$(srcdir)' = .; then \ + mv -f $(DOMAIN)_$$lang.properties.tmp $(DOMAIN)_$$lang.properties || exit 1; \ + else \ + if test -f $(srcdir)/$(DOMAIN)_$$lang.properties && cmp $(DOMAIN)_$$lang.properties.tmp $(srcdir)/$(DOMAIN)_$$lang.properties >/dev/null; then \ + rm -f $(DOMAIN)_$$lang.properties.tmp; \ + else \ + mv -f $(DOMAIN)_$$lang.properties.tmp $(srcdir)/$(DOMAIN)_$$lang.properties || exit 1; \ + fi; \ + fi; \ done # Alternatively, we could create classes instead of properties files. update-classes: Makefile $(srcdir)/$(DOMAIN).pot $(POFILES) @echo "$(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(srcdir)/$(DOMAIN).properties"; \ - $(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(srcdir)/$(DOMAIN).properties || { rm -f $(srcdir)/$(DOMAIN).properties; exit 1; } + $(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(DOMAIN).properties || { rm -f $(DOMAIN).properties; exit 1; } +# Move $(DOMAIN).properties into $(srcdir). But don't provoke a gratuitous error +# in a VPATH build with read-only $(srcdir). + @if test '$(srcdir)' != .; then \ + if test -f $(srcdir)/$(DOMAIN).properties && cmp $(DOMAIN).properties $(srcdir)/$(DOMAIN).properties >/dev/null; then \ + rm -f $(DOMAIN).properties; \ + else \ + mv -f $(DOMAIN).properties $(srcdir)/$(DOMAIN).properties; \ + fi; \ + fi @for f in $(POFILES); do \ lang=`echo $$f | sed -e 's,.*/,,' -e 's,\.po$$,,'`; \ echo "$(GMSGFMT) -c --statistics --verbose -j -d $(srcdir) -r $(DOMAIN) -l $${lang} $(srcdir)/$${lang}.po"; \ - $(GMSGFMT) -c --statistics --verbose -j -d $(srcdir) -r $(DOMAIN) -l $${lang} $(srcdir)/$${lang}.po || exit 1; \ + $(GMSGFMT) -c --statistics --verbose -j -d . -r $(DOMAIN) -l $${lang} $(srcdir)/$${lang}.po || exit 1; \ + if test '$(srcdir)' != .; then \ + if test -f $(srcdir)/$(DOMAIN)_$$lang.class && cmp $(DOMAIN)_$$lang.class $(srcdir)/$(DOMAIN)_$$lang.class >/dev/null; then \ + rm -f $(DOMAIN)_$$lang.class; \ + else \ + mv -f $(DOMAIN)_$$lang.class $(srcdir)/$(DOMAIN)_$$lang.class || exit 1; \ + fi; \ + fi; \ done echo-catalogs: diff --git a/gettext-tools/examples/hello-java-swing/po/Makefile.am b/gettext-tools/examples/hello-java-swing/po/Makefile.am index 4465df418..722f6f182 100644 --- a/gettext-tools/examples/hello-java-swing/po/Makefile.am +++ b/gettext-tools/examples/hello-java-swing/po/Makefile.am @@ -248,24 +248,57 @@ $(DUMMYPOFILES): update-properties: Makefile $(srcdir)/$(DOMAIN).pot $(POFILES) @echo "$(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(srcdir)/$(DOMAIN).properties"; \ - $(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(srcdir)/$(DOMAIN).properties || { rm -f $(srcdir)/$(DOMAIN).properties; exit 1; } + $(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(DOMAIN).properties || { rm -f $(DOMAIN).properties; exit 1; } +# Move $(DOMAIN).properties into $(srcdir). But don't provoke a gratuitous error +# in a VPATH build with read-only $(srcdir). + @if test '$(srcdir)' != .; then \ + if test -f $(srcdir)/$(DOMAIN).properties && cmp $(DOMAIN).properties $(srcdir)/$(DOMAIN).properties >/dev/null; then \ + rm -f $(DOMAIN).properties; \ + else \ + mv -f $(DOMAIN).properties $(srcdir)/$(DOMAIN).properties; \ + fi; \ + fi @for f in $(POFILES); do \ lang=`echo $$f | sed -e 's,.*/,,' -e 's,\.po$$,,'`; \ echo "$(GMSGFMT) -c --statistics --verbose -o /dev/null $(srcdir)/$${lang}.po"; \ $(GMSGFMT) -c --statistics --verbose -o /dev/null $(srcdir)/$${lang}.po || exit 1; \ echo "$(MSGCAT) --properties-output -o $(srcdir)/$(DOMAIN)_$$lang.properties $(srcdir)/$${lang}.po"; \ - $(MSGCAT) --properties-output -o $(srcdir)/$(DOMAIN)_$$lang.properties.tmp $(srcdir)/$${lang}.po || exit 1; \ - mv $(srcdir)/$(DOMAIN)_$$lang.properties.tmp $(srcdir)/$(DOMAIN)_$$lang.properties || exit 1; \ + $(MSGCAT) --properties-output -o $(DOMAIN)_$$lang.properties.tmp $(srcdir)/$${lang}.po || exit 1; \ + if test '$(srcdir)' = .; then \ + mv -f $(DOMAIN)_$$lang.properties.tmp $(DOMAIN)_$$lang.properties || exit 1; \ + else \ + if test -f $(srcdir)/$(DOMAIN)_$$lang.properties && cmp $(DOMAIN)_$$lang.properties.tmp $(srcdir)/$(DOMAIN)_$$lang.properties >/dev/null; then \ + rm -f $(DOMAIN)_$$lang.properties.tmp; \ + else \ + mv -f $(DOMAIN)_$$lang.properties.tmp $(srcdir)/$(DOMAIN)_$$lang.properties || exit 1; \ + fi; \ + fi; \ done # Alternatively, we could create classes instead of properties files. update-classes: Makefile $(srcdir)/$(DOMAIN).pot $(POFILES) @echo "$(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(srcdir)/$(DOMAIN).properties"; \ - $(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(srcdir)/$(DOMAIN).properties || { rm -f $(srcdir)/$(DOMAIN).properties; exit 1; } + $(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(DOMAIN).properties || { rm -f $(DOMAIN).properties; exit 1; } +# Move $(DOMAIN).properties into $(srcdir). But don't provoke a gratuitous error +# in a VPATH build with read-only $(srcdir). + @if test '$(srcdir)' != .; then \ + if test -f $(srcdir)/$(DOMAIN).properties && cmp $(DOMAIN).properties $(srcdir)/$(DOMAIN).properties >/dev/null; then \ + rm -f $(DOMAIN).properties; \ + else \ + mv -f $(DOMAIN).properties $(srcdir)/$(DOMAIN).properties; \ + fi; \ + fi @for f in $(POFILES); do \ lang=`echo $$f | sed -e 's,.*/,,' -e 's,\.po$$,,'`; \ echo "$(GMSGFMT) -c --statistics --verbose -j -d $(srcdir) -r $(DOMAIN) -l $${lang} $(srcdir)/$${lang}.po"; \ - $(GMSGFMT) -c --statistics --verbose -j -d $(srcdir) -r $(DOMAIN) -l $${lang} $(srcdir)/$${lang}.po || exit 1; \ + $(GMSGFMT) -c --statistics --verbose -j -d . -r $(DOMAIN) -l $${lang} $(srcdir)/$${lang}.po || exit 1; \ + if test '$(srcdir)' != .; then \ + if test -f $(srcdir)/$(DOMAIN)_$$lang.class && cmp $(DOMAIN)_$$lang.class $(srcdir)/$(DOMAIN)_$$lang.class >/dev/null; then \ + rm -f $(DOMAIN)_$$lang.class; \ + else \ + mv -f $(DOMAIN)_$$lang.class $(srcdir)/$(DOMAIN)_$$lang.class || exit 1; \ + fi; \ + fi; \ done echo-catalogs: diff --git a/gettext-tools/examples/hello-java/po/Makefile.am b/gettext-tools/examples/hello-java/po/Makefile.am index 4465df418..722f6f182 100644 --- a/gettext-tools/examples/hello-java/po/Makefile.am +++ b/gettext-tools/examples/hello-java/po/Makefile.am @@ -248,24 +248,57 @@ $(DUMMYPOFILES): update-properties: Makefile $(srcdir)/$(DOMAIN).pot $(POFILES) @echo "$(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(srcdir)/$(DOMAIN).properties"; \ - $(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(srcdir)/$(DOMAIN).properties || { rm -f $(srcdir)/$(DOMAIN).properties; exit 1; } + $(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(DOMAIN).properties || { rm -f $(DOMAIN).properties; exit 1; } +# Move $(DOMAIN).properties into $(srcdir). But don't provoke a gratuitous error +# in a VPATH build with read-only $(srcdir). + @if test '$(srcdir)' != .; then \ + if test -f $(srcdir)/$(DOMAIN).properties && cmp $(DOMAIN).properties $(srcdir)/$(DOMAIN).properties >/dev/null; then \ + rm -f $(DOMAIN).properties; \ + else \ + mv -f $(DOMAIN).properties $(srcdir)/$(DOMAIN).properties; \ + fi; \ + fi @for f in $(POFILES); do \ lang=`echo $$f | sed -e 's,.*/,,' -e 's,\.po$$,,'`; \ echo "$(GMSGFMT) -c --statistics --verbose -o /dev/null $(srcdir)/$${lang}.po"; \ $(GMSGFMT) -c --statistics --verbose -o /dev/null $(srcdir)/$${lang}.po || exit 1; \ echo "$(MSGCAT) --properties-output -o $(srcdir)/$(DOMAIN)_$$lang.properties $(srcdir)/$${lang}.po"; \ - $(MSGCAT) --properties-output -o $(srcdir)/$(DOMAIN)_$$lang.properties.tmp $(srcdir)/$${lang}.po || exit 1; \ - mv $(srcdir)/$(DOMAIN)_$$lang.properties.tmp $(srcdir)/$(DOMAIN)_$$lang.properties || exit 1; \ + $(MSGCAT) --properties-output -o $(DOMAIN)_$$lang.properties.tmp $(srcdir)/$${lang}.po || exit 1; \ + if test '$(srcdir)' = .; then \ + mv -f $(DOMAIN)_$$lang.properties.tmp $(DOMAIN)_$$lang.properties || exit 1; \ + else \ + if test -f $(srcdir)/$(DOMAIN)_$$lang.properties && cmp $(DOMAIN)_$$lang.properties.tmp $(srcdir)/$(DOMAIN)_$$lang.properties >/dev/null; then \ + rm -f $(DOMAIN)_$$lang.properties.tmp; \ + else \ + mv -f $(DOMAIN)_$$lang.properties.tmp $(srcdir)/$(DOMAIN)_$$lang.properties || exit 1; \ + fi; \ + fi; \ done # Alternatively, we could create classes instead of properties files. update-classes: Makefile $(srcdir)/$(DOMAIN).pot $(POFILES) @echo "$(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(srcdir)/$(DOMAIN).properties"; \ - $(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(srcdir)/$(DOMAIN).properties || { rm -f $(srcdir)/$(DOMAIN).properties; exit 1; } + $(MSGINIT) -i $(srcdir)/$(DOMAIN).pot --no-translator -l en --properties-output -o $(DOMAIN).properties || { rm -f $(DOMAIN).properties; exit 1; } +# Move $(DOMAIN).properties into $(srcdir). But don't provoke a gratuitous error +# in a VPATH build with read-only $(srcdir). + @if test '$(srcdir)' != .; then \ + if test -f $(srcdir)/$(DOMAIN).properties && cmp $(DOMAIN).properties $(srcdir)/$(DOMAIN).properties >/dev/null; then \ + rm -f $(DOMAIN).properties; \ + else \ + mv -f $(DOMAIN).properties $(srcdir)/$(DOMAIN).properties; \ + fi; \ + fi @for f in $(POFILES); do \ lang=`echo $$f | sed -e 's,.*/,,' -e 's,\.po$$,,'`; \ echo "$(GMSGFMT) -c --statistics --verbose -j -d $(srcdir) -r $(DOMAIN) -l $${lang} $(srcdir)/$${lang}.po"; \ - $(GMSGFMT) -c --statistics --verbose -j -d $(srcdir) -r $(DOMAIN) -l $${lang} $(srcdir)/$${lang}.po || exit 1; \ + $(GMSGFMT) -c --statistics --verbose -j -d . -r $(DOMAIN) -l $${lang} $(srcdir)/$${lang}.po || exit 1; \ + if test '$(srcdir)' != .; then \ + if test -f $(srcdir)/$(DOMAIN)_$$lang.class && cmp $(DOMAIN)_$$lang.class $(srcdir)/$(DOMAIN)_$$lang.class >/dev/null; then \ + rm -f $(DOMAIN)_$$lang.class; \ + else \ + mv -f $(DOMAIN)_$$lang.class $(srcdir)/$(DOMAIN)_$$lang.class || exit 1; \ + fi; \ + fi; \ done echo-catalogs: