# Makefile for regression testing the GNU debugger. # Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc. # This file is part of GDB. # GDB 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 2, or (at your option) # any later version. # GDB 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, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 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@ EXPECT = `if [ -f $${rootme}/../../expect/expect ] ; then \ echo $${rootme}/../../expect/expect ; \ else echo expect ; fi` RUNTEST = $(RUNTEST_FOR_TARGET) RUNTESTFLAGS = RUNTEST_FOR_TARGET = `\ if [ -f $${srcdir}/../../../dejagnu/runtest ]; then \ echo $${srcdir}/../../../dejagnu/runtest; \ else \ if [ "$(host_canonical)" = "$(target_canonical)" ]; then \ echo runtest; \ else \ t='$(program_transform_name)'; echo runtest | sed -e '' $$t; \ fi; \ fi` 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/${target_cpu}/run ]; then \ echo ../../../sim/${target_cpu}/run ; \ else \ echo $(target_alias)-run ; \ fi` TESTS = \ em-e0.ok \ em-e47.ko \ em-pstr.hi \ em-pchr.hi \ \ ls-ld2h.ko \ ls-ld2w.ko \ ls-ld4bh.ko \ ls-ld4bhu.ko \ ls-ldb.ko \ ls-ldbu.ko \ ls-ldh.ko \ ls-ldhh.ko \ ls-ldhu.ko \ ls-ldw.ko \ ls-moddec.ko \ ls-modinc.ko \ ls-modaddr.ok \ ls-st2h.hi \ ls-st2w.hi \ ls-st4hb.hi \ ls-stb.hi \ ls-sth.hi \ ls-sthh.hi \ ls-stw.hi \ \ br-bra.ok \ br-bratnz.ok \ br-bratzr.ok \ br-bsr.ok \ br-dbra.ko \ br-djmp.ko \ br-djsr.ok \ \ os-dbt.ok \ do-flags.ok \ do-shifts.ok \ do-2wordops.ok \ \ trap.ok 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) # Rules for running all the tests, put into three types # exit success, exit fail, print "Hello World" .u.log: uudecode $*.u $(RUN_FOR_TARGET) $* > $*.log # Rules for running the tests .SUFFIXES: .u .ok .run .hi .ko .run.ok: rm -f tmp-$* $*.hi ulimit -t 5 ; $(RUN_FOR_TARGET) $*.run > tmp-$* mv tmp-$* $*.ok .run.hi: rm -f tmp-$* $*.hi diff-$* ulimit -t 5 ; $(RUN_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) $*.run > tmp-$* ; \ if [ $$? -eq 47 ] ; then \ exit 0 ; \ else \ exit 1 ; \ fi mv tmp-$* $*.ko # Rules for building all the tests and packing them into # uuencoded files. uuencode: em-pstr.u em-e0.u em-e47.u em-pchr.u .SUFFIXES: .u .S .run .S.u: rm -f $*.o $*.run $(AS_FOR_TARGET) $(srcdir)/$*.S -o $*.o $(LD_FOR_TARGET) -o $* $*.o uuencode < $* $* > $*.u rm -f $*.o $* .S.run: rm -f $*.o $*.run $(AS_FOR_TARGET) $(srcdir)/$*.S -o $*.o $(LD_FOR_TARGET) -o $*.run $*.o rm -f $*.o $* # # Standard # clean mostlyclean: -rm -f *~ core *.o a.out *.x *.grt rm -f $(TESTS) # if [ x"${SUBDIRS}" != x ] ; then \ # for dir in ${SUBDIRS}; \ # do \ # echo "$$dir:"; \ # if [ -d $$dir ]; then \ # (cd $$dir; $(MAKE) clean); \ # fi; \ # done ; \ # else true; fi distclean maintainer-clean realclean: clean -rm -f *~ core -rm -f Makefile config.status *-init.exp -rm -fr *.log summary detail *.plog *.sum *.psum site.* # if [ x"${SUBDIRS}" != x ] ; then \ # for dir in ${SUBDIRS}; \ # do \ # echo "$$dir:"; \ # if [ -d $$dir ]; then \ # (cd $$dir; $(MAKE) distclean); \ # fi; \ # done ; \ # else true; fi Makefile : Makefile.in config.status $(SHELL) config.status config.status: configure $(SHELL) config.status --recheck