~ubuntu-branches/ubuntu/lucid/gnats/lucid

« back to all changes in this revision

Viewing changes to config/mpw/g-mpw-make.sed

  • Committer: Bazaar Package Importer
  • Author(s): Chad Walstrom
  • Date: 2005-03-07 17:56:31 UTC
  • mfrom: (1.1.1 upstream) (2.1.1 hoary)
  • Revision ID: james.westby@ubuntu.com-20050307175631-agtm10dvjbemuc64
Tags: 4.1.0-0
* New upstream version
* debian/rules: now uses '--with-lispdir' option instead of environment
  variable overloading. Re-enabled optimization.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Sed commands to translate Unix makefiles into MPW makefiles.
2
 
# These are nominally generic, but work best on the makefiles used
3
 
# for GNU programs.
4
 
 
5
 
# Whack out any commented-out lines that are probably commands;
6
 
# they can only cause trouble later on.
7
 
/^#     /d
8
 
 
9
 
# Change dependency char.
10
 
/:$/s/:/ \\Option-f/g
11
 
/^[^    :#][^:]*:/s/\([         ]*\):\([        ]*\)/ \\Option-f /g
12
 
 
13
 
# Change syntax of Makefile vars.
14
 
/\$/s/\${\([a-zA-Z0-9_-]*\)}/{\1}/g
15
 
/\$/s/\$(\([a-zA-Z0-9_-]*\))/{\1}/g
16
 
/ $@/s/ $@/ {Targ}/
17
 
 
18
 
# Double-$ are literals to Unix but not to MPW make.
19
 
/\$\$/s/\$\$/$/g
20
 
 
21
 
# Change pathname syntax.
22
 
/\//s,\.\./\/\.\./,:::,g
23
 
/\//s,\.\./,::,g
24
 
/\.\//s,\./,:,g
25
 
/\//s,/,:,g
26
 
# Undo excess changes.
27
 
/and/s,and:or$,and/or,
28
 
/and/s,and:or ,and/or ,
29
 
/want/s,want:need,want/need,
30
 
# Fixing up sed commands.
31
 
/-e/s_":\([^:]*\):d"_"/\1/d"_g
32
 
/-e/s_":\([^:]*\):,:\([^:]*\):d"_"/\1/,/\2/d"_g
33
 
 
34
 
/=/s/ = \.$/ = :/
35
 
 
36
 
# Make these go away so that later edits not confused.
37
 
/HLDENV/s/{HLDENV}//
38
 
 
39
 
# Comment out any explicit srcdir setting.
40
 
/srcdir/s/^srcdir/# srcdir/
41
 
 
42
 
/BASEDIR/s/^BASEDIR =.*$/BASEDIR = "{srcroot}"/
43
 
/{BASEDIR}:/s/{BASEDIR}:/{BASEDIR}/g
44
 
/{srcdir}:/s/{srcdir}:/"{srcdir}"/g
45
 
/"{srcdir}":/s/"{srcdir}":/"{srcdir}"/g
46
 
 
47
 
# Tweak some conventions that are backwards for the Mac.
48
 
/bindir/s/{exec_prefix}:bin/{exec_prefix}bin:/
49
 
/libdir/s/{exec_prefix}:lib/{exec_prefix}lib:/
50
 
 
51
 
# Comment out settings of anything set by mpw host config.
52
 
/CC/s/^CC *=/#CC =/
53
 
/CFLAGS/s/^CFLAGS *=/#CFLAGS =/
54
 
/AR/s/^AR *=/#AR =/
55
 
/AR_FLAGS/s/^AR_FLAGS *=/#AR_FLAGS =/
56
 
/RANLIB/s/^RANLIB *=/#RANLIB =/
57
 
/CC_LD/s/^CC_LD *=/#CC_LD =/
58
 
/LDFLAGS/s/^LDFLAGS *=/#LDFLAGS =/
59
 
 
60
 
# Change -I usages.
61
 
/-I/s/-I\./-i :/g
62
 
/-I/s/-I::bfd/-i ::bfd:/g
63
 
/-I/s/-I::include/-i ::include:/g
64
 
/-I/s/-I/-i /g
65
 
 
66
 
# Change -D usage.
67
 
/-D/s/\([ =]\)-D\([^ ]*\)/\1-d \2/g
68
 
 
69
 
# Change continuation char.
70
 
/\\$/s/\\$/\\Option-d/
71
 
 
72
 
# Change wildcard char.
73
 
/\*/s/\*/\\Option-x/g
74
 
 
75
 
# Change path of various types of source files.  This rule does not allow
76
 
# for file names with multiple dots in the name.
77
 
/\.[chly]/s/\([         ><=]\)\([-a-zA-Z0-9_${}:"]*\)\.\([chly]\)/\1"{s}"\2.\3/g
78
 
/\.[chly]/s/^\([-a-zA-Z0-9_${}:"]*\)\.\([chly]\)/"{s}"\1.\2/
79
 
# Allow files named *.tab.[ch] as a special case.
80
 
/\.tab\.[ch]/s/\([      ><=]\)\([-a-zA-Z0-9_${}:"]*\.tab\)\.\([ch]\)/\1"{s}"\2.\3/g
81
 
/\.tab\.[ch]/s/^\([-a-zA-Z0-9_${}:"]*\.tab\)\.\([ch]\)/"{s}"\1.\2/
82
 
# Fix some overenthusiasms.
83
 
/{s}/s/"{s}""{srcdir}"/"{srcdir}"/g
84
 
/{s}/s/"{s}"{\([a-zA-Z0-9_]*\)dir}/"{\1dir}"/g
85
 
/{s}/s/"{s}"{\([a-zA-Z0-9_]*\)DIR}/"{\1DIR}"/g
86
 
/{s}/s/"{s}""{\([a-zA-Z0-9_]*\)dir}"/"{\1dir}"/g
87
 
/{s}/s/"{s}""{\([a-zA-Z0-9_]*\)DIR}"/"{\1DIR}"/g
88
 
/{s}/s/"{s}":/:/g
89
 
/{s}/s/^"{s}"//g
90
 
/{s}/s/"{s}""{s}"/"{s}"/g
91
 
/{s}/s/"{s}""{srcdir}"/"{s}"/g
92
 
/{s}/s/"{srcdir}""{s}"/"{s}"/g
93
 
 
94
 
# The .def files are also typically source files.
95
 
/\.def/s/\([    ><]\)\([-a-zA-Z0-9_${}:"]*\)\.def/\1"{s}"\2.def/g
96
 
/\.def/s/^\([-a-zA-Z0-9_${}:"]*\)\.def/"{s}"\1.def/g
97
 
 
98
 
# Change extension and path of objects.
99
 
/\.o/s/\([      =]\)\([-a-zA-Z0-9_${}:"]*\)\.o/\1"{o}"\2.c.o/g
100
 
/\.o/s/^\([-a-zA-Z0-9_${}:"]*\)\.o/"{o}"\1.c.o/
101
 
# Allow *.tab.o files as a special case of a 2-dot-name file.
102
 
/\.o/s/\([      =]\)\([-a-zA-Z0-9_${}:"]*\)\.tab\.o/\1"{o}"\2.tab.c.o/g
103
 
/\.o/s/^\([-a-zA-Z0-9_${}:"]*\)\.tab\.o/"{o}"\1.tab.c.o/
104
 
# Clean up.
105
 
/"{o}"/s/"{o}""{o}"/"{o}"/g
106
 
/"{o}"/s/^"{o}"\([a-zA-Z0-9_]*\)=/\1=/
107
 
 
108
 
# Change extension of libs.
109
 
/\.a/s/lib\([a-z]*\)\.a/lib\1.o/g
110
 
 
111
 
# Remove non-fail option.
112
 
/-/s/^\([       ]*\)-/\1/
113
 
# Fix overeagernesses - assumes no one-letter commands.
114
 
/^[     ]*[a-z] /s/^\([         ]*\)\([a-z]\) /\1-\2 /
115
 
 
116
 
# Remove non-echo option. (watch out for autoconf things)
117
 
/@/s/^\([       ]*\)@/\1/
118
 
 
119
 
# Change cp to Duplicate.
120
 
# Catenate is perhaps more accurate, but the pattern would have to
121
 
# identify the output file and add a '>' redirection into it.
122
 
/cp/s/^\([      ]*\)cp /\1Duplicate -d -y /
123
 
# Change mv to Rename.
124
 
/mv/s/^\([      ]*\)mv /\1Rename -y /
125
 
/Rename/s/^\([  ]*\)Rename -y -f/\1Rename -y/
126
 
# Change rm to Delete.
127
 
/rm -rf/s/^\([  ]*\)rm -rf /\1Delete -i -y /
128
 
/rm -f/s/^\([   ]*\)rm -f /\1Delete -i -y /
129
 
/rm/s/^\([      ]*\)rm /\1Delete -i -y /
130
 
# Note that we don't mess with ln - directory-specific scripts
131
 
# must decide what to do with symlinks.
132
 
# Change cat to Catenate.
133
 
/cat/s/^\([     ]*\)cat /\1Catenate /
134
 
# Change touch to mpw-touch.
135
 
/touch/s/^\([   ]*\)touch /\1mpw-touch /
136
 
# Change mkdir to NewFolder.
137
 
/mkdir/s/^\([   ]*\)mkdir /\1NewFolder /
138
 
# Change var setting to Set.
139
 
/=/s/^\([       ]*\)\([-a-zA-Z0-9_]*\)=\([^;]*\); \\Option-d/\1Set \2 \3/
140
 
 
141
 
# Change tests.
142
 
/if /s/if \[ *-f \([^ ]*\) ] *; *\\Option-d/If "`Exists "\1"`" != ""/
143
 
/if /s/if \[ *-f \([^ ]*\) ] *; *then *\\Option-d/If "`Exists "\1"`" != ""/
144
 
/if /s/if \[ ! *-f \([^ ]*\) ] *; *\\Option-d/If "`Exists "\1"`" == ""/
145
 
/if /s/if \[ ! *-f \([^ ]*\) ] *; *then \\Option-d/If "`Exists "\1"`" == ""/
146
 
 
147
 
/if /s/if \[ *-d \([^ ]*\) ] *; *\\Option-d/If "`Exists "\1"`" != ""/
148
 
/if /s/if \[ *-d \([^ ]*\) ] *; *then *\\Option-d/If "`Exists "\1"`" != ""/
149
 
/if /s/if \[ ! *-d \([^ ]*\) ] *; *\\Option-d/If "`Exists "\1"`" == ""/
150
 
/if /s/if \[ ! *-d \([^ ]*\) ] *; *then *\\Option-d/If "`Exists "\1"`" == ""/
151
 
 
152
 
/if /s/if \[ -d \([^ ]*\) ] *; then true *; else mkdir \([^ ;]*\) *; fi/If "`Exists "\1"`" != "" NewFolder \2 End If/
153
 
 
154
 
/if /s/if \[ \([^ ]*\) = \([^ ]*\) ] *; *\\Option-d/If "\1" == "\2"/
155
 
/if /s/if \[ \([^ ]*\) = \([^ ]*\) ] *; *then *\\Option-d/If "\1" == "\2"/
156
 
 
157
 
/if /s/if \[ \([^ ]*\) != \([^ ]*\) ] *; *\\Option-d/If "\1" != "\2"/
158
 
/if /s/if \[ \([^ ]*\) != \([^ ]*\) ] *; *then *\\Option-d/If "\1" != "\2"/
159
 
 
160
 
/if /s/if \[ \([^ ]*\) -eq \([^ ]*\) ] *; *\\Option-d/If "\1" != "\2"/
161
 
/if /s/if \[ \([^ ]*\) -eq \([^ ]*\) ] *; *then *\\Option-d/If "\1" != "\2"/
162
 
 
163
 
/^[     ]*else true$/c\
164
 
        Else\
165
 
                mpw-true\
166
 
 
167
 
 
168
 
/else/s/^\([    ]*\)else[       ]*$/\1Else/
169
 
/else/s/^\([    ]*\)else[;      ]*\\Option-d$/\1Else/
170
 
 
171
 
/^[     ]*else[         ]*true[         ]*$/c\
172
 
        Else\
173
 
                mpw-true
174
 
 
175
 
/^[     ]*else[         ]*true[;        ]*fi$/c\
176
 
        Else\
177
 
                mpw-true\
178
 
        End If
179
 
 
180
 
/fi/s/^\([      ]*\)fi *$/\1End/
181
 
/fi/s/^\([      ]*\)fi *; *\\Option-d/\1End/
182
 
 
183
 
# Change looping.
184
 
/for/s/^\([     ]*\)for \([-a-zA-Z0-9_]*\) in \([^;]*\); *do *\\Option-d/\1For \2 In \3/
185
 
/^\([   ]*\)do *\\Option-d/d
186
 
/done/s/^\([    ]*\)done *; *\\Option-d/\1End/
187
 
/done/s/^\([    ]*\)done$/\1End/
188
 
 
189
 
# Trailing semicolons and continued lines are unneeded sh syntax.
190
 
/; \\Option-d/s/; \\Option-d//
191
 
 
192
 
# Change move-if-change to MoveIfChange.
193
 
/move-if-change/s/\([^  ]*\)move-if-change/MoveIfChange/g
194
 
 
195
 
# Change $(SHELL) to the script name by itself.
196
 
/SHELL/s/^\([   ]*\){SHELL} /\1/
197
 
 
198
 
# Change syntax of default rule dependency.
199
 
/^\.c\.o/s/^\.c\.o \\Option-f$/.c.o \\Option-f .c/
200
 
 
201
 
# Change default rule's action.
202
 
/{CC} -c/s/{CC} -c \(.*\) \$<$/{CC} @DASH_C_FLAG@ {DepDir}{Default}.c \1 @SEGMENT_FLAG({Default})@ -o {TargDir}{Default}.c.o/
203
 
 
204
 
# This is pretty disgusting, but I can't seem to detect empty rules.
205
 
/Option-f$/s/Option-f$/Option-f _oldest/g
206
 
 
207
 
# Remove -c from explicit compiler calls. (but should not if GCC)
208
 
# Handle the case of a source file that is "{xxx}"file.c.
209
 
/ -c /s/{\([A-Z_]*\)CC}\(.*\) -c \(.*\)"\([^"]*\)"\([-a-z_]*\)\.c/{\1CC}\2 @DASH_C_FLAG@ \3"\4"\5.c -o "{o}"\5.c.o/
210
 
# Handle the case of a source file that is "{xxx}"dir:file.c.
211
 
/ -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/
212
 
 
213
 
# Change linking cc to linking sequence.
214
 
/-o/s/^\([      ]*\){CC} \(.*\){\([A-Z_]*\)CFLAGS} \(.*\){LDFLAGS} \(.*\)-o \([^ ]*\) \(.*\)$/\1{CC_LD} \2 {\3CFLAGS} \4 {LDFLAGS} \5 -o \6{PROG_EXT} \7\
215
 
\1{MAKEPEF} \6{PROG_EXT} -o \6 {MAKEPEF_TOOL_FLAGS} {MAKEPEF_FLAGS}\
216
 
\1{REZ} "{s}"\6.r -o \6 -append -d PROG_NAME='"'\6'"' -d VERSION_STRING='"'{version}'"'/
217
 
/-o/s/^\([      ]*\){CC} \(.*\){\([A-Z_]*\)CFLAGS} \(.*\)-o \([^ ]*\) \(.*\){LDFLAGS} \(.*\)$/\1{CC_LD} \2 {\3CFLAGS} \4 {LDFLAGS} \6 -o \5{PROG_EXT} \7\
218
 
\1{MAKEPEF} \5{PROG_EXT} -o \5 {MAKEPEF_TOOL_FLAGS} {MAKEPEF_FLAGS}\
219
 
\1{REZ} "{s}"\5.r -o \5 -append -d PROG_NAME='"'\5'"' -d VERSION_STRING='"'{version}'"'/
220
 
/-o/s/^\([      ]*\){HOST_CC} \(.*\)-o \([^ ]*\) \(.*\)$/\1{HOST_CC_LD} \2 -o \3{PROG_EXT} \4\
221
 
\1{MAKEPEF} \3{PROG_EXT} -o \3 {MAKEPEF_TOOL_FLAGS} {MAKEPEF_FLAGS}\
222
 
\1{REZ} "{s}"\3.r -o \3 -append -d PROG_NAME='"'\3'"' -d VERSION_STRING='"'{version}'"'/
223
 
 
224
 
# Comment out .NOEXPORT rules.
225
 
/\.NOEXPORT/s/^\.NOEXPORT/#\.NOEXPORT/
226
 
# Comment out .PHONY rules.
227
 
/\.PHONY/s/^\.PHONY/#\.PHONY/
228
 
# Comment out .PRECIOUS rules.
229
 
/\.PRECIOUS/s/^\.PRECIOUS/#\.PRECIOUS/
230
 
# Comment out .SUFFIXES rules.
231
 
/\.SUFFIXES/s/^\.SUFFIXES/#\.SUFFIXES/
232
 
 
233
 
# Set the install program appropriately.
234
 
/INSTALL/s/^INSTALL *= *`.*`:install.sh -c/INSTALL = Duplicate -y/
235
 
 
236
 
# Don't try to decide whether to use the tree's own tools.
237
 
/bison/s/`.*bison:bison.*`/bison -y/
238
 
/byacc/s/`.*byacc:byacc.*`/byacc/
239
 
/flex/s/`.*flex:flex.*`/flex/
240
 
 
241
 
# Turn transformed C comments in echo commands back into comments.
242
 
/echo/s,echo '\(.*\):\\Option-x\(.*\)\\Option-x:\(.*\)',echo '\1/*\2*/\3',
243
 
 
244
 
# Whack out various clever expressions that search for tools, since
245
 
# the clever code is too /bin/sh specific.
246
 
 
247
 
/^AR_FOR_TARGET = `/,/`$/c\
248
 
AR_FOR_TARGET = ::binutils:ar\
249
 
 
250
 
 
251
 
/^RANLIB_FOR_TARGET = `/,/`$/c\
252
 
RANLIB_FOR_TARGET = ::binutils:ranlib\
253
 
 
254
 
 
255
 
/^RANLIB_TEST_FOR_TARGET = /,/ranlib ] )$/c\
256
 
RANLIB_TEST_FOR_TARGET = \
257
 
 
258
 
 
259
 
/^EXPECT = `/,/`$/c\
260
 
EXPECT = \
261
 
 
262
 
 
263
 
/^RUNTEST = `/,/`$/c\
264
 
RUNTEST = \
265
 
 
266
 
 
267
 
/^CC_FOR_TARGET = `/,/`$/c\
268
 
CC_FOR_TARGET = \
269
 
 
270
 
 
271
 
/^CXX_FOR_TARGET = `/,/`$/c\
272
 
CXX_FOR_TARGET = \
273
 
 
274
 
 
275
 
/^CHILL_FOR_TARGET = `/,/`$/c\
276
 
CHILL_FOR_TARGET = \
277
 
 
278
 
 
279
 
/^CHILL_LIB = `/,/`$/c\
280
 
CHILL_LIB = \
281
 
 
282
 
/sanit/s/{start-sanit...-[a-z0-9]*}//
283
 
/sanit/s/{end-sanit...-[a-z0-9]*}//
284
 
 
285
 
# Add standard defines and default rules.
286
 
/^# srcdir/a\
287
 
\
288
 
s = "{srcdir}"\
289
 
\
290
 
o = :\
291
 
\
292
 
"{o}" \\Option-f : "{s}"
293