* mpw-config.in: Add m68k-opc.c.o to BFD_MACHINES for m68k,
authorStan Shebs <shebs@codesourcery.com>
Wed, 27 Sep 1995 01:53:07 +0000 (01:53 +0000)
committerStan Shebs <shebs@codesourcery.com>
Wed, 27 Sep 1995 01:53:07 +0000 (01:53 +0000)
no longer create sysdep.h, sed ppc-opc.c to work around a
serious Metrowerks C bug.
* mpw-make.in: Remove.
* mpw-make.sed: New file, used by mpw-configure to edit
Makefile.in into an MPW makefile.

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

index 425a6d027a49ca72e5deb7ad0c513018864aca8a..5043f90724d7f6d37a843729351e13be2f2a8941 100644 (file)
@@ -1,15 +1,13 @@
 # Configuration fragment for opcodes.
 
-forward-include "{srcroot}"bfd:hosts:mpw.h sysdep.h
-
 Set target_arch `echo {target_canonical} | sed -e 's/-.*-.*//'`
 
 Set archname ARCH_{target_arch}
 
 If "{target_arch}" =~ /m68k/
-       Set BFD_MACHINES  '"{o}"m68k-dis.c.o'
+       Set BFD_MACHINES  '"{o}"m68k-dis.c.o "{o}"m68k-opc.c.o'
 Else If "{target_arch}" =~ /powerpc/
-       Set BFD_MACHINES  '"{o}"ppc-dis.c.o "{o}"ppc-opc.c.o'
+       Set BFD_MACHINES  '"{o}"ppc-dis.c.o "{o}"hacked_ppc-opc.c.o'
 Else If "{target_arch}" =~ /i386/
        Set BFD_MACHINES  '"{o}"i386-dis.c.o'
 Else If "{target_arch}" =~ /mips/
@@ -18,10 +16,65 @@ Else If "{target_arch}" =~ /sh/
        Set BFD_MACHINES  '"{o}"sh-dis.c.o'
 End If
 
-Echo '# Start from mpw-config.in' > "{o}"mk.tmp
+Echo '# Start from mpw-config.in'                       > "{o}"mk.tmp
+Echo "BFD_MACHINES = " {BFD_MACHINES}                  >> "{o}"mk.tmp
+Echo "ARCHDEFS = -d" {archname}                                >> "{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
 
-Echo "BFD_MACHINES = " {BFD_MACHINES} >> "{o}"mk.tmp
+MoveIfChange "{o}"config.new "{o}"config.h
 
-Echo "ARCHDEFS = -d" {archname} >> "{o}"mk.tmp
+# Work around a deadly Metrowerks C for PPC bug (kills the Mac).
 
