* mpw-config.in: Calculate underscore and put into makefile
authorStan Shebs <shebs@codesourcery.com>
Fri, 29 Sep 1995 03:07:08 +0000 (03:07 +0000)
committerStan Shebs <shebs@codesourcery.com>
Fri, 29 Sep 1995 03:07:08 +0000 (03:07 +0000)
fragment, generate config.h.
* mpw-make.sed: New file, sed commands to edit Unix makefile
into MPW syntax.
* mpw-make.in: Remove.
* mac-binutils.r: New file, Mac resources.

binutils/mac-binutils.r [new file with mode: 0644]
binutils/mpw-config.in
binutils/mpw-make.in [deleted file]
binutils/mpw-make.sed [new file with mode: 0644]

diff --git a/binutils/mac-binutils.r b/binutils/mac-binutils.r
new file mode 100644 (file)
index 0000000..8516237
--- /dev/null
@@ -0,0 +1,42 @@
+/* Resources for GNU binutils. */
+
+#include "SysTypes.r"
+
+/* Version resources. */
+
+resource 'vers' (1)  {
+       0,
+       0,
+       0,
+       0,
+       verUs,
+       VERSION_STRING,
+       VERSION_STRING  " (c) 1986-95 FSF, Inc. "
+};
+
+resource 'vers' (2, purgeable)  {
+       0,
+       0,
+       0,
+       0,
+       verUs,
+       VERSION_STRING,
+       "binutils " /* fill in major/minor versions */ "for MPW"
+};
+
+#ifdef WANT_CFRG
+
+#include "CodeFragmentTypes.r"
+
+resource 'cfrg' (0) {
+       {
+               kPowerPC,
+               kFullLib,
+               kNoVersionNum, kNoVersionNum,
+               0,0,
+               kIsApp, kOnDiskFlat, kZeroOffset, kWholeFork,
+               PROG_NAME
+       }
+};
+
+#endif /* WANT_CFRG */
index 50e22b86e262cb41fe8b0a1171a3ab2546159e1d..90ea628fb23b8259d71439fee911e620969336e0 100644 (file)
@@ -6,9 +6,18 @@ Set target_arch `echo {target_canonical} | sed -e 's/-.*-.*//'`
 
 Set archname ARCH_{target_arch}
 
-Echo '# From mpw-config.in'       > "{o}"mk.tmp
+Set underscore 0
 
-Echo "ARCHDEFS = -d" {archname}  >> "{o}"mk.tmp
-Echo "TDEFINES = "              >> "{o}"mk.tmp
+If "{target_canonical}" =~ /sh-hitachi-hms/
+       Set underscore 1
+End If
 
