+2010-10-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ Document and fix expansion of variables before rules.
+ * doc/automake.texi (General Operation): Document that variables
+ are expanded before rules.
+ * lib/am/check.am (am__check_post): Reword a bit so it does not
+ get matched as a rule.
+ Suggestion by Ben Pfaff.
+
2010-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Revert "parallel-tests: avoid command-line length limit issue."
@trindex git-dist
The variable definitions and rules in the @file{Makefile.am} are
-copied verbatim into the generated file. This allows you to add
+copied mostly verbatim into the generated file, with all variable
+definitions preceding all rules. This allows you to add almost
arbitrary code into the generated @file{Makefile.in}. For instance,
the Automake distribution includes a non-standard rule for the
@code{git-dist} target, which the Automake maintainer uses to make
else dir="$(srcdir)/"; fi; \
tst=$$dir$$f; log='$@'; __SAVED_TERM=$$TERM; \
$(TESTS_ENVIRONMENT)
+# To be appended to the command running the test. Handle the stdout
+# and stderr redirection, and catch the exit status.
+am__check_post = \
+>$@-t 2>&1; \
+estatus=$$?; \
+if test -n '$(DISABLE_HARD_ERRORS)' \
+ && test $$estatus -eq 99; then \
+ estatus=1; \
+fi; \
+TERM=$$__SAVED_TERM; export TERM; \
+$(am__tty_colors); \
+xfailed=PASS; \
+case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
+ xfailed=XFAIL;; \
+esac; \
+case $$estatus.$$xfailed in \
+ 0.XFAIL) col=$$red; res=XPASS;; \
+ 0.*) col=$$grn; res=PASS ;; \
+ 77.*) col=$$blu; res=SKIP ;; \
+ 99.*) col=$$red; res=FAIL ;; \
+ *.XFAIL) col=$$lgn; res=XFAIL;; \
+ *.*) col=$$red; res=FAIL ;; \
+esac; \
+echo "$${col}$$res$${std}: $$f"; \
+echo "$$res: $$f (exit: $$estatus)" | \
+ $(am__rst_section) >$@; \
+cat $@-t >>$@; \
+rm -f $@-t
RECHECK_LOGS = $(TEST_LOGS)
AM_RECURSIVE_TARGETS = check check-html recheck recheck-html
TEST_SUITE_LOG = test-suite.log
CTAGS:
-# To be appended to the command running the test. Handle the stdout
-# and stderr redirection, and catch the exit status.
-am__check_post = \
->$@-t 2>&1; \
-estatus=$$?; \
-if test -n '$(DISABLE_HARD_ERRORS)' \
- && test $$estatus -eq 99; then \
- estatus=1; \
-fi; \
-TERM=$$__SAVED_TERM; export TERM; \
-$(am__tty_colors); \
-xfailed=PASS; \
-case " $(XFAIL_TESTS) " in \
- *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
- xfailed=XFAIL;; \
-esac; \
-case $$estatus:$$xfailed in \
- 0:XFAIL) col=$$red; res=XPASS;; \
- 0:*) col=$$grn; res=PASS ;; \
- 77:*) col=$$blu; res=SKIP ;; \
- 99:*) col=$$red; res=FAIL ;; \
- *:XFAIL) col=$$lgn; res=XFAIL;; \
- *:*) col=$$red; res=FAIL ;; \
-esac; \
-echo "$${col}$$res$${std}: $$f"; \
-echo "$$res: $$f (exit: $$estatus)" | \
- $(am__rst_section) >$@; \
-cat $@-t >>$@; \
-rm -f $@-t
-
$(TEST_SUITE_LOG): $(TEST_LOGS)
@$(am__sh_e_setup); \
list='$(TEST_LOGS)'; \
*[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
xfailed=XFAIL;; \
esac; \
-case $$estatus:$$xfailed in \
- 0:XFAIL) col=$$red; res=XPASS;; \
- 0:*) col=$$grn; res=PASS ;; \
- 77:*) col=$$blu; res=SKIP ;; \
- 99:*) col=$$red; res=FAIL ;; \
- *:XFAIL) col=$$lgn; res=XFAIL;; \
- *:*) col=$$red; res=FAIL ;; \
+case $$estatus.$$xfailed in \
+ 0.XFAIL) col=$$red; res=XPASS;; \
+ 0.*) col=$$grn; res=PASS ;; \
+ 77.*) col=$$blu; res=SKIP ;; \
+ 99.*) col=$$red; res=FAIL ;; \
+ *.XFAIL) col=$$lgn; res=XFAIL;; \
+ *.*) col=$$red; res=FAIL ;; \
esac; \
echo "$${col}$$res$${std}: $$f"; \
echo "$$res: $$f (exit: $$estatus)" | \
else dir="$(srcdir)/"; fi; \
tst=$$dir$$f; log='$@'; __SAVED_TERM=$$TERM; \
$(TESTS_ENVIRONMENT)
+# To be appended to the command running the test. Handle the stdout
+# and stderr redirection, and catch the exit status.
+am__check_post = \
+>$@-t 2>&1; \
+estatus=$$?; \
+if test -n '$(DISABLE_HARD_ERRORS)' \
+ && test $$estatus -eq 99; then \
+ estatus=1; \
+fi; \
+TERM=$$__SAVED_TERM; export TERM; \
+$(am__tty_colors); \
+xfailed=PASS; \
+case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
+ xfailed=XFAIL;; \
+esac; \
+case $$estatus.$$xfailed in \
+ 0.XFAIL) col=$$red; res=XPASS;; \
+ 0.*) col=$$grn; res=PASS ;; \
+ 77.*) col=$$blu; res=SKIP ;; \
+ 99.*) col=$$red; res=FAIL ;; \
+ *.XFAIL) col=$$lgn; res=XFAIL;; \
+ *.*) col=$$red; res=FAIL ;; \
+esac; \
+echo "$${col}$$res$${std}: $$f"; \
+echo "$$res: $$f (exit: $$estatus)" | \
+ $(am__rst_section) >$@; \
+cat $@-t >>$@; \
+rm -f $@-t
RECHECK_LOGS = $(TEST_LOGS)
AM_RECURSIVE_TARGETS = check check-html recheck recheck-html
TEST_SUITE_LOG = test-suite.log
CTAGS:
-# To be appended to the command running the test. Handle the stdout
-# and stderr redirection, and catch the exit status.
-am__check_post = \
->$@-t 2>&1; \
-estatus=$$?; \
-if test -n '$(DISABLE_HARD_ERRORS)' \
- && test $$estatus -eq 99; then \
- estatus=1; \
-fi; \
-TERM=$$__SAVED_TERM; export TERM; \
-$(am__tty_colors); \
-xfailed=PASS; \
-case " $(XFAIL_TESTS) " in \
- *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
- xfailed=XFAIL;; \
-esac; \
-case $$estatus:$$xfailed in \
- 0:XFAIL) col=$$red; res=XPASS;; \
- 0:*) col=$$grn; res=PASS ;; \
- 77:*) col=$$blu; res=SKIP ;; \
- 99:*) col=$$red; res=FAIL ;; \
- *:XFAIL) col=$$lgn; res=XFAIL;; \
- *:*) col=$$red; res=FAIL ;; \
-esac; \
-echo "$${col}$$res$${std}: $$f"; \
-echo "$$res: $$f (exit: $$estatus)" | \
- $(am__rst_section) >$@; \
-cat $@-t >>$@; \
-rm -f $@-t
-
$(TEST_SUITE_LOG): $(TEST_LOGS)
@$(am__sh_e_setup); \
list='$(TEST_LOGS)'; \