1# Rewrite default rules from .c.o: to .c.o: .c 2/^\./s/^\(\.[a-z]*\)\(\.[a-z]*\)\( *: *\)$/\1\2\3 \1/ 3 4# Change dependency char. 5/::/s/::/ \\Option-f\\Option-f /g 6/:/s/:/ \\Option-f /g 7/^[SU]=/s/ \\Option-f /:/g 8 9# Change syntax of Makefile vars. 10/\$/s/\${\([a-zA-Z0-9_]*\)}/{\1}/g 11/\$/s/\$(\([a-zA-Z0-9_]*\))/{\1}/g 12 13# Change $@ to {targ} 14/\$@/s/\$@/{targ}/g 15 16# Change pathname syntax. 17# 18# If line ends with .. then assume it sets a variable that will 19# be used to prefix something else -- eliminate one colon, assuming 20# that a slash after the ${name} will turn into the missing colon. 21# Mac pathname conventions are IRREGULAR and UGLY! 22/\./s,\.\./\.\.$,::, 23/\./s,\.\.$,:, 24# Same if it ends with . (a single dot); turn it into nothing. 25/\./s,\.$,,g 26# Rules for .. and . elsewhere in the line 27# Convert ../: to ::, recur to get whole paths. 28/\./s,\.\./:,::,g 29# Convert ../../ to ::: 30/\./s,\.\./\.\./,:::,g 31/\./s,\.\./,::,g 32/\.\//s,\./,:,g 33/\//s,/,:,g 34 35/=/s/ = \.$/ = :/ 36 37# Comment out any explicit srcdir setting. 38# /srcdir/s/^srcdir/# srcdir/ 39 40/version/s/^version=/# version=/ 41 42/BASEDIR/s/^BASEDIR =.*$/BASEDIR = "{srcroot}"/ 43/{BASEDIR}:/s/{BASEDIR}:/{BASEDIR}/g 44# The original lines screw up -I$(srcdir)/../des by eliminating a colon. 45# Proposed fix: Eliminate srcdir prefixes totally. 46#/{srcdir}:/s/{srcdir}:/"{srcdir}"/g 47/{srcdir}:/s/{srcdir}://g 48#/"{srcdir}":/s/"{srcdir}":/"{srcdir}"/g 49 50# Comment out settings of anything set by mpw host config. 51##/CC/s/^CC *=/#CC =/ 52##/CFLAGS/s/^CFLAGS *=/#CFLAGS =/ 53##/LDFLAGS/s/^LDFLAGS *=/#LDFLAGS =/ 54 55# Change -I usage. 56/-I/s/-I\./-i :/g 57/-I/s/-I::bfd/-i ::bfd:/g 58/-I/s/-I::include/-i ::include:/g 59/-I/s/-I/-i /g 60 61# Change -D usage. 62/-D/s/\([ =]\)-D\([^ ]*\)/\1-d \2/g 63 64# Change continuation char. 65/\\$/s/\\$/\\Option-d/ 66 67# Change wildcard char. 68/^[^#]/s/\*/\\Option-x/g 69 70# Change path of various types of source files. 71#/\.[chly]/s/\([ ><=]\)\([-a-zA-Z0-9_$:"]*\)\.\([chly]\)/\1"{s}"\2.\3/g 72#/\.[chly]/s/^\([-a-zA-Z0-9_${}:"]*\)\.\([chly]\)/"{s}"\1.\2/g 73# Skip the {s} and {o} business for now... 74# Fix some overenthusiasms. 75#/{s}/s/"{s}""{srcdir}"/"{srcdir}"/g 76#/{s}/s/"{s}"{\([a-zA-Z0-9_]*\)dir}/"{\1dir}"/g 77#/{s}/s/"{s}"{\([a-zA-Z0-9_]*\)DIR}/"{\1DIR}"/g 78#/{s}/s/"{s}""{\([a-zA-Z0-9_]*\)dir}"/"{\1dir}"/g 79#/{s}/s/"{s}""{\([a-zA-Z0-9_]*\)DIR}"/"{\1DIR}"/g 80#/{s}/s/"{s}":/:/g 81#/{s}/s/^"{s}"//g 82#/^\./s/"{s}"\././g 83 84# Change extension and path of objects, except in the OBJEXT line. 85#/^OBJEXT/!s/\([ =]\)\([-a-zA-Z0-9_${}:"]*\)\.o/\1"{o}"\2.c.o/g 86#/\.o/s/^\([-a-zA-Z0-9_${}:"]*\)\.o/"{o}"\1.c.o/g 87# Skip the {o} stuff for now... 88/^OBJEXT/!s/\([ =]\)\([-a-zA-Z0-9_${}:"]*\)\.o/\1\2.c.o/g 89/\.o/s/^\([-a-zA-Z0-9_${}:"]*\)\.o/\1.c.o/g 90# Clean up. 91#/\.o/s/"{o}""{o}"/"{o}"/g 92#/{o}/s/^"{o}"\([a-zA-Z0-9_]*\)=/\1=/g 93 94# Change extension of libs. 95# /\.a/s/lib\([a-z]*\)\.a/lib\1.o/g 96 97# Remove non-echo option. 98/^ -/s/^ -/ / 99 100# Change cp to duplicate. 101# /cp/s/^\([ ]*\)cp /\1Duplicate -d -y / 102# Change mv to rename. 103# /mv/s/^\([ ]*\)mv /\1Rename -y / 104# /Rename/s/^\([ ]*\)Rename -y -f/\1Rename -y/ 105# Change rm to delete. 106/^RM=/s/rm -f/Delete -i -y/ 107# /rm/s/^\([ ]*\)rm /\1Delete -y / 108# /Delete/s/^\([ ]*\)Delete -y -f/\1Delete -y/ 109# Comment out symlinking. 110# /ln/s/^\([ ]*\)ln /\1# ln / 111 112# Remove -c from explicit compiler calls. 113# /-c/s/{CC}\(.*\) -c \(.*\)\([-a-z]*\)\.c/{CC}\1 \2\3.c -o "{o}"\3.c.o/g 114# Don't ask... prev subst seems to omit the second filename. 115# /-o/s/\([-a-z]*\)\.c -o "{o}".c.o/\1\.c -o "{o}"\1.c.o/ 116 117# Change linking cc to link. 118/LDFLAGS/ s/{CC} \(.*\){CFLAGS}\(.*\){LDFLAGS}/Link \1 \2 {LDFLAGS}/ 119/CFLAGS_LINK/s/{CC} \(.*\){CFLAGS_LINK}\(.*\){LDFLAGS}/Link \1 \2 {LDFLAGS}/ 120 121# Comment out .PHONY rules. 122/\.PHONY/s/^\.PHONY/# \.PHONY/ 123# Comment out .SUFFIXES rules. 124/\.SUFFIXES/s/^\.SUFFIXES/# \.SUFFIXES/ 125# Comment out .PRECIOUS rules. 126/\.PRECIOUS/s/^\.PRECIOUS/# \.PRECIOUS/ 127## Comment out default rules. 128##/^\./s/^\(\.[a-z]*\.[a-z]* \)/# \1/ 129 130# 131# End of original hack-mf.sed 132# 133# Begin original hack-mf2.sed 134# 135# Transform expressions. 136 137# Set the install program appropriate. 138# /INSTALL/s/^INSTALL *= *`.*`:install.sh -c/INSTALL = Duplicate -y/ 139 140# Include from the extra-include dir. 141# /^INCLUDES = /s/^INCLUDES = /INCLUDES = -i "{srcroot}"extra-include / 142 143# Yuck - remove unconverted autoconf things. 144# /@/s/@[^ ]*@//g 145 146# Hackery, pure and simple 147# To speed up compiles, remove duplicated -i options. 148/-i/s/\(-i [^ ]*\) \1 /\1 /g 149 150# Note! There are 8-bit characters in the three lines below: 151# 0xc4, 0xb6, 0xc5. 152/Option/s/\\Option-f/�/g 153/Option/s/\\Option-d/�/g 154/Option/s/\\Option-x/�/g 155