1 # Makefile for regression testing the GNU debugger.
2 # Copyright (C) 1992, 1993, 1994, 1995, 1999 Free Software Foundation, Inc.
4 # This file is part of GDB.
6 # GDB is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2, or (at your option)
11 # GDB is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23 exec_prefix = @exec_prefix@
25 host_alias = @host_alias@
26 target_alias = @target_alias@
27 program_transform_name = @program_transform_name@
28 build_canonical = @build@
29 host_canonical = @host@
30 target_canonical = @target@
31 target_cpu = @gdb_target_cpu@
35 RPATH_ENVVAR = @RPATH_ENVVAR@
37 EXPECT = `if [ -f $${rootme}/../../expect/expect ] ; then \
38 echo $${rootme}/../../expect/expect ; \
39 else echo expect ; fi`
41 RUNTEST = $(RUNTEST_FOR_TARGET)
45 RUNTEST_FOR_TARGET = `\
46 if [ -f $${srcdir}/../../dejagnu/runtest ]; then \
47 echo $${srcdir}/../../dejagnu/runtest; \
49 if [ "$(host_canonical)" = "$(target_canonical)" ]; then \
52 t='$(program_transform_name)'; echo runtest | sed -e '' $$t; \
56 #### host, target, and site specific Makefile frags come in here.
58 # The use of $$(x_FOR_TARGET) reduces the command line length by not
59 # duplicating the lengthy definition.
61 TARGET_FLAGS_TO_PASS = \
63 "exec_prefix=$(exec_prefix)" \
64 "against=$(against)" \
65 'CC=$$(CC_FOR_TARGET)' \
66 "CC_FOR_TARGET=$(CC_FOR_TARGET)" \
67 "CFLAGS=$(TESTSUITE_CFLAGS)" \
68 "CHILLFLAGS=$(CHILLFLAGS)" \
69 'CHILL=$$(CHILL_FOR_TARGET)' \
70 "CHILL_FOR_TARGET=$(CHILL_FOR_TARGET)" \
71 "CHILL_LIB=$(CHILL_LIB)" \
72 'CXX=$$(CXX_FOR_TARGET)' \
73 "CXX_FOR_TARGET=$(CXX_FOR_TARGET)" \
74 "CXXFLAGS=$(CXXFLAGS)" \
75 "MAKEINFO=$(MAKEINFO)" \
76 "INSTALL=$(INSTALL)" \
77 "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
78 "INSTALL_DATA=$(INSTALL_DATA)" \
79 "LDFLAGS=$(LDFLAGS)" \
81 "RUNTEST=$(RUNTEST)" \
82 "RUNTESTFLAGS=$(RUNTESTFLAGS)"
85 @echo "Nothing to be done for all..."
97 site.exp: ./config.status Makefile
98 @echo "Making a new config file..."
101 -@mv site.exp site.bak
102 @echo "## these variables are automatically generated by make ##" > ./tmp0
103 @echo "# Do not edit here. If you wish to override these values" >> ./tmp0
104 @echo "# add them to the last section" >> ./tmp0
105 @echo "set host_alias $(host_alias)" >> ./tmp0
106 @echo "set host_triplet ${host_canonical}" >> ./tmp0
107 @echo "set target_alias $(target_alias)" >> ./tmp0
108 @echo "set target_triplet ${target_canonical}" >> ./tmp0
109 @echo "set build_triplet ${build_canonical}" >> ./tmp0
110 @echo "set srcdir ${srcdir}" >> ./tmp0
111 @echo "set tool gdb" >> ./tmp0
112 @echo "## All variables above are generated by configure. Do Not Edit ##" >> ./tmp0
113 @cat ./tmp0 > site.exp
114 @cat site.bak | sed \
115 -e '1,/^## All variables above are.*##/ d' >> site.exp
120 check: site.exp all just-check
123 rootme=`pwd`; export rootme; \
124 srcdir=${srcdir} ; export srcdir ; \
125 EXPECT=${EXPECT} ; export EXPECT ; \
126 $(RPATH_ENVVAR)=$$rootme/../../expect:$$rootme/../../libstdc++:$$rootme/../../tk/unix:$$rootme/../../tcl/unix:$$rootme/../../bfd:$$rootme/../../opcodes:$$$(RPATH_ENVVAR); \
127 export $(RPATH_ENVVAR); \
128 if [ -f $${rootme}/../../expect/expect ] ; then \
129 TCL_LIBRARY=$${srcdir}/../../tcl/library ; \
130 export TCL_LIBRARY ; fi ; \
131 $(RUNTEST) $(RUNTESTFLAGS)
134 @for i in $(DODIRS); do \
135 if [ -d ./$$i ] ; then \
136 if (rootme=`pwd`/ ; export rootme ; \
137 rootsrc=`cd $(srcdir); pwd`/ ; export rootsrc ; \
139 $(MAKE) $(TARGET_FLAGS_TO_PASS) $(DO)) ; then true ; \
147 for dir in ${SUBDIRS} ; \
150 if [ -d $$dir ] ; then \
151 (rootme=`pwd`/ ; export rootme ; \
152 rootsrc=`cd $(srcdir); pwd`/ ; export rootsrc ; \
153 cd $$dir; $(MAKE) $(TARGET_FLAGS_TO_PASS)); \
158 -rm -f *~ core *.o a.out xgdb *.x *.grt
159 if [ x"${SUBDIRS}" != x ] ; then \
160 for dir in ${SUBDIRS}; \
163 if [ -d $$dir ]; then \
164 (cd $$dir; $(MAKE) clean); \
169 distclean maintainer-clean realclean: clean
171 -rm -f Makefile config.status *-init.exp
172 -rm -fr *.log summary detail *.plog *.sum *.psum site.*
173 if [ x"${SUBDIRS}" != x ] ; then \
174 for dir in ${SUBDIRS}; \
177 if [ -d $$dir ]; then \
178 (cd $$dir; $(MAKE) distclean); \
183 Makefile : Makefile.in config.status $(host_makefile_frag) $(target_makefile_frag)
184 $(SHELL) config.status
186 config.status: configure
187 $(SHELL) config.status --recheck