summaryrefslogtreecommitdiff
path: root/lib/am/dejagnu.am
blob: 08de45c61ae0ae3b811eaa727116e7c9621e1993 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
## automake - create Makefile.in from Makefile.am
## Copyright (C) 1994, 1995, 1996, 1997, 2000, 2001, 2003, 2006
## 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 <http://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

## In Cygnus mode, these are found in the build tree.
## Otherwise they are looked for in $PATH.
if %?CYGNUS%
EXPECT = `if test -f $(top_builddir)/../expect/expect; then \
	    echo $(top_builddir)/../expect/expect; \
	  else \
	    echo expect; \
	  fi`

RUNTEST = `if test -f $(top_srcdir)/../dejagnu/runtest; then \
	     echo $(top_srcdir)/../dejagnu/runtest; \
	   else \
	     echo runtest; \
	   fi`
else ! %?CYGNUS%
EXPECT = expect
RUNTEST = runtest
endif ! %?CYGNUS%


.PHONY: check-DEJAGNU
check-DEJAGNU: site.exp
## Life is easiest with an absolute srcdir, so do that.
	srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \
	EXPECT=$(EXPECT); export EXPECT; \
## Allow this to work when expect and DejaGnu are in tree.
## Only required when --cygnus in force.
?CYGNUS?	if [ -f $(top_builddir)/../expect/expect ]; then \
?CYGNUS?	  TCL_LIBRARY=`$(am__cd) $(top_srcdir)/../tcl/library && pwd`; \
?CYGNUS?	  export TCL_LIBRARY; \
?CYGNUS?	fi; \
	runtest=$(RUNTEST); \
## 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


## ------------------- ##
## 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
	@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
	@echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp
	@test ! -f site.exp || \
	  sed '1,/^## All variables above are.*##/ d' site.exp >> 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