2003-10-10 Dave Brolley <brolley@redhat.com>
[platform/upstream/binutils.git] / sim / testsuite / frv-elf / Makefile.in
1 # Makefile for regression testing the frv simulator.
2 # Copyright (C) 1998 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
20 VPATH = @srcdir@
21 srcdir = @srcdir@
22 srcroot = $(srcdir)/../../..
23
24 prefix = @prefix@
25 exec_prefix = @exec_prefix@
26
27 host_alias = @host_alias@
28 target_alias = @target_alias@
29 program_transform_name = @program_transform_name@
30 build_canonical = @build@
31 host_canonical = @host@
32 target_canonical = @target@
33 target_cpu = @target_cpu@
34
35
36 SHELL = @SHELL@
37 SUBDIRS = @subdirs@
38 RPATH_ENVVAR = @RPATH_ENVVAR@
39
40 EXPECT = `if [ -f ../../../expect/expect ] ; then \
41           echo ../../../expect/expect ; \
42           else echo expect ; fi`
43
44 RUNTEST = $(RUNTEST_FOR_TARGET)
45
46 RUNTESTFLAGS =
47
48 RUNTEST_FOR_TARGET = `\
49   if [ -f $${srcroot}/dejagnu/runtest ]; then \
50     echo $${srcroot}/dejagnu/runtest; \
51   else \
52     if [ "$(host_canonical)" = "$(target_canonical)" ]; then \
53       echo runtest; \
54     else \
55       t='$(program_transform_name)'; echo runtest | sed -e '' $$t; \
56     fi; \
57   fi`
58
59
60 AS_FOR_TARGET = `\
61   if [ -x ../../../gas/as-new ]; then \
62     echo ../../../gas/as-new ; \
63   else \
64     echo $(target_alias)-as ; \
65   fi`
66
67 LD_FOR_TARGET = `\
68   if [ -x ../../../ld/ld-new ]; then \
69     echo ../../../ld/ld-new ; \
70   else \
71     echo $(target_alias)-ld ; \
72   fi`
73
74 RUN_FOR_TARGET = `\
75   if [ -x ../../../sim/${target_cpu}/run ]; then \
76     echo ../../../sim/${target_cpu}/run ; \
77   else \
78     echo $(target_alias)-run ; \
79   fi`
80
81 TESTS = \
82         exit47.ko \
83         grloop.ok \
84         hello.ok
85
86
87 check: sanity $(TESTS)
88 sanity:
89         @eval echo AS_FOR_TARGET = $(AS_FOR_TARGET)
90         @eval echo LD_FOR_TARGET = $(LD_FOR_TARGET)
91         @eval echo RUN_FOR_TARGET = $(RUN_FOR_TARGET)
92
93
94
95 # Rules for running all the tests, put into three types
96 # exit success, exit fail, print "Hello World"
97
98 .u.log:
99         uudecode $*.u
100         $(RUN_FOR_TARGET) $* > $*.log
101
102
103 # Rules for running the tests
104
105 .SUFFIXES: .u .ok .run .hi .ko
106 .run.ok:
107         rm -f tmp-$* $*.hi
108         ulimit -t 5 ; $(RUN_FOR_TARGET) $*.run > tmp-$*
109         mv tmp-$* $*.ok
110 .run.hi:
111         rm -f tmp-$* $*.hi diff-$*
112         ulimit -t 5 ; $(RUN_FOR_TARGET) $*.run > tmp-$*
113         echo "Hello World" | diff - tmp-$* > diff-$*
114         cat tmp-$* diff-$* > $*.hi
115 .run.ko:
116         rm -f tmp-$* $*.ko
117         set +e ; \
118         ulimit -t 5 ; $(RUN_FOR_TARGET) $*.run > tmp-$* ; \
119         if [ $$? -eq 47 ] ; then \
120           exit 0 ; \
121         else \
122           exit 1 ; \
123         fi
124         mv tmp-$* $*.ko
125
126
127 # Rules for building all the tests and packing them into
128 # uuencoded files.
129
130 uuencode: em-pstr.u em-e0.u em-e47.u em-pchr.u
131
132 .SUFFIXES: .u .s .run
133 .s.u:
134         rm -f $*.o $*.run
135         $(AS_FOR_TARGET) $(srcdir)/$*.s -o $*.o
136         $(LD_FOR_TARGET) -o $* $*.o
137         uuencode < $* $* > $*.u
138         rm -f $*.o $*
139 .s.run:
140         rm -f $*.o $*.run
141         $(AS_FOR_TARGET) $(srcdir)/$*.s -o $*.o
142         $(LD_FOR_TARGET) -o $*.run $*.o
143         rm -f $*.o $*
144
145
146 clean mostlyclean:
147         rm -f *~ core *.o a.out
148         rm -f $(TESTS)
149
150 distclean maintainer-clean realclean: clean
151         rm -f *~ core
152         rm -f Makefile config.status *-init.exp
153         rm -fr *.log summary detail *.plog *.sum *.psum site.*
154
155 Makefile : Makefile.in config.status
156         $(SHELL) config.status
157
158 config.status: configure
159         $(SHELL) config.status --recheck