1# Makefile for regression testing the GNU debugger. 2# Copyright (C) 1992, 1993, 1994, 1995, 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 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