| # Makefile for regression testing the m32r simulator. |
| # Copyright (C) 1998, 2007 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 = @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 = \ |
| hello.ok \ |
| exit47.ko |
| |
| 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 |