summaryrefslogtreecommitdiff
path: root/gdb/mpw-make.sed
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/mpw-make.sed')
-rw-r--r--gdb/mpw-make.sed178
1 files changed, 178 insertions, 0 deletions
diff --git a/gdb/mpw-make.sed b/gdb/mpw-make.sed
new file mode 100644
index 00000000000..ce6a9ecdb15
--- /dev/null
+++ b/gdb/mpw-make.sed
@@ -0,0 +1,178 @@
+# Sed commands that finish translating the GDB Unix Makefile to MPW syntax.
+
+/^host_alias =/s/^/#/
+/^target_alias =/s/^/#/
+
+/^host_makefile_frag@$/d
+/^target_makefile_frag@$/d
+
+/@ENABLE_CFLAGS@/s/@ENABLE_CFLAGS@/{ENABLE_CFLAGS}/g
+/^ENABLE_CFLAGS=/s/^/#/
+
+# Edit all the symbolic definitions pointing to various libraries and such.
+
+/^INCLUDE_DIR = /s/"{srcdir}":include/"{topsrcdir}"include:/
+
+/^MMALLOC_DIR = /s/::mmalloc/mmalloc:/
+/^MMALLOC_SRC = /s/"{srcdir}"/"{topsrcdir}"/
+/^MMALLOC =/s/=.*$/=/
+/MMALLOC_CFLAGS =/s/=.*$/= -u USE_MMALLOC/
+
+/^BFD_DIR = /s/::bfd/bfd:/
+/^BFD = /s/{BFD_DIR}:libbfd/{BFD_DIR}libbfd/
+/^BFD_SRC = /s/"{srcdir}"/"{topsrcdir}"/
+
+/^READLINE_DIR = /s/::readline/readline:/
+/^READLINE =/s/=.*$/=/
+/^READLINE_SRC = /s/"{srcdir}"/"{topsrcdir}"/
+
+/^INCLUDE_CFLAGS = /s/$/ -i "{topsrcdir}"include:mpw: -i ::extra-include:/
+
+/^SER_HARDWIRE =/s/ser-unix/ser-mac/
+
+/^TERMCAP =/s/ =.*$/ =/
+
+# Whack out various autoconf vars that we don't need.
+/@CONFIG_LDFLAGS@/s/@CONFIG_LDFLAGS@//g
+/@HLDFLAGS@/s/@HLDFLAGS@//g
+/@DEFS@/s/@DEFS@//g
+/@YACC@/s/@YACC@/byacc/g
+/@ENABLE_OBS@/s/@ENABLE_OBS@//g
+/@ENABLE_CLIBS@/s/@ENABLE_CLIBS@//g
+/@LIBS@/s/@LIBS@//g
+
+# Whack out autoconf hook for thread debugging.
+/@THREAD_DB_OBS@/s/@THREAD_DB_OBS@//g
+
+# Fix up paths to include directories.
+/INCLUDE_DIR/s/"{s}"{INCLUDE_DIR}/{INCLUDE_DIR}/g
+/INCLUDE_DIR/s/{INCLUDE_DIR}:/{INCLUDE_DIR}/g
+/INCLUDE_DIR/s/"{INCLUDE_DIR}":/"{INCLUDE_DIR}"/g
+
+/{BFD_DIR}/s/"{BFD_DIR}":/"{BFD_DIR}"/g
+/{BFD_DIR}/s/\([ ]\){BFD_DIR}/\1::{BFD_DIR}/g
+/{BFD_DIR}/s/\([ ]\)"{BFD_DIR}"/\1::"{BFD_DIR}"/g
+
+/{BFD_SRC}/s/"{s}"{BFD_SRC}/{BFD_SRC}/g
+/{BFD_SRC}/s/{BFD_SRC}:/{BFD_SRC}/g
+
+/{READLINE_SRC}/s/"{s}"{READLINE_SRC}/{READLINE_SRC}/g
+
+/^readline_headers =/,/^$/c\
+readline_headers =\
+
+
+# This isn't really useful, and seems to cause nonsensical complaints.
+/{ALLDEPFILES}/s/{ALLDEPFILES}//g
+
+/^copying.c \\Option-f /,/^$/d
+
+# Fix the syntax of bits of C code that go into version.c.
+/char /s/'char .Option-x/'char */
+
+# Point at files in the obj dir rather than src dir.
+/version/s/"{s}"version\.c/"{o}"version.c/g
+/version/s/^version\.c/"{o}"version.c/
+/config/s/"{s}"config\.h/"{o}"config.h/g
+/config/s/^config\.h/"{o}"config.h/
+/xm/s/"{s}"xm\.h/"{o}"xm.h/g
+/xm/s/^xm\.h/"{o}"xm.h/
+/tm/s/"{s}"tm\.h/"{o}"tm.h/g
+/tm/s/^tm\.h/"{o}"tm.h/
+/nm/s/"{s}"nm\.h/"{o}"nm.h/g
+/nm/s/^nm\.h/"{o}"nm.h/
+
+/exp.tab.c/s/"{s}"\([a-z0-9]*\)-exp\.tab\.c/"{o}"\1-exp.tab.c/g
+/exp.tab.c/s/^\([a-z0-9]*\)-exp\.tab\.c/"{o}"\1-exp.tab.c/
+
+/y.tab/s/"{s}"y.tab\.c/"{o}"y.tab.c/g
+/y.tab/s/^y.tab\.c/"{o}"y.tab.c/
+
+/init/s/"{s}"init\.c-tmp/"{o}"init.c-tmp/g
+/init/s/^init\.c-tmp/"{o}"init.c-tmp/
+/init/s/"{s}"init\.c/"{o}"init.c/g
+/init/s/^init\.c/"{o}"init.c/
+
+# Fix up the generation of version.c.
+/"{o}"version.c \\Option-f Makefile/,/^$/c\
+"{o}"version.c \\Option-f Makefile\
+ echo -n 'char *version = "' >"{o}"version.c\
+ echo -n "{VERSION}" >>"{o}"version.c\
+ echo '";' >>"{o}"version.c\
+ echo -n 'char *host_name = "' >>"{o}"version.c\
+ echo -n "{host_alias}" >>"{o}"version.c\
+ echo '";' >>"{o}"version.c\
+ echo -n 'char *target_name = "' >>"{o}"version.c\
+ echo -n "{target_alias}" >>"{o}"version.c\
+ echo '";' >>"{o}"version.c\
+
+
+/ansidecl/s/include "{s}""ansidecl.h"/include "ansidecl.h"/
+
+# Open-brace in a command causes much confusion; replace with the
+# result from a script.
+/initialize_all_files ()/c\
+ Echo -n 'void initialize_all_files () ' >> "{o}"init.c-tmp\
+ open-brace >> "{o}"init.c-tmp
+
+# Replace the whole sed bit for init.c; it's simpler that way...
+/echo {OBS} {TSOBS}/,/echo '}'/c\
+ For i in {OBS} {TSOBS}\
+ Set filename "`Echo {i} | sed \\Option-d\
+ -e '/^Onindy.c.o/d' \\Option-d\
+ -e '/^nindy.c.o/d' \\Option-d\
+ -e '/ttyflush.c.o/d' \\Option-d\
+ -e '/xdr_ld.c.o/d' \\Option-d\
+ -e '/xdr_ptrace.c.o/d' \\Option-d\
+ -e '/xdr_rdb.c.o/d' \\Option-d\
+ -e '/udr.c.o/d' \\Option-d\
+ -e '/udip2soc.c.o/d' \\Option-d\
+ -e '/udi2go32.c.o/d' \\Option-d\
+ -e '/version.c.o/d' \\Option-d\
+ -e '/[a-z0-9A-Z_]*-exp.tab.c.o/d' \\Option-d\
+ -e 's/\\.c\\.o/.c/' \\Option-d\
+ -e 's/^://'`"\
+ If "{filename}" != ""\
+ sed <"{s}""{filename}" >>"{o}"init.c-tmp -n \\Option-d\
+ -e '/^_initialize_[a-z_0-9A-Z]* *(/s/^\\([a-z_0-9A-Z]*\\).*/ {extern void \\1 (); \\1 ();}/p'\
+ End If\
+ End For\
+ Echo '}' >>"{o}"init.c-tmp
+
+# Fix the main compile/link command.
+/{CC_LD} {INTERNAL_LDFLAGS} -o gdb/,/"{o}"init.c.o {OBS} {TSOBS} {ADD_FILES} {CLIBS} {LOADLIBES}/c\
+ {CC_LD} {INTERNAL_LDFLAGS} -o gdb{PROG_EXT} "{o}"init.c.o {OBS} {TSOBS} {ADD_FILES} {CLIBS} {LOADLIBES} {EXTRALIBS}\
+ {MAKEPEF} gdb{PROG_EXT} -o gdb {MAKEPEF_TOOL_FLAGS} {MAKEPEF_FLAGS}\
+ {REZ} "{s}"mac-gdb.r -o gdb -append -d PROG_NAME='"'gdb'"' -d VERSION_STRING='"'{version}'"'\
+
+# Replace the install actions with MPW-friendly script.
+/^install \\Option-f /,/^$/c\
+install \\Option-f all install-only\
+\
+install-only \\Option-f \
+ NewFolderRecursive "{bindir}"\
+ Duplicate -y gdb "{bindir}"gdb\
+ If "`Exists SiowGDB`" != ""\
+ Duplicate -y SiowGDB "{bindir}"SiowGDB\
+ End If\
+
+
+# Don't do any recursive subdir stuff.
+/ subdir_do/s/{MAKE}/null-command/
+
+# Edit out actions that only confuse MPW Make.
+/^config.status \\Option-f/,/^$/d
+/^Makefile \\Option-f/,/^$/d
+
+# Don't test config.h dependencies.
+/^"{o}"config.h \\Option-f/s/^/#/
+
+# Add an action to build SIOWgdb.
+$a\
+SIOWgdb \\Option-f {OBS} {TSOBS} {ADD_DEPS} {CDEPS} "{o}"init.c.o\
+ Delete -i -y SIOWgdb\
+ {CC_LD} {INTERNAL_LDFLAGS} -t 'APPL' -c 'gdb ' -o SIOWgdb{PROG_EXT} "{o}"init.c.o {OBS} {TSOBS} {ADD_FILES} {CLIBS} {SIOW_LIB} {LOADLIBES} {EXTRALIBS}\
+ {MAKEPEF} SIOWgdb{PROG_EXT} -o SIOWgdb -ft 'APPL' -fc 'gdb ' {MAKEPEF_FLAGS} \
+ {REZ} -o SIOWgdb "{RIncludes}"siow.r -append -d __kPrefSize=5000 -d __kMinSize=2000 -d APPNAME='"'SIOWgdb'"' \
+ {REZ} "{s}"mac-gdb.r -o SIOWgdb -append -d VERSION_STRING='"'{version}'"'\
+