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