# Makefile for regression testing the GNU debugger.
|
# Makefile for regression testing the GNU debugger.
|
# Copyright (C) 1997, 1998, 2007, 2008, 2009, 2010
|
# Copyright (C) 1997, 1998, 2007, 2008, 2009, 2010
|
# Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
|
|
# This file is part of GDB.
|
# This file is part of GDB.
|
|
|
# This program is free software; you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
# the Free Software Foundation; either version 3 of the License, or
|
# the Free Software Foundation; either version 3 of the License, or
|
# (at your option) any later version.
|
# (at your option) any later version.
|
#
|
#
|
# This program is distributed in the hope that it will be useful,
|
# This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
#
|
#
|
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
# along with this program. If not, see .
|
# along with this program. If not, see .
|
|
|
VPATH = @srcdir@
|
VPATH = @srcdir@
|
srcdir = @srcdir@
|
srcdir = @srcdir@
|
prefix = @prefix@
|
prefix = @prefix@
|
exec_prefix = @exec_prefix@
|
exec_prefix = @exec_prefix@
|
|
|
build_canonical = @build@
|
build_canonical = @build@
|
build_alias = @build_alias@
|
build_alias = @build_alias@
|
host_canonical = @host@
|
host_canonical = @host@
|
host_alias = @host_alias@
|
host_alias = @host_alias@
|
target_canonical = @target@
|
target_canonical = @target@
|
target_alias = @target_alias@
|
target_alias = @target_alias@
|
program_transform_name = @program_transform_name@
|
program_transform_name = @program_transform_name@
|
|
|
arch = @arch@
|
arch = @arch@
|
|
|
SHELL = /bin/sh
|
SHELL = /bin/sh
|
SUBDIRS = @subdirs@
|
SUBDIRS = @subdirs@
|
RPATH_ENVVAR = @RPATH_ENVVAR@
|
RPATH_ENVVAR = @RPATH_ENVVAR@
|
|
|
EXPECT = `if [ -f $${rootme}/../../expect/expect ] ; then \
|
EXPECT = `if [ -f $${rootme}/../../expect/expect ] ; then \
|
echo $${rootme}/../../expect/expect ; \
|
echo $${rootme}/../../expect/expect ; \
|
else echo expect ; fi`
|
else echo expect ; fi`
|
|
|
RUNTEST = `if [ -f $${srcdir}/../../dejagnu/runtest ] ; then \
|
RUNTEST = `if [ -f $${srcdir}/../../dejagnu/runtest ] ; then \
|
echo $${srcdir}/../../dejagnu/runtest ; else echo runtest; \
|
echo $${srcdir}/../../dejagnu/runtest ; else echo runtest; \
|
fi`
|
fi`
|
|
|
RUNTESTFLAGS =
|
RUNTESTFLAGS =
|
|
|
#### host, target, and site specific Makefile frags come in here.
|
#### host, target, and site specific Makefile frags come in here.
|
|
|
# The use of $$(x_FOR_TARGET) reduces the command line length by not
|
# The use of $$(x_FOR_TARGET) reduces the command line length by not
|
# duplicating the lengthy definition.
|
# duplicating the lengthy definition.
|
|
|
TARGET_FLAGS_TO_PASS = \
|
TARGET_FLAGS_TO_PASS = \
|
"prefix=$(prefix)" \
|
"prefix=$(prefix)" \
|
"exec_prefix=$(exec_prefix)" \
|
"exec_prefix=$(exec_prefix)" \
|
"against=$(against)" \
|
"against=$(against)" \
|
'CC=$$(CC_FOR_TARGET)' \
|
'CC=$$(CC_FOR_TARGET)' \
|
"CC_FOR_TARGET=$(CC_FOR_TARGET)" \
|
"CC_FOR_TARGET=$(CC_FOR_TARGET)" \
|
"CFLAGS=$(TESTSUITE_CFLAGS)" \
|
"CFLAGS=$(TESTSUITE_CFLAGS)" \
|
"CHILLFLAGS=$(CHILLFLAGS)" \
|
"CHILLFLAGS=$(CHILLFLAGS)" \
|
'CHILL=$$(CHILL_FOR_TARGET)' \
|
'CHILL=$$(CHILL_FOR_TARGET)' \
|
"CHILL_FOR_TARGET=$(CHILL_FOR_TARGET)" \
|
"CHILL_FOR_TARGET=$(CHILL_FOR_TARGET)" \
|
"CHILL_LIB=$(CHILL_LIB)" \
|
"CHILL_LIB=$(CHILL_LIB)" \
|
'CXX=$$(CXX_FOR_TARGET)' \
|
'CXX=$$(CXX_FOR_TARGET)' \
|
"CXX_FOR_TARGET=$(CXX_FOR_TARGET)" \
|
"CXX_FOR_TARGET=$(CXX_FOR_TARGET)" \
|
"CXXFLAGS=$(CXXFLAGS)" \
|
"CXXFLAGS=$(CXXFLAGS)" \
|
"MAKEINFO=$(MAKEINFO)" \
|
"MAKEINFO=$(MAKEINFO)" \
|
"INSTALL=$(INSTALL)" \
|
"INSTALL=$(INSTALL)" \
|
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
|
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
|
"INSTALL_DATA=$(INSTALL_DATA)" \
|
"INSTALL_DATA=$(INSTALL_DATA)" \
|
"RUNTESTFLAGS=$(RUNTESTFLAGS)"
|
"RUNTESTFLAGS=$(RUNTESTFLAGS)"
|
|
|
# "RUNTEST=$(RUNTEST)" \
|
# "RUNTEST=$(RUNTEST)" \
|
|
|
all:
|
all:
|
@echo "Nothing to be done for all..."
|
@echo "Nothing to be done for all..."
|
|
|
.NOEXPORT:
|
.NOEXPORT:
|
info:
|
info:
|
install-info:
|
install-info:
|
dvi:
|
dvi:
|
|
|
install:
|
install:
|
|
|
uninstall: force
|
uninstall: force
|
|
|
installcheck:
|
installcheck:
|
|
|
check: check-DEJAGNU check-recursive
|
check: check-DEJAGNU check-recursive
|
|
|
#test1:
|
#test1:
|
check-recursive:
|
check-recursive:
|
@for i in . ${SUBDIRS}; do \
|
@for i in . ${SUBDIRS}; do \
|
if [ $$i = . ] ; then continue ; fi ; \
|
if [ $$i = . ] ; then continue ; fi ; \
|
if [ -d ./$$i ] ; then \
|
if [ -d ./$$i ] ; then \
|
if (rootme=`pwd`/ ; export rootme ; \
|
if (rootme=`pwd`/ ; export rootme ; \
|
rootsrc=`cd $(srcdir); pwd`/ ; export rootsrc ; \
|
rootsrc=`cd $(srcdir); pwd`/ ; export rootsrc ; \
|
echo "check recursively into $$i directory..."; \
|
echo "check recursively into $$i directory..."; \
|
cd ./$$i; \
|
cd ./$$i; \
|
$(MAKE) $(TARGET_FLAGS_TO_PASS) check) ; then true ; \
|
$(MAKE) $(TARGET_FLAGS_TO_PASS) check) ; then true ; \
|
else exit 1 ; fi ; \
|
else exit 1 ; fi ; \
|
else true ; fi ; \
|
else true ; fi ; \
|
done
|
done
|
|
|
#test2:
|
#test2:
|
check-DEJAGNU: site.exp
|
check-DEJAGNU: site.exp
|
echo "Dejagnu-checking in `pwd` directory ..."
|
echo "Dejagnu-checking in `pwd` directory ..."
|
rootme=`pwd`; export rootme; echo rootme = $$rootme; \
|
rootme=`pwd`; export rootme; echo rootme = $$rootme; \
|
srcdir=`cd ${srcdir}; pwd`; export srcdir ; echo srcdir = $$srcdir; \
|
srcdir=`cd ${srcdir}; pwd`; export srcdir ; echo srcdir = $$srcdir; \
|
EXPECT=${EXPECT} ; export EXPECT ; echo EXPECT = $$EXPECT; \
|
EXPECT=${EXPECT} ; export EXPECT ; echo EXPECT = $$EXPECT; \
|
if [ -f $$rootme/../../expect/expect ]; then \
|
if [ -f $$rootme/../../expect/expect ]; then \
|
TCL_LIBRARY=`cd $$srcdir/../../tcl/library && pwd`; \
|
TCL_LIBRARY=`cd $$srcdir/../../tcl/library && pwd`; \
|
export TCL_LIBRARY; \
|
export TCL_LIBRARY; \
|
fi; \
|
fi; \
|
echo TCL_LIBRARY = $$TCL_LIBRARY; \
|
echo TCL_LIBRARY = $$TCL_LIBRARY; \
|
runtest=$(RUNTEST); echo runtest = $$runtest; \
|
runtest=$(RUNTEST); echo runtest = $$runtest; \
|
if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
|
if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
|
$$runtest $(RUNTESTFLAGS); \
|
$$runtest $(RUNTESTFLAGS); \
|
else echo "WARNING: could not find \`runtest'" 1>&2; :;\
|
else echo "WARNING: could not find \`runtest'" 1>&2; :;\
|
fi
|
fi
|
|
|
|
|
site.exp: Makefile
|
site.exp: Makefile
|
@echo 'Making a new site.exp file...'
|
@echo 'Making a new site.exp file...'
|
-@rm -f site.bak
|
-@rm -f site.bak
|
@echo '## these variables are automatically generated by make ##' > $@-t
|
@echo '## these variables are automatically generated by make ##' > $@-t
|
@echo '# Do not edit here. If you wish to override these values' >> $@-t
|
@echo '# Do not edit here. If you wish to override these values' >> $@-t
|
@echo '# edit the last section' >> $@-t
|
@echo '# edit the last section' >> $@-t
|
@echo 'set tool sim' >> $@-t
|
@echo 'set tool sim' >> $@-t
|
@echo 'set srcdir $(srcdir)' >> $@-t
|
@echo 'set srcdir $(srcdir)' >> $@-t
|
@echo 'set objdir' `pwd` >> $@-t
|
@echo 'set objdir' `pwd` >> $@-t
|
@echo 'set arch $(arch)' >> $@-t
|
@echo 'set arch $(arch)' >> $@-t
|
@echo 'set build_alias $(build_alias)' >> $@-t
|
@echo 'set build_alias $(build_alias)' >> $@-t
|
@echo 'set build_triplet $(build_canonical)' >> $@-t
|
@echo 'set build_triplet $(build_canonical)' >> $@-t
|
@echo 'set host_alias $(host_alias)' >> $@-t
|
@echo 'set host_alias $(host_alias)' >> $@-t
|
@echo 'set host_triplet $(host_canonical)' >> $@-t
|
@echo 'set host_triplet $(host_canonical)' >> $@-t
|
@echo 'set target_alias $(target_alias)' >> $@-t
|
@echo 'set target_alias $(target_alias)' >> $@-t
|
@echo 'set target_triplet $(target_canonical)' >> $@-t
|
@echo 'set target_triplet $(target_canonical)' >> $@-t
|
@echo '## All variables above are generated by configure. Do Not Edit ##' >> $@-t
|
@echo '## All variables above are generated by configure. Do Not Edit ##' >> $@-t
|
-@sed '1,/^## All variables above are.*##/ d' site.exp >> $@-t
|
-@sed '1,/^## All variables above are.*##/ d' site.exp >> $@-t
|
-@mv site.exp site.bak
|
-@mv site.exp site.bak
|
@mv $@-t site.exp
|
@mv $@-t site.exp
|
|
|
force:;
|
force:;
|
|
|
clean mostlyclean:
|
clean mostlyclean:
|
-rm -f *~ core *.o a.out xgdb *.x *.grt
|
-rm -f *~ core *.o a.out xgdb *.x *.grt
|
-rm -f *.rum *.c *.dif *.*out
|
-rm -f *.rum *.c *.dif *.*out
|
if [ x"${SUBDIRS}" != x ] ; then \
|
if [ x"${SUBDIRS}" != x ] ; then \
|
for dir in ${SUBDIRS}; \
|
for dir in ${SUBDIRS}; \
|
do \
|
do \
|
echo "$$dir:"; \
|
echo "$$dir:"; \
|
if [ -d $$dir ]; then \
|
if [ -d $$dir ]; then \
|
(cd $$dir; $(MAKE) clean); \
|
(cd $$dir; $(MAKE) clean); \
|
fi; \
|
fi; \
|
done ; \
|
done ; \
|
else true; fi
|
else true; fi
|
|
|
distclean maintainer-clean realclean: clean
|
distclean maintainer-clean realclean: clean
|
-rm -f *~ core
|
-rm -f *~ core
|
-rm -f Makefile config.status *-init.exp
|
-rm -f Makefile config.status *-init.exp
|
-rm -fr *.log summary detail *.plog *.sum *.psum site.*
|
-rm -fr *.log summary detail *.plog *.sum *.psum site.*
|
if [ x"${SUBDIRS}" != x ] ; then \
|
if [ x"${SUBDIRS}" != x ] ; then \
|
for dir in ${SUBDIRS}; \
|
for dir in ${SUBDIRS}; \
|
do \
|
do \
|
echo "$$dir:"; \
|
echo "$$dir:"; \
|
if [ -d $$dir ]; then \
|
if [ -d $$dir ]; then \
|
(cd $$dir; $(MAKE) distclean); \
|
(cd $$dir; $(MAKE) distclean); \
|
fi; \
|
fi; \
|
done ; \
|
done ; \
|
else true; fi
|
else true; fi
|
|
|
Makefile : Makefile.in config.status
|
Makefile : Makefile.in config.status
|
$(SHELL) config.status
|
$(SHELL) config.status
|
|
|
config.status: $(srcdir)/configure
|
config.status: $(srcdir)/configure
|
$(SHELL) ./config.status --recheck
|
$(SHELL) ./config.status --recheck
|
# FIXME: Requires --enable-maintainer-mode, which one could add, but
|
# FIXME: Requires --enable-maintainer-mode, which one could add, but
|
# it's provided by automake. Maybe switch to automake someday.
|
# it's provided by automake. Maybe switch to automake someday.
|
#$(srcdir)/configure: @MAINT@ $(srcdir)/configure.in
|
#$(srcdir)/configure: @MAINT@ $(srcdir)/configure.in
|
# cd $(srcdir) && autoconf
|
# cd $(srcdir) && autoconf
|
|
|