diff options
Diffstat (limited to 'config/mpw/g-mpw-make.sed')
-rw-r--r-- | config/mpw/g-mpw-make.sed | 293 |
1 files changed, 0 insertions, 293 deletions
diff --git a/config/mpw/g-mpw-make.sed b/config/mpw/g-mpw-make.sed deleted file mode 100644 index e7d3c77..0000000 --- a/config/mpw/g-mpw-make.sed +++ /dev/null @@ -1,293 +0,0 @@ -# Sed commands to translate Unix makefiles into MPW makefiles. -# These are nominally generic, but work best on the makefiles used -# for GNU programs. - -# Whack out any commented-out lines that are probably commands; -# they can only cause trouble later on. -/^# /d - -# Change dependency char. -/:$/s/:/ \\Option-f/g -/^[^ :#][^:]*:/s/\([ ]*\):\([ ]*\)/ \\Option-f /g - -# Change syntax of Makefile vars. -/\$/s/\${\([a-zA-Z0-9_-]*\)}/{\1}/g -/\$/s/\$(\([a-zA-Z0-9_-]*\))/{\1}/g -/ $@/s/ $@/ {Targ}/ - -# Double-$ are literals to Unix but not to MPW make. -/\$\$/s/\$\$/$/g - -# Change pathname syntax. -/\//s,\.\./\/\.\./,:::,g -/\//s,\.\./,::,g -/\.\//s,\./,:,g -/\//s,/,:,g -# Undo excess changes. -/and/s,and:or$,and/or, -/and/s,and:or ,and/or , -/want/s,want:need,want/need, -# Fixing up sed commands. -/-e/s_":\([^:]*\):d"_"/\1/d"_g -/-e/s_":\([^:]*\):,:\([^:]*\):d"_"/\1/,/\2/d"_g - -/=/s/ = \.$/ = :/ - -# Make these go away so that later edits not confused. -/HLDENV/s/{HLDENV}// - -# Comment out any explicit srcdir setting. -/srcdir/s/^srcdir/# srcdir/ - -/BASEDIR/s/^BASEDIR =.*$/BASEDIR = "{srcroot}"/ -/{BASEDIR}:/s/{BASEDIR}:/{BASEDIR}/g -/{srcdir}:/s/{srcdir}:/"{srcdir}"/g -/"{srcdir}":/s/"{srcdir}":/"{srcdir}"/g - -# Tweak some conventions that are backwards for the Mac. -/bindir/s/{exec_prefix}:bin/{exec_prefix}bin:/ -/libdir/s/{exec_prefix}:lib/{exec_prefix}lib:/ - -# Comment out settings of anything set by mpw host config. -/CC/s/^CC *=/#CC =/ -/CFLAGS/s/^CFLAGS *=/#CFLAGS =/ -/AR/s/^AR *=/#AR =/ -/AR_FLAGS/s/^AR_FLAGS *=/#AR_FLAGS =/ -/RANLIB/s/^RANLIB *=/#RANLIB =/ -/CC_LD/s/^CC_LD *=/#CC_LD =/ -/LDFLAGS/s/^LDFLAGS *=/#LDFLAGS =/ - -# Change -I usages. -/-I/s/-I\./-i :/g -/-I/s/-I::bfd/-i ::bfd:/g -/-I/s/-I::include/-i ::include:/g -/-I/s/-I/-i /g - -# Change -D usage. -/-D/s/\([ =]\)-D\([^ ]*\)/\1-d \2/g - -# Change continuation char. -/\\$/s/\\$/\\Option-d/ - -# Change wildcard char. -/\*/s/\*/\\Option-x/g - -# Change path of various types of source files. This rule does not allow -# for file names with multiple dots in the name. -/\.[chly]/s/\([ ><=]\)\([-a-zA-Z0-9_${}:"]*\)\.\([chly]\)/\1"{s}"\2.\3/g -/\.[chly]/s/^\([-a-zA-Z0-9_${}:"]*\)\.\([chly]\)/"{s}"\1.\2/ -# Allow files named *.tab.[ch] as a special case. -/\.tab\.[ch]/s/\([ ><=]\)\([-a-zA-Z0-9_${}:"]*\.tab\)\.\([ch]\)/\1"{s}"\2.\3/g -/\.tab\.[ch]/s/^\([-a-zA-Z0-9_${}:"]*\.tab\)\.\([ch]\)/"{s}"\1.\2/ -# Fix some overenthusiasms. -/{s}/s/"{s}""{srcdir}"/"{srcdir}"/g -/{s}/s/"{s}"{\([a-zA-Z0-9_]*\)dir}/"{\1dir}"/g -/{s}/s/"{s}"{\([a-zA-Z0-9_]*\)DIR}/"{\1DIR}"/g -/{s}/s/"{s}""{\([a-zA-Z0-9_]*\)dir}"/"{\1dir}"/g -/{s}/s/"{s}""{\([a-zA-Z0-9_]*\)DIR}"/"{\1DIR}"/g -/{s}/s/"{s}":/:/g -/{s}/s/^"{s}"//g -/{s}/s/"{s}""{s}"/"{s}"/g -/{s}/s/"{s}""{srcdir}"/"{s}"/g -/{s}/s/"{srcdir}""{s}"/"{s}"/g - -# The .def files are also typically source files. -/\.def/s/\([ ><]\)\([-a-zA-Z0-9_${}:"]*\)\.def/\1"{s}"\2.def/g -/\.def/s/^\([-a-zA-Z0-9_${}:"]*\)\.def/"{s}"\1.def/g - -# Change extension and path of objects. -/\.o/s/\([ =]\)\([-a-zA-Z0-9_${}:"]*\)\.o/\1"{o}"\2.c.o/g -/\.o/s/^\([-a-zA-Z0-9_${}:"]*\)\.o/"{o}"\1.c.o/ -# Allow *.tab.o files as a special case of a 2-dot-name file. -/\.o/s/\([ =]\)\([-a-zA-Z0-9_${}:"]*\)\.tab\.o/\1"{o}"\2.tab.c.o/g -/\.o/s/^\([-a-zA-Z0-9_${}:"]*\)\.tab\.o/"{o}"\1.tab.c.o/ -# Clean up. -/"{o}"/s/"{o}""{o}"/"{o}"/g -/"{o}"/s/^"{o}"\([a-zA-Z0-9_]*\)=/\1=/ - -# Change extension of libs. -/\.a/s/lib\([a-z]*\)\.a/lib\1.o/g - -# Remove non-fail option. -/-/s/^\([ ]*\)-/\1/ -# Fix overeagernesses - assumes no one-letter commands. -/^[ ]*[a-z] /s/^\([ ]*\)\([a-z]\) /\1-\2 / - -# Remove non-echo option. (watch out for autoconf things) -/@/s/^\([ ]*\)@/\1/ - -# Change cp to Duplicate. -# Catenate is perhaps more accurate, but the pattern would have to -# identify the output file and add a '>' redirection into it. -/cp/s/^\([ ]*\)cp /\1Duplicate -d -y / -# Change mv to Rename. -/mv/s/^\([ ]*\)mv /\1Rename -y / -/Rename/s/^\([ ]*\)Rename -y -f/\1Rename -y/ -# Change rm to Delete. -/rm -rf/s/^\([ ]*\)rm -rf /\1Delete -i -y / -/rm -f/s/^\([ ]*\)rm -f /\1Delete -i -y / -/rm/s/^\([ ]*\)rm /\1Delete -i -y / -# Note that we don't mess with ln - directory-specific scripts -# must decide what to do with symlinks. -# Change cat to Catenate. -/cat/s/^\([ ]*\)cat /\1Catenate / -# Change touch to mpw-touch. -/touch/s/^\([ ]*\)touch /\1mpw-touch / -# Change mkdir to NewFolder. -/mkdir/s/^\([ ]*\)mkdir /\1NewFolder / -# Change var setting to Set. -/=/s/^\([ ]*\)\([-a-zA-Z0-9_]*\)=\([^;]*\); \\Option-d/\1Set \2 \3/ - -# Change tests. -/if /s/if \[ *-f \([^ ]*\) ] *; *\\Option-d/If "`Exists "\1"`" != ""/ -/if /s/if \[ *-f \([^ ]*\) ] *; *then *\\Option-d/If "`Exists "\1"`" != ""/ -/if /s/if \[ ! *-f \([^ ]*\) ] *; *\\Option-d/If "`Exists "\1"`" == ""/ -/if /s/if \[ ! *-f \([^ ]*\) ] *; *then \\Option-d/If "`Exists "\1"`" == ""/ - -/if /s/if \[ *-d \([^ ]*\) ] *; *\\Option-d/If "`Exists "\1"`" != ""/ -/if /s/if \[ *-d \([^ ]*\) ] *; *then *\\Option-d/If "`Exists "\1"`" != ""/ -/if /s/if \[ ! *-d \([^ ]*\) ] *; *\\Option-d/If "`Exists "\1"`" == ""/ -/if /s/if \[ ! *-d \([^ ]*\) ] *; *then *\\Option-d/If "`Exists "\1"`" == ""/ - -/if /s/if \[ -d \([^ ]*\) ] *; then true *; else mkdir \([^ ;]*\) *; fi/If "`Exists "\1"`" != "" NewFolder \2 End If/ - -/if /s/if \[ \([^ ]*\) = \([^ ]*\) ] *; *\\Option-d/If "\1" == "\2"/ -/if /s/if \[ \([^ ]*\) = \([^ ]*\) ] *; *then *\\Option-d/If "\1" == "\2"/ - -/if /s/if \[ \([^ ]*\) != \([^ ]*\) ] *; *\\Option-d/If "\1" != "\2"/ -/if /s/if \[ \([^ ]*\) != \([^ ]*\) ] *; *then *\\Option-d/If "\1" != "\2"/ - -/if /s/if \[ \([^ ]*\) -eq \([^ ]*\) ] *; *\\Option-d/If "\1" != "\2"/ -/if /s/if \[ \([^ ]*\) -eq \([^ ]*\) ] *; *then *\\Option-d/If "\1" != "\2"/ - -/^[ ]*else true$/c\ - Else\ - mpw-true\ - - -/else/s/^\([ ]*\)else[ ]*$/\1Else/ -/else/s/^\([ ]*\)else[; ]*\\Option-d$/\1Else/ - -/^[ ]*else[ ]*true[ ]*$/c\ - Else\ - mpw-true - -/^[ ]*else[ ]*true[; ]*fi$/c\ - Else\ - mpw-true\ - End If - -/fi/s/^\([ ]*\)fi *$/\1End/ -/fi/s/^\([ ]*\)fi *; *\\Option-d/\1End/ - -# Change looping. -/for/s/^\([ ]*\)for \([-a-zA-Z0-9_]*\) in \([^;]*\); *do *\\Option-d/\1For \2 In \3/ -/^\([ ]*\)do *\\Option-d/d -/done/s/^\([ ]*\)done *; *\\Option-d/\1End/ -/done/s/^\([ ]*\)done$/\1End/ - -# Trailing semicolons and continued lines are unneeded sh syntax. -/; \\Option-d/s/; \\Option-d// - -# Change move-if-change to MoveIfChange. -/move-if-change/s/\([^ ]*\)move-if-change/MoveIfChange/g - -# Change $(SHELL) to the script name by itself. -/SHELL/s/^\([ ]*\){SHELL} /\1/ - -# Change syntax of default rule dependency. -/^\.c\.o/s/^\.c\.o \\Option-f$/.c.o \\Option-f .c/ - -# Change default rule's action. -/{CC} -c/s/{CC} -c \(.*\) \$<$/{CC} @DASH_C_FLAG@ {DepDir}{Default}.c \1 @SEGMENT_FLAG({Default})@ -o {TargDir}{Default}.c.o/ - -# This is pretty disgusting, but I can't seem to detect empty rules. -/Option-f$/s/Option-f$/Option-f _oldest/g - -# Remove -c from explicit compiler calls. (but should not if GCC) -# Handle the case of a source file that is "{xxx}"file.c. -/ -c /s/{\([A-Z_]*\)CC}\(.*\) -c \(.*\)"\([^"]*\)"\([-a-z_]*\)\.c/{\1CC}\2 @DASH_C_FLAG@ \3"\4"\5.c -o "{o}"\5.c.o/ -# Handle the case of a source file that is "{xxx}"dir:file.c. -/ -c /s/{\([A-Z_]*\)CC}\(.*\) -c \(.*\)"\([^"]*\)"\([-a-z_]*\):\([-a-z_]*\)\.c/{\1CC}\2 @DASH_C_FLAG@ \3"\4"\5:\6.c -o "{o}"\6.c.o/ - -# Change linking cc to linking sequence. -/-o/s/^\([ ]*\){CC} \(.*\){\([A-Z_]*\)CFLAGS} \(.*\){LDFLAGS} \(.*\)-o \([^ ]*\) \(.*\)$/\1{CC_LD} \2 {\3CFLAGS} \4 {LDFLAGS} \5 -o \6{PROG_EXT} \7\ -\1{MAKEPEF} \6{PROG_EXT} -o \6 {MAKEPEF_TOOL_FLAGS} {MAKEPEF_FLAGS}\ -\1{REZ} "{s}"\6.r -o \6 -append -d PROG_NAME='"'\6'"' -d VERSION_STRING='"'{version}'"'/ -/-o/s/^\([ ]*\){CC} \(.*\){\([A-Z_]*\)CFLAGS} \(.*\)-o \([^ ]*\) \(.*\){LDFLAGS} \(.*\)$/\1{CC_LD} \2 {\3CFLAGS} \4 {LDFLAGS} \6 -o \5{PROG_EXT} \7\ -\1{MAKEPEF} \5{PROG_EXT} -o \5 {MAKEPEF_TOOL_FLAGS} {MAKEPEF_FLAGS}\ -\1{REZ} "{s}"\5.r -o \5 -append -d PROG_NAME='"'\5'"' -d VERSION_STRING='"'{version}'"'/ -/-o/s/^\([ ]*\){HOST_CC} \(.*\)-o \([^ ]*\) \(.*\)$/\1{HOST_CC_LD} \2 -o \3{PROG_EXT} \4\ -\1{MAKEPEF} \3{PROG_EXT} -o \3 {MAKEPEF_TOOL_FLAGS} {MAKEPEF_FLAGS}\ -\1{REZ} "{s}"\3.r -o \3 -append -d PROG_NAME='"'\3'"' -d VERSION_STRING='"'{version}'"'/ - -# Comment out .NOEXPORT rules. -/\.NOEXPORT/s/^\.NOEXPORT/#\.NOEXPORT/ -# Comment out .PHONY rules. -/\.PHONY/s/^\.PHONY/#\.PHONY/ -# Comment out .PRECIOUS rules. -/\.PRECIOUS/s/^\.PRECIOUS/#\.PRECIOUS/ -# Comment out .SUFFIXES rules. -/\.SUFFIXES/s/^\.SUFFIXES/#\.SUFFIXES/ - -# Set the install program appropriately. -/INSTALL/s/^INSTALL *= *`.*`:install.sh -c/INSTALL = Duplicate -y/ - -# Don't try to decide whether to use the tree's own tools. -/bison/s/`.*bison:bison.*`/bison -y/ -/byacc/s/`.*byacc:byacc.*`/byacc/ -/flex/s/`.*flex:flex.*`/flex/ - -# Turn transformed C comments in echo commands back into comments. -/echo/s,echo '\(.*\):\\Option-x\(.*\)\\Option-x:\(.*\)',echo '\1/*\2*/\3', - -# Whack out various clever expressions that search for tools, since -# the clever code is too /bin/sh specific. - -/^AR_FOR_TARGET = `/,/`$/c\ -AR_FOR_TARGET = ::binutils:ar\ - - -/^RANLIB_FOR_TARGET = `/,/`$/c\ -RANLIB_FOR_TARGET = ::binutils:ranlib\ - - -/^RANLIB_TEST_FOR_TARGET = /,/ranlib ] )$/c\ -RANLIB_TEST_FOR_TARGET = \ - - -/^EXPECT = `/,/`$/c\ -EXPECT = \ - - -/^RUNTEST = `/,/`$/c\ -RUNTEST = \ - - -/^CC_FOR_TARGET = `/,/`$/c\ -CC_FOR_TARGET = \ - - -/^CXX_FOR_TARGET = `/,/`$/c\ -CXX_FOR_TARGET = \ - - -/^CHILL_FOR_TARGET = `/,/`$/c\ -CHILL_FOR_TARGET = \ - - -/^CHILL_LIB = `/,/`$/c\ -CHILL_LIB = \ - -/sanit/s/{start-sanit...-[a-z0-9]*}// -/sanit/s/{end-sanit...-[a-z0-9]*}// - -# Add standard defines and default rules. -/^# srcdir/a\ -\ -s = "{srcdir}"\ -\ -o = :\ -\ -"{o}" \\Option-f : "{s}" - |