# OBSOLETE # Configuration fragment for GDB.
# OBSOLETE 
# OBSOLETE If "{host_canonical}" =~ /m68k-apple-mpw/
# OBSOLETE 	forward-include "{srcdir}"config:m68k:xm-mpw.h xm.h
# OBSOLETE 	Set siow_lib '"{Libraries}"SIOW.o'
# OBSOLETE 
# OBSOLETE Else If "{host_canonical}" =~ /powerpc-apple-mpw/
# OBSOLETE 	forward-include "{srcdir}"config:powerpc:xm-mpw.h xm.h
# OBSOLETE 	Set siow_lib '"{PPCLibraries}"PPCSIOW.o'
# OBSOLETE 
# OBSOLETE End If
# OBSOLETE 
# OBSOLETE Set xdepfiles '"{o}"mac-xdep.c.o'
# OBSOLETE 
# OBSOLETE Set enable_cflags ""
# OBSOLETE 
# OBSOLETE # Make a copy of this file and give it a different name, so it
# OBSOLETE # won't be confused with GDB's serial.h.
# OBSOLETE 
# OBSOLETE Duplicate -y "{CIncludes}"Serial.h MacSerial.h
# OBSOLETE 
# OBSOLETE Echo "/* dummy */" >termio.h
# OBSOLETE 
# OBSOLETE If "{target_canonical}" =~ /m68k-apple-macos/
# OBSOLETE 	forward-include "{srcdir}"config:m68k:tm-mac.h tm.h
# OBSOLETE 	forward-include "{srcdir}"config:m68k:tm-m68k.h 'm68k/tm-m68k.h'
# OBSOLETE 	Set tdepfiles '"{o}"m68k-tdep.c.o'
# OBSOLETE 
# OBSOLETE Else If "{target_canonical}" =~ /powerpc-apple-macos/
# OBSOLETE 	forward-include "{srcdir}"config:powerpc:tm-macos.h tm.h
# OBSOLETE 	forward-include "{srcdir}"config:rs6000:tm-rs6000.h 'rs6000/tm-rs6000.h'
# OBSOLETE 	Set tdepfiles '"{o}"rs6000-tdep.c.o "{o}"xcoffread.c.o'
# OBSOLETE 
# OBSOLETE Else If "{target_canonical}" =~ /i386-unknown-go32/
# OBSOLETE 	forward-include "{srcdir}"config:i386:tm-i386v.h tm.h
# OBSOLETE 	Set tdepfiles '"{o}"i386-tdep.c.o'
# OBSOLETE 
# OBSOLETE Else If "{target_canonical}" =~ /mips-idt-ecoff/
# OBSOLETE 	forward-include "{srcdir}"config:mips:tm-embed.h tm.h
# OBSOLETE 	forward-include "{srcdir}"config:mips:tm-bigmips.h 'mips/tm-bigmips.h'
# OBSOLETE 	forward-include "{srcdir}"config:mips:tm-mips.h 'mips/tm-mips.h'
# OBSOLETE 	Set tdepfiles '"{o}"mips-tdep.c.o "{o}"remote-mips.c.o'
# OBSOLETE 
# OBSOLETE Else If "{target_canonical}" =~ /sh-hitachi-hms/
# OBSOLETE 	forward-include "{srcdir}"config:sh:tm-sh.h tm.h
# OBSOLETE 	Set tdepfiles '"{o}"sh-tdep.c.o'
# OBSOLETE 
# OBSOLETE End If
# OBSOLETE 
# OBSOLETE If "{target_canonical}" =~ /m68k-apple-macos/
# OBSOLETE 	forward-include "{srcdir}"config:m68k:nm-macos.h nm.h
# OBSOLETE 	Set natdepfiles '"{o}"mac-nat.c.o'
# OBSOLETE 
# OBSOLETE Else If "{target_canonical}" =~ /powerpc-apple-macos/
# OBSOLETE 	forward-include "{srcdir}"config:powerpc:nm-macos.h nm.h
# OBSOLETE 	Set natdepfiles '"{o}"mac-nat.c.o'
# OBSOLETE 
# OBSOLETE Else
# OBSOLETE 	forward-include "{srcdir}"config:nm-empty.h nm.h
# OBSOLETE 	Set natdepfiles ' '
# OBSOLETE 
# OBSOLETE End If
# OBSOLETE 
# OBSOLETE Echo '# From mpw-config.in'				 > "{o}"mk.tmp
# OBSOLETE Echo "TDEPFILES = " {tdepfiles}				>> "{o}"mk.tmp
# OBSOLETE Echo "XDEPFILES = " {xdepfiles}				>> "{o}"mk.tmp
# OBSOLETE Echo "NATDEPFILES = " {natdepfiles}			>> "{o}"mk.tmp
# OBSOLETE Echo "XM_ADD_FILES = "					>> "{o}"mk.tmp
# OBSOLETE Echo "TM_ADD_FILES = "					>> "{o}"mk.tmp
# OBSOLETE Echo "NAT_ADD_FILES = "					>> "{o}"mk.tmp
# OBSOLETE Echo "XM_CDEPS = "					>> "{o}"mk.tmp
# OBSOLETE Echo "TM_CDEPS = "					>> "{o}"mk.tmp
# OBSOLETE Echo "NAT_CDEPS = "					>> "{o}"mk.tmp
# OBSOLETE Echo "SIOW_LIB = " {siow_lib}				>> "{o}"mk.tmp
# OBSOLETE Echo "ENABLE_CFLAGS = " {enable_cflags}			>> "{o}"mk.tmp
# OBSOLETE Echo '# End from mpw-config.in'				>> "{o}"mk.tmp
# OBSOLETE 
# OBSOLETE Echo '/* config.h.  Generated by mpw-configure.  */'	 > "{o}"config.new
# OBSOLETE Echo '#include "mpw.h"'					>> "{o}"config.new
# OBSOLETE 
# OBSOLETE MoveIfChange "{o}"config.new "{o}"config.h
