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