footer.kmk: KBUILD_NO_TESTING_PASS_ALIASES.
[kbuild-mirror.git] / src / sed / testsuite / mac-mf.sed
blob9b08e603e61eae15ad799df181027f642e129421
1 # Rewrite default rules from .c.o:  to  .c.o: .c
2 /^\./s/^\(\.[a-z]*\)\(\.[a-z]*\)\( *: *\)$/\1\2\3 \1/
4 # Change dependency char.
5 /::/s/::/ \\Option-f\\Option-f /g
6 /:/s/:/ \\Option-f /g
7 /^[SU]=/s/ \\Option-f /:/g
9 # Change syntax of Makefile vars.
10 /\$/s/\${\([a-zA-Z0-9_]*\)}/{\1}/g
11 /\$/s/\$(\([a-zA-Z0-9_]*\))/{\1}/g
13 # Change $@ to {targ}
14 /\$@/s/\$@/{targ}/g
16 # Change pathname syntax.
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
35 /=/s/ = \.$/ = :/
37 # Comment out any explicit srcdir setting.
38 # /srcdir/s/^srcdir/# srcdir/
40 /version/s/^version=/# version=/
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
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 =/
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
61 # Change -D usage.
62 /-D/s/\([ =]\)-D\([^ ]*\)/\1-d \2/g
64 # Change continuation char.
65 /\\$/s/\\$/\\Option-d/
67 # Change wildcard char.
68 /^[^#]/s/\*/\\Option-x/g
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
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
94 # Change extension of libs.
95 # /\.a/s/lib\([a-z]*\)\.a/lib\1.o/g
97 # Remove non-echo option.
98 /^      -/s/^   -/      /
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 /
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/
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}/
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/
131 #  End of original hack-mf.sed
133 #  Begin original hack-mf2.sed
135 # Transform expressions.
137 # Set the install program appropriate.
138 # /INSTALL/s/^INSTALL *= *`.*`:install.sh -c/INSTALL = Duplicate -y/
140 # Include from the extra-include dir.
141 # /^INCLUDES = /s/^INCLUDES = /INCLUDES = -i "{srcroot}"extra-include /
143 # Yuck - remove unconverted autoconf things.
144 # /@/s/@[^      ]*@//g
146 # Hackery, pure and simple
147 # To speed up compiles, remove duplicated -i options.
148 /-i/s/\(-i [^ ]*\) \1 /\1 /g
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