1# Makefile for regression testing the GNU debugger.
2# Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
3
4# This file is part of GDB.
5
6# GDB is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation; either version 2, or (at your option)
9# any later version.
10
11# GDB is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14# GNU General Public License for more details.
15
16# You should have received a copy of the GNU General Public License
17# along with this program; if not, write to the Free Software
18# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19
20VPATH = @srcdir@
21srcdir = @srcdir@
22srcroot = $(srcdir)/..
23
24prefix = @prefix@
25exec_prefix = @exec_prefix@
26
27host_alias = @host_alias@
28target_alias = @target_alias@
29program_transform_name = @program_transform_name@
30build_canonical = @build@
31host_canonical = @host@
32target_canonical = @target@
33target_cpu = @target_cpu@
34
35
36SHELL = /bin/sh
37SUBDIRS = @subdirs@
38RPATH_ENVVAR = @RPATH_ENVVAR@
39
40TESTS = \
41	exit47.ko \
42	hello.hi \
43	t-dbt.ok \
44	t-ld-st.ok \
45	t-mac.ok \
46	t-mvtac.ok \
47	t-mvtc.ok \
48	t-msbu.ok \
49	t-mulxu.ok \
50	t-rac.ok \
51	t-rachi.ok \
52	t-rdt.ok \
53	t-rep.ok \
54	t-rte.ok \
55	t-sac.ok \
56	t-sachi.ok \
57	t-sadd.ok \
58	t-slae.ok \
59	t-sp.ok \
60	t-sub2w.ok \
61	t-sub.ok \
62	t-subi.ok \
63	t-ae-ld-d.ok \
64	t-ae-ld-i.ok \
65	t-ae-ld-id.ok \
66	t-ae-ld-im.ok \
67	t-ae-ld-ip.ok \
68	t-ae-ld2w-d.ok \
69	t-ae-ld2w-i.ok \
70	t-ae-ld2w-id.ok \
71	t-ae-ld2w-im.ok \
72	t-ae-ld2w-ip.ok \
73	t-ae-st-d.ok \
74	t-ae-st-i.ok \
75	t-ae-st-id.ok \
76	t-ae-st-im.ok \
77	t-ae-st-ip.ok \
78	t-ae-st-is.ok \
79	t-ae-st2w-d.ok \
80	t-ae-st2w-i.ok \
81	t-ae-st2w-id.ok \
82	t-ae-st2w-im.ok \
83	t-ae-st2w-ip.ok \
84	t-ae-st2w-is.ok \
85	t-mod-ld-pre.ok \
86	t-rie-xx.ok \
87#
88
89AS_FOR_TARGET = `\
90  if [ -x ../../../gas/as-new ]; then \
91    echo ../../../gas/as-new ; \
92  else \
93    echo $(target_alias)-as ; \
94  fi`
95
96LD_FOR_TARGET = `\
97  if [ -x ../../../ld/ld-new ]; then \
98    echo ../../../ld/ld-new ; \
99  else \
100    echo $(target_alias)-ld ; \
101  fi`
102
103RUN_FOR_TARGET = `\
104  if [ -x ../../../sim/d10v/run ]; then \
105    echo ../../../sim/d10v/run ; \
106  else \
107    echo $(target_alias)-run ; \
108  fi`
109
110# Force d10v into operating mode.
111RUNFLAGS_FOR_TARGET=-o
112
113
114check: sanity $(TESTS)
115sanity:
116	@eval echo AS_FOR_TARGET=$(AS_FOR_TARGET)
117	@eval echo LD_FOR_TARGET=$(LD_FOR_TARGET)
118	@eval echo RUN_FOR_TARGET=$(RUN_FOR_TARGET)
119
120clean:
121	rm -f $(TESTS)
122	rm -f *.run *.o
123	rm -f core *.core
124
125# Rules for running the tests
126
127.SUFFIXES: .ok .run .hi .ko .ti
128.run.ok:
129	rm -f tmp-$* $*.hi
130	ulimit -t 5 ; \
131	$(RUN_FOR_TARGET) $(RUNFLAGS_FOR_TARGET) $*.run > tmp-$*
132	mv tmp-$* $*.ok
133.run.hi:
134	rm -f tmp-$* $*.hi diff-$*
135	ulimit -t 5 ; \
136	$(RUN_FOR_TARGET) $(RUNFLAGS_FOR_TARGET) $*.run > tmp-$*
137	echo 'Hello World!' | diff - tmp-$* > diff-$*
138	cat tmp-$* diff-$* > $*.hi
139.run.ko:
140	rm -f tmp-$* $*.ko
141	set +e ; \
142	ulimit -t 5 ; \
143	$(RUN_FOR_TARGET) $(RUNFLAGS_FOR_TARGET) $*.run > tmp-$* ; \
144	if [ $$? -eq 47 ] ; then \
145	  exit 0 ; \
146	else \
147	  exit 1 ; \
148	fi
149	mv tmp-$* $*.ko
150.run.ti:
151	rm -f tmp-$* $*.ti
152	set +e ; \
153	ulimit -t 5 ; \
154	$(RUN_FOR_TARGET) $(RUNFLAGS_FOR_TARGET) $(INTFLAGS_FOR_TARGET) $*.run > tmp-$*
155	test `cat tmp-$* | wc -l` -eq 10 < /dev/null
156	test `grep Tick tmp-$* | wc -l` -eq 10 < /dev/null
157	mv tmp-$* $*.ti
158
159
160# Rules for building the test
161# Preference is for obtaining the executable (.run) from a prebuilt image
162
163.SUFFIXES: .uue .s .S .run
164.uue.run:
165	head $* | grep $*.run > /dev/null
166	uudecode $*.uue
167.run.u:
168	uuencode < $*.run $*.run > $*.u
169.o.run:
170	$(LD_FOR_TARGET) $(LDFLAGS_FOR_TARGET) -o $*.run $*.o
171.s.o:
172	$(AS_FOR_TARGET) $(ASFLAGS_FOR_TARGET) -I$(srcdir) $(srcdir)/$*.s -o $*.o
173.S.o:
174	$(AS_FOR_TARGET) $(ASFLAGS_FOR_TARGET) -I$(srcdir) $(srcdir)/$*.S -o $*.o
175
176
177Makefile: Makefile.in config.status
178	$(SHELL) ./config.status
179
180config.status: configure
181	$(SHELL) ./config.status --recheck
182