diff options
Diffstat (limited to 'lib/am/dejagnu.am')
-rw-r--r-- | lib/am/dejagnu.am | 93 |
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 |