From d1e46898ffce600fb1412190967ff04524d2153b Mon Sep 17 00:00:00 2001 From: Stan Shebs Date: Fri, 29 Sep 1995 03:07:08 +0000 Subject: [PATCH] * mpw-config.in: Calculate underscore and put into makefile 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 | 42 +++ binutils/mpw-config.in | 17 +- binutils/mpw-make.in | 550 ---------------------------------------- binutils/mpw-make.sed | 68 +++++ 4 files changed, 123 insertions(+), 554 deletions(-) create mode 100644 binutils/mac-binutils.r delete mode 100644 binutils/mpw-make.in create mode 100644 binutils/mpw-make.sed diff --git a/binutils/mac-binutils.r b/binutils/mac-binutils.r new file mode 100644 index 00000000000..8516237b5ea --- /dev/null +++ b/binutils/mac-binutils.r @@ -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 */ diff --git a/binutils/mpw-config.in b/binutils/mpw-config.in index 50e22b86e26..90ea628fb23 100644 --- a/binutils/mpw-config.in +++ b/binutils/mpw-config.in @@ -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 index d31d1c42079..00000000000 --- a/binutils/mpw-make.in +++ /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} $< - -# -## 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 {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 ::' ::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 diff --git a/binutils/mpw-make.sed b/binutils/mpw-make.sed new file mode 100644 index 00000000000..3f28e441a56 --- /dev/null +++ b/binutils/mpw-make.sed @@ -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 -- 2.30.2