]> git.saurik.com Git - wxWidgets.git/blob - contrib/build/ogl/makefile.wat
Warning fix.
[wxWidgets.git] / contrib / build / ogl / makefile.wat
1 # =========================================================================
2 # This makefile was generated by
3 # Bakefile 0.1.9 (http://bakefile.sourceforge.net)
4 # Do not modify, all changes will be overwritten!
5 # =========================================================================
6
7 !include ../../../build/msw/config.wat
8
9 # -------------------------------------------------------------------------
10 # Do not modify the rest of this file!
11 # -------------------------------------------------------------------------
12
13 # Speed up compilation a bit:
14 !ifdef __LOADDLL__
15 ! loaddll wcc wccd
16 ! loaddll wccaxp wccdaxp
17 ! loaddll wcc386 wccd386
18 ! loaddll wpp wppdi86
19 ! loaddll wppaxp wppdaxp
20 ! loaddll wpp386 wppd386
21 ! loaddll wlink wlink
22 ! loaddll wlib wlibd
23 !endif
24
25 # We need these variables in some bakefile-made rules:
26 WATCOM_CWD = $+ $(%cdrive):$(%cwd) $-
27
28 ### Conditionally set variables: ###
29
30 PORTNAME =
31 !ifeq USE_GUI 0
32 PORTNAME = base
33 !endif
34 !ifeq USE_GUI 1
35 PORTNAME = msw
36 !endif
37 VENDORTAG =
38 !ifeq OFFICIAL_BUILD 0
39 VENDORTAG = _$(VENDOR)
40 !endif
41 !ifeq OFFICIAL_BUILD 1
42 VENDORTAG =
43 !endif
44 WXDEBUGFLAG =
45 !ifeq BUILD debug
46 !ifeq DEBUG_FLAG default
47 WXDEBUGFLAG = d
48 !endif
49 !endif
50 !ifeq DEBUG_FLAG 1
51 WXDEBUGFLAG = d
52 !endif
53 WXUNICODEFLAG =
54 !ifeq UNICODE 1
55 WXUNICODEFLAG = u
56 !endif
57 WXUNIVNAME =
58 !ifeq WXUNIV 1
59 WXUNIVNAME = univ
60 !endif
61 WXDLLFLAG =
62 !ifeq SHARED 1
63 WXDLLFLAG = dll
64 !endif
65 LIBTYPE_SUFFIX =
66 !ifeq SHARED 0
67 LIBTYPE_SUFFIX = lib
68 !endif
69 !ifeq SHARED 1
70 LIBTYPE_SUFFIX = dll
71 !endif
72 EXTRALIBS_FOR_BASE =
73 !ifeq MONOLITHIC 0
74 EXTRALIBS_FOR_BASE =
75 !endif
76 !ifeq MONOLITHIC 1
77 EXTRALIBS_FOR_BASE =
78 !endif
79 __ogldll___depname =
80 !ifeq SHARED 1
81 __ogldll___depname = &
82 $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ogl_wat$(VENDORTAG).dll
83 !endif
84 __DEBUGINFO_2 =
85 !ifeq BUILD debug
86 !ifeq DEBUG_INFO default
87 __DEBUGINFO_2 = debug all
88 !endif
89 !endif
90 !ifeq BUILD release
91 !ifeq DEBUG_INFO default
92 __DEBUGINFO_2 =
93 !endif
94 !endif
95 !ifeq DEBUG_INFO 0
96 __DEBUGINFO_2 =
97 !endif
98 !ifeq DEBUG_INFO 1
99 __DEBUGINFO_2 = debug all
100 !endif
101 __WXLIB_MONO_p =
102 !ifeq MONOLITHIC 1
103 __WXLIB_MONO_p = &
104 wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
105 !endif
106 __LIB_TIFF_p =
107 !ifeq USE_GUI 1
108 __LIB_TIFF_p = wxtiff$(WXDEBUGFLAG).lib
109 !endif
110 __LIB_JPEG_p =
111 !ifeq USE_GUI 1
112 __LIB_JPEG_p = wxjpeg$(WXDEBUGFLAG).lib
113 !endif
114 __LIB_PNG_p =
115 !ifeq USE_GUI 1
116 __LIB_PNG_p = wxpng$(WXDEBUGFLAG).lib
117 !endif
118 __WXLIB_CORE_p =
119 !ifeq MONOLITHIC 0
120 __WXLIB_CORE_p = &
121 wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib
122 !endif
123 __WXLIB_BASE_p =
124 !ifeq MONOLITHIC 0
125 __WXLIB_BASE_p = &
126 wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
127 !endif
128 __ogllib___depname =
129 !ifeq SHARED 0
130 __ogllib___depname = &
131 $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ogl.lib
132 !endif
133 __DEBUGINFO_1 =
134 !ifeq BUILD debug
135 !ifeq DEBUG_INFO default
136 __DEBUGINFO_1 = -d2
137 !endif
138 !endif
139 !ifeq BUILD release
140 !ifeq DEBUG_INFO default
141 __DEBUGINFO_1 = -d0
142 !endif
143 !endif
144 !ifeq DEBUG_INFO 0
145 __DEBUGINFO_1 = -d0
146 !endif
147 !ifeq DEBUG_INFO 1
148 __DEBUGINFO_1 = -d2
149 !endif
150 __OPTIMIZEFLAG =
151 !ifeq BUILD debug
152 __OPTIMIZEFLAG = -od
153 !endif
154 !ifeq BUILD release
155 __OPTIMIZEFLAG = -ot -ox
156 !endif
157 __THREADSFLAG =
158 !ifeq USE_THREADS 0
159 __THREADSFLAG =
160 !endif
161 !ifeq USE_THREADS 1
162 __THREADSFLAG = -bm
163 !endif
164 __RUNTIME_LIBS =
165 !ifeq RUNTIME_LIBS dynamic
166 __RUNTIME_LIBS = -br
167 !endif
168 !ifeq RUNTIME_LIBS static
169 __RUNTIME_LIBS =
170 !endif
171 __RTTIFLAG =
172 !ifeq USE_RTTI 0
173 __RTTIFLAG =
174 !endif
175 !ifeq USE_RTTI 1
176 __RTTIFLAG = -xr
177 !endif
178 __EXCEPTIONSFLAG =
179 !ifeq USE_EXCEPTIONS 0
180 __EXCEPTIONSFLAG =
181 !endif
182 !ifeq USE_EXCEPTIONS 1
183 __EXCEPTIONSFLAG = -xs
184 !endif
185 __WXUNIV_DEFINE_p =
186 !ifeq WXUNIV 1
187 __WXUNIV_DEFINE_p = -d__WXUNIVERSAL__
188 !endif
189 __DEBUG_DEFINE_p =
190 !ifeq BUILD debug
191 !ifeq DEBUG_FLAG default
192 __DEBUG_DEFINE_p = -d__WXDEBUG__
193 !endif
194 !endif
195 !ifeq DEBUG_FLAG 1
196 __DEBUG_DEFINE_p = -d__WXDEBUG__
197 !endif
198 __EXCEPTIONS_DEFINE_p =
199 !ifeq USE_EXCEPTIONS 0
200 __EXCEPTIONS_DEFINE_p = -dwxNO_EXCEPTIONS
201 !endif
202 __RTTI_DEFINE_p =
203 !ifeq USE_RTTI 0
204 __RTTI_DEFINE_p = -dwxNO_RTTI
205 !endif
206 __THREAD_DEFINE_p =
207 !ifeq USE_THREADS 0
208 __THREAD_DEFINE_p = -dwxNO_THREADS
209 !endif
210 __UNICODE_DEFINE_p =
211 !ifeq UNICODE 1
212 __UNICODE_DEFINE_p = -d_UNICODE
213 !endif
214
215 ### Variables: ###
216
217 WX_RELEASE_NODOT = 27
218 WX_VERSION_NODOT = $(WX_RELEASE_NODOT)0
219 OBJS = &
220 wat_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
221 LIBDIRNAME = ..\..\src\ogl\..\..\..\lib\wat_$(LIBTYPE_SUFFIX)$(CFG)
222 SETUPHDIR = &
223 $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)
224 OGLDLL_CXXFLAGS = -bd $(__DEBUGINFO_1) $(__OPTIMIZEFLAG) $(__THREADSFLAG) &
225 $(__RUNTIME_LIBS) -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) &
226 $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) &
227 $(__UNICODE_DEFINE_p) -i=..\..\src\ogl\..\..\..\include -i=$(SETUPHDIR) -wx &
228 -wcd=549 -wcd=656 -wcd=657 -wcd=667 -i=..\..\src\ogl\..\..\include &
229 -dWXUSINGDLL -dWXMAKINGDLL_OGL /fh=$(OBJS)\wxprec_ogldll.pch $(__RTTIFLAG) &
230 $(__EXCEPTIONSFLAG) $(CPPFLAGS) $(CXXFLAGS)
231 OGLDLL_OBJECTS = &
232 $(OBJS)\ogldll_dummy.obj &
233 $(OBJS)\ogldll_basic2.obj &
234 $(OBJS)\ogldll_canvas.obj &
235 $(OBJS)\ogldll_divided.obj &
236 $(OBJS)\ogldll_mfutils.obj &
237 $(OBJS)\ogldll_oglmisc.obj &
238 $(OBJS)\ogldll_basic.obj &
239 $(OBJS)\ogldll_composit.obj &
240 $(OBJS)\ogldll_drawn.obj &
241 $(OBJS)\ogldll_bmpshape.obj &
242 $(OBJS)\ogldll_constrnt.obj &
243 $(OBJS)\ogldll_lines.obj &
244 $(OBJS)\ogldll_ogldiag.obj
245 OGLLIB_CXXFLAGS = $(__DEBUGINFO_1) $(__OPTIMIZEFLAG) $(__THREADSFLAG) &
246 $(__RUNTIME_LIBS) -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) &
247 $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) &
248 $(__UNICODE_DEFINE_p) -i=..\..\src\ogl\..\..\..\include -i=$(SETUPHDIR) -wx &
249 -wcd=549 -wcd=656 -wcd=657 -wcd=667 -i=..\..\src\ogl\..\..\include &
250 /fh=$(OBJS)\wxprec_ogllib.pch $(__RTTIFLAG) $(__EXCEPTIONSFLAG) $(CPPFLAGS) &
251 $(CXXFLAGS)
252 OGLLIB_OBJECTS = &
253 $(OBJS)\ogllib_dummy.obj &
254 $(OBJS)\ogllib_basic2.obj &
255 $(OBJS)\ogllib_canvas.obj &
256 $(OBJS)\ogllib_divided.obj &
257 $(OBJS)\ogllib_mfutils.obj &
258 $(OBJS)\ogllib_oglmisc.obj &
259 $(OBJS)\ogllib_basic.obj &
260 $(OBJS)\ogllib_composit.obj &
261 $(OBJS)\ogllib_drawn.obj &
262 $(OBJS)\ogllib_bmpshape.obj &
263 $(OBJS)\ogllib_constrnt.obj &
264 $(OBJS)\ogllib_lines.obj &
265 $(OBJS)\ogllib_ogldiag.obj
266
267
268 all : $(OBJS)
269 $(OBJS) :
270 -if not exist $(OBJS) mkdir $(OBJS)
271
272 ### Targets: ###
273
274 all : .SYMBOLIC $(__ogldll___depname) $(__ogllib___depname)
275
276 clean : .SYMBOLIC
277 -if exist $(OBJS)\*.obj del $(OBJS)\*.obj
278 -if exist $(OBJS)\*.res del $(OBJS)\*.res
279 -if exist $(OBJS)\*.lbc del $(OBJS)\*.lbc
280 -if exist $(OBJS)\*.ilk del $(OBJS)\*.ilk
281 -if exist $(OBJS)\*.pch del $(OBJS)\*.pch
282 -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ogl_wat$(VENDORTAG).dll del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ogl_wat$(VENDORTAG).dll
283 -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ogl.lib del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ogl.lib
284 -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ogl.lib del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ogl.lib
285
286 !ifeq SHARED 1
287 $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ogl_wat$(VENDORTAG).dll : $(OGLDLL_OBJECTS) $(OBJS)\ogldll_version.res
288 @%create $(OBJS)\ogldll.lbc
289 @%append $(OBJS)\ogldll.lbc option quiet
290 @%append $(OBJS)\ogldll.lbc name $^@
291 @%append $(OBJS)\ogldll.lbc option caseexact
292 @%append $(OBJS)\ogldll.lbc $(LDFLAGS) $(__DEBUGINFO_2) libpath $(LIBDIRNAME)
293 @for %i in ($(OGLDLL_OBJECTS)) do @%append $(OBJS)\ogldll.lbc file %i
294 @for %i in ( $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) ) do @%append $(OBJS)\ogldll.lbc library %i
295 @%append $(OBJS)\ogldll.lbc option resource=$(OBJS)\ogldll_version.res
296 @%append $(OBJS)\ogldll.lbc system nr_dll
297 wlink @$(OBJS)\ogldll.lbc
298 wlib -q -n -b $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ogl.lib +$^@
299 !endif
300
301 !ifeq SHARED 0
302 $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ogl.lib : $(OGLLIB_OBJECTS)
303 @%create $(OBJS)\ogllib.lbc
304 @for %i in ($(OGLLIB_OBJECTS)) do @%append $(OBJS)\ogllib.lbc +%i
305 wlib -q -p4096 -n -b $^@ @$(OBJS)\ogllib.lbc
306 !endif
307
308 $(OBJS)\ogldll_dummy.obj : .AUTODEPEND ../../src/ogl\..\..\..\src\msw\dummy.cpp
309 $(CXX) -bt=nt -zq -fo=$^@ $(OGLDLL_CXXFLAGS) $<
310
311 $(OBJS)\ogldll_version.res : .AUTODEPEND ../../src/ogl\..\..\..\src\msw\version.rc
312 wrc -q -ad -bt=nt -r -fo=$^@ -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) -i=..\..\src\ogl\..\..\..\include -i=$(SETUPHDIR) -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ogl_wat$(VENDORTAG) $<
313
314 $(OBJS)\ogldll_basic2.obj : .AUTODEPEND ../../src/ogl\basic2.cpp
315 $(CXX) -bt=nt -zq -fo=$^@ $(OGLDLL_CXXFLAGS) $<
316
317 $(OBJS)\ogldll_canvas.obj : .AUTODEPEND ../../src/ogl\canvas.cpp
318 $(CXX) -bt=nt -zq -fo=$^@ $(OGLDLL_CXXFLAGS) $<
319
320 $(OBJS)\ogldll_divided.obj : .AUTODEPEND ../../src/ogl\divided.cpp
321 $(CXX) -bt=nt -zq -fo=$^@ $(OGLDLL_CXXFLAGS) $<
322
323 $(OBJS)\ogldll_mfutils.obj : .AUTODEPEND ../../src/ogl\mfutils.cpp
324 $(CXX) -bt=nt -zq -fo=$^@ $(OGLDLL_CXXFLAGS) $<
325
326 $(OBJS)\ogldll_oglmisc.obj : .AUTODEPEND ../../src/ogl\oglmisc.cpp
327 $(CXX) -bt=nt -zq -fo=$^@ $(OGLDLL_CXXFLAGS) $<
328
329 $(OBJS)\ogldll_basic.obj : .AUTODEPEND ../../src/ogl\basic.cpp
330 $(CXX) -bt=nt -zq -fo=$^@ $(OGLDLL_CXXFLAGS) $<
331
332 $(OBJS)\ogldll_composit.obj : .AUTODEPEND ../../src/ogl\composit.cpp
333 $(CXX) -bt=nt -zq -fo=$^@ $(OGLDLL_CXXFLAGS) $<
334
335 $(OBJS)\ogldll_drawn.obj : .AUTODEPEND ../../src/ogl\drawn.cpp
336 $(CXX) -bt=nt -zq -fo=$^@ $(OGLDLL_CXXFLAGS) $<
337
338 $(OBJS)\ogldll_bmpshape.obj : .AUTODEPEND ../../src/ogl\bmpshape.cpp
339 $(CXX) -bt=nt -zq -fo=$^@ $(OGLDLL_CXXFLAGS) $<
340
341 $(OBJS)\ogldll_constrnt.obj : .AUTODEPEND ../../src/ogl\constrnt.cpp
342 $(CXX) -bt=nt -zq -fo=$^@ $(OGLDLL_CXXFLAGS) $<
343
344 $(OBJS)\ogldll_lines.obj : .AUTODEPEND ../../src/ogl\lines.cpp
345 $(CXX) -bt=nt -zq -fo=$^@ $(OGLDLL_CXXFLAGS) $<
346
347 $(OBJS)\ogldll_ogldiag.obj : .AUTODEPEND ../../src/ogl\ogldiag.cpp
348 $(CXX) -bt=nt -zq -fo=$^@ $(OGLDLL_CXXFLAGS) $<
349
350 $(OBJS)\ogllib_dummy.obj : .AUTODEPEND ../../src/ogl\..\..\..\src\msw\dummy.cpp
351 $(CXX) -bt=nt -zq -fo=$^@ $(OGLLIB_CXXFLAGS) $<
352
353 $(OBJS)\ogllib_basic2.obj : .AUTODEPEND ../../src/ogl\basic2.cpp
354 $(CXX) -bt=nt -zq -fo=$^@ $(OGLLIB_CXXFLAGS) $<
355
356 $(OBJS)\ogllib_canvas.obj : .AUTODEPEND ../../src/ogl\canvas.cpp
357 $(CXX) -bt=nt -zq -fo=$^@ $(OGLLIB_CXXFLAGS) $<
358
359 $(OBJS)\ogllib_divided.obj : .AUTODEPEND ../../src/ogl\divided.cpp
360 $(CXX) -bt=nt -zq -fo=$^@ $(OGLLIB_CXXFLAGS) $<
361
362 $(OBJS)\ogllib_mfutils.obj : .AUTODEPEND ../../src/ogl\mfutils.cpp
363 $(CXX) -bt=nt -zq -fo=$^@ $(OGLLIB_CXXFLAGS) $<
364
365 $(OBJS)\ogllib_oglmisc.obj : .AUTODEPEND ../../src/ogl\oglmisc.cpp
366 $(CXX) -bt=nt -zq -fo=$^@ $(OGLLIB_CXXFLAGS) $<
367
368 $(OBJS)\ogllib_basic.obj : .AUTODEPEND ../../src/ogl\basic.cpp
369 $(CXX) -bt=nt -zq -fo=$^@ $(OGLLIB_CXXFLAGS) $<
370
371 $(OBJS)\ogllib_composit.obj : .AUTODEPEND ../../src/ogl\composit.cpp
372 $(CXX) -bt=nt -zq -fo=$^@ $(OGLLIB_CXXFLAGS) $<
373
374 $(OBJS)\ogllib_drawn.obj : .AUTODEPEND ../../src/ogl\drawn.cpp
375 $(CXX) -bt=nt -zq -fo=$^@ $(OGLLIB_CXXFLAGS) $<
376
377 $(OBJS)\ogllib_bmpshape.obj : .AUTODEPEND ../../src/ogl\bmpshape.cpp
378 $(CXX) -bt=nt -zq -fo=$^@ $(OGLLIB_CXXFLAGS) $<
379
380 $(OBJS)\ogllib_constrnt.obj : .AUTODEPEND ../../src/ogl\constrnt.cpp
381 $(CXX) -bt=nt -zq -fo=$^@ $(OGLLIB_CXXFLAGS) $<
382
383 $(OBJS)\ogllib_lines.obj : .AUTODEPEND ../../src/ogl\lines.cpp
384 $(CXX) -bt=nt -zq -fo=$^@ $(OGLLIB_CXXFLAGS) $<
385
386 $(OBJS)\ogllib_ogldiag.obj : .AUTODEPEND ../../src/ogl\ogldiag.cpp
387 $(CXX) -bt=nt -zq -fo=$^@ $(OGLLIB_CXXFLAGS) $<
388