From: Stan Shebs Date: Sun, 23 Jan 1994 00:34:31 +0000 (+0000) Subject: Sat Jan 22 16:25:09 1994 Stan Shebs (shebs@andros.cygnus.com) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5fd519935375244703d86b9ceaa71a041afb60ff;p=binutils-gdb.git Sat Jan 22 16:25:09 1994 Stan Shebs (shebs@andros.cygnus.com) * mpw-build.in: New file, build script fragment for MPW make. * mpw-make.in: New file, MPW makefile fragment for binutils. (Normally automatically generated from Makefile.in.) --- diff --git a/binutils/.Sanitize b/binutils/.Sanitize index ed17d8c313b..2cf1e666bf3 100644 --- a/binutils/.Sanitize +++ b/binutils/.Sanitize @@ -1,7 +1,6 @@ -# Sanitize.in for devo. -# +# Sanitize.in for devo/binutils -# Each directory to survive it's way into a release will need a file +# Each directory to survive its way into a release will need a file # like this one called "./.Sanitize". All keyword lines must exist, # and must exist in the order specified by this file. Each directory # in the tree will be processed, top down, in the following order. @@ -16,6 +15,11 @@ Do-first: +if ( echo $* | grep keep\-mpw > /dev/null ) ; then + keep_these_too="mpw-build.in mpw-make.in ChangeLog.mpw" +else + lose_these_too="mpw-build.in mpw-make.in ChangeLog.mpw" +fi # All files listed between the "Things-to-keep:" line and the # "Files-to-sed:" line will be kept. All other files will be removed. diff --git a/binutils/ChangeLog.mpw b/binutils/ChangeLog.mpw new file mode 100644 index 00000000000..de7e16eddc0 --- /dev/null +++ b/binutils/ChangeLog.mpw @@ -0,0 +1,7 @@ +Sat Jan 22 16:25:09 1994 Stan Shebs (shebs@andros.cygnus.com) + + * mpw-build.in: New file, build script fragment for MPW make. + * mpw-make.in: New file, MPW makefile fragment for binutils. + (Normally automatically generated from Makefile.in.) + + diff --git a/binutils/mpw-build.in b/binutils/mpw-build.in new file mode 100644 index 00000000000..aa037e893c1 --- /dev/null +++ b/binutils/mpw-build.in @@ -0,0 +1,49 @@ +# Script fragment to build MPW binutils. + +Set BuildTarget "none" + +Loop + Break If {#} == 0 + If "{1}" =~ /--srcdir/ + Set srcdir "{2}" + Shift 1 + Else If "{1}" =~ /--topdir/ + Set topsrcdir "{2}" + Shift 1 + Else If "{1}" =~ /--prefix/ + Set prefix "{2}" + Shift 1 + Else If "{1}" =~ /-v/ + Set verify 1 + Set verifystr "-v" + Shift 1 + Else + If "{BuildTarget}" =~ /none/ + Set BuildTarget "{1}" + Else + Echo Only one build target allowed, ignoring "{1}" + End If + End If + Shift 1 +End Loop + +Set libsubdir "{libdir}"gcc-lib:"{target_canonical}":"{version}": + +If "{BuildTarget}" =~ /all/ + Echo "Set Echo 1" >all.makeout + Make >>all.makeout + all.makeout + Delete all.makeout +Else If "{BuildTarget}" =~ /install/ + If "`Exists "{prefix}"`" == "" + Echo "{prefix}" does not exist, cannot install anything + Exit 1 + End If + If "`Exists "{bindir}"`" == "" + NewFolder "{bindir}" + End If + # Need to copy all the tools + Duplicate -y :objdump "{bindir}"objdump +Else + Echo {BuildTarget} not a valid build target +End If diff --git a/binutils/mpw-make.in b/binutils/mpw-make.in new file mode 100644 index 00000000000..24bc9f0fcb2 --- /dev/null +++ b/binutils/mpw-make.in @@ -0,0 +1,554 @@ + +s = "{srcdir}" + +o = : + +# File in object dir can come from either the current dir or srcdir. + +"{o}" \Option-f : "{s}" + +# Default rule that puts each file into separate segment. + +.c.o \Option-f .c + {CC} {DepDir}{Default}.c {ALL_CFLAGS} {SymOptions} -s {Default} -o {TargDir}{Default}.c.o + +# Makefile for GNU binary-file utilities +# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc. + +# This file is part of GNU binutils. + +# 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 = {exec_prefix}:{target_alias} + +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 = Duplicate -y +INSTALL_PROGRAM = {INSTALL} +INSTALL_DATA = {INSTALL} +INSTALL_XFORM = {INSTALL} -t='{program_transform_name}' +INSTALL_XFORM1 = {INSTALL_XFORM} -b=.1 + +AR = ar +AR_FLAGS = qv +#CFLAGS = -g +MAKEINFO = makeinfo +TEXI2DVI = texi2dvi +RANLIB = ranlib +BISONFLAGS = -d +TEXI2ROFF=texi2roff +MAKEOVERRIDES= + +NM_FOR_TARGET = nm +NM = {NM_FOR_TARGET} +SYMLINK = ln -s + +BISON = byacc +# Comment these out if using lex. +LEX_OPTIONS = -i -Cem +LEX = flex + +# Distribution version +VERSION=cygnus-2.3.1 +# Distribution name +DIST_NAME=binutils-{VERSION} + +# version=`:::gcc:gcc -dumpversion` + +# Where to find texinfo.tex to format docn with TeX +TEXIDIR = "{srcdir}":texinfo + +MANPAGES= ar nm objdump ranlib size strings strip c++filt objcopy nlmconv + +#CC=gcc -Wall +# these two are almost the same program +AR_PROG=ar +RANLIB_PROG=ranlib + +# objcopy and strip should be the same program +OBJCOPY_PROG=objcopy +STRIP_PROG=strip + +STRINGS_PROG=strings + +# These should all be the same program too. +SIZE_PROG=size +NM_PROG=nm +OBJDUMP_PROG=objdump + +# This is the demangler, as a standalone program. +DEMANGLER_PROG=c++filt + +NLMCONV_PROG=nlmconv + +PROGS = {SIZE_PROG} {OBJDUMP_PROG} {NM_PROG} {AR_PROG} {STRINGS_PROG} {STRIP_PROG} {RANLIB_PROG} {DEMANGLER_PROG} {OBJCOPY_PROG} +STAGESTUFF = {PROGS} "{o}"\Option-x.c.o +# Files that can be generated, but should be in the distribution. +DISTSTUFF=arparse.c :arlex.c "{s}"nlmheader.c info + +BASEDIR = "{srcroot}" +BFDDIR = {BASEDIR}bfd +INCDIR = {BASEDIR}include +INCLUDES = -i "{srcroot}"extra-include -i : -i {srcdir} -i ::bfd: -i {BFDDIR} -i {INCDIR} + +#### host and target dependant Makefile fragments come in here. +### + +ALL_CFLAGS = {INCLUDES} {HDEFINES} {TDEFINES} {CFLAGS} + +"{o}".c.c.o \Option-f + {CC} -c {ALL_CFLAGS} $< + +# +## Random definitions +# Hopefully all these may be flushed once we get configuration down pat. + +# alloca only needed for systems which don't have it and when cc != gcc. +# ALLOCA = "{o}"alloca.c.o + +# nm tries to malloc enough space for the string table. The old GNU malloc +# rounds this up to a power of two (e.g. 5M becomes 8M), and so it might +# fail unnecessarily. I've also seen some Unix malloc's fail, even when +# there is enough memory. So use the new GNU malloc. +# MALLOC = "{o}"gmalloc.c.o +# Use this if the system malloc is good enough. +MALLOC = + +# Use the GNU getopt unless you have problems with it. +# The IRIS version could probably benefit from being assembled with +# libmalloc rather than the ordinary malloc. +LIBIBERTY = ::libiberty:libiberty.o + +# Code shared by all the binutils. +BULIBS = "{o}"bucomm.c.o "{o}"version.c.o "{o}"filemode.c.o + +ADDL_LIBS = {MALLOC} {BULIBS} {BFD} {LIBIBERTY} + +BFD = ::bfd:libbfd.o +OPCODES = ::opcodes:libopcodes.o + +RUNTEST = runtest +RUNTEST_FLAGS = +FLAGS_TO_PASS = \Option-d + "CC={CC}" \Option-d + "CFLAGS={CFLAGS}" \Option-d + "RUNTEST={RUNTEST}" \Option-d + "RUNTEST_FLAGS={RUNTEST_FLAGS} \Option-d + SIZE=`if [ -f $$rootme:{SIZE_PROG} ] ; then echo $$rootme:{SIZE_PROG} ; else echo {SIZE_PROG}; fi` \Option-d + OBJCOPY=`if [ -f $$rootme:{OBJCOPY_PROG} ] ; then echo $$rootme:{OBJCOPY_PROG} ; else echo {OBJCOPY_PROG}; fi` \Option-d + NM=`if [ -f $$rootme:{NM_PROG} ] ; then echo $$rootme:{NM_PROG} ; else echo {NM_PROG}; fi` \Option-d + AR=`if [ -f $$rootme:{AR_PROG} ] ; then echo $$rootme:{AR_PROG} ; else echo {AR_PROG}; fi` \Option-d + OBJDUMP=`if [ -f $$rootme:{OBJDUMP_PROG} ] ; then echo $$rootme:{OBJDUMP_PROG} ; else echo {OBJDUMP_PROG}; fi` \Option-d + STRINGS=`if [ -f $$rootme:{STRINGS_PROG} ] ; then echo $$rootme:{STRINGS_PROG} ; else echo {STRINGS_PROG}; fi` \Option-d + STRIP=`if [ -f $$rootme:{STRIP_PROG} ] ; then echo $$rootme:{STRIP_PROG} ; else echo {STRIP_PROG}; fi` \Option-d + RANLIB=`if [ -f $$rootme:{RANLIB_PROG} ] ; then echo $$rootme:{RANLIB_PROG} ; else echo {RANLIB_PROG}; fi` \Option-d + DEMANGLE=`if [ -f $$rootme:{DEMANGLER_PROG} ] ; then echo $$rootme:{DEMANGLER_PROG} ; else echo {DEMANGLER_PROG}; fi`" + +# +## The rules + +all \Option-f {ADDL_LIBS} {PROGS} + +testsuite \Option-f + if [ -f testsuite:Makefile.in ]; then \Option-d + (rootme=`pwd`: ; export rootme ; \Option-d + rootsrc=`cd {srcdir}; pwd`: ; export rootsrc ; \Option-d + cd testsuite; {MAKE} FLAGS_TO_PASS={FLAGS_TO_PASS}); \Option-d + else true ; fi + +check \Option-f force + rootme=`pwd`; export rootme; cd testsuite ; \Option-d + {MAKE} check {FLAGS_TO_PASS} +# :bin:sh "{srcdir}"sanity.sh . + +installcheck \Option-f + :bin:sh "{srcdir}"sanity.sh {bindir} + +info \Option-f binutils.info + +dvi \Option-f binutils.dvi + +{SIZE_PROG} \Option-f {ADDL_LIBS} "{o}"size.c.o {BFD} + Link {LDFLAGS} -o {SIZE_PROG} "{o}"size.c.o {ADDL_LIBS} {EXTRALIBS} + +{OBJCOPY_PROG} \Option-f {ADDL_LIBS} "{o}"objcopy.c.o "{o}"not-strip.c.o {BFD} + Link {LDFLAGS} -o {OBJCOPY_PROG} "{o}"objcopy.c.o "{o}"not-strip.c.o {ADDL_LIBS} {EXTRALIBS} + +{STRINGS_PROG} \Option-f {ADDL_LIBS} "{o}"strings.c.o {BFD} + Link {LDFLAGS} -o {STRINGS_PROG} "{o}"strings.c.o {ADDL_LIBS} {EXTRALIBS} + +{STRIP_PROG} \Option-f {ADDL_LIBS} "{o}"objcopy.c.o "{o}"is-strip.c.o {BFD} + Link {LDFLAGS} -o {STRIP_PROG} "{o}"objcopy.c.o "{o}"is-strip.c.o {ADDL_LIBS} {EXTRALIBS} + +{NM_PROG} \Option-f {ADDL_LIBS} "{o}"nm.c.o "{o}"demangle.c.o {BFD} + Link {LDFLAGS} -o {NM_PROG} "{o}"nm.c.o "{o}"demangle.c.o {ADDL_LIBS} {EXTRALIBS} + +{OBJDUMP_PROG} \Option-f {ADDL_LIBS} "{o}"objdump.c.o {BFD} {OPCODES} + Link {LDFLAGS} -o {OBJDUMP_PROG} "{o}"objdump.c.o {OPCODES} {ADDL_LIBS} {EXTRALIBS} + +"{o}"objdump.c.o \Option-f "{s}"objdump.c config.status + {CC} {INCLUDES} {HDEFINES} {TDEFINES} {ARCHDEFS} {CFLAGS} "{srcdir}"objdump.c -o "{o}"objdump.c.o + +:underscore.c \Option-f + echo "int prepends_underscore = 0;" >underscore.c + +"{o}"version.c.o \Option-f "{s}"version.c + {CC} {INCLUDES} {HDEFINES} {TDEFINES} -d VERSION='"{VERSION}"' {CFLAGS} "{srcdir}"version.c -o "{o}"version.c.o + +"{o}"demangle.c.o \Option-f "{BASEDIR}"libiberty:cplus-dem.c + {CC} {INCLUDES} {HDEFINES} {TDEFINES} {CFLAGS} "{BASEDIR}"libiberty:cplus-dem.c -o "{o}"cplus-dem.c.o + Rename -y "{o}"cplus-dem.c.o "{o}"demangle.c.o + +# For parallel compiling, depend on "{o}"demangle.c.o so that one gets done first. +"{o}"cplus-dem.c.o \Option-f "{BASEDIR}"libiberty:cplus-dem.c "{INCDIR}":getopt.h "{o}"demangle.c.o + {CC} -d MAIN {INCLUDES} {HDEFINES} {TDEFINES} {CFLAGS} "{BASEDIR}"libiberty:cplus-dem.c -o "{o}"cplus-dem.c.o + +{DEMANGLER_PROG} \Option-f "{o}"cplus-dem.c.o {LIBIBERTY} "{o}"underscore.c.o "{o}"version.c.o + Link {LDFLAGS} -o {DEMANGLER_PROG} "{o}"cplus-dem.c.o {LIBIBERTY} {EXTRALIBS} "{o}"underscore.c.o "{o}"version.c.o + +:arparse.h :arparse.c \Option-f "{s}"arparse.y + {BISON} {BISONFLAGS} "{srcdir}"arparse.y + Rename -y y.tab.c :arparse.c + Rename -y y.tab.h :arparse.h + +:arlex.c \Option-f "{s}"arlex.l + {LEX} {LEX_OPTIONS} "{srcdir}"arlex.l + Rename -y :lex.yy.c :arlex.c + +{AR_PROG} \Option-f {ADDL_LIBS} "{o}"ar.c.o "{o}"arparse.c.o "{o}"arlex.c.o "{o}"not-ranlib.c.o {BFD} "{o}"arsup.c.o + Link {LDFLAGS} -o {AR_PROG} "{o}"ar.c.o "{o}"arparse.c.o "{o}"arlex.c.o "{o}"arsup.c.o "{o}"not-ranlib.c.o {ADDL_LIBS} {EXTRALIBS} + +{RANLIB_PROG} \Option-f {ADDL_LIBS} "{o}"ar.c.o "{o}"is-ranlib.c.o "{o}"arparse.c.o "{o}"arlex.c.o "{o}"arsup.c.o {BFD} + Link {LDFLAGS} -o {RANLIB_PROG} "{o}"ar.c.o "{o}"arparse.c.o "{o}"arlex.c.o "{o}"arsup.c.o "{o}"is-ranlib.c.o {ADDL_LIBS} {EXTRALIBS} + +# This rule creates a single binary that switches between ar and ranlib +# by looking at argv[0]. Use this kludge to save some disk space. +# However, you have to install things by hand. +# (That is after 'make install', replace the installed ranlib by a link to ar.) + +# Alternatively, you can install ranlib.sh as ranlib. + +ar_with_ranlib \Option-f {ADDL_LIBS} "{o}"ar.c.o "{o}"maybe-ranlib.c.o {BFD} + Link {LDFLAGS} -o {AR_PROG} "{o}"ar.c.o "{o}"maybe-ranlib.c.o {ADDL_LIBS} {EXTRALIBS} + Delete -y {RANLIB_PROG} + # ln {AR_PROG} {RANLIB_PROG} + +# objcopy and strip in one binary that uses argv[0] to decide its action. + +objcopy_with_strip \Option-f {ADDL_LIBS} "{o}"objcopy.c.o "{o}"maybe-strip.c.o {BFD} + Link {LDFLAGS} -o {OBJCOPY_PROG} "{o}"objcopy.c.o "{o}"maybe-strip.c.o {ADDL_LIBS} {EXTRALIBS} + Delete -y {STRIP_PROG} + # ln {OBJCOPY_PROG} {STRIP_PROG} + +nlmheader.c \Option-f "{s}"nlmheader.y + {BISON} "{srcdir}"nlmheader.y + Delete -y "{s}"nlmheader.c + Rename -y y.tab.c "{s}"nlmheader.c + +"{o}"nlmconv.c.o \Option-f "{s}"nlmconv.c + ldname=`t='{program_transform_name}'; echo ld | sed -e "" $$t`; \Option-d + {CC} -d LD_NAME="\"${ldname}\"" {INCLUDES} {HDEFINES} {TDEFINES} {CFLAGS} "{srcdir}"nlmconv.c -o "{o}"nlmconv.c.o + +{NLMCONV_PROG} \Option-f "{o}"nlmconv.c.o "{o}"nlmheader.c.o {ADDL_LIBS} {BFD} + Link {LDFLAGS} -o $@ "{o}"nlmconv.c.o "{o}"nlmheader.c.o {ADDL_LIBS} {EXTRALIBS} + +# This list of dependencies was generated by doing a make with gcc -MM +# saving the output in a file and removing the gcc commands +# changing "::::devo:binutils:::bfd" to "{BFDDIR}" +# removing "::::devo:binutils:" +# changing "::include" to "{INCDIR}" + +"{o}"bucomm.c.o \Option-f "{s}"bucomm.c ::bfd:bfd.h "{INCDIR}":ansidecl.h \Option-d + "{INCDIR}":obstack.h ::bfd:sysdep.h "{BFDDIR}":hosts:std-host.h \Option-d + "{INCDIR}":fopen-same.h "{s}"bucomm.h +"{o}"filemode.c.o \Option-f "{s}"filemode.c ::bfd:bfd.h "{INCDIR}":ansidecl.h \Option-d + "{INCDIR}":obstack.h ::bfd:sysdep.h "{BFDDIR}":hosts:std-host.h \Option-d + "{INCDIR}":fopen-same.h +"{o}"size.c.o \Option-f "{s}"size.c ::bfd:bfd.h "{INCDIR}":ansidecl.h \Option-d + "{INCDIR}":obstack.h ::bfd:sysdep.h "{BFDDIR}":hosts:std-host.h \Option-d + "{INCDIR}":fopen-same.h "{INCDIR}":getopt.h +"{o}"objdump.c.o \Option-f "{s}"objdump.c ::bfd:bfd.h "{INCDIR}":ansidecl.h \Option-d + "{INCDIR}":obstack.h ::bfd:sysdep.h "{BFDDIR}":hosts:std-host.h \Option-d + "{INCDIR}":fopen-same.h "{INCDIR}":getopt.h \Option-d + "{INCDIR}":dis-asm.h "{INCDIR}":aout:aout64.h \Option-d + "{INCDIR}":elf:internal.h {INCDIR}:aout:stab.def +"{o}"nm.c.o \Option-f "{s}"nm.c ::bfd:bfd.h "{INCDIR}":ansidecl.h \Option-d + "{INCDIR}":obstack.h ::bfd:sysdep.h "{BFDDIR}":hosts:std-host.h \Option-d + "{INCDIR}":fopen-same.h "{s}"bucomm.h "{INCDIR}":getopt.h \Option-d + "{INCDIR}":aout:stab_gnu.h {INCDIR}:aout:stab.def \Option-d + "{INCDIR}":aout:ranlib.h "{INCDIR}":demangle.h +"{o}"ar.c.o \Option-f "{s}"ar.c ::bfd:bfd.h "{INCDIR}":ansidecl.h \Option-d + "{INCDIR}":obstack.h ::bfd:sysdep.h "{BFDDIR}":hosts:std-host.h \Option-d + "{INCDIR}":fopen-same.h "{s}"bucomm.h "{INCDIR}":aout:ar.h \Option-d + "{BFDDIR}":libbfd.h "{s}"arsup.h +"{o}"arparse.c.o \Option-f :arparse.c ::bfd:bfd.h "{INCDIR}":ansidecl.h \Option-d + "{INCDIR}":obstack.h "{s}"arsup.h +"{o}"arlex.c.o \Option-f :arlex.c :arparse.h +"{o}"not-ranlib.c.o \Option-f "{s}"not-ranlib.c +"{o}"arsup.c.o \Option-f "{s}"arsup.c ::bfd:bfd.h "{INCDIR}":ansidecl.h \Option-d + "{INCDIR}":obstack.h "{s}"arsup.h "{s}"bucomm.h +"{o}"strings.c.o \Option-f "{s}"strings.c ::bfd:bfd.h "{INCDIR}":ansidecl.h \Option-d + "{INCDIR}":obstack.h "{s}"bucomm.h +"{o}"objcopy.c.o \Option-f "{s}"objcopy.c ::bfd:bfd.h "{INCDIR}":ansidecl.h \Option-d + "{INCDIR}":obstack.h ::bfd:sysdep.h "{BFDDIR}":hosts:std-host.h \Option-d + "{INCDIR}":fopen-same.h "{s}"bucomm.h +"{o}"is-strip.c.o \Option-f "{s}"is-strip.c +"{o}"is-ranlib.c.o \Option-f "{s}"is-ranlib.c +"{o}"underscore.c.o \Option-f :underscore.c +"{o}"not-strip.c.o \Option-f "{s}"not-strip.c +"{o}"nlmheader.c.o \Option-f "{s}"nlmheader.c "{s}"nlmconv.h "{INCDIR}":nlm:common.h \Option-d + "{INCDIR}":nlm:internal.h +"{o}"nlmconv.c.o \Option-f "{INCDIR}":nlm:common.h "{INCDIR}":nlm:internal.h \Option-d + "{BFDDIR}":libnlm.h "{s}"bucomm.h + +stage1 \Option-f force + mkdir stage1 + Rename -y {STAGESTUFF} stage1 + +stage2 \Option-f force + mkdir stage2 + Rename -y {STAGESTUFF} stage2 + +stage3 \Option-f force + mkdir stage3 + Rename -y {STAGESTUFF} stage3 + +against=stage2 + +comparison \Option-f force + for i in {STAGESTUFF} ; do cmp $$i {against}:$$i ; done + +de-stage1 \Option-f force + (cd stage1 ; mv -f \Option-x ..) + rmdir stage1 + +de-stage2 \Option-f force + (cd stage2 ; mv -f \Option-x ..) + rmdir stage2 + +de-stage3 \Option-f force + (cd stage3 ; mv -f \Option-x ..) + rmdir stage3 + +###################################################################### +# DOCUMENTATION TARGETS +# TeX output +binutils.dvi \Option-f "{srcdir}"binutils.texi + TEXINPUTS={TEXIDIR} \Option-f $$TEXINPUTS {TEXI2DVI} "{srcdir}"binutils.texi + +# info file for online browsing +binutils.info \Option-f "{srcdir}"binutils.texi + {MAKEINFO} -o binutils.info "{srcdir}"binutils.texi + +# different targets for -ms, -mm, -me +# Try to use a recent texi2roff. v2 was put on prep in jan91. +# If you want an index, see texi2roff doc for postprocessing +# and add -i to texi2roff invocations below. +# Workarounds for texi2roff-2 (probably fixed in later texi2roff's, delete +# corresponding -e lines when later texi2roff's are current) +# + @ifinfo's deleted explicitly due to texi2roff-2 bug w nested constructs. +# + @c's deleted explicitly because texi2roff sees texinfo commands in them +# + @ (that's at-BLANK) not recognized by texi2roff, turned into blank +# + @alphaenumerate is ridiculously new, turned into @enumerate + +# roff output (-ms) +binutils.ms \Option-f "{srcdir}"binutils.texi + sed -e ':\\input texinfo:d' \Option-d + e ':@c TEXI2ROFF-KILL:,:@c END TEXI2ROFF-KILL:d' \Option-d + e ':^end ifinfo:d' \Option-d + e ':^@c:d' \Option-d + e 's:{.\Option-x,,:{:' \Option-d + e 's:@ : :g' \Option-d + e 's:^enumerate:g' \Option-d + e 's:^@end alphaenumerate:@end enumerate:g' \Option-d + "{srcdir}"binutils.texi | \Option-d + {TEXI2ROFF} -ms | \Option-d + sed -e 's:---:\\(em:g' \Option-d + >binutils.ms + +# roff output (-mm) +# '@noindent's removed due to texi2roff-2 mm bug; if yours is newer, +# try leaving them in +binutils.mm \Option-f "{srcdir}"binutils.texi + sed -e ':\\input texinfo:d' \Option-d + e ':@c TEXI2ROFF-KILL:,:@c END TEXI2ROFF-KILL:d' \Option-d + e ':^end ifinfo:d' \Option-d + e ':^@c:d' \Option-d + e 's:{.\Option-x,,:{:' \Option-d + e ':@noindent:d' \Option-d + e 's:@ : :g' \Option-d + e 's:^enumerate:g' \Option-d + e 's:^@end alphaenumerate:@end enumerate:g' \Option-d + "{srcdir}"binutils.texi | \Option-d + {TEXI2ROFF} -mm | \Option-d + sed -e 's:---:\\(em:g' \Option-d + >binutils.mm + +# roff output (-me) +binutils.me \Option-f "{srcdir}"binutils.texi + sed -e ':\\input texinfo:d' \Option-d + e ':@c TEXI2ROFF-KILL:,:@c END TEXI2ROFF-KILL:d' \Option-d + e ':^end ifinfo:d' \Option-d + e ':^@c:d' \Option-d + e 's:{.\Option-x,,:{:' \Option-d + e 's:@ : :g' \Option-d + e 's:^enumerate:g' \Option-d + e 's:^@end alphaenumerate:@end enumerate:g' \Option-d + "{srcdir}"binutils.texi | \Option-d + {TEXI2ROFF} -me | \Option-d + sed -e 's:---:\\(em:g' \Option-d + >binutils.me + + +###################################################################### + +mostlyclean \Option-f + Delete -y "{o}"\Option-x.c.o \Option-x~ \#\Option-x core binutils.?? binutils.??? +clean \Option-f mostlyclean + @if [ -d testsuite ] ; then \Option-d + cd testsuite ; {MAKE} {FLAGS_TO_PASS} clean ; \Option-d + else true; fi + Delete -y {PROGS} :underscore.c +distclean \Option-f + @if [ -d testsuite ] ; then \Option-d + cd testsuite ; {MAKE} {FLAGS_TO_PASS} distclean ; \Option-d + else true; fi + Delete -y Makefile config.status "{s}"sysdep.h "{o}"\Option-x.c.o \Option-x~ \#\Option-x core \Option-d + binutils.?? binutils.??s binutils.aux "{s}"binutils.log binutils.toc +realclean \Option-f clean distclean + Delete -y {DISTSTUFF} TAGS + +etags tags \Option-f TAGS + +TAGS \Option-f force + etags {INCDIR}:\Option-x.h "{srcdir}"\Option-x.[hc] + +install \Option-f all + for i in {PROGS} ; do \Option-d + {INSTALL_XFORM} $$i {bindir}:$$i ; \Option-d + done + for i in {MANPAGES} ; do \Option-d + {INSTALL_XFORM1} "{srcdir}"$$i.1 {man1dir}:$$i.1 ; \Option-d + done + if [ -d {tooldir} ]; then \Option-d + if [ -d {tooldir}:bin ] ; then true ; else mkdir {tooldir}:bin ; fi; \Option-d + for i in nm strip ar ranlib; do \Option-d + Delete -y {tooldir}:bin:$$i; \Option-d + # ln {bindir}:`t='{program_transform_name}'; echo $$i | sed -e "" $$t` {tooldir}:bin:$$i \Option-d + || {INSTALL_PROGRAM} $$i {tooldir}:bin:$$i; \Option-d + done; \Option-d + else true; fi + +# Use binutils.info as the target so that VPATH will DTRT. +# (Use "$<\Option-x" in case the output is multiple files, though.) +install-info \Option-f binutils.info + for i in $<\Option-x ; do \Option-d + {INSTALL_DATA} $$i {infodir}:$$i ; \Option-d + done + +clean-info \Option-f + Delete -y -rf \Option-x.info\Option-x + +# Making a dist \Option-f +# cvs rtag binutils-x-yy ld+utils +# cvs co -r binutils-x-yy ld+utils +# Sanitize +# cd {HERE}; make dist [-f Makefile.in] + +dist \Option-f {DIST_NAME}.tar.z + +diststuff \Option-f {DISTSTUFF} + +{DIST_NAME}.tar.z \Option-f + cd ::..; rm -f {DIST_NAME}; ln -s devo {DIST_NAME} + make diststuff -f Makefile.in + cd ::ld; make diststuff -f Makefile.in + cd ::gprof; make diststuff -f Makefile.in + cd ::texinfo; mv texinfo.tex ..; rm -rf \Option-x; mv ::texinfo.tex . + # Take out texinfo from configurable dirs + Rename -y ::configure.in tmp; \Option-d + sed -e ':^host_tools=:s:texinfo ::' ::configure.in; rm tmp + cd ..; chmod og=u `find . -print` + cd ::..; tar chf - {DIST_NAME} | gzip >{DIST_NAME}.tar.z + Delete -y -rf ::::{DIST_NAME} + +#----------------------------------------------------------------------------- +# 'STANDARD' GNU:960 TARGETS BELOW THIS POINT +# +# 'VERSION' file must be present and contain a string of the form "{s}""x.y" +#----------------------------------------------------------------------------- + +ver960.c \Option-f FORCE + Delete -y "{s}"ver960.c + echo "char {TARG}_ver[]= \"{TARG} `cat VERSION`, `date`\";" > "{s}"ver960.c + + +# Dummy target to force execution of dependent targets. +# +force \Option-f + +# Target to uncomment host-specific lines in this makefile. Such lines must +# have the following string beginning in column 1 \Option-f #____# +# Original Makefile is backed up as "{o}"'Makefile.c.old'. +# +# Invoke with \Option-f make make HOST=xxx +# +make \Option-f + @if test {HOST}x = x ; then \Option-d + echo 'Specify "make make HOST=???"'; \Option-d + exit 1; \Option-d + fi ; \Option-d + grep -s "^#The next line was generated by 'make make'" Makefile; \Option-d + if test $$? = 0 ; then \Option-d + echo "Makefile has already been processed with 'make make'";\Option-d + exit 1; \Option-d + fi ; \Option-d + Rename -y Makefile "{o}"Makefile.c.old; \Option-d + echo "#The next line was generated by 'make make'" >Makefile ; \Option-d + echo "HOST={HOST}" >>Makefile ; \Option-d + echo >>Makefile ; \Option-d + sed "s:^#__{HOST}__#::" < "{o}"Makefile.c.old >>Makefile + +Makefile \Option-f "{srcdir}"Makefile.in {host_makefile_frag} {target_makefile_frag} + {SHELL} :config.status + +### Local Variables \Option-f \Option-x\Option-x\Option-x +### mode \Option-f fundamental \Option-x\Option-x\Option-x +### page-delimiter \Option-f "^# " \Option-x\Option-x\Option-x +### End \Option-f \Option-x\Option-x\Option-x +### end of file