* mpw-config.in: Add m68k-opc.c.o to BFD_MACHINES for m68k,

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.
This commit is contained in:
Stan Shebs 1995-09-27 01:53:07 +00:00
parent a2e7268980
commit cf9dcb11d0
3 changed files with 75 additions and 180 deletions

View 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 "BFD_MACHINES = " {BFD_MACHINES} >> "{o}"mk.tmp
Echo '/* config.h. Generated by mpw-configure. */' > "{o}"config.new
Echo '#include "mpw.h"' >> "{o}"config.new
Echo "ARCHDEFS = -d" {archname} >> "{o}"mk.tmp
MoveIfChange "{o}"config.new "{o}"config.h
Echo '# End from mpw-config.in' >> "{o}"mk.tmp
# Work around a deadly Metrowerks C for PPC bug (kills the Mac).
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

View File

@ -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

14
opcodes/mpw-make.sed Normal file
View File

@ -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/