## automake - create Makefile.in from Makefile.am
## Copyright (C) 1994-2025 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)
	$(AM_V_GEN)set -e; ( \
	echo '## these variables are automatically generated by make ##'; \
	echo '# Do not edit here.  If you wish to override these values'; \
	echo '# edit the last section'; \
	echo 'set srcdir "$(srcdir)"'; \
	echo "set objdir \"`pwd`\""; \
## Quote the *_alias variables because they might be empty.
?BUILD?	echo 'set build_alias "$(build_alias)"'; \
?BUILD?	echo 'set build_triplet $(build_triplet)'; \
?HOST?	echo 'set host_alias "$(host_alias)"'; \
?HOST?	echo 'set host_triplet $(host_triplet)'; \
?TARGET?	echo 'set target_alias "$(target_alias)"'; \
?TARGET?	echo 'set target_triplet $(target_triplet)'; \
## 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. ##"; \
	done; \
	echo "## End of auto-generated content; you can edit from here. ##"; \
	if test -f site.exp; then \
	  sed -e '1,/^## End of auto-generated content.*##/d' site.exp; \
	fi; \
	) >site.tmp; \
	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
