source: trunk/third/sed/testsuite/mac-mf.sed @ 17271

Revision 17271, 4.5 KB checked in by ghudson, 23 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r17270, which included commits to RCS files with non-trunk default branches.
Line 
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
Note: See TracBrowser for help on using the repository browser.