-Echo '# End from mpw-config.in'  >> "{o}"mk.tmp
+Echo '# From mpw-config.in'                             > "{o}"mk.tmp
+Echo "ARCHDEFS = -d" {archname}                                >> "{o}"mk.tmp
+Echo "UNDERSCORE = " {underscore}                      >> "{o}"mk.tmp
+Echo '# End from mpw-config.in'                                >> "{o}"mk.tmp
+
+Echo '/* config.h.  Generated by mpw-configure.  */'    > "{o}"config.new
+Echo '#include "mpw.h"'                                        >> "{o}"config.new
+
+MoveIfChange "{o}"config.new "{o}"config.h
diff --git a/binutils/mpw-make.in b/binutils/mpw-make.in
deleted file mode 100644 (file)
index d31d1c4..0000000
+++ /dev/null
@@ -1,550 +0,0 @@
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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 cplusfilt 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=cplusfilt
-
-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 "{INCDIR}":mpw: -i ::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} $<
-
-#\f
-## 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`"
-
-#\f
-## 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 {BFD}
-       Link    {LDFLAGS} -o {NM_PROG} "{o}"nm.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}"cplus-dem.c.o \Option-f  "{BASEDIR}"libiberty:cplus-dem.c
-       {CC} -d MAIN -d VERSION='"{VERSION}"' {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}"arparse.c \Option-f  "{s}"arparse.y
-       {BISON} {BISONFLAGS}  "{srcdir}"arparse.y
-       Rename -y y.tab.c "{o}"arparse.c
-       Rename -y y.tab.h "{o}"arparse.h
-
-"{o}"arparse.h \Option-f  "{o}"arparse.c
-
-"{o}"arlex.c \Option-f  "{s}"arlex.l
-       {LEX} {LEX_OPTIONS} "{srcdir}"arlex.l
-       Rename -y :lex.yy.c "{o}"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  "{o}"arparse.c ::bfd:bfd.h "{INCDIR}":ansidecl.h \Option-d
-  "{INCDIR}":obstack.h "{s}"arsup.h 
-"{o}"arlex.c.o \Option-f  :arlex.c "{o}"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 install-only
-
-install-only \Option-f
-       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
-       For prog in {PROGS}
-               Duplicate -y :{prog} "{bindir}"{prog}
-       End For
-
-# 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 ::' <tmp >::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  #__<hostname>__#
-# 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 '\aSpecify "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 "\aMakefile 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  "^#\f" \Option-x\Option-x\Option-x
-### End \Option-f  \Option-x\Option-x\Option-x
-### end of file
diff --git a/binutils/mpw-make.sed b/binutils/mpw-make.sed
new file mode 100644 (file)
index 0000000..3f28e44
--- /dev/null
@@ -0,0 +1,68 @@
+# Sed commands to finish translating the binutils Unix makefile into MPW syntax.
+
+# Define undefined makefile variables.
+/^#### .*/a\
+\
+BUILD_NLMCONV = \
+BUILD_SRCONV = \
+SYSINFO_PROG = \
+BUILD_DLLTOOL = \
+\
+"{o}"underscore.c.o \\Option-f "{o}"underscore.c\
+
+# Whack out unused host define bits.
+/HDEFINES/s/@HDEFINES@//
+
+/BUILD_NLMCONV/s/@BUILD_NLMCONV@//
+/BUILD_SRCONV/s/@BUILD_SRCONV@//
+/BUILD_DLLTOOL/s/@BUILD_DLLTOOL@//
+
+/UNDERSCORE/s/@UNDERSCORE@/{UNDERSCORE}/
+
+# Whack out target makefile fragment.
+/target_makefile_fragment/s/target_makefile_fragment@//
+
+# Fix and add to the include paths.
+/^INCLUDES = .*$/s/$/ -i "{INCDIR}":mpw: -i ::extra-include:/
+/BFDDIR/s/-i {BFDDIR} /-i "{BFDDIR}": /
+/INCDIR/s/-i {INCDIR} /-i "{INCDIR}": /
+
+# Use byacc instead of bison (for now anyway).
+/BISON/s/^BISON =.*$/BISON = byacc/
+#/BISONFLAGS/s/^BISONFLAGS =.*$/BISONFLAGS = /
+
+# '+' is a special char to MPW, don't use it ever.
+/c++filt/s/c++filt/cplusfilt/
+
+/^{[A-Z]*_PROG}/s/$/ "{s}"mac-binutils.r/
+/{[A-Z]*_PROG}\.r/s/{[A-Z]*_PROG}\.r/mac-binutils.r/
+
+# Fix the locations of generated files.
+/config/s/"{s}"config\.h/"{o}"config.h/g
+/config/s/^config\.h/"{o}"config\.h/
+/underscore/s/"{s}"underscore\.c/"{o}"underscore.c/g
+/underscore/s/^underscore\.c/"{o}"underscore\.c/
+
+# Fix paths to generated source files.
+/lex.yy.c/s/"{s}"lex\.yy\.c/"{o}"lex.yy.c/g
+/lex.yy.c/s/^lex\.yy\.c/"{o}"lex.yy.c/
+/arlex.c/s/"{s}"arlex\.c/"{o}"arlex.c/g
+/arlex.c/s/^arlex\.c/"{o}"arlex.c/
+/arparse.c/s/"{s}"arparse\.c/"{o}"arparse.c/g
+/arparse.c/s/^arparse\.c/"{o}"arparse.c/
+/arparse.h/s/"{s}"arparse\.h/"{o}"arparse.h/g
+/arparse.h/s/^arparse\.h/"{o}"arparse.h/
+
+/"{s}"{INCDIR}/s/"{s}"{INCDIR}/"{INCDIR}"/g
+
+# The generated lexer may include an ifdef for older Mac compilers that
+# needs to work with newer compilers also.
+/lex.yy.c/s/Rename -y \([^ ]*\) \([^ ]*\)$/sed -e 's,ifdef macintosh,if defined(macintosh) || defined(__MWERKS__),' \1 > \2/
+
+# Fix an over-eagerness.
+/echo.*WARNING.*This file/s/'.*'/' '/
+
+# Remove un-useful targets.
+/^Makefile \\Option-f/,/^$/d
+/^"{o}"config.h \\Option-f/,/^$/d
+/^config.status \\Option-f/,/^$/d