summaryrefslogtreecommitdiff
path: root/lib/am/dejagnu.am
diff options
context:
space:
mode:
Diffstat (limited to 'lib/am/dejagnu.am')
-rw-r--r--lib/am/dejagnu.am93
1 files changed, 93 insertions, 0 deletions
diff --git a/lib/am/dejagnu.am b/lib/am/dejagnu.am
new file mode 100644
index 000000000..4aa8f9cc2
--- /dev/null
+++ b/lib/am/dejagnu.am
@@ -0,0 +1,93 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994-2017 Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+## Name of tool to use. Default is the same as the package.
+DEJATOOL = $(PACKAGE)
+
+## Default flags to pass to dejagnu. The user can override this.
+RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
+
+EXPECT = expect
+RUNTEST = runtest
+
+
+.PHONY: check-DEJAGNU
+check-DEJAGNU: site.exp
+## Life is easiest with an absolute srcdir, so do that.
+ srcdir='$(srcdir)'; export srcdir; \
+ EXPECT=$(EXPECT); export EXPECT; \
+## If runtest can't be found, print a warning but don't die. It is
+## pointless to cause a failure if the tests cannot be run at all.
+ if $(SHELL) -c "$(RUNTEST) --version" > /dev/null 2>&1; then \
+ exit_status=0; l='$(DEJATOOL)'; for tool in $$l; do \
+ if $(RUNTEST) $(RUNTESTDEFAULTFLAGS) $(AM_RUNTESTFLAGS) $(RUNTESTFLAGS); \
+ then :; else exit_status=1; fi; \
+ done; \
+ else echo "WARNING: could not find '$(RUNTEST)'" 1>&2; :;\
+ fi; \
+ exit $$exit_status
+
+
+## ------------------- ##
+## Building site.exp. ##
+## ------------------- ##
+
+## Note that in the rule we don't directly generate site.exp to avoid
+## the possibility of a corrupted site.exp if make is interrupted.
+## Jim Meyering has some useful text on this topic.
+site.exp: Makefile $(EXTRA_DEJAGNU_SITE_CONFIG)
+ @echo 'Making a new site.exp file ...'
+ @echo '## these variables are automatically generated by make ##' >site.tmp
+ @echo '# Do not edit here. If you wish to override these values' >>site.tmp
+ @echo '# edit the last section' >>site.tmp
+ @echo 'set srcdir "$(srcdir)"' >>site.tmp
+ @echo "set objdir `pwd`" >>site.tmp
+## Quote the *_alias variables because they might be empty.
+?BUILD? @echo 'set build_alias "$(build_alias)"' >>site.tmp
+?BUILD? @echo 'set build_triplet $(build_triplet)' >>site.tmp
+?HOST? @echo 'set host_alias "$(host_alias)"' >>site.tmp
+?HOST? @echo 'set host_triplet $(host_triplet)' >>site.tmp
+?TARGET? @echo 'set target_alias "$(target_alias)"' >>site.tmp
+?TARGET? @echo 'set target_triplet $(target_triplet)' >>site.tmp
+## Allow the package author to extend site.exp.
+ @list='$(EXTRA_DEJAGNU_SITE_CONFIG)'; for f in $$list; do \
+ echo "## Begin content included from file $$f. Do not modify. ##" \
+ && cat `test -f "$$f" || echo '$(srcdir)/'`$$f \
+ && echo "## End content included from file $$f. ##" \
+ || exit 1; \
+ done >> site.tmp
+ @echo "## End of auto-generated content; you can edit from here. ##" >> site.tmp
+ @if test -f site.exp; then \
+ sed -e '1,/^## End of auto-generated content.*##/d' site.exp >> site.tmp; \
+ fi
+ @-rm -f site.bak
+ @test ! -f site.exp || mv site.exp site.bak
+ @mv site.tmp site.exp
+
+## ---------- ##
+## Cleaning. ##
+## ---------- ##
+
+.PHONY distclean-am: distclean-DEJAGNU
+
+distclean-DEJAGNU:
+## Any other cleaning must be done by the user or by the test suite
+## itself. We can't predict what dejagnu or the test suite might
+## generate.
+ -rm -f site.exp site.bak
+ -l='$(DEJATOOL)'; for tool in $$l; do \
+ rm -f $$tool.sum $$tool.log; \
+ done