# Makefile for regression testing the frv simulator. # Copyright (C) 1998, 2007, 2008, 2009 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 = @SHELL@ SUBDIRS = @subdirs@ RPATH_ENVVAR = @RPATH_ENVVAR@ EXPECT = `if [ -f ../../../expect/expect ] ; then \ echo ../../../expect/expect ; \ else echo expect ; fi` RUNTEST = $(RUNTEST_FOR_TARGET) RUNTESTFLAGS = RUNTEST_FOR_TARGET = `\ if [ -f $${srcroot}/dejagnu/runtest ]; then \ echo $${srcroot}/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 = \ exit47.ko \ grloop.ok \ hello.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 $* clean mostlyclean: rm -f *~ core *.o a.out rm -f $(TESTS) distclean maintainer-clean realclean: clean rm -f *~ core rm -f Makefile config.status *-init.exp rm -fr *.log summary detail *.plog *.sum *.psum site.* Makefile : Makefile.in config.status $(SHELL) config.status config.status: configure $(SHELL) config.status --recheck