automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 4/4] maintcheck: fix real and spurious warnings


From: Stefano Lattarini
Subject: [PATCH 4/4] maintcheck: fix real and spurious warnings
Date: Sat, 28 Jan 2012 14:18:01 +0100

* lib/Makefile.am (install-data-hook): Correctly quote $(DESTDIR)
occurrences.
* Makefile.am (install-exec-hook, uninstall-hook): Likewise.
(autodiffs): Prefer '$(am__cd)' to plain 'cd', where warranted.
* doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Likewise.  Also,
prefer using AC_SUBST'd $(abs_top_builddir) over obtaining it at
runtime from $(top_builddir).
* syntax-check.mk (sc_mkinstalldirs): Tweak to whitelist known
harmless occurrences of the checked-against usages.
(sc_no_for_variable_in_macro): Likewise.
* tests/CheckListOfTests.am (maintainer-check-list-of-tests): Tweak
to avoid spuriously triggering the 'sc_no_for_variable_in_macro'
maintainer check.  Prefer '$(am__cd)' to plain 'cd' when warranted.
---
 Makefile.am               |   14 +++++++-------
 doc/Makefile.am           |    6 +++---
 lib/Makefile.am           |    4 ++--
 syntax-checks.mk          |    8 +++++---
 tests/CheckListOfTests.am |    5 +++--
 5 files changed, 20 insertions(+), 17 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 20a3584..685cbd9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -56,16 +56,16 @@ install-exec-hook:
        @for p in $(bin_SCRIPTS); do \
          f="`echo $$p|sed '$(transform)'`"; \
          fv="$$f-$(APIVERSION)"; \
-         rm -f $(DESTDIR)$(bindir)/$$fv; \
-         echo " $(LN) $(DESTDIR)$(bindir)/$$f $(DESTDIR)$(bindir)/$$fv"; \
-         $(LN) $(DESTDIR)$(bindir)/$$f $(DESTDIR)$(bindir)/$$fv; \
+         rm -f "$(DESTDIR)$(bindir)/$$fv"; \
+         echo " $(LN) '$(DESTDIR)$(bindir)/$$f' '$(DESTDIR)$(bindir)/$$fv'"; \
+         $(LN) "$(DESTDIR)$(bindir)/$$f" "$(DESTDIR)$(bindir)/$$fv"; \
        done
 
 uninstall-hook:
        @for p in $(bin_SCRIPTS); do \
          f="`echo $$p|sed '$(transform)'`"; \
          fv="$$f-$(APIVERSION)"; \
-         rm -f $(DESTDIR)$(bindir)/$$fv; \
+         rm -f "$(DESTDIR)$(bindir)/$$fv"; \
        done
 
 
@@ -233,14 +233,14 @@ autodiffs:
             rev=$$1 dir=$$2 \
               && echo "$@: will get files from revision $$rev" \
               && git clone -q --depth 1 "$$am_gitdir" tmp \
-              && cd tmp \
+              && $(am__cd) tmp \
               && git checkout -q "$$rev" \
               && echo "$@: bootstrapping $$rev" \
               && $(SHELL) ./bootstrap \
               && echo "$@: copying files from $$rev" \
               && makefile_ins=`find . -name Makefile.in` \
               && (tar cf - configure aclocal.m4 $$makefile_ins) | \
-                 (cd .. && cd "$$dir" && tar xf -) \
+                 (cd .. && $(am__cd) "$$dir" && tar xf -) \
               && cd .. \
               && rm -rf tmp; \
         }; \
@@ -250,7 +250,7 @@ autodiffs:
           && git --git-dir="$$am_gitdir" describe $$NEW_COMMIT >/dev/null \
           && rm -rf $$outdir \
           && mkdir $$outdir \
-          && cd $$outdir \
+          && $(am__cd) $$outdir \
           && mkdir new old \
           && get_autofiles_from_rev $$OLD_COMMIT old \
           && get_autofiles_from_rev $$NEW_COMMIT new \
