fixes for wxBase RPM
[wxWidgets.git] / src / msw / makefile.vc
1 # This file was automatically generated by tmake at 16:36, 2001/11/20
2 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE VC.T!
3
4 # File:     makefile.vc
5 # Author:   Julian Smart
6 # Created:  1997
7 # Updated:
8 # Copyright: (c) 1997, Julian Smart
9 #
10 # "%W% %G%"
11 #
12 # Makefile : Builds wxWindows library wx.lib for VC++ (32-bit)
13 # Arguments:
14 #
15 # FINAL=1 argument to nmake to build version with no debugging info.
16 # dll builds a library (wxdll.lib) suitable for creating DLLs
17 #
18 !include <..\makevc.env>
19
20 THISDIR=$(WXWIN)\src\msw
21
22 !if "$(WXMAKINGDLL)" == "1"
23 LIBTARGET=$(WXDIR)\lib\$(WXLIBNAME).dll
24 DUMMYOBJ=$D\dummydll.obj
25 !else
26 LIBTARGET=$(WXLIB)
27 DUMMYOBJ=$D\dummy.obj
28 !endif
29
30 # This one overrides the others, to be consistent with the settings in setup.h
31 MINIMAL_WXWINDOWS_SETUP=0
32
33 PERIPH_LIBS=
34 PERIPH_TARGET=
35 PERIPH_CLEAN_TARGET=
36
37 # Set to 0 if not using GLCanvas (only affects DLL build)
38 USE_GLCANVAS=1
39
40 # Set to 0 if you are using MSVC 5
41 USE_MSVC_5=0
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 OLEDIR=ole
50 MSWDIR=$(WXDIR)\src\msw
51 DOCDIR = $(WXDIR)\docs
52 HTMLDIR = $(WXDIR)\src\html
53 JPEGDIR = $(WXDIR)\src\jpeg
54 TIFFDIR = $(WXDIR)\src\tiff
55 REGEXDIR = $(WXDIR)\src\regex
56
57
58 {$(GENDIR)}.cpp{$(GENDIR)\$D}.obj:
59         cl @<<
60 $(CPPFLAGS) /Fo$@ /c /Tp $<
61 <<
62
63 {$(COMMDIR)}.cpp{$(COMMDIR)\$D}.obj:
64         cl @<<
65 $(CPPFLAGS) /Fo$@ /c /Tp $<
66 <<
67
68 {$(COMMDIR)}.c{$(COMMDIR)\$D}.obj:
69         cl @<<
70 $(CPPFLAGS2) /Fo$@ /c /Tc $<
71 <<
72
73 {$(MSWDIR)}.cpp{$(MSWDIR)\$D}.obj:
74         cl @<<
75 $(CPPFLAGS) /Fo$@ /c /Tp $<
76 <<
77
78 {$(MSWDIR)}.c{$(MSWDIR)\$D}.obj:
79         cl @<<
80 $(CPPFLAGS2) /Fo$@ /c /Tc $<
81 <<
82
83 {$(OLEDIR)}.cpp{$(OLEDIR)\$D}.obj:
84         cl @<<
85 $(CPPFLAGS) /Fo$@ /c /Tp $<
86 <<
87
88 {$(HTMLDIR)}.cpp{$(HTMLDIR)\$D}.obj:
89         cl @<<
90 $(CPPFLAGS) /Fo$@ /c /Tp $<
91 <<
92
93 GENERICOBJS= $(GENDIR)\$D\busyinfo.obj \
94                 $(GENDIR)\$D\calctrl.obj \
95                 $(GENDIR)\$D\choicdgg.obj \
96                 $(GENDIR)\$D\dcpsg.obj \
97                 $(GENDIR)\$D\dirctrlg.obj \
98                 $(GENDIR)\$D\dragimgg.obj \
99                 $(GENDIR)\$D\grid.obj \
100                 $(GENDIR)\$D\gridctrl.obj \
101                 $(GENDIR)\$D\gridsel.obj \
102                 $(GENDIR)\$D\laywin.obj \
103                 $(GENDIR)\$D\logg.obj \
104                 $(GENDIR)\$D\numdlgg.obj \
105                 $(GENDIR)\$D\panelg.obj \
106                 $(GENDIR)\$D\progdlgg.obj \
107                 $(GENDIR)\$D\prop.obj \
108                 $(GENDIR)\$D\propform.obj \
109                 $(GENDIR)\$D\proplist.obj \
110                 $(GENDIR)\$D\sashwin.obj \
111                 $(GENDIR)\$D\scrlwing.obj \
112                 $(GENDIR)\$D\spinctlg.obj \
113                 $(GENDIR)\$D\splash.obj \
114                 $(GENDIR)\$D\splitter.obj \
115                 $(GENDIR)\$D\statusbr.obj \
116                 $(GENDIR)\$D\tbarsmpl.obj \
117                 $(GENDIR)\$D\textdlgg.obj \
118                 $(GENDIR)\$D\tipdlg.obj \
119                 $(GENDIR)\$D\tipwin.obj \
120                 $(GENDIR)\$D\treectlg.obj \
121                 $(GENDIR)\$D\treelay.obj \
122                 $(GENDIR)\$D\wizard.obj
123
124 # These are generic things that don't need to be compiled on MSW,
125 # but sometimes it's useful to do so for testing purposes.
126 NONESSENTIALOBJS= $(GENDIR)\$D\colrdlgg.obj \
127                 $(GENDIR)\$D\dirdlgg.obj \
128                 $(GENDIR)\$D\fontdlgg.obj \
129                 $(GENDIR)\$D\helpext.obj \
130                 $(GENDIR)\$D\helphtml.obj \
131                 $(GENDIR)\$D\helpwxht.obj \
132                 $(GENDIR)\$D\imaglist.obj \
133                 $(GENDIR)\$D\listctrl.obj \
134                 $(GENDIR)\$D\msgdlgg.obj \
135                 $(GENDIR)\$D\notebook.obj \
136                 $(GENDIR)\$D\tabg.obj
137
138 COMMONOBJS = \
139                 $(COMMDIR)\$D\y_tab.obj \
140                 $(COMMDIR)\$D\appcmn.obj \
141                 $(COMMDIR)\$D\choiccmn.obj \
142                 $(COMMDIR)\$D\clipcmn.obj \
143                 $(COMMDIR)\$D\clntdata.obj \
144                 $(COMMDIR)\$D\cmdline.obj \
145                 $(COMMDIR)\$D\cmdproc.obj \
146                 $(COMMDIR)\$D\cmndata.obj \
147                 $(COMMDIR)\$D\config.obj \
148                 $(COMMDIR)\$D\containr.obj \
149                 $(COMMDIR)\$D\cshelp.obj \
150                 $(COMMDIR)\$D\ctrlcmn.obj \
151                 $(COMMDIR)\$D\ctrlsub.obj \
152                 $(COMMDIR)\$D\datetime.obj \
153                 $(COMMDIR)\$D\datstrm.obj \
154                 $(COMMDIR)\$D\db.obj \
155                 $(COMMDIR)\$D\dbgrid.obj \
156                 $(COMMDIR)\$D\dbtable.obj \
157                 $(COMMDIR)\$D\dcbase.obj \
158                 $(COMMDIR)\$D\dircmn.obj \
159                 $(COMMDIR)\$D\dlgcmn.obj \
160                 $(COMMDIR)\$D\dndcmn.obj \
161                 $(COMMDIR)\$D\dobjcmn.obj \
162                 $(COMMDIR)\$D\docmdi.obj \
163                 $(COMMDIR)\$D\docview.obj \
164                 $(COMMDIR)\$D\dseldlg.obj \
165                 $(COMMDIR)\$D\dynarray.obj \
166                 $(COMMDIR)\$D\dynlib.obj \
167                 $(COMMDIR)\$D\effects.obj \
168                 $(COMMDIR)\$D\encconv.obj \
169                 $(COMMDIR)\$D\event.obj \
170                 $(COMMDIR)\$D\extended.obj \
171                 $(COMMDIR)\$D\fddlgcmn.obj \
172                 $(COMMDIR)\$D\ffile.obj \
173                 $(COMMDIR)\$D\file.obj \
174                 $(COMMDIR)\$D\fileconf.obj \
175                 $(COMMDIR)\$D\filefn.obj \
176                 $(COMMDIR)\$D\filename.obj \
177                 $(COMMDIR)\$D\filesys.obj \
178                 $(COMMDIR)\$D\fontcmn.obj \
179                 $(COMMDIR)\$D\fontmap.obj \
180                 $(COMMDIR)\$D\framecmn.obj \
181                 $(COMMDIR)\$D\fs_inet.obj \
182                 $(COMMDIR)\$D\fs_mem.obj \
183                 $(COMMDIR)\$D\fs_zip.obj \
184                 $(COMMDIR)\$D\ftp.obj \
185                 $(COMMDIR)\$D\gaugecmn.obj \
186                 $(COMMDIR)\$D\gdicmn.obj \
187                 $(COMMDIR)\$D\geometry.obj \
188                 $(COMMDIR)\$D\gifdecod.obj \
189                 $(COMMDIR)\$D\hash.obj \
190                 $(COMMDIR)\$D\helpbase.obj \
191                 $(COMMDIR)\$D\http.obj \
192                 $(COMMDIR)\$D\imagall.obj \
193                 $(COMMDIR)\$D\imagbmp.obj \
194                 $(COMMDIR)\$D\image.obj \
195                 $(COMMDIR)\$D\imaggif.obj \
196                 $(COMMDIR)\$D\imagjpeg.obj \
197                 $(COMMDIR)\$D\imagpcx.obj \
198                 $(COMMDIR)\$D\imagpng.obj \
199                 $(COMMDIR)\$D\imagpnm.obj \
200                 $(COMMDIR)\$D\imagtiff.obj \
201                 $(COMMDIR)\$D\imagxpm.obj \
202                 $(COMMDIR)\$D\intl.obj \
203                 $(COMMDIR)\$D\ipcbase.obj \
204                 $(COMMDIR)\$D\layout.obj \
205                 $(COMMDIR)\$D\lboxcmn.obj \
206                 $(COMMDIR)\$D\list.obj \
207                 $(COMMDIR)\$D\log.obj \
208                 $(COMMDIR)\$D\longlong.obj \
209                 $(COMMDIR)\$D\matrix.obj \
210                 $(COMMDIR)\$D\memory.obj \
211                 $(COMMDIR)\$D\menucmn.obj \
212                 $(COMMDIR)\$D\mimecmn.obj \
213                 $(COMMDIR)\$D\module.obj \
214                 $(COMMDIR)\$D\mstream.obj \
215                 $(COMMDIR)\$D\nbkbase.obj \
216                 $(COMMDIR)\$D\object.obj \
217                 $(COMMDIR)\$D\objstrm.obj \
218                 $(COMMDIR)\$D\odbc.obj \
219                 $(COMMDIR)\$D\paper.obj \
220                 $(COMMDIR)\$D\popupcmn.obj \
221                 $(COMMDIR)\$D\prntbase.obj \
222                 $(COMMDIR)\$D\process.obj \
223                 $(COMMDIR)\$D\protocol.obj \
224                 $(COMMDIR)\$D\quantize.obj \
225                 $(COMMDIR)\$D\radiocmn.obj \
226                 $(COMMDIR)\$D\regex.obj \
227                 $(COMMDIR)\$D\resource.obj \
228                 $(COMMDIR)\$D\sckaddr.obj \
229                 $(COMMDIR)\$D\sckfile.obj \
230                 $(COMMDIR)\$D\sckipc.obj \
231                 $(COMMDIR)\$D\sckstrm.obj \
232                 $(COMMDIR)\$D\serbase.obj \
233                 $(COMMDIR)\$D\sizer.obj \
234                 $(COMMDIR)\$D\socket.obj \
235                 $(COMMDIR)\$D\statbar.obj \
236                 $(COMMDIR)\$D\strconv.obj \
237                 $(COMMDIR)\$D\stream.obj \
238                 $(COMMDIR)\$D\string.obj \
239                 $(COMMDIR)\$D\sysopt.obj \
240                 $(COMMDIR)\$D\tbarbase.obj \
241                 $(COMMDIR)\$D\textbuf.obj \
242                 $(COMMDIR)\$D\textcmn.obj \
243                 $(COMMDIR)\$D\textfile.obj \
244                 $(COMMDIR)\$D\timercmn.obj \
245                 $(COMMDIR)\$D\tokenzr.obj \
246                 $(COMMDIR)\$D\toplvcmn.obj \
247                 $(COMMDIR)\$D\treebase.obj \
248                 $(COMMDIR)\$D\txtstrm.obj \
249                 $(COMMDIR)\$D\unzip.obj \
250                 $(COMMDIR)\$D\url.obj \
251                 $(COMMDIR)\$D\utilscmn.obj \
252                 $(COMMDIR)\$D\valgen.obj \
253                 $(COMMDIR)\$D\validate.obj \
254                 $(COMMDIR)\$D\valtext.obj \
255                 $(COMMDIR)\$D\variant.obj \
256                 $(COMMDIR)\$D\wfstream.obj \
257                 $(COMMDIR)\$D\wincmn.obj \
258                 $(COMMDIR)\$D\wxchar.obj \
259                 $(COMMDIR)\$D\wxexpr.obj \
260                 $(COMMDIR)\$D\xpmdecod.obj \
261                 $(COMMDIR)\$D\zipstrm.obj \
262                 $(COMMDIR)\$D\zstream.obj
263
264 MSWOBJS = $(MSWDIR)\$D\accel.obj \
265                 $(MSWDIR)\$D\app.obj \
266                 $(OLEDIR)\$D\automtn.obj \
267                 $(MSWDIR)\$D\bitmap.obj \
268                 $(MSWDIR)\$D\bmpbuttn.obj \
269                 $(MSWDIR)\$D\brush.obj \
270                 $(MSWDIR)\$D\button.obj \
271                 $(MSWDIR)\$D\caret.obj \
272                 $(MSWDIR)\$D\checkbox.obj \
273                 $(MSWDIR)\$D\checklst.obj \
274                 $(MSWDIR)\$D\choice.obj \
275                 $(MSWDIR)\$D\clipbrd.obj \
276                 $(MSWDIR)\$D\colordlg.obj \
277                 $(MSWDIR)\$D\colour.obj \
278                 $(MSWDIR)\$D\combobox.obj \
279                 $(MSWDIR)\$D\control.obj \
280                 $(MSWDIR)\$D\curico.obj \
281                 $(MSWDIR)\$D\cursor.obj \
282                 $(MSWDIR)\$D\data.obj \
283                 $(OLEDIR)\$D\dataobj.obj \
284                 $(MSWDIR)\$D\dc.obj \
285                 $(MSWDIR)\$D\dcclient.obj \
286                 $(MSWDIR)\$D\dcmemory.obj \
287                 $(MSWDIR)\$D\dcprint.obj \
288                 $(MSWDIR)\$D\dcscreen.obj \
289                 $(MSWDIR)\$D\dde.obj \
290                 $(MSWDIR)\$D\dialog.obj \
291                 $(MSWDIR)\$D\dialup.obj \
292                 $(MSWDIR)\$D\dib.obj \
293                 $(MSWDIR)\$D\dibutils.obj \
294                 $(MSWDIR)\$D\dir.obj \
295                 $(MSWDIR)\$D\dirdlg.obj \
296                 $(MSWDIR)\$D\dragimag.obj \
297                 $(OLEDIR)\$D\dropsrc.obj \
298                 $(OLEDIR)\$D\droptgt.obj \
299                 $(MSWDIR)\$D\enhmeta.obj \
300                 $(MSWDIR)\$D\evtloop.obj \
301                 $(MSWDIR)\$D\fdrepdlg.obj \
302                 $(MSWDIR)\$D\filedlg.obj \
303                 $(MSWDIR)\$D\font.obj \
304                 $(MSWDIR)\$D\fontdlg.obj \
305                 $(MSWDIR)\$D\fontenum.obj \
306                 $(MSWDIR)\$D\fontutil.obj \
307                 $(MSWDIR)\$D\frame.obj \
308                 $(MSWDIR)\$D\gauge95.obj \
309                 $(MSWDIR)\$D\gdiimage.obj \
310                 $(MSWDIR)\$D\gdiobj.obj \
311                 $(MSWDIR)\$D\glcanvas.obj \
312                 $(MSWDIR)\$D\gsocket.obj \
313                 $(MSWDIR)\$D\gsockmsw.obj \
314                 $(MSWDIR)\$D\helpbest.obj \
315                 $(MSWDIR)\$D\helpchm.obj \
316                 $(MSWDIR)\$D\helpwin.obj \
317                 $(MSWDIR)\$D\icon.obj \
318                 $(MSWDIR)\$D\imaglist.obj \
319                 $(MSWDIR)\$D\joystick.obj \
320                 $(MSWDIR)\$D\listbox.obj \
321                 $(MSWDIR)\$D\listctrl.obj \
322                 $(MSWDIR)\$D\main.obj \
323                 $(MSWDIR)\$D\mdi.obj \
324                 $(MSWDIR)\$D\menu.obj \
325                 $(MSWDIR)\$D\menuitem.obj \
326                 $(MSWDIR)\$D\metafile.obj \
327                 $(MSWDIR)\$D\mimetype.obj \
328                 $(MSWDIR)\$D\minifram.obj \
329                 $(MSWDIR)\$D\msgdlg.obj \
330                 $(MSWDIR)\$D\nativdlg.obj \
331                 $(MSWDIR)\$D\notebook.obj \
332                 $(OLEDIR)\$D\oleutils.obj \
333                 $(MSWDIR)\$D\ownerdrw.obj \
334                 $(MSWDIR)\$D\palette.obj \
335                 $(MSWDIR)\$D\pen.obj \
336                 $(MSWDIR)\$D\penwin.obj \
337                 $(MSWDIR)\$D\printdlg.obj \
338                 $(MSWDIR)\$D\printwin.obj \
339                 $(MSWDIR)\$D\radiobox.obj \
340                 $(MSWDIR)\$D\radiobut.obj \
341                 $(MSWDIR)\$D\regconf.obj \
342                 $(MSWDIR)\$D\region.obj \
343                 $(MSWDIR)\$D\registry.obj \
344                 $(MSWDIR)\$D\scrolbar.obj \
345                 $(MSWDIR)\$D\settings.obj \
346                 $(MSWDIR)\$D\slider95.obj \
347                 $(MSWDIR)\$D\snglinst.obj \
348                 $(MSWDIR)\$D\spinbutt.obj \
349                 $(MSWDIR)\$D\spinctrl.obj \
350                 $(MSWDIR)\$D\statbmp.obj \
351                 $(MSWDIR)\$D\statbox.obj \
352                 $(MSWDIR)\$D\statbr95.obj \
353                 $(MSWDIR)\$D\statline.obj \
354                 $(MSWDIR)\$D\stattext.obj \
355                 $(MSWDIR)\$D\tabctrl.obj \
356                 $(MSWDIR)\$D\taskbar.obj \
357                 $(MSWDIR)\$D\tbar95.obj \
358                 $(MSWDIR)\$D\textctrl.obj \
359                 $(MSWDIR)\$D\tglbtn.obj \
360                 $(MSWDIR)\$D\thread.obj \
361                 $(MSWDIR)\$D\timer.obj \
362                 $(MSWDIR)\$D\tooltip.obj \
363                 $(MSWDIR)\$D\toplevel.obj \
364                 $(MSWDIR)\$D\treectrl.obj \
365                 $(MSWDIR)\$D\utils.obj \
366                 $(MSWDIR)\$D\utilsexc.obj \
367                 $(OLEDIR)\$D\uuid.obj \
368                 $(MSWDIR)\$D\wave.obj \
369                 $(MSWDIR)\$D\window.obj
370
371 HTMLOBJS = $(HTMLDIR)\$D\helpctrl.obj \
372                 $(HTMLDIR)\$D\helpdata.obj \
373                 $(HTMLDIR)\$D\helpfrm.obj \
374                 $(HTMLDIR)\$D\htmlcell.obj \
375                 $(HTMLDIR)\$D\htmlfilt.obj \
376                 $(HTMLDIR)\$D\htmlpars.obj \
377                 $(HTMLDIR)\$D\htmltag.obj \
378                 $(HTMLDIR)\$D\htmlwin.obj \
379                 $(HTMLDIR)\$D\htmprint.obj \
380                 $(HTMLDIR)\$D\m_dflist.obj \
381                 $(HTMLDIR)\$D\m_fonts.obj \
382                 $(HTMLDIR)\$D\m_hline.obj \
383                 $(HTMLDIR)\$D\m_image.obj \
384                 $(HTMLDIR)\$D\m_layout.obj \
385                 $(HTMLDIR)\$D\m_links.obj \
386                 $(HTMLDIR)\$D\m_list.obj \
387                 $(HTMLDIR)\$D\m_meta.obj \
388                 $(HTMLDIR)\$D\m_pre.obj \
389                 $(HTMLDIR)\$D\m_tables.obj \
390                 $(HTMLDIR)\$D\winpars.obj
391
392
393 # Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
394 # Add $(HTMLOBJS) if wanting wxHTML classes
395 OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) $(HTMLOBJS)
396
397 ARCHINCDIR=$(WXDIR)\lib\msw$(INCEXT)
398 SETUP_H=$(ARCHINCDIR)\wx\setup.h
399
400 # Normal, static library
401 all:    dirs $(SETUP_H) $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) png zlib jpeg tiff regex $(LIBTARGET)
402
403 $(ARCHINCDIR)\wx:
404     mkdir $(ARCHINCDIR)
405     mkdir $(ARCHINCDIR)\wx
406
407 $(SETUP_H):
408     copy $(WXDIR)\include\wx\msw\setup.h $@
409
410 dirs: $(MSWDIR)\$D $(COMMDIR)\$D $(GENDIR)\$D $(OLEDIR)\$D $(HTMLDIR)\$D $(JPEGDIR)\$D $(TIFFDIR)\$D $(REGEXDIR)\$D $(ARCHINCDIR)\wx $(WXDIR)\$D
411
412 $D:
413     mkdir $D
414
415 $(COMMDIR)\$D:
416     mkdir $(COMMDIR)\$D
417
418 $(MSWDIR)\$D:
419     mkdir $(MSWDIR)\$D
420
421 $(GENDIR)\$D:
422     mkdir $(GENDIR)\$D
423
424 $(OLEDIR)\$D:
425     mkdir $(OLEDIR)\$D
426
427 $(HTMLDIR)\$D:
428     mkdir $(HTMLDIR)\$D
429
430 $(JPEGDIR)\$D:
431     mkdir $(JPEGDIR)\$D
432
433 $(TIFFDIR)\$D:
434     mkdir $(TIFFDIR)\$D
435
436 $(REGEXDIR)\$D:
437     mkdir $(REGEXDIR)\$D
438
439 $(WXDIR)\$D:
440     mkdir $(WXDIR)\$D
441
442
443 # wxWindows library as DLL
444 dll:
445         nmake -f makefile.vc all FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME) UNICODE=$(UNICODE)
446
447 cleandll:
448         nmake -f makefile.vc clean FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME) UNICODE=$(UNICODE)
449
450 # wxWindows + app as DLL. Only affects main.cpp.
451 dllapp:
452         nmake -f makefile.vc all FINAL=$(FINAL) DLL=1 UNICODE=$(UNICODE)
453
454 # wxWindows + app as DLL, for Netscape plugin - remove DllMain.
455 dllnp:
456         nmake -f makefile.vc all NOMAIN=1 FINAL=$(FINAL) DLL=1 UNICODE=$(UNICODE)
457
458 # Use this to make dummy.obj and generate a PCH.
459 # You might use the dll target, then the pch target, in order to
460 # generate a DLL, then a PCH/dummy.obj for compiling your applications with.
461 #
462 # Explanation: Normally, when compiling a static version of wx.lib, your dummy.obj/PCH
463 # are associated with wx.lib. When using a DLL version of wxWindows, however,
464 # the DLL is compiled without a PCH, so you only need it for compiling the app.
465 # In fact headers are compiled differently depending on whether a DLL is being made
466 # or an app is calling the DLL exported functionality (WXDLLEXPORT is different
467 # in each case) so you couldn't use the same PCH.
468 pch:
469         nmake -f makefile.vc pch1 WXUSINGDLL=1 FINAL=$(FINAL) NEW_WXLIBNAME=$(NEW_WXLIBNAME)
470
471 pch1:   dirs $(DUMMYOBJ)
472     echo $(DUMMYOBJ)
473
474 !if "$(WXMAKINGDLL)" != "1"
475
476 ### Static library
477
478 $(WXDIR)\lib\$(WXLIBNAME).lib:      $D\dummy.obj $(OBJECTS) $(PERIPH_LIBS)
479         -erase $(LIBTARGET)
480         $(implib) @<<
481 -out:$@
482 -machine:$(CPU)
483 $(OBJECTS) $D\dummy.obj $(PERIPH_LIBS)
484 <<
485
486 !else
487
488 ### Update the import library
489
490 $(WXDIR)\lib\$(WXLIBNAME).lib: $(DUMMYOBJ) $(OBJECTS)
491     $(implib) @<<
492     -machine:$(CPU)
493     -def:wx.def
494     $(DUMMYOBJ) $(OBJECTS)
495     -out:$(WXDIR)\lib\$(WXLIBNAME).lib
496 <<
497
498 !if "$(USE_GLCANVAS)" == "1"
499 GL_LIBS=opengl32.lib glu32.lib
500 # GL_LIBS_DELAY=/delayload:opengl32.dll
501 !endif
502
503 !if "$(USE_MSVC_5)" == "1"
504 # we are too big
505 INCREMENTAL=/INCREMENTAL:NO
506 DELAY_LOAD=
507 !else
508 INCREMENTAL=
509 DELAY_LOAD=delayimp.lib \
510         /delayload:ws2_32.dll /delayload:advapi32.dll /delayload:user32.dll \
511         /delayload:gdi32.dll \
512         /delayload:comdlg32.dll /delayload:shell32.dll /delayload:comctl32.dll \
513         /delayload:ole32.dll \
514         /delayload:oleaut32.dll /delayload:rpcrt4.dll $(GL_LIBS_DELAY)
515 !endif
516
517 # Update the dynamic link library
518 $(WXDIR)\lib\$(WXLIBNAME).dll: $(DUMMYOBJ) $(OBJECTS)
519     $(link) @<<
520     $(LINKFLAGS) $(INCREMENTAL)
521     -out:$(WXDIR)\lib\$(WXLIBNAME).dll
522     $(DUMMYOBJ) $(OBJECTS) $(guilibsdll) shell32.lib comctl32.lib ctl3d32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib odbc32.lib advapi32.lib winmm.lib $(GL_LIBS) $(WXDIR)\lib\png$(LIBEXT).lib $(WXDIR)\lib\zlib$(LIBEXT).lib $(WXDIR)\lib\jpeg$(LIBEXT).lib $(WXDIR)\lib\tiff$(LIBEXT).lib $(WXDIR)\lib\regex$(LIBEXT).lib $(DELAY_LOAD)
523 <<
524
525 !endif
526
527 # /delayload:winmm.dll # Removed because it can cause a crash for some people
528
529 ########################################################
530 # Windows-specific objects
531
532 $D\dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(SETUP_H)
533         cl $(CPPFLAGS) $(MAKEPRECOMP) /Fo$D\dummy.obj /c /Tp dummy.cpp
534
535 $D\dummydll.obj: dummydll.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(SETUP_H)
536         cl @<<
537 $(CPPFLAGS) $(MAKEPRECOMP) /Fo$D\dummydll.obj /c /Tp dummydll.cpp
538 <<
539
540 # Compile certain files with no optimization (some files cause a
541 # compiler crash for buggy versions of VC++, e.g. 4.0).
542 # Don't forget to put FINAL=1 on the command line.
543 noopt:
544         cl @<<
545 $(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\datetime.obj /c /Tp $(COMMDIR)\datetime.cpp
546 <<
547         cl @<<
548 $(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\encconv.obj /c /Tp $(COMMDIR)\encconv.cpp
549 <<
550         cl @<<
551 $(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\fileconf.obj /c /Tp $(COMMDIR)\fileconf.cpp
552 <<
553         cl @<<
554 $(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\hash.obj /c /Tp $(COMMDIR)\hash.cpp
555 <<
556         cl @<<
557 $(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\resource.obj /c /Tp $(COMMDIR)\resource.cpp
558 <<
559         cl @<<
560 $(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\textfile.obj /c /Tp $(COMMDIR)\textfile.cpp
561 <<
562         cl @<<
563 $(CPPFLAGS2) /Od /Fo$(GENDIR)\$D\choicdgg.obj /c /Tp $(GENDIR)\choicdgg.cpp
564 <<
565         cl @<<
566 $(CPPFLAGS2) /Od /Fo$(GENDIR)\$D\grid.obj /c /Tp $(GENDIR)\grid.cpp
567 <<
568         cl @<<
569 $(CPPFLAGS2) /Od /Fo$(GENDIR)\$D\gridsel.obj /c /Tp $(GENDIR)\gridsel.cpp
570 <<
571         cl @<<
572 $(CPPFLAGS2) /Od /Fo$(GENDIR)\$D\logg.obj /c /Tp $(GENDIR)\logg.cpp
573 <<
574         cl @<<
575 $(CPPFLAGS2) /Od /Fo$(GENDIR)\$D\proplist.obj /c /Tp $(GENDIR)\proplist.cpp
576 <<
577         cl @<<
578 $(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\clipbrd.obj /c /Tp $(MSWDIR)\clipbrd.cpp
579 <<
580         cl @<<
581 $(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\control.obj /c /Tp $(MSWDIR)\control.cpp
582 <<
583         cl @<<
584 $(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\listbox.obj /c /Tp $(MSWDIR)\listbox.cpp
585 <<
586         cl @<<
587 $(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\mdi.obj /c /Tp $(MSWDIR)\mdi.cpp
588 <<
589         cl @<<
590 $(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\menu.obj /c /Tp $(MSWDIR)\menu.cpp
591 <<
592         cl @<<
593 $(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\notebook.obj /c /Tp $(MSWDIR)\notebook.cpp
594 <<
595         cl @<<
596 $(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\tbar95.obj /c /Tp $(MSWDIR)\tbar95.cpp
597 <<
598         cl @<<
599 $(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\treectrl.obj /c /Tp $(MSWDIR)\treectrl.cpp
600 <<
601         cl @<<
602 $(CPPFLAGS2) /Od /Fo$(HTMLDIR)\$D\helpfrm.obj /c /Tp $(HTMLDIR)\helpfrm.cpp
603 <<
604
605 $(COMMDIR)\$D\y_tab.obj:     $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
606         cl @<<
607 $(CPPFLAGS2) /c $(COMMDIR)\y_tab.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
608 <<
609
610 $(COMMDIR)\y_tab.c:     $(COMMDIR)\dosyacc.c
611         copy "$(COMMDIR)"\dosyacc.c "$(COMMDIR)"\y_tab.c
612
613 $(COMMDIR)\lex_yy.c:    $(COMMDIR)\doslex.c
614     copy "$(COMMDIR)"\doslex.c "$(COMMDIR)"\lex_yy.c
615
616 $(OBJECTS):     $(SETUP_H)
617
618 $(COMMDIR)\$D\unzip.obj:     $(COMMDIR)\unzip.c
619         cl @<<
620 $(CPPFLAGS2) /c $(COMMDIR)\unzip.c /Fo$@
621 <<
622
623 # Peripheral components
624
625 png:
626     cd $(WXDIR)\src\png
627     nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG)
628     cd $(WXDIR)\src\msw
629
630 clean_png:
631     cd $(WXDIR)\src\png
632     nmake -f makefile.vc clean
633     cd $(WXDIR)\src\msw
634
635 zlib:
636     cd $(WXDIR)\src\zlib
637     nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG)
638     cd $(WXDIR)\src\msw
639
640 clean_zlib:
641     cd $(WXDIR)\src\zlib
642     nmake -f makefile.vc clean
643     cd $(WXDIR)\src\msw
644
645 jpeg:
646     cd $(WXDIR)\src\jpeg
647     nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)  CRTFLAG=$(CRTFLAG) all
648     cd $(WXDIR)\src\msw
649
650 clean_jpeg:
651     cd $(WXDIR)\src\jpeg
652     nmake -f makefile.vc clean
653     cd $(WXDIR)\src\msw
654
655 tiff:
656     cd $(WXDIR)\src\tiff
657     nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)  CRTFLAG=$(CRTFLAG) all
658     cd $(WXDIR)\src\msw
659
660 clean_tiff:
661     cd $(WXDIR)\src\tiff
662     nmake -f makefile.vc clean
663     cd $(WXDIR)\src\msw
664
665 regex:
666     cd $(WXDIR)\src\regex
667     nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG) all
668     cd $(WXDIR)\src\msw
669
670 clean_regex:
671     cd $(WXDIR)\src\regex
672     nmake -f makefile.vc clean
673     cd $(WXDIR)\src\msw
674
675 rcparser:
676     cd $(WXDIR)\utils\rcparser\src
677     nmake -f makefile.vc FINAL=$(FINAL)
678     cd $(WXDIR)\src\msw
679
680 cleanall: clean clean_png clean_zlib clean_jpeg clean_tiff clean_regex
681         -erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).dll
682         -erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).lib
683         -erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).exp
684         -erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).pdb
685         -erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).ilk
686
687
688 clean: $(PERIPH_CLEAN_TARGET)
689         -erase $(LIBTARGET)
690         -erase $(WXDIR)\lib\$(WXLIBNAME).pdb
691         -erase *.pdb
692         -erase *.sbr
693         -erase $(WXLIBNAME).pch
694         -erase $(GENDIR)\$D\*.obj
695         -erase $(GENDIR)\$D\*.pdb
696         -erase $(GENDIR)\$D\*.sbr
697         -erase $(COMMDIR)\$D\*.obj
698         -erase $(COMMDIR)\$D\*.pdb
699         -erase $(COMMDIR)\$D\*.sbr
700         -erase $(COMMDIR)\y_tab.c
701         -erase $(COMMDIR)\lex_yy.c
702         -erase $(MSWDIR)\$D\*.obj
703         -erase $(MSWDIR)\$D\*.sbr
704         -erase $(MSWDIR)\$D\*.pdb
705         -erase $(MSWDIR)\$D\*.pch
706         -erase $(OLEDIR)\$D\*.obj
707         -erase $(OLEDIR)\$D\*.sbr
708         -erase $(OLEDIR)\$D\*.pdb
709         -erase $(HTMLDIR)\$D\*.obj
710         -erase $(HTMLDIR)\$D\*.sbr
711         -erase $(HTMLDIR)\$D\*.pdb
712         -erase $(JPEGDIR)\$D\*.obj
713         -erase $(JPEGDIR)\$D\*.sbr
714         -erase $(JPEGDIR)\$D\*.idb
715         -erase $(JPEGDIR)\$D\*.pdb
716         -erase $(TIFFDIR)\$D\*.obj
717         -erase $(TIFFDIR)\$D\*.sbr
718         -erase $(TIFFDIR)\$D\*.pdb
719         -erase $(TIFFDIR)\$D\*.idb
720         -rmdir $(D)
721         -rmdir $(GENDIR)\$(D)
722         -rmdir $(COMMDIR)\$(D)
723         -rmdir $(MSWDIR)\$(D)
724         -rmdir $(OLEDIR)\$(D)
725         -rmdir $(HTMLDIR)\$(D)
726         -rmdir $(JPEGDIR)\$(D)
727         -rmdir $(TIFFDIR)\$(D)
728
729 # Making documents
730 docs:   allhlp allhtml allpdfrtf allhtb allhtmlhelp
731 alldocs: docs
732 hlp:    wxhlp
733 wxhlp:  $(DOCDIR)/winhelp/wx.hlp
734 refhlp: $(DOCDIR)/winhelp/techref.hlp
735 rtf:    $(DOCDIR)/winhelp/wx.rtf
736 pdfrtf:    $(DOCDIR)/pdf/wx.rtf
737 refpdfrtf: $(DOCDIR)/pdf/techref.rtf
738 html:   wxhtml
739 htb:    $(DOCDIR)\htb\wx.htb
740 wxhtml: $(DOCDIR)\html\wx\wx.htm
741 htmlhelp: $(DOCDIR)\htmlhelp\wx.chm
742 ps:     wxps referencps
743 wxps:   $(WXDIR)\docs\ps\wx.ps
744 referencps:     $(WXDIR)\docs\ps\referenc.ps
745
746 allhlp: wxhlp
747         cd $(WXDIR)\utils\dialoged\src
748         nmake -f makefile.vc hlp
749         cd $(WXDIR)\utils\tex2rtf\src
750         nmake -f makefile.vc hlp
751         cd $(THISDIR)
752
753 allhtml: wxhtml
754         cd $(WXDIR)\utils\dialoged\src
755         nmake -f makefile.vc html
756         cd $(WXDIR)\utils\tex2rtf\src
757         nmake -f makefile.vc html
758         cd $(THISDIR)
759
760 allhtmlhelp: htmlhelp
761         cd $(WXDIR)\utils\dialoged\src
762         nmake -f makefile.vc htmlhelp
763         cd $(WXDIR)\utils\tex2rtf\src
764         nmake -f makefile.vc htmlhelp
765         cd $(THISDIR)
766
767 allhtb: htb
768         cd $(WXDIR)\utils\dialoged\src
769         nmake -f makefile.vc htb
770         cd $(WXDIR)\utils\tex2rtf\src
771         nmake -f makefile.vc htb
772         cd $(THISDIR)
773
774 allps: wxps referencps
775         cd $(WXDIR)\utils\dialoged\src
776         nmake -f makefile.vc ps
777         cd $(WXDIR)\utils\tex2rtf\src
778         nmake -f makefile.vc ps
779         cd $(THISDIR)
780
781 allpdfrtf: pdfrtf
782         cd $(WXDIR)\utils\dialoged\src
783         nmake -f makefile.vc pdfrtf
784         cd $(WXDIR)\utils\tex2rtf\src
785         nmake -f makefile.vc pdfrtf
786         cd $(THISDIR)
787
788 $(DOCDIR)/winhelp/wx.hlp:         $(DOCDIR)/latex/wx/wx.rtf $(DOCDIR)/latex/wx/wx.hpj
789         cd $(DOCDIR)/latex/wx
790         -erase wx.ph
791         hc wx
792         -erase $(DOCDIR)\winhelp\wx.hlp
793         -erase $(DOCDIR)\winhelp\wx.cnt
794         move wx.hlp $(DOCDIR)\winhelp\wx.hlp
795         move wx.cnt $(DOCDIR)\winhelp\wx.cnt
796         cd $(THISDIR)
797
798 $(DOCDIR)/winhelp/techref.hlp:         $(DOCDIR)/latex/techref/techref.rtf $(DOCDIR)/latex/techref/techref.hpj
799         cd $(DOCDIR)/latex/techref
800         -erase techref.ph
801         hc techref
802         move techref.hlp $(DOCDIR)\winhelp\techref.hlp
803         move techref.cnt $(DOCDIR)\winhelp\techref.cnt
804         cd $(THISDIR)
805
806 $(DOCDIR)/latex/wx/wx.rtf:         $(DOCDIR)/latex/wx/classes.tex $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)/latex/wx/manual.tex
807         cd $(DOCDIR)\latex\wx
808         -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/wx/manual.tex $(DOCDIR)/latex/wx/wx.rtf -twice -winhelp
809         cd $(THISDIR)
810
811 $(DOCDIR)/latex/techref/techref.rtf:         $(DOCDIR)/latex/techref/techref.tex
812         cd $(DOCDIR)\latex\techref
813         -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/techref/techref.tex $(DOCDIR)/latex/techref/techref.rtf -twice -winhelp
814         cd $(THISDIR)
815
816 $(DOCDIR)/pdf/wx.rtf:         $(DOCDIR)/latex/wx/classes.tex $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)/latex/wx/manual.tex
817         cd $(DOCDIR)\latex\wx
818         -copy *.wmf $(DOCDIR)\pdf
819         -copy *.bmp $(DOCDIR)\pdf
820         -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/wx/manual.tex $(DOCDIR)/pdf/wx.rtf -twice -rtf
821         cd $(THISDIR)
822
823 $(DOCDIR)/pdf/techref.rtf:         $(DOCDIR)/latex/techref/techref.tex
824         cd $(DOCDIR)\latex\techref
825         -copy *.wmf $(DOCDIR)\pdf
826         -copy *.bmp $(DOCDIR)\pdf
827         -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/techref/techref.tex $(DOCDIR)/pdf/techref.rtf -twice -rtf
828         cd $(THISDIR)
829
830 $(DOCDIR)\html\wx\wx.htm:         $(DOCDIR)\latex\wx\classes.tex $(DOCDIR)\latex\wx\body.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)\latex\wx\manual.tex
831         cd $(DOCDIR)\latex\wx
832         -mkdir $(DOCDIR)\html\wx
833         copy *.gif $(DOCDIR)\html\wx
834         -start $(WAITFLAG) tex2rtf $(DOCDIR)\latex\wx\manual.tex $(DOCDIR)\html\wx\wx.htm -twice -html
835         -erase $(DOCDIR)\html\wx\*.con
836         -erase $(DOCDIR)\html\wx\*.ref
837         -erase $(DOCDIR)\latex\wx\*.con
838         -erase $(DOCDIR)\latex\wx\*.ref
839          cd $(THISDIR)
840
841 $(DOCDIR)\htmlhelp\wx.chm : $(DOCDIR)\html\wx\wx.htm $(DOCDIR)\html\wx\wx.hhp
842         cd $(DOCDIR)\html\wx
843         -hhc wx.hhp
844     -mkdir ..\..\htmlhelp
845     -erase $(DOCDIR)\htmlhelp\wx.chm
846     move wx.chm ..\..\htmlhelp
847         cd $(THISDIR)
848
849 $(WXDIR)\docs\latex\wx\manual.dvi:      $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/manual.tex
850         cd $(WXDIR)\docs\latex\wx
851         -latex manual
852         -latex manual
853         -makeindx manual
854         -bibtex manual
855         -latex manual
856         -latex manual
857         cd $(THISDIR)
858
859 $(WXDIR)\docs\ps\wx.ps: $(WXDIR)\docs\latex\wx\manual.dvi
860         cd $(WXDIR)\docs\latex\wx
861         -dvips32 -o wx.ps manual
862         move wx.ps $(WXDIR)\docs\ps\wx.ps
863         cd $(THISDIR)
864
865 $(WXDIR)\docs\latex\wx\referenc.dvi:    $(DOCDIR)/latex/wx/classes.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)/latex/wx/referenc.tex
866         cd $(WXDIR)\docs\latex\wx
867         -latex referenc
868         -latex referenc
869         -makeindx referenc
870         -bibtex referenc
871         -latex referenc
872         -latex referenc
873         cd $(THISDIR)
874
875 $(WXDIR)\docs\ps\referenc.ps:   $(WXDIR)\docs\latex\wx\referenc.dvi
876         cd $(WXDIR)\docs\latex\wx
877         -dvips32 -o referenc.ps referenc
878         move referenc.ps $(WXDIR)\docs\ps\referenc.ps
879         cd $(THISDIR)
880
881 # An htb file is a zip file containing the .htm, .gif, .hhp, .hhc and .hhk
882 # files, renamed to htb.
883 # This can then be used with e.g. helpview.
884 # Optionally, a cached version of the .hhp file can be generated with hhp2cached.
885 $(DOCDIR)\htb\wx.htb: $(DOCDIR)\html\wx\wx.htm
886         cd $(WXDIR)\docs\html\wx
887     -erase wx.zip wx.htb
888     zip wx.zip *.htm *.gif *.hhp *.hhc *.hhk
889     -mkdir $(DOCDIR)\htb
890     move wx.zip $(DOCDIR)\htb\wx.htb
891     cd $(THISDIR)
892
893 # In order to force document reprocessing
894 touchmanual:
895     -touch $(WXDIR)\docs\latex\wx\manual.tex
896
897 updatedocs: touchmanual alldocs
898
899 cleandocs:
900     -erase $(DOCDIR)\winhelp\wx.hlp
901     -erase $(DOCDIR)\winhelp\wx.cnt
902     -erase $(DOCDIR)\html\wx\*.htm
903     -erase $(DOCDIR)\pdf\wx.rtf
904     -erase $(DOCDIR)\latex\wx\wx.rtf
905     -erase $(DOCDIR)\latex\wx\WX.PH
906     -erase $(DOCDIR)\htmlhelp\wx.chm
907     -erase $(DOCDIR)\htb\wx.htb
908
909 # Start Word, running the GeneratePDF macro. MakeManual.dot should be in the
910 # Office StartUp folder, and PDFMaker should be installed.
911 updatepdf:  # touchmanual pdfrtf
912     start $(WAITFLAG) "winword d:\wx2\wxWindows\docs\latex\pdf\wx.rtf /mGeneratePDF"
913
914
915 MFTYPE=vc
916 makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
917         cd $(WXWIN)\distrib\msw\tmake
918         tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
919         copy makefile.$(MFTYPE) $(WXWIN)\src\msw
920