Home | History | Annotate | Download | only in testsuite
      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