# Makefile for regression testing the GNU binary utilities.
# Copyright (C) 1993, 1994 Free Software Foundation, Inc.

# 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 2 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, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

srcdir = .
prefix = /usr/local

program_transform_name = 
exec_prefix = $(prefix)
bindir = $(exec_prefix)/bin
libdir = $(exec_prefix)/lib
tooldir = $(libdir)/$(target_alias)

datadir = $(exec_prefix)/lib/deja-gnu
mandir = $(prefix)/man
man1dir = $(mandir)/man1
man2dir = $(mandir)/man2
man3dir = $(mandir)/man3
man4dir = $(mandir)/man4
man5dir = $(mandir)/man5
man6dir = $(mandir)/man6
man7dir = $(mandir)/man7
man8dir = $(mandir)/man8
man9dir = $(mandir)/man9
infodir = $(prefix)/info
includedir = $(prefix)/include
gxx_includedir = $(tooldir)/g++-include
docdir = $(datadir)/doc
targetdir = $(datadir)/$(target_alias)

SHELL = /bin/sh

INSTALL = install -c
INSTALL_PROGRAM = $(INSTALL)
INSTALL_DATA = $(INSTALL)


CC_FOR_TARGET = ` \
  if [ -f $${rootme}/../../gcc/xgcc ] ; then \
    echo $${rootme}/../../gcc/xgcc -B$${rootme}/../../gcc/; \
  else \
    if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
      echo $(CC); \
    else \
      t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \
    fi; \
  fi`

CXX = gcc
CXX_FOR_TARGET = ` \
  if [ -f $${rootme}/../../gcc/xgcc ] ; then \
    echo $${rootme}/../../gcc/xgcc -B$${rootme}/../../gcc/; \
  else \
    if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
      echo $(CXX); \
    else \
      t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \
    fi; \
  fi`

CXXFLAGS = -g -O

EXPECT = `if [ -f $${rootme}/../../expect/expect ] ; \
        then echo $${rootme}/../../expect/expect ; \
        else echo expect; fi`

LINK=		ln -s
SUBDIRS=

RUNTEST = `if [ -f ${srcdir}/../../dejagnu/runtest ] ; \
           then echo ${srcdir}/../../dejagnu/runtest ; \
           else echo runtest ;  fi`
RUNTESTFLAGS = 
FLAGS_TO_PASS = \
	"CC=$(CC)" \
	"CC_FOR_TARGET=$(CC_FOR_TARGET)" \
	"CFLAGS=$(CFLAGS)"

#### host, target, and site specific Makefile frags come in here.

all:		subdirs

.NOEXPORT:
INFODIRS=doc
info:
	@rootme=`pwd`/ ; export rootme ; \
	rootsrc=`cd $(srcdir); pwd`/ ; export rootsrc ; \
	$(MAKE) subdir_do DO=info "DODIRS=$(INFODIRS)" $(FLAGS_TO_PASS)

install-info:
	@rootme=`pwd`/ ; export rootme ; \
	$(MAKE) subdir_do DO=install-info "DODIRS=$(INFODIRS)" $(FLAGS_TO_PASS)

check: site.exp all
	rootme=`pwd`; export rootme; \
	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)

site.exp: ./config.status Makefile
	@echo "Making a new config file..."
	-@rm -f ./tmp?
	@touch site.exp
	-@mv site.exp site.bak
	@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 host_triplet ${host_canonical}" >> ./tmp0
	@echo "set target_triplet ${target_canonical}" >> ./tmp0
	@echo "set tool binutils" >> ./tmp0
	@echo "set srcdir ${srcdir}" >> ./tmp0
	@echo "## All variables above are generated by configure. Do Not Edit ##" >> ./tmp0
		@cat ./tmp0 > site.exp
	@cat site.bak | sed \
			-e '1,/^## All variables above are.*##/ d' >> site.exp
	-@rm -f ./tmp?

install:
uninstall: force

subdir_do: force
	@for i in $(DODIRS); do \
		if [ -d ./$$i ] ; then \
			if (rootme=`pwd`/ ; export rootme ; \
			    rootsrc=`cd $(srcdir); pwd`/ ; export rootsrc ; \
				cd ./$$i; \
				$(MAKE) $(FLAGS_TO_PASS) $(DO)) ; then true ; \
			else exit 1 ; fi ; \
		else true ; fi ; \
	done
force:


subdirs:
	for dir in ${SUBDIRS}; \
	do \
		echo "$$dir:"; \
		if [ -d $$dir ]; then \
			(rootme=`pwd`/ ; export rootme ; \
			 rootsrc=`cd $(srcdir); pwd`/ ; export rootsrc ; \
			 cd $$dir; $(MAKE) $(FLAGS_TO_PASS)); \
		fi; \
	done

clean:
	-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

distclean: clean
	-rm -f *~ core
	-rm -f Makefile config.status *-init.exp
	-rm -fr *.log summary detail
		for dir in ${SUBDIRS}; \
		do \
			echo "$$dir:"; \
			(cd $$dir; $(MAKE) distclean); \
		done

Makefile : $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag)
	$(SHELL) ./config.status

