# 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/mips/run ]; then \ echo ../../../sim/mips/run ; \ else \ echo $(target_alias)-run ; \ fi` TESTS = \ hello.hi \ exit47.ko \ \ f-abs.ok \ f-add.ok \ f-adda.ok \ $(f-bc1f.ok) \ $(f-bc1fl.ok) \ $(f-bc1t.ok) \ $(f-bc1tl.ok) \ f-cond.ok \ $(f-cfc1.ok) \ $(f-ctc1.ok) \ f-cvt.ok \ f-div.ok \ $(f-lwc1.ok) \ f-madd.ok \ f-madda.ok \ f-max.ok \ $(f-mfc1.ok) \ f-min.ok \ f-msub.ok \ f-msuba.ok \ $(f-mtc1.ok) \ f-mul.ok \ f-mula.ok \ f-neg.ok \ f-rsqrt.ok \ f-sqrt.ok \ f-sub.ok \ f-suba.ok \ $(f-swc1.ok) \ \ t-dadd.ok \ t-ddiv.ok \ t-div.ok \ t-div1.ok \ t-divu.ok \ t-divu1.ok \ t-sub.ok \ \ t-mtsa.ok \ t-pabsh.ok \ t-pabsw.ok \ t-paddb.ok \ t-paddsb.ok \ t-paddsh.ok \ t-paddsw.ok \ t-paddub.ok \ t-padduh.ok \ t-padduw.ok \ t-pcpyh.ok \ t-pdivbw.ok \ t-pdivuw.ok \ t-pdivw.ok \ t-pexcw.ok \ t-pexoh.ok \ t-pext5.ok \ t-pextlb.ok \ t-pextlh.ok \ t-pextlw.ok \ t-pextub.ok \ t-pextuh.ok \ t-pextuw.ok \ t-phmaddh.ok \ t-phmsubh.ok \ t-pinth.ok \ t-pintoh.ok \ t-pmaddh.ok \ t-pmadduw.ok \ t-pmaddw.ok \ t-pmfhl-lh.ok \ t-pmfhl-lw.ok \ t-pmfhl-sh.ok \ t-pmfhl-slw.ok \ t-pmfhl-uw.ok \ t-pmsubh.ok \ t-pmthl-lw.ok \ t-pmulth.ok \ t-pmultuw.ok \ t-pmultw.ok \ t-ppac5.ok \ t-ppacb.ok \ t-ppach.ok \ t-ppacw.ok \ t-prot3w.ok \ t-psllvw.ok \ t-psrlvw.ok \ t-psravw.ok \ t-psubsb.ok \ t-psubsh.ok \ t-psubsw.ok \ t-psubub.ok \ t-psubuh.ok \ t-psubuw.ok \ t-psubw.ok \ t-qfsrv.ok \ t-sdl.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 .uue .ok .ok .run .hi .ko .ko .run.ok: rm -f tmp-$* $*.ok 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. .run.u: uuencode < $*.run $*.run > $*.u @echo "Move $*.u $*.uue" .uue.run: uudecode $(srcdir)/$*.uue .o.run: $(LD_FOR_TARGET) -Ttext 0xa0020000 -o $*.run $*.o .s.o: $(AS_FOR_TARGET) -I $(srcdir) $(srcdir)/$*.s -o $*.o # # Standard # clean mostlyclean: -rm -f *~ core *.o a.out *.x *.grt *.run tmp-* diff-* 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