#
# Makefile for directory with subdirs to build.
-# Copyright (C) 1990, 1991 Cygnus Support
+# Copyright (C) 1990, 1991, 1992 Free Software Foundation
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#
-#
-# $Id$
srcdir = .
-idestdir = /usr/local
-ddestdir = $(idestdir)
+prefix = /usr/local
-SHELL=/bin/sh
+exec_prefix = $(prefix)
+bindir = $(exec_prefix)/bin
+libdir = $(exec_prefix)/lib
+tooldir = $(libdir)
+
+datadir = $(prefix)/lib
+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
+docdir = $(datadir)/doc
+
+SHELL = /bin/sh
+
+INSTALL = install -c
+INSTALL_PROGRAM = $(INSTALL)
+INSTALL_DATA = $(INSTALL)
-RANLIB = ranlib
AR = ar
-AR_FLAGS = cq
+AR_FLAGS = qc
+CFLAGS = -g
+RANLIB = ranlib
+
+BISON = `if [ -d $${rootme}/byacc ] ; \
+ then echo $${rootme}/byacc/byacc ; \
+ else echo bison -y ; \
+ fi`
-BISON = `if [ -d $(unsubdir)/../bison ] ; \
- then echo \`pwd\`/$(unsubdir)/../bison$(subdir)/bison -L \`pwd\`/$(unsubdir)/../bison$(subdir)/ ; \
- else echo yacc ; fi`
+LEX = `if [ -d $${rootme}/flex ] ; \
+ then echo $${rootme}/flex/flex -S$${rootme}/flex/flex.skel ; \
+ else echo flex ; fi`
-MAKEINFO = `if [ -d $(unsubdir)/../texinfo/C ] ; \
- then echo \`pwd\`/$(unsubdir)/../texinfo/C$(subdir)/makeinfo ; \
- else echo echo ; fi`
+MAKEINFO = `if [ -d $${rootme}/texinfo/C ] ; \
+ then echo $${rootme}/texinfo/C/makeinfo ; \
+ else echo makeinfo ; fi`
-#\`(cd $(srcdir)/bison ; \\`pwd\\`)\`
-SUBDIRS = libiberty readline bfd gdb binutils ld gas gcc gnulib clib
+SUBDIRS = libiberty mmalloc glob readline bfd gdb binutils ld gas tgas gcc libg++ newlib libm # clib -- newlib replaces
OTHERS =
ALL = all.normal
-INSTALL_HEADERS = install-headers
-INSTALL_FIXED_INCLUDES = install-fixed-includes
+INSTALL_TARGET = install.all
### for debugging
#GCCVERBOSE=-v
+GXX = `if [ -d $${rootme}/gcc ] ; \
+ then echo $${rootme}/gcc/gcc -B$${rootme}/gcc/ ; \
+ else echo gcc ; fi`
+
+XTRAFLAGS = `if [ -d $${rootme}/gcc ] ; \
+ then echo -I$${rootme}/gcc/include ; \
+ else echo ; fi`
+
#### host and target specific makefile fragments come in here.
###
+FLAGS_TO_PASS = \
+ "prefix=$(prefix)" \
+ "exec_prefix=$(exec_prefix)" \
+ "tooldir=$(tooldir)" \
+ "AR=$(AR)" \
+ "AR_FLAGS=$(AR_FLAGS)" \
+ "CC=$(CC)" \
+ "CFLAGS=$(CFLAGS)" \
+ "RANLIB=$(RANLIB)" \
+ "LOADLIBES=$(LOADLIBES)" \
+ "LDFLAGS=$(LDFLAGS)" \
+ "BISON=$(BISON)" \
+ "LEX=$(LEX)" \
+ "MAKEINFO=$(MAKEINFO)" \
+ "INSTALL=$(INSTALL)" \
+ "INSTALL_DATA=$(INSTALL_DATA)" \
+ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)"
+
+.PHONY: all info install-info clean-info
+.NOEXPORT:
+
all: $(ALL)
-all.normal:
- $(MAKE) subdir_do DO=all "DODIRS=$(SUBDIRS) $(OTHERS)"
+info: cfg-paper.info configure.info standards.info
+ @rootme=`pwd` ; export rootme ; $(MAKE) subdir_do DO=info "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS)
-# this is a bad hack.
-all.xclib: all.normal
- if [ -d clib ] ; then \
- (cd clib ; $(MAKE)) ; \
- fi
-
-subdir_do: force
- for i in $(DODIRS); do \
- if [ -f $(unsubdir)/$$i/localenv ] ; then \
- if (cd $(unsubdir)/$$i$(subdir); \
- $(MAKE) \
- "against=$(against)" \
- "BISON=$(BISON)" \
- "MAKEINFO=$(MAKEINFO)" \
- $(DO)) ; then true ; \
- else exit 1 ; fi ; \
- else if [ -d $(unsubdir)/$$i ] ; then \
- if (cd $(unsubdir)/$$i$(subdir); \
- $(MAKE) \
- "against=$(against)" \
- "AR=$(AR)" \
- "CC=$(CC)" \
- "AR_FLAGS=$(AR_FLAGS)" \
- "RANLIB=$(RANLIB)" \
- "LOADLIBES=$(LOADLIBES)" \
- "LDFLAGS=$(LDFLAGS)" \
- "BISON=$(BISON)" \
- "MAKEINFO=$(MAKEINFO)" \
- $(DO)) ; then true ; \
- else exit 1 ; fi ; \
- else true ; fi ; \
- fi ; \
- done
+# Note libg++ has to be handled specially (we can't compile it with CC=cc).
+check:
+ @rootme=`pwd` ; export rootme ; $(MAKE) subdir_do DO=check \
+ "DODIRS=`echo $(SUBDIRS) | sed -e \"s/libg\+\+//\"" $(FLAGS_TO_PASS)
+ @rootme=`pwd` ; export rootme ; $(MAKE) subdir_do DO=check \
+ "DODIRS=libg++" $(FLAGS_TO_PASS) "CC=${GXX}" "XTRAFLAGS=${XTRAFLAGS}"
+
+clean-info:
+ @$(MAKE) $(FLAGS_TO_PASS) subdir_do DO=clean-info "DODIRS=$(SUBDIRS)"
+ rm -f *.info*
+
+cfg-paper.info: cfg-paper.texi
+ rootme=`pwd` ; export rootme ; $(MAKEINFO) -o cfg-paper.info $(srcdir)/cfg-paper.texi
+
+configure.info: configure.texi
+ rootme=`pwd` ; export rootme ; $(MAKEINFO) -o configure.info $(srcdir)/configure.texi
+
+standards.info: standards.texi
+ rootme=`pwd` ; export rootme ; $(MAKEINFO) -o standards.info $(srcdir)/standards.texi
+
+install-info: install-info-dirs force
+ [ -d $(infodir) ] || mkdir $(infodir)
+ @$(MAKE) $(FLAGS_TO_PASS) subdir_do DO=install-info "DODIRS=$(SUBDIRS)"
+ $(INSTALL_DATA) cfg-paper.info $(infodir)/cfg-paper.info
+ $(INSTALL_DATA) configure.info $(infodir)/configure.info
+ $(INSTALL_DATA) standards.info $(infodir)/standards.info
+ @$(MAKE) $(FLAGS_TO_PASS) dir.info install-dir.info
+
+install-dir.info:
+ $(INSTALL_DATA) dir.info $(infodir)/dir.info
+
+all.normal: all-autoconf all-libiberty all-mmalloc all-texinfo \
+ all-byacc all-flex all-bfd all-ld all-gas all-tgas all-gcc \
+ all-binutils all-libg++ all-readline all-gdb \
+ all-make all-rcs all-cvs all-diff all-grep \
+ all-patch all-emacs all-ispell \
+ all-newlib all-gprof all-send_pr all-libm
+
+all.cross: all-libiberty all-mmalloc all-gas all-byacc all-flex all-ld \
+ all-bfd all-readline all-gdb all-binutils all-gcc all-newlib
+# $(MAKE) $(FLAGS_TO_PASS) subdir_do DO=all "DODIRS=$(SUBDIRS) $(OTHERS)"
+
+clean: clean-autoconf clean-libiberty clean-mmalloc clean-texinfo \
+ clean-bfd clean-newlib clean-binutils clean-flex \
+ clean-byacc clean-ld clean-gas \
+ clean-gcc clean-readline clean-glob clean-gdb \
+ clean-make clean-diff clean-grep clean-rcs \
+ clean-cvs clean-patch clean-emacs clean-ispell \
+ clean-libg++ clean-gprof clean-send_pr clean-libm
+ -rm -rf *.a TEMP errs core *.o *~ \#* TAGS *.E
+
+clean-stamps:
+ -rm -f all-*
+
+install: $(INSTALL_TARGET) $(srcdir)/configure.man
+ $(INSTALL_DATA) $(srcdir)/configure.man $(man1dir)/configure.1
+
+install.all: install-no-fixedincludes
+ @if [ -f ./gcc/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./gcc; \
+ $(MAKE) $(FLAGS_TO_PASS) install-headers) ; \
+ else \
+ true ; \
+ fi
+
+install-no-fixedincludes: install-dirs gcc-no-fixedincludes \
+ install-autoconf \
+ install-bfd \
+ install-binutils \
+ install-byacc \
+ install-cvs \
+ install-diff \
+ install-emacs \
+ install-flex \
+ install-gas \
+ install-gdb \
+ install-glob \
+ install-gprof \
+ install-grep \
+ install-ispell \
+ install-ld \
+ install-libg++ \
+ install-libiberty \
+ install-libm \
+ install-make \
+ install-mmalloc \
+ install-newlib \
+ install-patch \
+ install-rcs \
+ install-readline \
+ install-send_pr \
+ install-texinfo
+
+gcc-no-fixedincludes:
+ @if [ -f ./gcc/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./gcc; \
+ $(MAKE) $(FLAGS_TO_PASS) install install-man \
+ "INSTALL_HEADERS=install-common-headers install-float-h install-limits-h") ; \
+ else \
+ true ; \
+ fi
+
+install.cross: install-dirs install-libiberty install-mmalloc \
+ install-binutils install-byacc install-flex \
+ install-ld install-gas install-readline \
+ install-glob install-gdb install-mmalloc \
+ install-newlib install-gcc
+
+### autoconf
+all-autoconf: force
+ @if [ -f ./autoconf/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./autoconf; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-autoconf: force
+ @if [ -f ./autoconf/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./autoconf; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-autoconf: force
+ @if [ -f ./autoconf/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./autoconf; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
+
+### libiberty
+all-libiberty: force
+ @if [ -f ./libiberty/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./libiberty; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-libiberty: force
+ @if [ -f ./libiberty/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./libiberty; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-libiberty: force
+ @if [ -f ./libiberty/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./libiberty; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
+
+### mmalloc
+all-mmalloc: force
+ @if [ -f ./mmalloc/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./mmalloc; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-mmalloc: force
+ @if [ -f ./mmalloc/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./mmalloc; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-mmalloc: force
+ @if [ -f ./mmalloc/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./mmalloc; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
+
+### texinfo
+all-texinfo: all-libiberty
+ @if [ -f ./texinfo/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./texinfo; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-texinfo: force
+ @if [ -f ./texinfo/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./texinfo; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-texinfo: force
+ @if [ -f ./texinfo/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./texinfo; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
+
+### bfd
+all-bfd: force
+ @if [ -f ./bfd/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./bfd; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-bfd: force
+ @if [ -f ./bfd/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./bfd; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-bfd: force
+ @if [ -f ./bfd/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./bfd; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
+
+### binutils
+all-binutils: all-libiberty all-bfd all-flex
+ @if [ -f ./binutils/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./binutils; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-binutils: force
+ @if [ -f ./binutils/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./binutils; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-binutils: force
+ @if [ -f ./binutils/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./binutils; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
+
+### newlib
+all-newlib: force
+ @if [ -f ./newlib/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./newlib; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-newlib: force
+ @if [ -f ./newlib/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./newlib; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-newlib: force
+ @if [ -f ./newlib/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./newlib; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
+
+### gprof
+all-gprof: all-libiberty all-bfd
+ @if [ -f ./gprof/Makefile ] ; then \
+ (cd gprof; $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-gprof: force
+ @if [ -f ./gprof/Makefile ] ; then \
+ (cd gprof; $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-gprof: force
+ @if [ -f ./gprof/Makefile ] ; then \
+ (cd gprof; $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
+
+### byacc
+all-byacc: force
+ @if [ -f ./byacc/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./byacc; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-byacc: force
+ @if [ -f ./byacc/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./byacc; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-byacc: force
+ @if [ -f ./byacc/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./byacc; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
+
+### flex
+all-flex: all-libiberty
+ @if [ -f ./flex/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./flex; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-flex: force
+ @if [ -f ./flex/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./flex; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-flex: force
+ @if [ -f ./flex/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./flex; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
+### gcc
+all-gcc: all-libiberty all-byacc
+ @if [ -f ./gcc/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./gcc; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-gcc: force
+ @if [ -f ./gcc/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./gcc; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-gcc: force
+ @if [ -f ./gcc/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./gcc; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
+
+### readline
+all-readline: force
+ @if [ -f ./readline/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./readline; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-readline: force
+ @if [ -f ./readline/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./readline; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-readline: force
+ @if [ -f ./readline/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./readline; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
+
+### glob
+all-glob: force
+ @if [ -f ./glob/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./glob; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-glob: force
+ @if [ -f ./glob/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./glob; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-glob: force
+ @if [ -f ./glob/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./glob; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
+
+### gas
+all-gas: all-libiberty all-bfd
+ @if [ -f ./gas/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./gas; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-gas: force
+ @if [ -f ./gas/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./gas; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-gas: force
+ @if [ -f ./gas/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./gas; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
+
+### gas
+all-tgas: all-libiberty all-bfd
+ @if [ -f ./tgas/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./tgas; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+
+### ld
+all-ld: all-libiberty all-bfd all-byacc all-flex
+ @if [ -f ./ld/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./ld; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-ld: force
+ @if [ -f ./ld/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./ld; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-ld: force
+ @if [ -f ./ld/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./ld; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
+
+### gdb
+all-gdb: all-bfd all-libiberty all-mmalloc all-readline all-glob all-byacc
+ @if [ -f ./gdb/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./gdb; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-gdb: force
+ @if [ -f ./gdb/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./gdb; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-gdb: force
+ @if [ -f ./gdb/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./gdb; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
+
+### make
+all-make: all-libiberty
+ @if [ -f ./make/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./make; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-make: force
+ @if [ -f ./make/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./make; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-make: force
+ @if [ -f ./make/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./make; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
+
+### diff
+all-diff: force
+ @if [ -f ./diff/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./diff; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-diff: force
+ @if [ -f ./diff/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./diff; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-diff: force
+ @if [ -f ./diff/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./diff/; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
+
+### grep
+all-grep: force
+ @if [ -f ./grep/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./grep; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-grep: force
+ @if [ -f ./grep/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./grep; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-grep: force
+ @if [ -f ./grep/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./grep; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
+### rcs
+all-rcs: force
+ @if [ -f ./rcs/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./rcs; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+clean-rcs: force
+ @if [ -f ./rcs/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./rcs; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
-bootstrap:
- $(MAKE) all
- $(MAKE) stage1
- $(MAKE) pass "stagepass=stage1"
- $(MAKE) stage2
- $(MAKE) pass "stagepass=stage2"
- $(MAKE) comparison
+install-rcs: force
+ @if [ -f ./rcs/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./rcs; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
-bootstrap2:
- $(MAKE) pass "stagepass=stage1"
- $(MAKE) stage2
- $(MAKE) pass "stagepass=stage2"
- $(MAKE) comparison
+### cvs
+all-cvs: force
+ @if [ -f ./cvs/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./cvs; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
-bootstrap3:
- $(MAKE) pass "stagepass=stage2"
- $(MAKE) comparison
+clean-cvs: force
+ @if [ -f ./cvs/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./cvs; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-cvs: force
+ @if [ -f ./cvs/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./cvs; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
+
+### patch
+all-patch: force
+ @if [ -f ./patch/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./patch; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-patch: force
+ @if [ -f ./patch/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./patch; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-patch: force
+ @if [ -f ./patch/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./patch; \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ bindir=$(bindir) \
+ man1dir=$(man1dir) install) ; \
+ else \
+ true ; \
+ fi
+
+### emacs
+all-emacs: force
+ @if [ -f ./emacs/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./emacs; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-emacs: force
+ @if [ -f ./emacs/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./emacs; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-emacs: force
+ @if [ -f ./emacs/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./emacs; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
+
+### ispell
+all-ispell: all-emacs
+ @if [ -f ./ispell/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./ispell; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+
+clean-ispell: force
+ @if [ -f ./ispell/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./ispell; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
+
+install-ispell: force
+ @if [ -f ./ispell/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./ispell; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
-pass:
- cp $(srcdir)/gcc/gstdarg.h $(unsubdir)/gas$(subdir)/stdarg.h
- $(MAKE) subdir_do DO=all "DODIRS=$(SUBDIRS)" \
- "CC=`pwd`/$(unsubdir)/gcc$(subdir)/$(stagepass)/gcc \
- -O $(GCCVERBOSE) \
- -B`pwd`/$(unsubdir)/gcc$(subdir)/$(stagepass)/ \
- -B`pwd`/$(unsubdir)/gas$(subdir)/$(stagepass)/ \
- -B`pwd`/$(unsubdir)/ld$(subdir)/$(stagepass)/" \
- "AR=`pwd`/$(unsubdir)/binutils$(subdir)/$(stagepass)/ar" \
- "LD=`pwd`/$(unsubdir)/gcc$(subdir)/$(stagepass)/gcc $(GCCVERBOSE)" \
- "RANLIB=`pwd`/$(unsubdir)/binutils$(subdir)/$(stagepass)/ranlib" \
- "LOADLIBES=`pwd`/$(unsubdir)/gnulib$(subdir)/$(stagepass)/gnulib.a /lib/libc.a" \
- "LDFLAGS=-nostdlib /lib/crt0.o \
- -L`pwd`/$(unsubdir)/gnulib$(subdir)/$(stagepass)/ \
- -B`pwd`/$(unsubdir)/ld$(subdir)/$(stagepass)/"
+### send_pr
+all-send_pr: force
+ @if [ -f ./send_pr/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./send_pr; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
+clean-send_pr: force
+ @if [ -f ./send_pr/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./send_pr; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
-stage1:
- $(MAKE) subdir_do DO=stage1 "DODIRS=$(SUBDIRS)"
+install-send_pr: force
+ @if [ -f ./send_pr/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./send_pr; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
-stage2:
- $(MAKE) subdir_do DO=stage2 "DODIRS=$(SUBDIRS)"
+### libm
+all-libm: force
+ @if [ -d ./libm ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./libm; \
+ $(MAKE) $(FLAGS_TO_PASS) all) ; \
+ else \
+ true ; \
+ fi
-stage3:
- $(MAKE) subdir_do DO=stage3 "DODIRS=$(SUBDIRS)"
+clean-libm: force
+ @if [ -d ./libm ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./libm; \
+ $(MAKE) $(FLAGS_TO_PASS) clean) ; \
+ else \
+ true ; \
+ fi
-stage4:
- $(MAKE) subdir_do DO=stage4 "DODIRS=$(SUBDIRS)"
+install-libm: force
+ @if [ -d ./libm ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./libm; \
+ $(MAKE) $(FLAGS_TO_PASS) install) ; \
+ else \
+ true ; \
+ fi
-against=stage2
+### libg++
-comparison:; $(MAKE) subdir_do DO=comparison against=$(against) "DODIRS=$(SUBDIRS)"
+all-libg++: all-gas all-ld all-gcc
+ @if [ -f ./libg++/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./libg++; \
+ $(MAKE) $(FLAGS_TO_PASS) "CC=${GXX}" all) ; \
+ else \
+ true ; \
+ fi
-de-stage1:; $(MAKE) subdir_do DO=de-stage1 "DODIRS=$(SUBDIRS)"
-de-stage2:; $(MAKE) subdir_do DO=de-stage2 "DODIRS=$(SUBDIRS)"
-de-stage3:; $(MAKE) subdir_do DO=de-stage3 "DODIRS=$(SUBDIRS)"
-de-stage4:; $(MAKE) subdir_do DO=de-stage4 "DODIRS=$(SUBDIRS)"
+clean-libg++: force
+ @if [ -f ./libg++/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./libg++; \
+ $(MAKE) $(FLAGS_TO_PASS) "CC=${GXX}" clean) ; \
+ else \
+ true ; \
+ fi
-clean:
- rm -rf *.a TEMP errs core *.o *~ \#* TAGS *.E
- $(MAKE) subdir_do DO=clean "DODIRS=$(SUBDIRS) $(OTHERS)"
+install-libg++: force
+ @if [ -f ./libg++/Makefile ] ; then \
+ rootme=`pwd` ; export rootme ; \
+ (cd ./libg++; \
+ $(MAKE) $(FLAGS_TO_PASS) "CC=${GXX}" install) ; \
+ else \
+ true ; \
+ fi
-install: install-no-fixincludes $(INSTALL_FIXED_INCLUDES)
+### other supporting targets
+# this is a bad hack.
+all.xclib: all.normal
+ if [ -d clib ] ; then \
+ (cd clib ; $(MAKE) $(FLAGS_TO_PASS)) ; \
+ fi
-install-no-fixincludes: install-dirs $(INSTALL_HEADERS)
- $(MAKE) subdir_do DO=install "DODIRS=$(SUBDIRS) $(OTHERS)"
+subdir_do:
+ @for i in $(DODIRS); do \
+ if [ -f ./$$i/localenv ] ; then \
+ if (rootme=`pwd` ; export rootme ; cd ./$$i; \
+ $(MAKE) $(FLAGS_TO_PASS) $(DO)) ; then true ; \
+ else exit 1 ; fi ; \
+ else if [ -f ./$$i/Makefile ] ; then \
+ if (rootme=`pwd` ; export rootme ; cd ./$$i; \
+ $(MAKE) $(FLAGS_TO_PASS) $(DO)) ; then true ; \
+ else exit 1 ; fi ; \
+ else true ; fi ; \
+ fi ; \
+ done
# The "else true" stuff is for Ultrix; the shell returns the exit code
# of the "if" command, if no commands are run in the "then" or "else" part,
# causing Make to quit.
MAKEDIRS= \
- $(ddestdir) \
- $(ddestdir)/bin \
- $(ddestdir)/include \
- $(ddestdir)/lib \
- $(ddestdir)/lib/emacs \
- $(idestdir) \
- $(idestdir)/lib \
- $(idestdir)/info \
- $(idestdir)/doc \
- $(idestdir)/man \
- $(idestdir)/man/man1 \
- $(idestdir)/man/man5
-
-install-dirs: force
+ $(prefix) \
+ $(exec_prefix) \
+ $(bindir) \
+ $(libdir) \
+ $(tooldir) \
+ $(includedir) \
+ $(datadir) \
+ $(docdir) \
+ $(mandir) \
+ $(man1dir) \
+ $(man5dir)
+
+# $(man2dir) \
+# $(man3dir) \
+# $(man4dir) \
+# $(man6dir) \
+# $(man7dir) \
+# $(man8dir)
+
+install-dirs:
for i in $(MAKEDIRS) ; do \
echo Making $$i... ; \
- if [ -d $$i ] ; then true ; else mkdir $$i ; fi ; \
+ if [ ! -d $$i ] ; then \
+ if mkdir $$i ; then \
+ true ; \
+ else \
+ exit 1 ; \
+ fi ; \
+ else \
+ true ; \
+ fi ; \
done
-install-headers:
- if [ -d $(unsubdir)/gcc$(subdir) ] ; then \
- (cd $(unsubdir)/gcc$(subdir) ; \
- $(MAKE) install-dir) ; \
- else true; \
- fi
+MAKEINFODIRS= \
+ $(prefix) \
+ $(infodir)
-install-fixed-includes: force
- if [ -d $(unsubdir)/gcc$(subdir) ] ; then \
- (cd $(unsubdir)/gcc$(subdir) ; \
- $(MAKE) install-fixed-includes) ; \
- else true; \
- fi
+install-info-dirs:
+ if [ -d $(prefix) ] ; then true ; else mkdir $(prefix) ; fi
+ if [ -d $(datadir) ] ; then true ; else mkdir $(datadir) ; fi
+ if [ -d $(infodir) ] ; then true ; else mkdir $(infodir) ; fi
+
+dir.info:
+ $(srcdir)/texinfo/gen-info-dir $(infodir) > dir.info.new
+ mv -f dir.info.new dir.info
etags tags: TAGS
-TAGS: FORCE
+TAGS:
etags `$(MAKE) ls`
ls:
#
# Build GDB distributions that contain BFD, Include, Libiberty, Readline, etc
-DEVO_SUPPORT= README README.configure Makefile.in configure configure.in \
- config.sub config
-GDB_SUPPORT_DIRS= bfd include libiberty readline
+DEVO_SUPPORT= README cfg-paper.texi Makefile.in configure configure.in \
+ config.sub config configure.man move-if-change
+GDB_SUPPORT_DIRS= bfd include libiberty mmalloc readline glob
GDB_SUPPORT_FILES= $(GDB_SUPPORT_DIRS) texinfo/fsf/texinfo.tex
setup-dirs: force_update
(cd proto-toplev; for i in $(DEVO_SUPPORT) $(GDB_SUPPORT_DIRS); do \
ln -s ../$$i . ; \
done)
+ # Put only one copy (four hard links) of COPYING in the tar file.
+ rm proto-toplev/bfd/COPYING
+ ln proto-toplev/gdb/COPYING proto-toplev/bfd/COPYING
+ rm proto-toplev/include/COPYING
+ ln proto-toplev/gdb/COPYING proto-toplev/include/COPYING
+ rm proto-toplev/readline/COPYING
+ ln proto-toplev/gdb/COPYING proto-toplev/readline/COPYING
+ # Take out texinfo from configurable dirs
+ rm proto-toplev/configure.in
+ sed '/^configdirs=/s/texinfo //' <configure.in >proto-toplev/configure.in
+ # Take out glob from buildable dirs
+ rm proto-toplev/Makefile.in
+
+ sed -e '/^SUBDIRS =/s/glob //' \
+ -e '/^all\.normal: /s/\all-texinfo //' \
+ -e '/^clean: /s/clean-texinfo //' \
+ -e '/^install\.all: /s/install-texinfo //' \
+ <Makefile.in >proto-toplev/Makefile.in
+
mkdir proto-toplev/texinfo
mkdir proto-toplev/texinfo/fsf
ln -s ../../../texinfo/fsf/texinfo.tex proto-toplev/texinfo/fsf/