-Echo '# End from mpw-config.in' >> "{o}"mk.tmp
+sed -e '/UNUSED/s/(UNUSED + 1)/(1)/' \Option-d
+    -e '/BA/s/(BA + 1)/(2)/' \Option-d
+    -e '/BAT/s/(BAT + 1)/(3)/' \Option-d
+    -e '/BB/s/(BB + 1)/(4)/' \Option-d
+    -e '/BBA/s/(BBA + 1)/(5)/' \Option-d
+    -e '/BD/s/(BD + 1)/(6)/' \Option-d
+    -e '/BDA/s/(BDA + 1)/(7)/' \Option-d
+    -e '/BDM/s/(BDM + 1)/(8)/' \Option-d
+    -e '/BDMA/s/(BDMA + 1)/(9)/' \Option-d
+    -e '/BDP/s/(BDP + 1)/(10)/'  \Option-d
+    -e '/BDPA/s/(BDPA + 1)/(11)/'  \Option-d
+    -e '/BF/s/(BF + 1)/(12)/'  \Option-d
+    -e '/OBF/s/(OBF + 1)/(13)/'  \Option-d
+    -e '/BFA/s/(BFA + 1)/(14)/'  \Option-d
+    -e '/BI/s/(BI + 1)/(15)/'  \Option-d
+    -e '/BO/s/(BO + 1)/(16)/' \Option-d
+    -e '/BOE/s/(BOE + 1)/(17)/' \Option-d
+    -e '/BT/s/(BT + 1)/(18)/' \Option-d
+    -e '/CR/s/(CR + 1)/(19)/' \Option-d
+    -e '/D/s/(D + 1)/(20)/' \Option-d
+    -e '/DS/s/(DS + 1)/(21)/' \Option-d
+    -e '/FL1/s/(FL1 + 1)/(22)/' \Option-d
+    -e '/FL2/s/(FL2 + 1)/(23)/' \Option-d
+    -e '/FLM/s/(FLM + 1)/(24)/' \Option-d
+    -e '/FRA/s/(FRA + 1)/(25)/' \Option-d
+    -e '/FRB/s/(FRB + 1)/(26)/' \Option-d
+    -e '/FRC/s/(FRC + 1)/(27)/' \Option-d
+    -e '/FRS/s/(FRS + 1)/(28)/' \Option-d
+    -e '/FXM/s/(FXM + 1)/(29)/' \Option-d
+    -e '/L/s/(L + 1)/(30)/' \Option-d
+    -e '/LEV/s/(LEV + 1)/(31)/' \Option-d
+    -e '/LI/s/(LI + 1)/(32)/' \Option-d
+    -e '/LIA/s/(LIA + 1)/(33)/' \Option-d
+    -e '/MB/s/(MB + 1)/(34)/' \Option-d
+    -e '/ME/s/(ME + 1)/(35)/' \Option-d
+    -e '/MBE/s/(MBE + 2)/(37)/' \Option-d
+    -e '/MB6/s/(MB6 + 1)/(38)/' \Option-d
+    -e '/NB/s/(NB + 1)/(39)/' \Option-d
+    -e '/NSI/s/(NSI + 1)/(40)/' \Option-d
+    -e '/RA/s/(RA + 1)/(41)/' \Option-d
+    -e '/RAL/s/(RAL + 1)/(42)/' \Option-d
+    -e '/RAM/s/(RAM + 1)/(43)/' \Option-d
+    -e '/RAS/s/(RAS + 1)/(44)/' \Option-d
+    -e '/RB/s/(RB + 1)/(45)/' \Option-d
+    -e '/RBS/s/(RBS + 1)/(46)/' \Option-d
+    -e '/RS/s/(RS + 1)/(47)/' \Option-d
+    -e '/SH/s/(SH + 1)/(48)/' \Option-d
+    -e '/SH6/s/(SH6 + 1)/(49)/' \Option-d
+    -e '/SI/s/(SI + 1)/(50)/' \Option-d
+    "{srcdir}"ppc-opc.c >"{o}"hacked_ppc-opc.c
diff --git a/opcodes/mpw-make.in b/opcodes/mpw-make.in
deleted file mode 100644 (file)
index c01c87e..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-#    Makefile template for Configure for the opcodes library.
-#    Copyright (C) 1990, 1991, 1992 Free Software Foundation, Inc.
-#    Written by Cygnus Support.
-# 
-# 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.
-
-s = "{srcdir}"
-o = :
-
-CC = C -d MPW_C
-
-"{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
-
-HDEFINES =
-TDEFINES =
-CSWITCHES =
-SymOptions =
-
-prefix = :usr:local
-
-exec_prefix = {prefix}
-bindir = {exec_prefix}:bin
-libdir = {exec_prefix}:lib
-
-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
-oldincludedir =
-docdir = {srcdir}:doc
-
-SHELL = :bin:sh
-
-INSTALL = install -c
-INSTALL_PROGRAM = {INSTALL}
-INSTALL_DATA = {INSTALL}
-
-AR = ar
-AR_FLAGS = qc
-CFLAGS = -g
-BISON = bison
-MAKEINFO = makeinfo
-RANLIB = ranlib
-
-INCDIR = "{topsrcdir}"include
-BFDDIR = "{topsrcdir}"bfd
-CSEARCH =  -i {INCDIR},{INCDIR}:,{BFDDIR}:,::bfd:,"{INCDIR}":mpw:,::extra-include:
-DEP = mkdep
-
-ALL_CFLAGS =  {CSEARCH} {ARCHDEFS}
-
-TARGETLIB = libopcodes.o
-
-# To circumvent a Sun make VPATH bug, each file listed here
-# should also have a foo.o: foo.c line further along in this file.
-
-ALL_MACHINES = a29k-dis.o alpha-dis.o h8300-dis.o h8500-dis.o ¶
-       hppa-dis.o i386-dis.o i960-dis.o m68881-ext.o m68k-dis.o ¶
-       m88k-dis.o mips-dis.o mips-opc.o sh-dis.o sparc-dis.o ¶
-       sparc-opc.o z8k-dis.o
-
-# BFD_MACHINES is set by configure.in.
-
-OFILES = {BFD_MACHINES} "{o}"dis-buf.c.o "{o}"disassemble.c.o
-
-#### host and target dependent Makefile fragments come in here.
-###
-
-FLAGS_TO_PASS = \Option-d
-       "against={against}" \Option-d
-       "AR={AR}" \Option-d
-       "AR_FLAGS={AR_FLAGS}" \Option-d
-       "CC={CC}" \Option-d
-       "CFLAGS={CFLAGS}" \Option-d
-       "RANLIB={RANLIB}" \Option-d
-       "MAKEINFO={MAKEINFO}" \Option-d
-       "INSTALL={INSTALL}" \Option-d
-       "INSTALL_DATA={INSTALL_DATA}" \Option-d
-       "INSTALL_PROGRAM={INSTALL_PROGRAM}" \Option-d
-       "BISON={BISON}"
-
-
-# C source files that correspond to .o's.
-CFILES = i386-dis.c z8k-dis.c m68k-dis.c mips-dis.c
-
-STAGESTUFF = {TARGETLIB} {OFILES}
-
-all \Option-f {TARGETLIB} 
-
-# HDEPFILES comes from the host config; TDEPFILES from the target config.
-
-
-{TARGETLIB} \Option-f {OFILES}
-#       rm -f {TARGETLIB}
-        Lib -o {TARGETLIB} {OFILES}
-#       {RANLIB} {TARGETLIB}
-
-"{o}"disassemble.c.o \Option-f "{s}"disassemble.c {INCDIR}:dis-asm.h
-
-"{o}"a29k-dis.o \Option-f "{s}"a29k-dis.c {INCDIR}:dis-asm.h {INCDIR}:opcode:a29k.h
-"{o}"dis-buf.c.o \Option-f "{s}"dis-buf.c {INCDIR}:dis-asm.h
-"{o}"h8500-dis.o \Option-f "{s}"h8500-dis.c h8500-opc.h {INCDIR}:dis-asm.h
-"{o}"h8300-dis.o \Option-f "{s}"h8300-dis.c {INCDIR}:dis-asm.h {INCDIR}:opcode:h8300.h
-"{o}"i386-dis.o \Option-f "{s}"i386-dis.c {INCDIR}:dis-asm.h
-"{o}"i960-dis.o \Option-f "{s}"i960-dis.c {INCDIR}:dis-asm.h
-"{o}"m68881-ext.o \Option-f "{s}"m68881-ext.c {INCDIR}:ieee-float.h
-"{o}"m68k-dis.o \Option-f "{s}"m68k-dis.c {INCDIR}:dis-asm.h {INCDIR}:ieee-float.h \Option-d
-       {INCDIR}:opcode:m68k.h
-"{o}"mips-dis.c.o \Option-f "{s}"mips-dis.c {INCDIR}:dis-asm.h {INCDIR}:opcode:mips.h
-"{o}"mips-opc.c.o \Option-f "{s}"mips-opc.c {INCDIR}:opcode:mips.h
-"{o}"sparc-dis.o \Option-f "{s}"sparc-dis.c {INCDIR}:dis-asm.h {INCDIR}:opcode:sparc.h
-"{o}"sparc-opc.o \Option-f "{s}"sparc-opc.c {INCDIR}:opcode:sparc.h
-"{o}"z8k-dis.o \Option-f "{s}"z8k-dis.c z8k-opc.h {INCDIR}:dis-asm.h
-"{o}"sh-dis.o \Option-f "{s}"sh-dis.c sh-opc.h {INCDIR}:dis-asm.h
-"{o}"alpha-dis.o \Option-f "{s}"alpha-dis.c alpha-opc.h {INCDIR}:dis-asm.h
-"{o}"hppa-dis.o \Option-f "{s}"hppa-dis.c {INCDIR}:dis-asm.h {INCDIR}:opcode:hppa.h
-"{o}"m88k-dis.o \Option-f "{s}"m88k-dis.c {INCDIR}:dis-asm.h {INCDIR}:opcode:m88k.h
-
-# Mark everything as depending on config.status, since the timestamp on
-# sysdep.h might actually move backwards if we reconfig and relink it
-# to a different hosts:h-xxx.h file.  This will force a recompile anyway.
-RECONFIG = config.status
-
-# Dummy target to force execution of dependent targets.
-#
-#force:
-
-#install \Option-f
-#      {INSTALL_DATA} {TARGETLIB} {libdir}:libopcodes.a
-#      {RANLIB} {libdir}:libopcodes.a
-
-#Makefile \Option-f {srcdir}:Makefile.in {host_makefile_frag} {target_makefile_frag}
-#      {SHELL} .:config.status
-
-dep \Option-f {CFILES}
-       mkdep {CFLAGS}
-
-
-# What appears below is generated by a hacked mkdep using gcc -MM.
-
-# DO NOT DELETE THIS LINE -- mkdep uses it.
-# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-
-
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
-
diff --git a/opcodes/mpw-make.sed b/opcodes/mpw-make.sed
new file mode 100644 (file)
index 0000000..7096e22
--- /dev/null
@@ -0,0 +1,14 @@
+# Sed commands to finish translating the opcodes Makefile.in into MPW syntax.
+
+# Empty HDEFINES.
+/HDEFINES/s/@HDEFINES@//
+
+/INCDIR=/s/"{srcdir}":/"{topsrcdir}"/
+/^CSEARCH = .*$/s/$/ -i "{INCDIR}":mpw: -i ::extra-include:/
+/BFD_MACHINES/s/@BFD_MACHINES@/{BFD_MACHINES}/
+/archdefs/s/@archdefs@/{ARCHDEFS}/
+
+# Use a ppc-opc.c that has been tweaked to have less macro nesting.
+# (really only needed for Metrowerks)
+/ppc-opc.c/s/"{s}"ppc-opc\.c/"{o}"hacked_ppc-opc.c/
+/ppc-opc.c.o/s/"{o}"ppc-opc\.c\.o/"{o}"hacked_ppc-opc.c.o/