# Makefile for regression testing the GNU debugger.
# Copyright (C) 1992-2019 Free Software Foundation, Inc.
# This file is part of GDB.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
VPATH = @srcdir@
srcdir = @srcdir@
srcroot = $(srcdir)/..
prefix = @prefix@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
target_alias = @target_alias@
program_transform_name = @program_transform_name@
build_canonical = @build@
host_canonical = @host@
target_canonical = @target@
target_cpu = @target_cpu@
SHELL = /bin/sh
SUBDIRS = @subdirs@
RPATH_ENVVAR = @RPATH_ENVVAR@
TESTS = \
exit47.ko \
hello.hi \
t-dbt.ok \
t-ld-st.ok \
t-mac.ok \
t-mvtac.ok \
t-mvtc.ok \
t-msbu.ok \
t-mulxu.ok \
t-rac.ok \
t-rachi.ok \
t-rdt.ok \
t-rep.ok \
t-rte.ok \
t-sac.ok \
t-sachi.ok \
t-sadd.ok \
t-slae.ok \
t-sp.ok \
t-sub2w.ok \
t-sub.ok \
t-subi.ok \
t-ae-ld-d.ok \
t-ae-ld-i.ok \
t-ae-ld-id.ok \
t-ae-ld-im.ok \
t-ae-ld-ip.ok \
t-ae-ld2w-d.ok \
t-ae-ld2w-i.ok \
t-ae-ld2w-id.ok \
t-ae-ld2w-im.ok \
t-ae-ld2w-ip.ok \
t-ae-st-d.ok \
t-ae-st-i.ok \
t-ae-st-id.ok \
t-ae-st-im.ok \
t-ae-st-ip.ok \
t-ae-st-is.ok \
t-ae-st2w-d.ok \
t-ae-st2w-i.ok \
t-ae-st2w-id.ok \
t-ae-st2w-im.ok \
t-ae-st2w-ip.ok \
t-ae-st2w-is.ok \
t-mod-ld-pre.ok \
t-rie-xx.ok \
#
AS_FOR_TARGET = `\
if [ -x ../../../gas/as-new ]; then \
echo ../../../gas/as-new ; \
else \
echo $(target_alias)-as ; \
fi`
LD_FOR_TARGET = `\
if [ -x ../../../ld/ld-new ]; then \
echo ../../../ld/ld-new ; \
else \
echo $(target_alias)-ld ; \
fi`
RUN_FOR_TARGET = `\
if [ -x ../../../sim/d10v/run ]; then \
echo ../../../sim/d10v/run ; \
else \
echo $(target_alias)-run ; \
fi`
# Force d10v into operating mode.
RUNFLAGS_FOR_TARGET=--environment operating
check: sanity $(TESTS)
sanity:
@eval echo AS_FOR_TARGET=$(AS_FOR_TARGET)
@eval echo LD_FOR_TARGET=$(LD_FOR_TARGET)
@eval echo RUN_FOR_TARGET=$(RUN_FOR_TARGET)
clean:
rm -f $(TESTS)
rm -f *.run *.o
rm -f core *.core
# Rules for running the tests
.SUFFIXES: .ok .run .hi .ko .ti
.run.ok:
rm -f tmp-$* $*.hi
ulimit -t 5 ; \
$(RUN_FOR_TARGET) $(RUNFLAGS_FOR_TARGET) $*.run > tmp-$*
mv tmp-$* $*.ok
.run.hi:
rm -f tmp-$* $*.hi diff-$*
ulimit -t 5 ; \
$(RUN_FOR_TARGET) $(RUNFLAGS_FOR_TARGET) $*.run > tmp-$*
echo 'Hello World!' | diff - tmp-$* > diff-$*
cat tmp-$* diff-$* > $*.hi
.run.ko:
rm -f tmp-$* $*.ko
set +e ; \
ulimit -t 5 ; \
$(RUN_FOR_TARGET) $(RUNFLAGS_FOR_TARGET) $*.run > tmp-$* ; \
if [ $$? -eq 47 ] ; then \
exit 0 ; \
else \
exit 1 ; \
fi
mv tmp-$* $*.ko
.run.ti:
rm -f tmp-$* $*.ti
set +e ; \
ulimit -t 5 ; \
$(RUN_FOR_TARGET) $(RUNFLAGS_FOR_TARGET) $(INTFLAGS_FOR_TARGET) $*.run > tmp-$*
test `cat tmp-$* | wc -l` -eq 10 < /dev/null
test `grep Tick tmp-$* | wc -l` -eq 10 < /dev/null
mv tmp-$* $*.ti
# Rules for building the test
# Preference is for obtaining the executable (.run) from a prebuilt image
.SUFFIXES: .uue .s .S .run
.uue.run:
head $* | grep $*.run > /dev/null
uudecode $*.uue
.run.u:
uuencode < $*.run $*.run > $*.u
.o.run:
$(LD_FOR_TARGET) $(LDFLAGS_FOR_TARGET) -o $*.run $*.o
.s.o:
$(AS_FOR_TARGET) $(ASFLAGS_FOR_TARGET) -I$(srcdir) $(srcdir)/$*.s -o $*.o
.S.o:
$(AS_FOR_TARGET) $(ASFLAGS_FOR_TARGET) -I$(srcdir) $(srcdir)/$*.S -o $*.o
Makefile: Makefile.in config.status
$(SHELL) ./config.status
config.status: configure
$(SHELL) ./config.status --recheck