# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-# 1999, 2000, 2001, 2002, 2003 Free Software Foundation
+# 1999, 2000, 2001, 2002, 2003, 2004 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
#
# 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.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# This Makefile contains release scripts for gdb, binutils, and other
BZIPPROG = bzip2
MD5PROG = md5sum
+# (Default to avoid splitting info files by setting the threshold high.)
+MAKEINFOFLAGS = --split-size=5000000
+
# pwd command to use. Allow user to override default by setting PWDCMD in
# the environment to account for automounters. The make variable must not
# be called PWDCMD, otherwise the value set here is passed to make
# Support for building net releases
# Files in devo used in any net release.
-# ChangeLog omitted because it may refer to files which are not in this
-# distribution (perhaps it would be better to include it anyway).
-DEVO_SUPPORT= README Makefile.in configure configure.in \
- config.guess config.if config.sub config move-if-change \
- mpw-README mpw-build.in mpw-config.in mpw-configure mpw-install \
+DEVO_SUPPORT= README Makefile.in configure configure.ac \
+ config.guess config.sub config move-if-change \
COPYING COPYING.LIB install-sh config-ml.in symlink-tree \
- mkinstalldirs ltconfig ltmain.sh missing ylwrap \
- libtool.m4 gettext.m4 ltcf-c.sh ltcf-cxx.sh ltcf-gcj.sh \
- Makefile.def Makefile.tpl src-release
+ mkinstalldirs ltmain.sh missing ylwrap \
+ libtool.m4 ltsugar.m4 ltversion.m4 ltoptions.m4 \
+ Makefile.def Makefile.tpl src-release config.rpath \
+ ChangeLog MAINTAINERS README-maintainer-mode \
+ lt~obsolete.m4 ltgcc.m4 depcomp mkdep compile \
+ COPYING3 COPYING3.LIB
# Files in devo/etc used in any net release.
-# ChangeLog omitted because it may refer to files which are not in this
-# distribution (perhaps it would be better to include it anyway).
ETC_SUPPORT= Makefile.in configure configure.in standards.texi \
make-stds.texi standards.info* configure.texi configure.info* \
- configbuild.* configdev.* fdl.texi texi2pod.pl
+ ChangeLog configbuild.* configdev.* fdl.texi texi2pod.pl gnu-oids.texi
# When you use `make setup-dirs' or `make taz' you should always redefine
# NOTE: No double quotes in the below. It is used within shell script
# as VER="$(VER)"
VER = ` if grep 'AM_INIT_AUTOMAKE.*BFD_VERSION' $(TOOL)/configure.in >/dev/null 2>&1; then \
- sed < bfd/configure.in -n 's/AM_INIT_AUTOMAKE[^,]*, *\([^)]*\))/\1/p'; \
+ bfd/configure --version | sed -n -e '1s,.* ,,p'; \
elif grep AM_INIT_AUTOMAKE $(TOOL)/configure.in >/dev/null 2>&1; then \
sed < $(TOOL)/configure.in -n 's/AM_INIT_AUTOMAKE[^,]*, *\([^)]*\))/\1/p'; \
+ elif test -f $(TOOL)/common/create-version.sh; then \
+ $(TOOL)/common/create-version.sh $(TOOL) \
+ 'dummy-host' 'dummy-target' \
+ VER.tmp; \
+ cat VER.tmp | grep 'version\[\]' | sed 's/.*"\([^"]*\)".*/\1/'; \
+ rm -f VER.tmp; \
elif test -f $(TOOL)/version.in; then \
head -1 $(TOOL)/version.in; \
elif grep VERSION $(TOOL)/Makefile.in > /dev/null 2>&1; then \
<Makefile.in >tmp
mv -f tmp Makefile.in
#
- ./configure sun4
+ ./configure i686-pc-linux-gnu
$(MAKE) configure-host configure-target \
ALL_GCC="" ALL_GCC_C="" ALL_GCC_CXX="" \
CC_FOR_TARGET="$(CC)" CXX_FOR_TARGET="$(CXX)"
# Make links, and run "make diststuff" or "make info" when needed.
rm -rf proto-toplev ; mkdir proto-toplev
- set -e ; dirs="$(TOOL) $(DEVO_SUPPORT) $(SUPPORT_FILES)" ; \
+ set -e ; dirs="$(DEVO_SUPPORT) $(SUPPORT_FILES) $(TOOL)" ; \
for d in $$dirs ; do \
if [ -d $$d ]; then \
if [ ! -f $$d/Makefile ] ; then true ; \
elif grep '^diststuff:' $$d/Makefile >/dev/null ; then \
- (cd $$d ; $(MAKE) diststuff ) || exit 1 ; \
+ (cd $$d ; $(MAKE) MAKEINFOFLAGS="$(MAKEINFOFLAGS)" \
+ diststuff ) || exit 1 ; \
elif grep '^info:' $$d/Makefile >/dev/null ; then \
- (cd $$d ; $(MAKE) info ) || exit 1 ; \
+ (cd $$d ; $(MAKE) MAKEINFOFLAGS="$(MAKEINFOFLAGS)" \
+ info ) || exit 1 ; \
fi ; \
if [ -d $$d/proto-$$d.dir ]; then \
ln -s ../$$d/proto-$$d.dir proto-toplev/$$d ; \
fi ; \
else ln -s ../$$d proto-toplev/$$d ; fi ; \
done
- cd etc && $(MAKE) info
+ cd etc && $(MAKE) MAKEINFOFLAGS="$(MAKEINFOFLAGS)" info
$(MAKE) distclean
- # Kludge for pr gdb/708. 'configure' configures in
- # dejagnu/example/calc, but 'make distclean' does not clean in
- # dejagnu/example. Someday somebody might fix this in dejagnu,
- # and then import a new dejagnu into sourceware. Right now, a
- # couple of 'rm' commands will get the gdb snapshots working
- # again. -- chastain 2003-08-15
- rm -f dejagnu/example/calc/config.status
- rm -f dejagnu/example/calc/config.log
+ # Kludge for pr gdb/857. intl/Makefile.in lacks a couple
+ # of files in the distclean rule. Zack W is planning to make
+ # the gcc version of intl/ the master version and then push
+ # that version to src soon. See:
+ # http://sources.redhat.com/ml/binutils/2003-07/msg00032.html
+ # After the src version of intl/ is upgraded, we can look at
+ # moving this logic into intl/Makefile.in distclean rule
+ # if it is still needed. -- chastain 2003-09-12
+ rm -f intl/config.cache
+ rm -f intl/config.status
+ rm -f intl/config.h
+ rm -f intl/stamp-h
#
mkdir proto-toplev/etc
(cd proto-toplev/etc; \
done)
#
# Take out texinfo from configurable dirs
- rm proto-toplev/configure.in
+ rm proto-toplev/configure.ac
sed -e '/^host_tools=/s/texinfo //' \
- <configure.in >proto-toplev/configure.in
+ <configure.ac >proto-toplev/configure.ac
#
mkdir proto-toplev/texinfo
ln -s ../../texinfo/texinfo.tex proto-toplev/texinfo/
-rm -f $(PACKAGE)-$(VER)
ln -s proto-toplev $(PACKAGE)-$(VER)
+CVS_NAMES= \( -name CVS -o -name '.cvsignore' \)
+
.PHONY: do-tar
do-tar:
echo "==> Making $(PACKAGE)-$(VER).tar"
-rm -f $(PACKAGE)-$(VER).tar
- find $(PACKAGE)-$(VER) -follow -name CVS -prune -o -type f -print \
+ find $(PACKAGE)-$(VER) -follow $(CVS_NAMES) -prune \
+ -o -type f -print \
| tar cTfh - $(PACKAGE)-$(VER).tar
.PHONY: do-bz2
.PHONY: do-md5sum
do-md5sum:
echo "==> Adding md5 checksum to top-level directory"
- cd proto-toplev && find * -follow -name CVS -prune -o -type f -print \
- | xargs $(MD5PROG) > ../md5.sum
- mv md5.sum proto-toplev
+ cd proto-toplev && find * -follow $(CVS_NAMES) -prune \
+ -o -type f -print \
+ | xargs $(MD5PROG) > ../md5.new
+ -rm -f proto-toplev/md5.sum
+ mv md5.new proto-toplev/md5.sum
.PHONY: do-djunpack
do-djunpack:
echo "==> Adding updated djunpack.bat to top-level directory"
- echo - 's /gdb-[0-9\.]*/gdb-'"$(VER)"'/'
+ echo - 's /gdb-[0-9\.]*/$(PACKAGE)-'"$(VER)"'/'
sed < djunpack.bat > djunpack.new \
- -e 's/gdb-[0-9][0-9\.]*/gdb-'"$(VER)"'/'
- mv djunpack.new djunpack.bat
+ -e 's/gdb-[0-9][0-9\.]*/$(PACKAGE)-'"$(VER)"'/'
-rm -f proto-toplev/djunpack.bat
- ln -s ../djunpack.bat proto-toplev/djunpack.bat
+ mv djunpack.new proto-toplev/djunpack.bat
TEXINFO_SUPPORT= texinfo/texinfo.tex
DIST_SUPPORT= $(DEVO_SUPPORT) $(TEXINFO_SUPPORT)
# The FSF "binutils" release includes gprof and ld.
.PHONY: binutils.tar.bz2
-BINUTILS_SUPPORT_DIRS= bfd gas include libiberty opcodes ld gprof intl setup.com makefile.vms mkdep cpu
+BINUTILS_SUPPORT_DIRS= bfd gas include libiberty opcodes ld elfcpp gold gprof intl setup.com makefile.vms cpu
binutils.tar.bz2: $(DIST_SUPPORT) $(BINUTILS_SUPPORT_DIRS) binutils
$(MAKE) -f $(SELF) taz TOOL=binutils \
MD5PROG="$(MD5PROG)" \
SUPPORT_FILES="$(GNATS_SUPPORT_DIRS)"
.PHONY: gdb.tar.bz2
-GDB_SUPPORT_DIRS= bfd include libiberty mmalloc opcodes readline sim utils intl
+GDB_SUPPORT_DIRS= bfd include libiberty opcodes readline sim intl libdecnumber cpu
gdb.tar.bz2: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb
$(MAKE) -f $(SELF) gdb-taz TOOL=gdb \
MD5PROG="$(MD5PROG)" \
MD5PROG="$(MD5PROG)" \
SUPPORT_FILES="$(GDB_SUPPORT_DIRS)"
-DEJAGNU_SUPPORT_DIRS= tcl expect libiberty
-.PHONY: dejagnu.tar.bz2
-dejagnu.tar.bz2: $(DIST_SUPPORT) $(DEJAGNU_SUPPORT_DIRS) dejagnu
- $(MAKE) -f $(SELF) taz TOOL=dejagnu \
- MD5PROG="$(MD5PROG)" \
- SUPPORT_FILES="$(DEJAGNU_SUPPORT_DIRS)"
-
-.PHONY: gdb+dejagnu.tar.bz2
-GDBD_SUPPORT_DIRS= $(GDB_SUPPORT_DIRS) tcl expect dejagnu
-gdb+dejagnu.tar.bz2: $(DIST_SUPPORT) $(GDBD_SUPPORT_DIRS) gdb
- $(MAKE) -f $(SELF) gdb-taz TOOL=gdb PACKAGE=gdb+dejagnu \
- MD5PROG="$(MD5PROG)" \
- SUPPORT_FILES="$(GDBD_SUPPORT_DIRS)"
-.PHONY: gdb+dejagnu.tar
-gdb+dejagnu.tar: $(DIST_SUPPORT) $(GDBD_SUPPORT_DIRS) gdb
- $(MAKE) -f $(SELF) gdb-tar TOOL=gdb PACKAGE=gdb+dejagnu \
- MD5PROG="$(MD5PROG)" \
- SUPPORT_FILES="$(GDBD_SUPPORT_DIRS)"
-
.PHONY: insight.tar.bz2
-INSIGHT_SUPPORT_DIRS= $(GDB_SUPPORT_DIRS) tcl tk itcl tix libgui
+INSIGHT_SUPPORT_DIRS= $(GDB_SUPPORT_DIRS) tcl tk itcl libgui
insight.tar.bz2: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb
$(MAKE) -f $(SELF) gdb-taz TOOL=gdb PACKAGE=insight \
MD5PROG="$(MD5PROG)" \
MD5PROG="$(MD5PROG)" \
SUPPORT_FILES="$(INSIGHT_SUPPORT_DIRS)"
-.PHONY: insight+dejagnu.tar.bz2
-INSIGHTD_SUPPORT_DIRS= $(INSIGHT_SUPPORT_DIRS) expect dejagnu
-insight+dejagnu.tar.bz2: $(DIST_SUPPORT) $(INSIGHTD_SUPPORT_DIRS) gdb
- $(MAKE) -f $(SELF) gdb-taz TOOL=gdb PACKAGE="insight+dejagnu" \
- MD5PROG="$(MD5PROG)" \
- SUPPORT_FILES="$(INSIGHTD_SUPPORT_DIRS)"
-.PHONY: insight+dejagnu.tar
-insight+dejagnu.tar: $(DIST_SUPPORT) $(INSIGHTD_SUPPORT_DIRS) gdb
- $(MAKE) -f $(SELF) gdb-tar TOOL=gdb PACKAGE="insight+dejagnu" \
- MD5PROG="$(MD5PROG)" \
- SUPPORT_FILES="$(INSIGHTD_SUPPORT_DIRS)"
-
-.PHONY: newlib.tar.bz2
-NEWLIB_SUPPORT_DIRS=libgloss
-# taz configures for the sun4 target which won't configure newlib.
-# We need newlib configured so that the .info files are made.
-# Unfortunately, it is not enough to just configure newlib separately:
-# taz will build the .info files but since SUBDIRS won't contain newlib,
-# distclean won't be run (leaving Makefile, config.status, and the tmp files
-# used in building the .info files, eg: *.def, *.ref).
-# The problem isn't solvable however without a lot of extra work because
-# target libraries are built in subdir $(target_alias) which gets nuked during
-# the make distclean. For now punt on the issue of shipping newlib info files
-# with newlib net releases and wait for a day when some native target (sun4?)
-# supports newlib (if only minimally).
-newlib.tar.bz2: $(DIST_SUPPORT) $(NEWLIB_SUPPORT_DIRS) newlib
- $(MAKE) -f $(SELF) taz TOOL=newlib \
- MD5PROG="$(MD5PROG)" \
- SUPPORT_FILES="$(NEWLIB_SUPPORT_DIRS)" \
- DEVO_SUPPORT="$(DEVO_SUPPORT) COPYING.NEWLIB" newlib
-
.NOEXPORT:
MAKEOVERRIDES=