source: trunk/third/binutils/src-release @ 21000

Revision 21000, 12.2 KB checked in by ghudson, 20 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r20999, which included commits to RCS files with non-trunk default branches.
Line 
1#   Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
2#   1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation
3#
4# This file is free software; you can redistribute it and/or modify
5# it under the terms of the GNU General Public License as published by
6# the Free Software Foundation; either version 2 of the License, or
7# (at your option) any later version.
8#
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12# GNU General Public License for more details.
13#
14# You should have received a copy of the GNU General Public License
15# along with this program; if not, write to the Free Software
16# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17#
18
19# This Makefile contains release scripts for gdb, binutils, and other
20# packages which live in src.  It used to be part of the top level Makefile,
21# but that turned out to be very messy and hard to maintain.
22
23# This stuff really ought to be cleaned up and turned into something other
24# than a Makefile.  As it is it's heavily recursive.
25
26# This is the name of this script (!).  Needed due to horrible recursion.
27SELF = src-release
28
29SHELL = /bin/sh
30
31BZIPPROG = bzip2
32MD5PROG = md5sum
33
34# pwd command to use.  Allow user to override default by setting PWDCMD in
35# the environment to account for automounters.  The make variable must not
36# be called PWDCMD, otherwise the value set here is passed to make
37# subprocesses and overrides the setting from the user's environment.
38PWD = $${PWDCMD-pwd}
39
40#
41# Support for building net releases
42
43# Files in devo used in any net release.
44# ChangeLog omitted because it may refer to files which are not in this
45# distribution (perhaps it would be better to include it anyway).
46DEVO_SUPPORT= README Makefile.in configure configure.in \
47        config.guess config.if config.sub config move-if-change \
48        COPYING COPYING.LIB install-sh config-ml.in symlink-tree \
49        mkinstalldirs ltconfig ltmain.sh missing ylwrap \
50        libtool.m4 gettext.m4 ltcf-c.sh ltcf-cxx.sh ltcf-gcj.sh \
51        Makefile.def Makefile.tpl src-release
52
53# Files in devo/etc used in any net release.
54# ChangeLog omitted because it may refer to files which are not in this
55# distribution (perhaps it would be better to include it anyway).
56ETC_SUPPORT= Makefile.in configure configure.in standards.texi \
57        make-stds.texi standards.info* configure.texi configure.info* \
58        configbuild.* configdev.* fdl.texi texi2pod.pl
59
60
61# When you use `make setup-dirs' or `make taz' you should always redefine
62# this macro.
63SUPPORT_FILES = list-of-support-files-for-tool-in-question
64
65# NOTE: No double quotes in the below.  It is used within shell script
66# as VER="$(VER)"
67VER = ` if grep 'AM_INIT_AUTOMAKE.*BFD_VERSION' $(TOOL)/configure.in >/dev/null 2>&1; then \
68          sed < bfd/configure.in -n 's/AM_INIT_AUTOMAKE[^,]*, *\([^)]*\))/\1/p'; \
69        elif grep AM_INIT_AUTOMAKE $(TOOL)/configure.in >/dev/null 2>&1; then \
70          sed < $(TOOL)/configure.in -n 's/AM_INIT_AUTOMAKE[^,]*, *\([^)]*\))/\1/p'; \
71        elif test -f $(TOOL)/version.in; then \
72          head -1 $(TOOL)/version.in; \
73        elif grep VERSION $(TOOL)/Makefile.in > /dev/null 2>&1; then \
74          sed < $(TOOL)/Makefile.in -n 's/^VERSION *= *//p'; \
75        else \
76          echo VERSION; \
77        fi`
78PACKAGE = $(TOOL)
79
80.PHONY: taz
81taz: $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex
82        $(MAKE) -f $(SELF) do-proto-toplev \
83                TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
84                MD5PROG="$(MD5PROG)" \
85                SUPPORT_FILES="$(SUPPORT_FILES)"
86        $(MAKE) -f $(SELF) do-md5sum \
87                TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
88                MD5PROG="$(MD5PROG)" \
89                SUPPORT_FILES="$(SUPPORT_FILES)"
90        $(MAKE) -f $(SELF) do-tar \
91                TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
92                MD5PROG="$(MD5PROG)" \
93                SUPPORT_FILES="$(SUPPORT_FILES)"
94        $(MAKE) -f $(SELF) do-bz2 \
95                TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
96                MD5PROG="$(MD5PROG)" \
97                SUPPORT_FILES="$(SUPPORT_FILES)"
98
99.PHONY: gdb-tar
100gdb-tar: $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex
101        $(MAKE) -f $(SELF) do-proto-toplev \
102                TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
103                MD5PROG="$(MD5PROG)" \
104                SUPPORT_FILES="$(SUPPORT_FILES)"
105        $(MAKE) -f $(SELF) do-md5sum \
106                TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
107                MD5PROG="$(MD5PROG)" \
108                SUPPORT_FILES="$(SUPPORT_FILES)"
109        $(MAKE) -f $(SELF) do-djunpack \
110                TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
111                MD5PROG="$(MD5PROG)" \
112                SUPPORT_FILES="$(SUPPORT_FILES)"
113        $(MAKE) -f $(SELF) do-tar \
114                TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
115                MD5PROG="$(MD5PROG)" \
116                SUPPORT_FILES="$(SUPPORT_FILES)"
117
118.PHONY: gdb-taz
119gdb-taz: gdb-tar $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex
120        $(MAKE) -f $(SELF) gdb-tar \
121                TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
122                MD5PROG="$(MD5PROG)" \
123                SUPPORT_FILES="$(SUPPORT_FILES)"
124        $(MAKE) -f $(SELF) do-bz2 \
125                TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
126                MD5PROG="$(MD5PROG)" \
127                SUPPORT_FILES="$(SUPPORT_FILES)"
128
129.PHONY: do-proto-toplev
130do-proto-toplev: $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex
131        echo "==> Making $(PACKAGE)-$(VER)/"
132        # Take out texinfo from a few places.
133        sed -e '/^all\.normal: /s/\all-texinfo //' \
134            -e '/^      install-texinfo /d' \
135        <Makefile.in >tmp
136        mv -f tmp Makefile.in
137        #
138        ./configure i686-pc-linux-gnu
139        $(MAKE) configure-host configure-target \
140            ALL_GCC="" ALL_GCC_C="" ALL_GCC_CXX="" \
141            CC_FOR_TARGET="$(CC)" CXX_FOR_TARGET="$(CXX)"
142        # Make links, and run "make diststuff" or "make info" when needed.
143        rm -rf proto-toplev ; mkdir proto-toplev
144        set -e ; dirs="$(TOOL) $(DEVO_SUPPORT) $(SUPPORT_FILES)" ; \
145        for d in $$dirs ; do \
146          if [ -d $$d ]; then \
147            if [ ! -f $$d/Makefile ] ; then true ; \
148            elif grep '^diststuff:' $$d/Makefile >/dev/null ; then \
149                (cd $$d ; $(MAKE) diststuff ) || exit 1 ; \
150            elif grep '^info:' $$d/Makefile >/dev/null ; then \
151                (cd $$d ; $(MAKE) info ) || exit 1 ; \
152            fi ; \
153            if [ -d $$d/proto-$$d.dir ]; then \
154              ln -s ../$$d/proto-$$d.dir proto-toplev/$$d ; \
155            else \
156              ln -s ../$$d proto-toplev/$$d ; \
157            fi ; \
158          else ln -s ../$$d proto-toplev/$$d ; fi ; \
159        done
160        cd etc && $(MAKE) info
161        $(MAKE) distclean
162        # Kludge for pr gdb/708.  'configure' configures in
163        # dejagnu/example/calc, but 'make distclean' does not clean in
164        # dejagnu/example.  Someday somebody might fix this in dejagnu,
165        # and then import a new dejagnu into sourceware.  Right now, a
166        # couple of 'rm' commands will get the gdb snapshots working
167        # again.  -- chastain 2003-08-15
168        rm -f dejagnu/example/calc/config.status
169        rm -f dejagnu/example/calc/config.log
170        # Kludge for pr gdb/857.  intl/Makefile.in lacks a couple
171        # of files in the distclean rule.  Zack W is planning to make
172        # the gcc version of intl/ the master version and then push
173        # that version to src soon.  See:
174        #   http://sources.redhat.com/ml/binutils/2003-07/msg00032.html
175        # After the src version of intl/ is upgraded, we can look at
176        # moving this logic into intl/Makefile.in distclean rule
177        # if it is still needed.  -- chastain 2003-09-12
178        rm -f intl/config.cache
179        rm -f intl/config.status
180        rm -f intl/config.h
181        rm -f intl/stamp-h
182        #
183        mkdir proto-toplev/etc
184        (cd proto-toplev/etc; \
185         for i in $(ETC_SUPPORT); do \
186                ln -s ../../etc/$$i . ; \
187         done)
188        #
189        # Take out texinfo from configurable dirs
190        rm proto-toplev/configure.in
191        sed -e '/^host_tools=/s/texinfo //' \
192            <configure.in >proto-toplev/configure.in
193        #
194        mkdir proto-toplev/texinfo
195        ln -s ../../texinfo/texinfo.tex         proto-toplev/texinfo/
196        if test -r texinfo/util/tex3patch ; then \
197          mkdir proto-toplev/texinfo/util && \
198          ln -s ../../../texinfo/util/tex3patch proto-toplev/texinfo/util ; \
199        else true; fi
200        chmod -R og=u . || chmod og=u `find . -print`
201        #
202        # Create .gmo files from .po files.
203        for f in `find . -name '*.po' -type f -print`; do \
204             msgfmt -o `echo $$f | sed -e 's/\.po$$/.gmo/'` $$f ; \
205        done
206        #
207        -rm -f $(PACKAGE)-$(VER)
208        ln -s proto-toplev $(PACKAGE)-$(VER)
209
210CVS_NAMES= \( -name CVS -o -name '.cvsignore' \)
211
212.PHONY: do-tar
213do-tar:
214        echo "==> Making $(PACKAGE)-$(VER).tar"
215        -rm -f $(PACKAGE)-$(VER).tar
216        find $(PACKAGE)-$(VER) -follow $(CVS_NAMES) -prune \
217                        -o -type f -print \
218                | tar cTfh - $(PACKAGE)-$(VER).tar
219
220.PHONY: do-bz2
221do-bz2:
222        echo "==> Bzipping $(PACKAGE)-$(VER).tar.bz2"
223        -rm -f $(PACKAGE)-$(VER).tar.bz2
224        $(BZIPPROG) -v -9 $(PACKAGE)-$(VER).tar
225
226.PHONY: do-md5sum
227do-md5sum:
228        echo "==> Adding md5 checksum to top-level directory"
229        cd proto-toplev && find * -follow $(CVS_NAMES) -prune \
230                        -o -type f -print \
231                | xargs $(MD5PROG) > ../md5.sum
232        mv md5.sum proto-toplev
233
234.PHONY: do-djunpack
235do-djunpack:
236        echo "==> Adding updated djunpack.bat to top-level directory"
237        echo - 's /gdb-[0-9\.]*/$(PACKAGE)-'"$(VER)"'/'
238        sed < djunpack.bat > djunpack.new \
239                -e 's/gdb-[0-9][0-9\.]*/$(PACKAGE)-'"$(VER)"'/'
240        mv djunpack.new djunpack.bat
241        -rm -f proto-toplev/djunpack.bat
242        ln -s ../djunpack.bat proto-toplev/djunpack.bat
243
244TEXINFO_SUPPORT= texinfo/texinfo.tex
245DIST_SUPPORT= $(DEVO_SUPPORT) $(TEXINFO_SUPPORT)
246
247.PHONY: gas.tar.bz2
248GAS_SUPPORT_DIRS= bfd include libiberty opcodes intl setup.com makefile.vms mkdep
249gas.tar.bz2: $(DIST_SUPPORT) $(GAS_SUPPORT_DIRS) gas
250        $(MAKE) -f $(SELF) taz TOOL=gas \
251                MD5PROG="$(MD5PROG)" \
252                SUPPORT_FILES="$(GAS_SUPPORT_DIRS)"
253
254# The FSF "binutils" release includes gprof and ld.
255.PHONY: binutils.tar.bz2
256BINUTILS_SUPPORT_DIRS= bfd gas include libiberty opcodes ld gprof intl setup.com makefile.vms mkdep cpu
257binutils.tar.bz2: $(DIST_SUPPORT) $(BINUTILS_SUPPORT_DIRS) binutils
258        $(MAKE) -f $(SELF) taz TOOL=binutils \
259                MD5PROG="$(MD5PROG)" \
260                SUPPORT_FILES="$(BINUTILS_SUPPORT_DIRS)"
261
262.PHONY: gas+binutils.tar.bz2
263GASB_SUPPORT_DIRS= $(GAS_SUPPORT_DIRS) binutils ld gprof
264gas+binutils.tar.bz2: $(DIST_SUPPORT) $(GASB_SUPPORT_DIRS) gas
265        $(MAKE) -f $(SELF) taz TOOL=gas \
266                MD5PROG="$(MD5PROG)" \
267                SUPPORT_FILES="$(GASB_SUPPORT_DIRS)"
268
269GNATS_SUPPORT_DIRS=include libiberty send-pr
270gnats.tar.bz2: $(DIST_SUPPORT) $(GNATS_SUPPORT_DIRS) gnats
271        $(MAKE) -f  $(SELF) taz TOOL=gnats \
272                MD5PROG="$(MD5PROG)" \
273                SUPPORT_FILES="$(GNATS_SUPPORT_DIRS)"
274
275.PHONY: gdb.tar.bz2
276GDB_SUPPORT_DIRS= bfd include libiberty mmalloc opcodes readline sim utils intl
277gdb.tar.bz2: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb
278        $(MAKE) -f $(SELF) gdb-taz TOOL=gdb \
279                MD5PROG="$(MD5PROG)" \
280                SUPPORT_FILES="$(GDB_SUPPORT_DIRS)"
281.PHONY: gdb.tar
282gdb.tar: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb
283        $(MAKE) -f $(SELF) gdb-tar TOOL=gdb \
284                MD5PROG="$(MD5PROG)" \
285                SUPPORT_FILES="$(GDB_SUPPORT_DIRS)"
286
287DEJAGNU_SUPPORT_DIRS=  tcl expect libiberty
288.PHONY: dejagnu.tar.bz2
289dejagnu.tar.bz2: $(DIST_SUPPORT) $(DEJAGNU_SUPPORT_DIRS) dejagnu
290        $(MAKE) -f $(SELF) gdb-taz TOOL=dejagnu \
291                MD5PROG="$(MD5PROG)" \
292                SUPPORT_FILES="$(DEJAGNU_SUPPORT_DIRS)"
293.PHONY: dejagnu.tar
294dejagnu.tar: $(DIST_SUPPORT) $(DEJAGNU_SUPPORT_DIRS) dejagnu
295        $(MAKE) -f $(SELF) gdb-tar TOOL=dejagnu \
296                MD5PROG="$(MD5PROG)" \
297                SUPPORT_FILES="$(DEJAGNU_SUPPORT_DIRS)"
298
299.PHONY: gdb+dejagnu.tar.bz2
300GDBD_SUPPORT_DIRS= $(GDB_SUPPORT_DIRS) tcl expect dejagnu
301gdb+dejagnu.tar.bz2: $(DIST_SUPPORT) $(GDBD_SUPPORT_DIRS) gdb
302        $(MAKE) -f $(SELF) gdb-taz TOOL=gdb PACKAGE=gdb+dejagnu \
303                MD5PROG="$(MD5PROG)" \
304                SUPPORT_FILES="$(GDBD_SUPPORT_DIRS)"
305.PHONY: gdb+dejagnu.tar
306gdb+dejagnu.tar: $(DIST_SUPPORT) $(GDBD_SUPPORT_DIRS) gdb
307        $(MAKE) -f $(SELF) gdb-tar TOOL=gdb PACKAGE=gdb+dejagnu \
308                MD5PROG="$(MD5PROG)" \
309                SUPPORT_FILES="$(GDBD_SUPPORT_DIRS)"
310
311.PHONY: insight.tar.bz2
312INSIGHT_SUPPORT_DIRS= $(GDB_SUPPORT_DIRS) tcl tk itcl tix libgui
313insight.tar.bz2: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb
314        $(MAKE) -f $(SELF) gdb-taz TOOL=gdb PACKAGE=insight \
315                MD5PROG="$(MD5PROG)" \
316                SUPPORT_FILES="$(INSIGHT_SUPPORT_DIRS)"
317.PHONY: insight.tar
318insight.tar: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb
319        $(MAKE) -f $(SELF) gdb-tar TOOL=gdb PACKAGE=insight \
320                MD5PROG="$(MD5PROG)" \
321                SUPPORT_FILES="$(INSIGHT_SUPPORT_DIRS)"
322
323.PHONY: insight+dejagnu.tar.bz2
324INSIGHTD_SUPPORT_DIRS= $(INSIGHT_SUPPORT_DIRS) expect dejagnu
325insight+dejagnu.tar.bz2: $(DIST_SUPPORT) $(INSIGHTD_SUPPORT_DIRS) gdb
326        $(MAKE) -f $(SELF) gdb-taz TOOL=gdb PACKAGE="insight+dejagnu" \
327                MD5PROG="$(MD5PROG)" \
328                SUPPORT_FILES="$(INSIGHTD_SUPPORT_DIRS)"
329.PHONY: insight+dejagnu.tar
330insight+dejagnu.tar: $(DIST_SUPPORT) $(INSIGHTD_SUPPORT_DIRS) gdb
331        $(MAKE) -f $(SELF) gdb-tar TOOL=gdb PACKAGE="insight+dejagnu" \
332                MD5PROG="$(MD5PROG)" \
333                SUPPORT_FILES="$(INSIGHTD_SUPPORT_DIRS)"
334
335.NOEXPORT:
336MAKEOVERRIDES=
Note: See TracBrowser for help on using the repository browser.