+# Makefile for regression testing the GNU debugger.
+# Copyright (C) 1992, 1993, 1994, 1995 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.
+
srcdir = .
prefix = /usr/local
+program_transform_name =
exec_prefix = $(prefix)
bindir = $(exec_prefix)/bin
INSTALL_PROGRAM = $(INSTALL)
INSTALL_DATA = $(INSTALL)
-CFLAGS = -g
-CHILLFLAGS = $(CFLAGS)
-CHILL_LIB = -lchill
-CXXFLAGS = -g
+# Do not use CFLAGS, that is set in the top-level config/mh-hp300 to not
+# contain -g. In general, the flags to be used for building the tools and
+# the flags to be used to build the testsuite probably don't have much to
+# do with each other.
+TESTSUITE_CFLAGS = -g
+CHILLFLAGS = $(TESTSUITE_CFLAGS)
+# This should probably be consistent with the top-level Makefile.in,
+# gdb/Makefile.in, and gdb/testsuite/gdb.t2*/Makefile.in, so that "make check"
+# has the same effect no matter where it is run.
+CXXFLAGS = -g -O
LINK= ln -s
SUBDIRS=
-RUNTEST = runtest
-RUNTESTFLAGS =
-CC = ` \
- if [ -f $${rootme}/../../gcc/Makefile ] ; then \
- echo $${rootme}/../../gcc/xgcc -B$${rootme}../../gcc/; \
+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`
+
+CC_FOR_TARGET = ` \
+ if [ -f $${rootme}/../../gcc/xgcc ] ; then \
+ if [ -f $${rootme}/../../newlib/Makefile ]; then \
+ echo $${rootme}/../../gcc/xgcc -B$${rootme}/../../gcc/ -idirafter $${rootme}/../../newlib/targ-include -idirafter $${rootsrc}/../../newlib/libc/include -nostdinc -L$${rootme}/../../newlib -B$${rootme}/../../newlib/; \
+ else \
+ echo $${rootme}/../../gcc/xgcc -B$${rootme}/../../gcc/; \
+ fi; \
else \
if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
- echo cc; \
+ echo $(CC); \
else \
t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \
fi; \
fi`
-CHILL = ` \
- if [ -f $${rootme}/../../gcc/Makefile ] ; then \
- echo $${rootme}/../../gcc/xgcc -B$${rootme}../../gcc/ -L$${rootme}../../chillrt/; \
+CXX = gcc
+CXX_FOR_TARGET = ` \
+ if [ -f $${rootme}/../../gcc/xgcc ] ; then \
+ if [ -f $${rootme}/../../newlib/Makefile ]; then \
+ echo $${rootme}/../../gcc/xgcc -B$${rootme}/../../gcc/ -idirafter $${rootme}/../../newlib/targ-include -idirafter $${rootsrc}/../../newlib/libc/include -nostdinc -L$${rootme}/../../newlib -B$${rootme}/../../newlib/; \
+ else \
+ echo $${rootme}/../../gcc/xgcc -B$${rootme}/../../gcc/; \
+ fi; \
else \
if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
- echo gcc; \
+ echo $(CXX); \
else \
t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \
fi; \
fi`
-CXX = ` \
- if [ -f $${rootme}/../../gcc/Makefile ] ; then \
+CHILLFLAGS = $(TESTSUITE_CFLAGS)
+CHILL = gcc
+CHILL_FOR_TARGET = ` \
+ if [ -f $${rootme}/../../gcc/xgcc ] ; then \
echo $${rootme}/../../gcc/xgcc -B$${rootme}../../gcc/; \
else \
if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
- echo gcc; \
+ echo $(CHILL); \
else \
t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \
fi; \
fi`
-GDB = ` \
- if [ -f $${rootme}/../gdb ] ; \
- then echo $${rootme}|sed -e 's@/[^/]*$$@@'|sed -e 's@$$@/gdb@' ; \
- else echo gdb; \
+CHILL_LIB = ` \
+ if [ -f $${rootme}/../../gcc/ch/runtime/libchill.a ] ; then \
+ echo $${rootme}/../../gcc/ch/runtime/chillrt0.o \
+ $${rootme}/../../gcc/ch/runtime/libchill.a; \
+ else \
+ echo -lchill; \
fi`
-GDBFLAGS = -nx
-
-EXPECT = `if [ -f $${rootme}/../../expect/expect ] ; \
- then echo $${rootme}/../../expect/expect ; \
- else echo expect; fi`
-
#### host, target, and site specific Makefile frags come in here.
-FLAGS_TO_PASS = \
- "CXX=$(CXX)" \
- "CXXFLAGS=$(CXXFLAGS)" \
- "CC=$(CC)" \
- "CFLAGS=$(CFLAGS)" \
- "CHILLFLAGS=$(CHILLFLAGS)" \
- "CHILL=$(CHILL)" \
- "CHILL_LIB=$(CHILL_LIB)" \
- "INSTALL=$(INSTALL)" \
- "INSTALL_DATA=$(INSTALL_DATA)" \
- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
- "LDFLAGS=$(LDFLAGS)" \
- "LINK=$(LINK)" \
- "LOADLIBES=$(LOADLIBES)" \
- "MAKEINFO=$(MAKEINFO)" \
- "exec_prefix=$(exec_prefix)" \
- "prefix=$(prefix)"
+# 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)" \
+ "LDFLAGS=$(LDFLAGS)" \
+ "LIBS=$(LIBS)" \
+ "RUNTEST=$(RUNTEST)" \
+ "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
+ "BISON=$(BISON)"
all: subdirs
@echo "## these variables are automatically generated by make ##" > ./tmp0
@echo "# Do not edit here. If you wish to override these values" >> ./tmp0
@echo "# add them to the last section" >> ./tmp0
- @echo "set GDBFLAGS \"${GDBFLAGS}\"" >> ./tmp0
- @echo "set host_os ${host_os}" >> ./tmp0
- @echo "set host_alias ${host_alias}" >> ./tmp0
- @echo "set host_cpu ${host_cpu}" >> ./tmp0
- @echo "set host_vendor ${host_vendor}" >> ./tmp0
- @echo "set target_os ${target_os}" >> ./tmp0
- @echo "set target_alias ${target_alias}" >> ./tmp0
- @echo "set target_cpu ${target_cpu}" >> ./tmp0
- @echo "set target_vendor ${target_vendor}" >> ./tmp0
+ @echo "set host_alias $(host_alias)" >> ./tmp0
@echo "set host_triplet ${host_canonical}" >> ./tmp0
+ @echo "set target_alias $(target_alias)" >> ./tmp0
@echo "set target_triplet ${target_canonical}" >> ./tmp0
@echo "set srcdir ${srcdir}" >> ./tmp0
- @echo "set objdir `pwd`" >> ./tmp0
@echo "set tool gdb" >> ./tmp0
@echo "## All variables above are generated by configure. Do Not Edit ##" >> ./tmp0
@cat ./tmp0 > site.exp
-@rm -f ./tmp?
installcheck:
+
check: site.exp all just-check
+
just-check:
rootme=`pwd`; export rootme; \
- $(RUNTEST) $(RUNTESTFLAGS) --tool gdb GDB=$(GDB) --srcdir $(srcdir)
+ srcdir=${srcdir} ; export srcdir ; \
+ EXPECT=${EXPECT} ; export EXPECT ; \
+ if [ -f $${rootme}/../../expect/expect ] ; then \
+ TCL_LIBRARY=$${srcdir}/../../tcl/library ; \
+ export TCL_LIBRARY ; fi ; \
+ $(RUNTEST) $(RUNTESTFLAGS)
subdir_do: force
@for i in $(DODIRS); do \
if (rootme=`pwd`/ ; export rootme ; \
rootsrc=`cd $(srcdir); pwd`/ ; export rootsrc ; \
cd ./$$i; \
- $(MAKE) $(FLAGS_TO_PASS) $(DO)) ; then true ; \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) $(DO)) ; then true ; \
else exit 1 ; fi ; \
else true ; fi ; \
done
if [ -d $$dir ]; then \
(rootme=`pwd`/ ; export rootme ; \
rootsrc=`cd $(srcdir); pwd`/ ; export rootsrc ; \
- cd $$dir; $(MAKE) $(FLAGS_TO_PASS)); \
+ cd $$dir; $(MAKE) $(TARGET_FLAGS_TO_PASS)); \
fi; \
done
clean mostlyclean:
-rm -f *~ core *.o a.out xgdb *.x
- for dir in ${SUBDIRS}; \
- do \
- echo "$$dir:"; \
- if [ -d $$dir ]; then \
- (cd $$dir; $(MAKE) clean); \
- fi; \
- done
+ 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 realclean: clean
- -rm -f *~ core
+ -rm -f *~ core *.log *.plog *.sum *.psum site.*
-rm -f Makefile config.status *-init.exp
-rm -fr *.log summary detail *.plog *.sum *.psum site.*
- for dir in ${SUBDIRS}; \
- do \
- echo "$$dir:"; \
- (cd $$dir; $(MAKE) distclean); \
- done
+ 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 : $(srcdir)/Makefile.in $(srcdir)/configure.in $(host_makefile_frag) $(target_makefile_frag)
$(SHELL) ./config.status