blob: 3e14505580a5adad3ef33ae9b53bb25cfa62c9e1 [file] [log] [blame]
# Makefile for regression testing the GNU debugger.
# Copyright (C) 1997-2016 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 <http://www.gnu.org/licenses/>.
VPATH = @srcdir@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
build_canonical = @build@
build_alias = @build_alias@
host_canonical = @host@
host_alias = @host_alias@
target_canonical = @target@
target_alias = @target_alias@
program_transform_name = @program_transform_name@
arch = @sim_arch@
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 = `if [ -f $${srcdir}/../../dejagnu/runtest ] ; then \
echo $${srcdir}/../../dejagnu/runtest ; else echo runtest; \
fi`
RUNTESTFLAGS =
#### host, target, and site specific Makefile frags come in here.
# The use of $$(x_FOR_TARGET) reduces the command line length by not
# duplicating the lengthy definition.
TARGET_FLAGS_TO_PASS = \
"prefix=$(prefix)" \
"exec_prefix=$(exec_prefix)" \
"against=$(against)" \
'CC=$$(CC_FOR_TARGET)' \
"CC_FOR_TARGET=$(CC_FOR_TARGET)" \
"CFLAGS=$(TESTSUITE_CFLAGS)" \
"CHILLFLAGS=$(CHILLFLAGS)" \
'CHILL=$$(CHILL_FOR_TARGET)' \
"CHILL_FOR_TARGET=$(CHILL_FOR_TARGET)" \
"CHILL_LIB=$(CHILL_LIB)" \
'CXX=$$(CXX_FOR_TARGET)' \
"CXX_FOR_TARGET=$(CXX_FOR_TARGET)" \
"CXXFLAGS=$(CXXFLAGS)" \
"MAKEINFO=$(MAKEINFO)" \
"INSTALL=$(INSTALL)" \
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
"INSTALL_DATA=$(INSTALL_DATA)" \
"RUNTESTFLAGS=$(RUNTESTFLAGS)"
# "RUNTEST=$(RUNTEST)" \
all:
@echo "Nothing to be done for all..."
.NOEXPORT:
info:
install-info:
dvi:
install:
uninstall: force
installcheck:
check: check-DEJAGNU check-recursive
#test1:
check-recursive:
@for i in . ${SUBDIRS}; do \
if [ $$i = . ] ; then continue ; fi ; \
if [ -d ./$$i ] ; then \
if (rootme=`pwd`/ ; export rootme ; \
rootsrc=`cd $(srcdir); pwd`/ ; export rootsrc ; \
echo "check recursively into $$i directory..."; \
cd ./$$i; \
$(MAKE) $(TARGET_FLAGS_TO_PASS) check) ; then true ; \
else exit 1 ; fi ; \
else true ; fi ; \
done
#test2:
check-DEJAGNU: site.exp
echo "Dejagnu-checking in `pwd` directory ..."
rootme=`pwd`; export rootme; echo rootme = $$rootme; \
srcdir=`cd ${srcdir}; pwd`; export srcdir ; echo srcdir = $$srcdir; \
EXPECT=${EXPECT} ; export EXPECT ; echo EXPECT = $$EXPECT; \
if [ -f $$rootme/../../expect/expect ]; then \
TCL_LIBRARY=`cd $$srcdir/../../tcl/library && pwd`; \
export TCL_LIBRARY; \
fi; \
echo TCL_LIBRARY = $$TCL_LIBRARY; \
runtest=$(RUNTEST); echo runtest = $$runtest; \
if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
$$runtest $(RUNTESTFLAGS); \
else echo "WARNING: could not find \`runtest'" 1>&2; :;\
fi
site.exp: Makefile
@echo 'Making a new site.exp file...'
-@rm -f site.bak
@echo '## these variables are automatically generated by make ##' > $@-t
@echo '# Do not edit here. If you wish to override these values' >> $@-t
@echo '# edit the last section' >> $@-t
@echo 'set tool sim' >> $@-t
@echo 'set srcdir $(srcdir)' >> $@-t
@echo 'set objdir' `pwd` >> $@-t
@echo 'set arch $(arch)' >> $@-t
@echo 'set build_alias $(build_alias)' >> $@-t
@echo 'set build_triplet $(build_canonical)' >> $@-t
@echo 'set host_alias $(host_alias)' >> $@-t
@echo 'set host_triplet $(host_canonical)' >> $@-t
@echo 'set target_alias $(target_alias)' >> $@-t
@echo 'set target_triplet $(target_canonical)' >> $@-t
@echo '## All variables above are generated by configure. Do Not Edit ##' >> $@-t
-@sed '1,/^## All variables above are.*##/ d' site.exp >> $@-t
-@mv site.exp site.bak
@mv $@-t site.exp
force:;
clean mostlyclean:
-rm -f *~ core *.o a.out xgdb *.x *.grt
-rm -f *.rum *.c *.dif *.*out
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: $(srcdir)/configure
$(SHELL) ./config.status --recheck
# FIXME: Requires --enable-maintainer-mode, which one could add, but
# it's provided by automake. Maybe switch to automake someday.
#$(srcdir)/configure: @MAINT@ $(srcdir)/configure.in
# cd $(srcdir) && autoconf