diff --git a/doc/Makefile.am b/doc/Makefile.am
index ee5c439..a2dde22 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -71,10 +71,10 @@ dist_doc_DATA = $(srcdir)/amhello-1.0.tar.gz
 # aclocal-$(APIVERSION) and automake-$(APIVERSION) are generated by
 # configure in tests/.
 $(srcdir)/amhello-1.0.tar.gz: $(amhello_sources) $(top_srcdir)/configure.ac
-       $(AM_V_GEN)abs_top_builddir=`cd '$(top_builddir)' && pwd` && \
-       PATH="$$abs_top_builddir/tests$(PATH_SEPARATOR)$$PATH" && \
+       $(AM_V_GEN): && \
+       PATH="$(abs_top_builddir)/tests$(PATH_SEPARATOR)$$PATH" && \
        export PATH && \
-       cd $(srcdir)/amhello && \
+       $(am__cd) $(srcdir)/amhello && \
        ACLOCAL=aclocal-$(APIVERSION) && export ACLOCAL && \
        AUTOMAKE=automake-$(APIVERSION) && export AUTOMAKE && \
        AUTOCONF='$(am_AUTOCONF)' && export AUTOCONF && \
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 2e6445b..a7c8295 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -51,8 +51,8 @@ EXTRA_DIST = gnupload gitlog-to-changelog
 install-data-hook:
        @$(POST_INSTALL)
        @for prog in $(dist_script_DATA); do \
-         echo " chmod +x $(DESTDIR)$(scriptdir)/$$prog"; \
-         chmod +x $(DESTDIR)$(scriptdir)/$$prog; \
+         echo " chmod +x '$(DESTDIR)$(scriptdir)/$$prog'"; \
+         chmod +x "$(DESTDIR)$(scriptdir)/$$prog"; \
        done
 
 ## `test -x' is not portable.  So we use Perl instead.  If Perl
diff --git a/syntax-checks.mk b/syntax-checks.mk
index 4da3974..0f01114 100644
--- a/syntax-checks.mk
+++ b/syntax-checks.mk
@@ -198,15 +198,17 @@ sc_rm_minus_f:
 ## if FILES is empty or if it contains shell meta characters (e.g. $ is
 ## commonly used in Java filenames).
 sc_no_for_variable_in_macro:
-       @if grep 'for .* in \$$(' $(ams); then \
+       @if grep 'for .* in \$$(' $(ams) | grep -v '/Makefile\.am:'; then \
          echo 'Use "list=$$(mumble); for var in $$$$list".' 1>&2 ; \
          exit 1; \
        else :; fi
 
 ## Make sure all invocations of mkinstalldirs are correct.
 sc_mkinstalldirs:
-       @if grep -n 'mkinstalldirs' $(ams) | \
-             grep -F -v '$$(mkinstalldirs)'; then \
+       @if grep -n 'mkinstalldirs' $(ams) \
+             | grep -F -v '$$(mkinstalldirs)' \
+             | grep -v '^\./lib/Makefile.am:37:  *mkinstalldirs \\$$'; \
+       then \
          echo "Found incorrect use of mkinstalldirs in the lines above" 1>&2; \
          exit 1; \
        else :; fi
diff --git a/tests/CheckListOfTests.am b/tests/CheckListOfTests.am
index c71c7fc..3fa51d3 100644
--- a/tests/CheckListOfTests.am
+++ b/tests/CheckListOfTests.am
@@ -41,11 +41,12 @@ maintainer-check-list-of-tests:
         dirs='$(test_subdirs)'; \
         test -n "$$dirs" || dirs=.; \
 ## List of tests on filesystem.  Be careful to cater for VPATH builds too.
-        for ext in $(TEST_EXTENSIONS); do \
+        test_extensions='$(TEST_EXTENSIONS)'; \
+        for ext in $$test_extensions; do \
           for dir in $$dirs; do \
             ls $$dir/*$$ext 2>/dev/null; \
             if test $(srcdir) != $(builddir); then \
-              (cd $(srcdir) && ls $$dir/*$$ext 2>/dev/null); \
+              ($(am__cd) $(srcdir) && ls $$dir/*$$ext 2>/dev/null); \
             fi; \
           done; \
         done | sed 's,^\./,,' | sort | uniq >$(am__tfs); \
-- 
1.7.7.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]