binutils/
[external/binutils.git] / sim / testsuite / frv-elf / Makefile.in
1 # Makefile for regression testing the frv simulator.
2 # Copyright (C) 1998, 2007, 2008, 2009, 2010, 2011
3 # Free Software Foundation, Inc.
4
5 # This file is part of GDB.
6
7 # This program is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 3 of the License, or
10 # (at your option) any later version.
11 #
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
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