]> git.saurik.com Git - wxWidgets.git/blob - src/os2/makefile.va
4db6413ffda81364ac79b46e2ea43b7f7118073c
[wxWidgets.git] / src / os2 / makefile.va
1 #
2 # File: makefile.va
3 # Author: Dave Webster
4 # Created: 1999
5 # Updated:
6 # Copyright: (c) 1999, Dave Webster
7 #
8 # "%W% %G%"
9 #
10 # Makefile : Builds wxWindows library wx.lib for VisualAge C++
11 # Arguments:
12 #
13 # FINAL=1 argument to nmake to build version with no debugging info.
14 # dll builds a library (wxdll.lib) suitable for creating DLLs
15 #
16 !include <..\makeva.env>
17
18 THISDIR=$(WXWIN)\src\os2
19
20 !if "$(WXMAKINGDLL)" == "1"
21 LIBTARGET=$(WXDIR)\lib\$(WXLIBNAME).dll
22 DUMMYOBJ=$D\dummydll.obj
23 !else
24 LIBTARGET=$(WXLIB)
25 COMTEMPTGT1=$(WXDIR)\lib\wxcom1.lib
26 COMTEMPTGT2=$(WXDIR)\lib\wxcom2.lib
27 GENTEMPTGT=$(WXDIR)\lib\wxgen.lib
28 NONESTEMPTGT=$(WXDIR)\lib\wxnones.lib
29 OS2TEMPTGT=$(WXDIR)\lib\wxos2.lib
30 DUMMYOBJ=$D\dummy.obj
31 !endif
32
33 # Please set these according to the settings in setup.h, so we can include
34 # the appropriate libraries in wx.lib
35
36 # This one overrides the others, to be consistent with the settings in wx_setup.h
37 MINIMAL_WXWINDOWS_SETUP=0
38
39 PERIPH_LIBS=
40 PERIPH_TARGET=
41 PERIPH_CLEAN_TARGET=
42
43 # These are absolute paths, so that the compiler
44 # generates correct __FILE__ symbols for debugging.
45 # Otherwise you don't be able to double-click on a memory
46 # error to load that file.
47 GENDIR=$(WXDIR)\src\generic
48 COMMDIR=$(WXDIR)\src\common
49 OS2DIR=$(WXDIR)\src\os2
50 HTMLDIR = $(WXDIR)\src\html
51
52 {..\generic}.cpp{..\generic\$D}.obj:
53 @echo $<
54 icc @<<
55 $(CPPFLAGS) /Fo$@ /Tp $<
56 <<
57
58 {..\common}.cpp{..\common\$D}.obj:
59 @echo $<
60 icc @<<
61 $(CPPFLAGS) /Fo$@ /Tp $<
62 <<
63
64 {..\os2}.cpp{..\os2\$D}.obj:
65 @echo $<
66 icc @<<
67 $(CPPFLAGS) /Fo$@ /Tp $<
68 <<
69
70 {..\html}.cpp{..\html\$D}.obj:
71 @echo $<
72 icc @<<
73 $(CPPFLAGS) /Fo$@ /Tp $<
74 <<
75
76 GENERICOBJS= \
77 ..\generic\$D\choicdgg.obj \
78 ..\generic\$D\gridg.obj \
79 ..\generic\$D\laywin.obj \
80 ..\generic\$D\panelg.obj \
81 ..\generic\$D\progdlgg.obj \
82 ..\generic\$D\prop.obj \
83 ..\generic\$D\propform.obj \
84 ..\generic\$D\proplist.obj \
85 ..\generic\$D\sashwin.obj \
86 ..\generic\$D\scrolwin.obj \
87 ..\generic\$D\splitter.obj \
88 ..\generic\$D\statusbr.obj \
89 ..\generic\$D\tabg.obj \
90 ..\generic\$D\textdlgg.obj \
91 ..\generic\$D\tipdlg.obj \
92 ..\generic\$D\busyinfo.obj
93
94 # ..\generic\$D\imaglist.obj \
95 # ..\generic\$D\treectrl.obj \
96 # ..\generic\$D\listctrl.obj \
97 # ..\generic\$D\notebook.obj \
98
99 GENLIBOBJS= \
100 choicdgg.obj \
101 gridg.obj \
102 laywin.obj \
103 panelg.obj \
104 progdlgg.obj \
105 prop.obj \
106 propform.obj \
107 proplist.obj \
108 sashwin.obj \
109 scrolwin.obj \
110 splitter.obj \
111 statusbr.obj \
112 tabg.obj \
113 textdlgg.obj \
114 tipdlg.obj \
115 busyinfo.obj
116
117 # These are generic things that don't need to be compiled on PM,
118 # but sometimes it's useful to do so for testing purposes.
119 NONESSENTIALOBJS= \
120 ..\generic\$D\printps.obj \
121 ..\generic\$D\prntdlgg.obj \
122 ..\generic\$D\msgdlgg.obj \
123 ..\generic\$D\helpxlp.obj \
124 ..\generic\$D\colrdlgg.obj \
125 ..\generic\$D\fontdlgg.obj
126
127 COMMONOBJS = \
128 ..\common\$D\cmndata.obj \
129 ..\common\$D\config.obj \
130 ..\common\$D\dcbase.obj \
131 ..\common\$D\db.obj \
132 ..\common\$D\dbtable.obj \
133 ..\common\$D\docview.obj \
134 ..\common\$D\docmdi.obj \
135 ..\common\$D\dynarray.obj \
136 ..\common\$D\dynlib.obj \
137 ..\common\$D\event.obj \
138 ..\common\$D\file.obj \
139 ..\common\$D\filefn.obj \
140 ..\common\$D\fileconf.obj \
141 ..\common\$D\framecmn.obj \
142 ..\common\$D\ftp.obj \
143 ..\common\$D\gdicmn.obj \
144 ..\common\$D\image.obj \
145 ..\common\$D\imagbmp.obj \
146 ..\common\$D\imagjpeg.obj \
147 ..\common\$D\imagpng.obj \
148 ..\common\$D\imaggif.obj \
149 ..\common\$D\intl.obj \
150 ..\common\$D\ipcbase.obj \
151 ..\common\$D\helpbase.obj \
152 ..\common\$D\layout.obj \
153 ..\common\$D\log.obj \
154 ..\common\$D\memory.obj \
155 ..\common\$D\mimetype.obj \
156 ..\common\$D\module.obj \
157 ..\common\$D\odbc.obj \
158 ..\common\$D\object.obj \
159 ..\common\$D\prntbase.obj \
160 ..\common\$D\resource.obj \
161 ..\common\$D\tbarbase.obj \
162 ..\common\$D\tbarsmpl.obj \
163 ..\common\$D\textfile.obj \
164 ..\common\$D\timercmn.obj \
165 ..\common\$D\utilscmn.obj \
166 ..\common\$D\validate.obj \
167 ..\common\$D\valgen.obj \
168 ..\common\$D\valtext.obj \
169 ..\common\$D\date.obj \
170 ..\common\$D\hash.obj \
171 ..\common\$D\list.obj \
172 ..\common\$D\paper.obj \
173 ..\common\$D\string.obj \
174 ..\common\$D\socket.obj \
175 ..\common\$D\sckaddr.obj \
176 ..\common\$D\sckfile.obj \
177 ..\common\$D\sckipc.obj \
178 ..\common\$D\sckstrm.obj \
179 ..\common\$D\url.obj \
180 ..\common\$D\http.obj \
181 ..\common\$D\protocol.obj \
182 ..\common\$D\time.obj \
183 ..\common\$D\tokenzr.obj \
184 ..\common\$D\wxexpr.obj \
185 ..\common\$D\y_tab.obj \
186 ..\common\$D\extended.obj \
187 ..\common\$D\process.obj \
188 ..\common\$D\wfstream.obj \
189 ..\common\$D\mstream.obj \
190 ..\common\$D\zstream.obj \
191 ..\common\$D\stream.obj \
192 ..\common\$D\datstrm.obj \
193 ..\common\$D\objstrm.obj \
194 ..\common\$D\variant.obj \
195 ..\common\$D\dlgcmn.obj \
196 ..\common\$D\wincmn.obj \
197 ..\common\$D\txtstrm.obj \
198 ..\common\$D\wxchar.obj \
199 ..\common\$D\unzip.obj \
200 ..\common\$D\filesys.obj \
201 ..\common\$D\fs_inet.obj \
202 ..\common\$D\fs_zip.obj
203
204 COMLIBOBJS1 = \
205 cmndata.obj \
206 config.obj \
207 dcbase.obj \
208 db.obj \
209 dbtable.obj \
210 docview.obj \
211 docmdi.obj \
212 dynarray.obj \
213 dynlib.obj \
214 event.obj \
215 file.obj \
216 filefn.obj \
217 fileconf.obj \
218 framecmn.obj \
219 ftp.obj \
220 gdicmn.obj \
221 image.obj \
222 imagbmp.obj \
223 imagjpeg.obj \
224 imagpng.obj \
225 imaggif.obj \
226 intl.obj \
227 ipcbase.obj \
228 helpbase.obj \
229 layout.obj \
230 log.obj \
231 memory.obj \
232 mimetype.obj \
233 module.obj \
234 odbc.obj \
235 object.obj \
236 prntbase.obj \
237 resource.obj \
238 tbarbase.obj \
239 tbarsmpl.obj \
240 textfile.obj \
241 timercmn.obj \
242 utilscmn.obj \
243 validate.obj \
244 valgen.obj \
245 valtext.obj \
246 date.obj \
247 hash.obj \
248 list.obj \
249 paper.obj
250
251 COMLIBOBJS2 = \
252 string.obj \
253 socket.obj \
254 sckaddr.obj \
255 sckfile.obj \
256 sckipc.obj \
257 sckstrm.obj \
258 url.obj \
259 http.obj \
260 protocol.obj \
261 time.obj \
262 tokenzr.obj \
263 wxexpr.obj \
264 y_tab.obj \
265 extended.obj \
266 process.obj \
267 wfstream.obj \
268 mstream.obj \
269 zstream.obj \
270 stream.obj \
271 datstrm.obj \
272 objstrm.obj \
273 variant.obj \
274 dlgcmn.obj \
275 wincmn.obj \
276 txtstrm.obj \
277 wxchar.obj \
278 unzip.obj \
279 filesys.obj \
280 fs_inet.obj \
281 fs_zip.obj
282
283 OS2OBJS = \
284 ..\os2\$D\accel.obj \
285 ..\os2\$D\app.obj \
286 ..\os2\$D\bitmap.obj \
287 ..\os2\$D\bmpbuttn.obj \
288 ..\os2\$D\brush.obj \
289 ..\os2\$D\button.obj \
290 ..\os2\$D\caret.obj \
291 ..\os2\$D\dc.obj \
292 ..\os2\$D\dialog.obj \
293 ..\os2\$D\frame.obj \
294 ..\os2\$D\window.obj
295
296 OS2LIBOBJS = \
297 accel.obj \
298 app.obj \
299 bitmap.obj \
300 bmpbuttn.obj \
301 brush.obj \
302 button.obj \
303 caret.obj \
304 dc.obj \
305 dialog.obj \
306 frame.obj \
307 window.obj
308
309 HTMLOBJS = \
310 ..\html\$D\htmlcell.obj \
311 ..\html\$D\htmlfilter.obj \
312 ..\html\$D\htmlhelp.obj \
313 ..\html\$D\htmlhelp_io.obj \
314 ..\html\$D\htmlparser.obj \
315 ..\html\$D\htmltag.obj \
316 ..\html\$D\htmlwin.obj \
317 ..\html\$D\htmlwinparser.obj \
318 ..\html\$D\mod_fonts.obj \
319 ..\html\$D\mod_hline.obj \
320 ..\html\$D\mod_image.obj \
321 ..\html\$D\mod_layout.obj \
322 ..\html\$D\mod_links.obj \
323 ..\html\$D\mod_list.obj \
324 ..\html\$D\mod_pre.obj \
325 ..\html\$D\mod_tables.obj \
326 ..\html\$D\search.obj
327
328 # Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
329 OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(NONESSENTIALOBJS) $(OS2OBJS)
330
331 # Normal, static library
332 all: $(OBJECTS) $(PERIPH_TARGET) $(LIBTARGET)
333
334 dirs: $(OS2DIR)\$D $(COMMDIR)\$D $(GENDIR)\$D $(HTMLDIR)\$D
335
336
337 test: $(OS2DIR)\$D\wave.obj
338 test2: ..\common\Debug\config.obj
339
340 $D:
341 md $D
342
343 $(COMMDIR)\$D:
344 md $(COMMDIR)\$D
345
346 $(OS2DIR)\$D:
347 md $(OS2DIR)\$D
348
349 $(GENDIR)\$D:
350 md $(GENDIR)\$D
351
352 $(HTMLDIR)\$D:
353 md $(HTMLDIR)\$D
354
355 $(COMLIBOBJS1):
356 copy ..\common\$D\cmndata.obj
357 copy ..\common\$D\config.obj
358 copy ..\common\$D\dcbase.obj
359 copy ..\common\$D\db.obj
360 copy ..\common\$D\dbtable.obj
361 copy ..\common\$D\docview.obj
362 copy ..\common\$D\docmdi.obj
363 copy ..\common\$D\dynarray.obj
364 copy ..\common\$D\dynlib.obj
365 copy ..\common\$D\event.obj
366 copy ..\common\$D\file.obj
367 copy ..\common\$D\filefn.obj
368 copy ..\common\$D\fileconf.obj
369 copy ..\common\$D\framecmn.obj
370 copy ..\common\$D\ftp.obj
371 copy ..\common\$D\gdicmn.obj
372 copy ..\common\$D\image.obj
373 copy ..\common\$D\imagbmp.obj
374 copy ..\common\$D\imagjpeg.obj
375 copy ..\common\$D\imagpng.obj
376 copy ..\common\$D\imaggif.obj
377 copy ..\common\$D\intl.obj
378 copy ..\common\$D\ipcbase.obj
379 copy ..\common\$D\helpbase.obj
380 copy ..\common\$D\layout.obj
381 copy ..\common\$D\log.obj
382 copy ..\common\$D\memory.obj
383 copy ..\common\$D\mimetype.obj
384 copy ..\common\$D\module.obj
385 copy ..\common\$D\odbc.obj
386 copy ..\common\$D\object.obj
387 copy ..\common\$D\prntbase.obj
388 copy ..\common\$D\resource.obj
389 copy ..\common\$D\tbarbase.obj
390 copy ..\common\$D\tbarsmpl.obj
391 copy ..\common\$D\textfile.obj
392 copy ..\common\$D\timercmn.obj
393 copy ..\common\$D\utilscmn.obj
394 copy ..\common\$D\validate.obj
395 copy ..\common\$D\valgen.obj
396 copy ..\common\$D\valtext.obj
397 copy ..\common\$D\date.obj
398 copy ..\common\$D\hash.obj
399 copy ..\common\$D\list.obj
400 copy ..\common\$D\paper.obj
401
402 $(COMLIBOBJS2):
403 copy ..\common\$D\string.obj
404 copy ..\common\$D\socket.obj
405 copy ..\common\$D\sckaddr.obj
406 copy ..\common\$D\sckfile.obj
407 copy ..\common\$D\sckipc.obj
408 copy ..\common\$D\sckstrm.obj
409 copy ..\common\$D\url.obj
410 copy ..\common\$D\http.obj
411 copy ..\common\$D\protocol.obj
412 copy ..\common\$D\time.obj
413 copy ..\common\$D\tokenzr.obj
414 copy ..\common\$D\wxexpr.obj
415 copy ..\common\$D\y_tab.obj
416 copy ..\common\$D\extended.obj
417 copy ..\common\$D\process.obj
418 copy ..\common\$D\wfstream.obj
419 copy ..\common\$D\mstream.obj
420 copy ..\common\$D\zstream.obj
421 copy ..\common\$D\stream.obj
422 copy ..\common\$D\datstrm.obj
423 copy ..\common\$D\objstrm.obj
424 copy ..\common\$D\variant.obj
425 copy ..\common\$D\dlgcmn.obj
426 copy ..\common\$D\wincmn.obj
427 copy ..\common\$D\txtstrm.obj
428 copy ..\common\$D\wxchar.obj
429 copy ..\common\$D\unzip.obj
430 copy ..\common\$D\filesys.obj
431 copy ..\common\$D\fs_inet.obj
432 copy ..\common\$D\fs_zip.obj
433
434 $(GENLIBOBJS):
435 copy ..\generic\$D\choicdgg.obj
436 copy ..\generic\$D\gridg.obj
437 copy ..\generic\$D\laywin.obj
438 copy ..\generic\$D\panelg.obj
439 copy ..\generic\$D\progdlgg.obj
440 copy ..\generic\$D\prop.obj
441 copy ..\generic\$D\propform.obj
442 copy ..\generic\$D\proplist.obj
443 copy ..\generic\$D\sashwin.obj
444 copy ..\generic\$D\scrolwin.obj
445 copy ..\generic\$D\splitter.obj
446 copy ..\generic\$D\statusbr.obj
447 copy ..\generic\$D\tabg.obj
448 copy ..\generic\$D\textdlgg.obj
449 copy ..\generic\$D\tipdlg.obj
450 copy ..\generic\$D\busyinfo.obj
451
452 $(OS2LIBOBJS):
453 copy ..\os2\$D\accel.obj
454 copy ..\os2\$D\app.obj
455 copy ..\os2\$D\bitmap.obj
456 copy ..\os2\$D\bmpbuttn.obj
457 copy ..\os2\$D\brush.obj
458 copy ..\os2\$D\button.obj
459 copy ..\os2\$D\caret.obj
460 copy ..\os2\$D\dc.obj
461 copy ..\os2\$D\dialog.obj
462 copy ..\os2\$D\frame.obj
463 copy ..\os2\$D\window.obj
464
465 # wxWindows library as DLL
466 dll:
467 nmake -f makefile.va all FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME)
468
469 cleandll:
470 nmake -f makefile.va clean FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME)
471
472 # wxWindows + app as DLL. Only affects main.cpp.
473 dllapp:
474 nmake -f makefile.va all FINAL=$(FINAL) DLL=1
475
476 # wxWindows + app as DLL, for Netscape plugin - remove DllMain.
477 dllnp:
478 nmake -f makefile.va all FINAL=$(FINAL) DLL=1
479
480 # Use this to make dummy.obj and generate a PCH.
481 # You might use the dll target, then the pch target, in order to
482 # generate a DLL, then a PCH/dummy.obj for compiling your applications with.
483 #
484 # Explanation: Normally, when compiling a static version of wx.lib, your dummy.obj/PCH
485 # are associated with wx.lib. When using a DLL version of wxWindows, however,
486 # the DLL is compiled without a PCH, so you only need it for compiling the app.
487 # In fact headers are compiled differently depending on whether a DLL is being made
488 # or an app is calling the DLL exported functionality (WXDLLEXPORT is different
489 # in each case) so you couldn't use the same PCH.
490 pch:
491 nmake -f makefile.va pch1 WXUSINGDLL=1 FINAL=$(FINAL) NEW_WXLIBNAME=$(NEW_WXLIBNAME)
492
493 pch1: dirs $(DUMMYOBJ)
494 echo $(DUMMYOBJ)
495
496 !if "$(WXMAKINGDLL)" != "1"
497
498 ### Static library
499
500 $(WXDIR)\lib\wxcom1.lib: $(COMLIBOBJS1)
501 touch $(WXDIR)\lib\wxcom1.lib
502 del $(WXDIR)\lib\wxcom1.lib
503 ilib $(LIBFLAGS) $@ @<<
504 $**;
505 <<
506
507 $(WXDIR)\lib\wxcom2.lib: $(COMLIBOBJS2)
508 touch $(WXDIR)\lib\wxcom2.lib
509 del $(WXDIR)\lib\wxcom2.lib
510 ilib $(LIBFLAGS) $@ @<<
511 $**;
512 <<
513
514 $(WXDIR)\lib\wxgen.lib: $(GENLIBOBJS)
515 touch $(WXDIR)\lib\wxgen.lib
516 del $(WXDIR)\lib\wxgen.lib
517 ilib $(LIBFLAGS) $@ @<<
518 $**;
519 <<
520
521 $(WXDIR)\lib\wxnones.lib: $(NONESSENTIALOBJS)
522 touch $(WXDIR)\lib\wxnones.lib
523 del $(WXDIR)\lib\wxnones.lib
524 ilib $(LIBFLAGS) $@ @<<
525 $**;
526 <<
527
528 $(WXDIR)\lib\wxos2.lib: $(OS2LIBOBJS)
529 touch $(WXDIR)\lib\wxos2.lib
530 del $(WXDIR)\lib\wxos2.lib
531 ilib $(LIBFLAGS) $@ @<<
532 $**;
533 <<
534 del *.obj
535
536 $(WXDIR)\lib\wx.lib: \
537 $D\dummy.obj \
538 $(COMTEMPTGT1) \
539 $(COMTEMPTGT2) \
540 $(GENTEMPTGT) \
541 $(NONESTEMPTGT) \
542 $(OS2TEMPTGT) \
543 $(PERIPH_LIBS)
544 touch $(LIBTARGET)
545 del $(LIBTARGET)
546 ilib $(LIBFLAGS) $@ @<<
547 $**;
548 <<
549 del $(COMTEMPTGT1)
550 del $(COMTEMPTGT2)
551 del $(GENTEMPTGT)
552 del $(NONESTEMPTGT)
553 del $(OS2TEMPTGT)
554
555 !else
556
557 # Update the import library
558 $(WXDIR)\lib\wx200.lib: $(OBJECTS)
559 implib $(WXDIR)\lib\wx200.lib $(WXDIR)\lib\wx200.def
560
561 # Update the dynamic link library
562 $(WXDIR)\lib\wx200.dll: $(OBJECTS) $(WXDIR)\lib\wx200.lib
563 icc @<<
564 /B" $(LINKFLAGS)" /Fe$@
565 $(LIBS)
566 $(OBJECTS)
567 $(WXDIR)\lib\wx200.def
568 <<
569
570 !endif
571
572 $D\dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(WXDIR)\include\wx\os2\setup.h
573 icc $(CPPFLAGS) $(MAKEPRECOMP) /Fo$D\dummy.obj /Tp dummy.cpp
574
575 $D\dummydll.obj: dummydll.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(WXDIR)\include\wx\os2\setup.h
576 icc @<<
577 $(CPPFLAGS) $(MAKEPRECOMP) /Fo$D\dummydll.obj /c /Tp dummydll.cpp
578 <<
579
580 # If taking wxWindows from CVS, setup.h doesn't exist yet.
581 $(WXDIR)\include\wx\os2\setup.h: $(WXDIR)\include\wx\os2\setup0.h
582 copy "$(WXDIR)"\include\wx\os2\setup.h "$(WXDIR)"\include\wx\os2\setup.bak
583 copy "$(WXDIR)"\include\wx\os2\setup0.h "$(WXDIR)"\include\wx\os2\setup.h
584
585 ..\common\$D\extended.obj: ..\common\extended.c
586 icc @<<
587 $(CPPFLAGS2) /Fo$@ $(COMMDIR)\extended.c
588 <<
589
590 ..\common\$D\y_tab.obj: ..\common\y_tab.c ..\common\lex_yy.c
591 icc @<<
592 $(CPPFLAGS2) /DUSE_DEFINE /DYY_USE_PROTOS /Fo$@ ..\common\y_tab.c
593 <<
594
595 ..\common\y_tab.c: ..\common\dosyacc.c
596 copy "..\common"\dosyacc.c "..\common"\y_tab.c
597
598 ..\common\lex_yy.c: ..\common\doslex.c
599 copy "..\common"\doslex.c "..\common"\lex_yy.c
600
601 $(OBJECTS): $(WXDIR)/include/wx/setup.h
602
603 ..\common\$D\unzip.obj: ..\common\unzip.c
604 icc @<<
605 $(CPPFLAGS2) /Fo$@ $(COMMDIR)\unzip.c
606 <<
607
608 clean: $(PERIPH_CLEAN_TARGET) clean_png clean_zlib clean_jpeg clean_xpm
609 -erase $(LIBTARGET)
610 -erase ..\..\lib\wx200.dll
611 -erase ..\..\lib\wx200.lib
612 -erase $(GENDIR)\$D\*.obj
613 -erase $(COMMDIR)\$D\*.obj
614 -erase $(COMMDIR)\\y_tab.c
615 -erase $(COMMDIR)\lex_yy.c
616 -erase $(OS2DIR)\$D\*.obj
617 -rmdir $(D)
618 -rmdir ole\$(D)
619 -rmdir ..\generic\$(D)
620 -rmdir ..\common\$(D)
621
622 cleanall: clean
623