## automake - create Makefile.in from Makefile.am ## Copyright (C) 1994-2015 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 . # Name of tool to use. Default is the same as the package. ifeq ($(call am.vars.is-undef,DEJATOOL),yes) DEJATOOL = $(PACKAGE) endif # Default flags to pass to dejagnu. The user can override this. ifeq ($(call am.vars.is-undef,$(RUNTESTDEFAULTFLAGS)),yes) RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir endif # FIXME: is a good idea to let this being overridden from the # environment? EXPECT ?= expect RUNTEST ?= runtest .PHONY: check-DEJAGNU check-DEJAGNU: site.exp 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) $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \ then :; else exit_status=1; fi; \ done; \ else echo "WARNING: could not find '$(RUNTEST)'" 1>&2; :;\ fi; \ exit $$exit_status # 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. ifdef am.conf.build-triplet @echo 'set build_triplet $(build)' >>site.tmp @echo 'set build_alias "$(build_alias)"' >>site.tmp endif ifdef am.conf.host-triplet @echo 'set host_triplet $(host)' >>site.tmp @echo 'set host_alias "$(host_alias)"' >>site.tmp endif ifdef am.conf.target-triplet @echo 'set target_triplet $(target)' >>site.tmp @echo 'set target_alias "$(target_alias)"' >>site.tmp endif @# 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 # 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. ## FIXME: we clean these on "make distclean" only for better compatibility ## FIXME: with mainline Automake, but wouldn't be more correct to clean ## FIXME: them on "make clean" instead? am.clean.dist.f += site.exp site.bak am.clean.dist.f += $(addsuffix .sum,$(DEJATOOL)) am.clean.dist.f += $(addsuffix .log,$(DEJATOOL))