# Makefile for regression testing the GNU debugger. # Copyright (C) 1992-2015 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 . 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 = 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