]> git.saurik.com Git - wxWidgets.git/blame - src/msw/makefile.vc
the template files for generating all MSW makefiles with tmake and the
[wxWidgets.git] / src / msw / makefile.vc
CommitLineData
2bda0e17
KB
1#
2# File: makefile.nt
3# Author: Julian Smart
4# Created: 1997
3848ffef 5# Updated:
2bda0e17
KB
6# Copyright: (c) 1997, Julian Smart
7#
8# "%W% %G%"
9#
10# Makefile : Builds wxWindows library wx.lib for VC++ (32-bit)
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
2bda0e17 15#
48d1144b 16!include <..\makevc.env>
2bda0e17
KB
17
18THISDIR=$(WXWIN)\src\msw
19
20!if "$(WXMAKINGDLL)" == "1"
ca5c8b2d
JS
21LIBTARGET=$(WXDIR)\lib\$(WXLIBNAME).dll
22DUMMYOBJ=$D\dummydll.obj
2bda0e17
KB
23!else
24LIBTARGET=$(WXLIB)
ca5c8b2d 25DUMMYOBJ=$D\dummy.obj
2bda0e17
KB
26!endif
27
b23386b2 28# Please set these according to the settings in setup.h, so we can include
2bda0e17
KB
29# the appropriate libraries in wx.lib
30
b23386b2 31# This one overrides the others, to be consistent with the settings in setup.h
2bda0e17
KB
32MINIMAL_WXWINDOWS_SETUP=0
33
2bda0e17
KB
34PERIPH_LIBS=
35PERIPH_TARGET=
36PERIPH_CLEAN_TARGET=
37
f97c9854
JS
38# These are absolute paths, so that the compiler
39# generates correct __FILE__ symbols for debugging.
40# Otherwise you don't be able to double-click on a memory
41# error to load that file.
42GENDIR=$(WXDIR)\src\generic
43COMMDIR=$(WXDIR)\src\common
2bda0e17 44OLEDIR=ole
f97c9854 45MSWDIR=$(WXDIR)\src\msw
ca5c8b2d 46DOCDIR = $(WXDIR)\docs
4705ee2d 47HTMLDIR = $(WXDIR)\src\html
2bda0e17 48
ca5c8b2d
JS
49{..\generic}.cpp{..\generic\$D}.obj:
50 cl @<<
51$(CPPFLAGS) /Fo$@ /c /Tp $<
2bda0e17
KB
52<<
53
ca5c8b2d
JS
54{..\common}.cpp{..\common\$D}.obj:
55 cl @<<
56$(CPPFLAGS) /Fo$@ /c /Tp $<
89c684ef
JS
57<<
58
ca5c8b2d
JS
59{..\msw}.cpp{..\msw\$D}.obj:
60 cl @<<
61$(CPPFLAGS) /Fo$@ /c /Tp $<
2bda0e17
KB
62<<
63
ca5c8b2d
JS
64{..\msw\ole}.cpp{..\msw\ole\$D}.obj:
65 cl @<<
66$(CPPFLAGS) /Fo$@ /c /Tp $<
2bda0e17
KB
67<<
68
4705ee2d
RS
69{..\html}.cpp{..\html\$D}.obj:
70 cl @<<
71$(CPPFLAGS) /Fo$@ /c /Tp $<
72<<
73
ca5c8b2d
JS
74GENERICOBJS= \
75 ..\generic\$D\choicdgg.obj \
76 ..\generic\$D\gridg.obj \
77 ..\generic\$D\laywin.obj \
78 ..\generic\$D\panelg.obj \
e90babdf 79 ..\generic\$D\progdlgg.obj \
ca5c8b2d
JS
80 ..\generic\$D\prop.obj \
81 ..\generic\$D\propform.obj \
82 ..\generic\$D\proplist.obj \
83 ..\generic\$D\sashwin.obj \
84 ..\generic\$D\scrolwin.obj \
85 ..\generic\$D\splitter.obj \
86 ..\generic\$D\statusbr.obj \
87 ..\generic\$D\tabg.obj \
c50f1fb9 88 ..\generic\$D\textdlgg.obj \
78bd7ed3 89 ..\generic\$D\extdlgg.obj \
4705ee2d
RS
90 ..\generic\$D\tipdlg.obj \
91 ..\generic\$D\busyinfo.obj
ca5c8b2d
JS
92
93# ..\generic\$D\imaglist.obj \
94# ..\generic\$D\treectrl.obj \
95# ..\generic\$D\listctrl.obj \
96# ..\generic\$D\notebook.obj \
2bda0e17 97
ca5c8b2d
JS
98# These are generic things that don't need to be compiled on MSW,
99# but sometimes it's useful to do so for testing purposes.
100NONESSENTIALOBJS= \
101 ..\generic\$D\printps.obj \
102 ..\generic\$D\prntdlgg.obj \
103 ..\generic\$D\msgdlgg.obj \
104 ..\generic\$D\helpxlp.obj \
105 ..\generic\$D\colrdlgg.obj \
106 ..\generic\$D\fontdlgg.obj
2bda0e17 107
ca5c8b2d
JS
108COMMONOBJS = \
109 ..\common\$D\cmndata.obj \
110 ..\common\$D\config.obj \
eebc8b5e 111 ..\common\$D\dcbase.obj \
ca5c8b2d
JS
112 ..\common\$D\db.obj \
113 ..\common\$D\dbtable.obj \
114 ..\common\$D\docview.obj \
115 ..\common\$D\docmdi.obj \
116 ..\common\$D\dynarray.obj \
117 ..\common\$D\dynlib.obj \
118 ..\common\$D\event.obj \
119 ..\common\$D\file.obj \
120 ..\common\$D\filefn.obj \
121 ..\common\$D\fileconf.obj \
122 ..\common\$D\framecmn.obj \
123 ..\common\$D\ftp.obj \
124 ..\common\$D\gdicmn.obj \
125 ..\common\$D\image.obj \
ce4169a4 126 ..\common\$D\imagbmp.obj \
e9c4b1a2
JS
127 ..\common\$D\imagjpeg.obj \
128 ..\common\$D\imagpng.obj \
e702ff0f 129 ..\common\$D\imaggif.obj \
ca5c8b2d
JS
130 ..\common\$D\intl.obj \
131 ..\common\$D\ipcbase.obj \
132 ..\common\$D\helpbase.obj \
133 ..\common\$D\layout.obj \
134 ..\common\$D\log.obj \
135 ..\common\$D\memory.obj \
136 ..\common\$D\mimetype.obj \
137 ..\common\$D\module.obj \
138 ..\common\$D\odbc.obj \
139 ..\common\$D\object.obj \
140 ..\common\$D\prntbase.obj \
141 ..\common\$D\resource.obj \
142 ..\common\$D\tbarbase.obj \
143 ..\common\$D\tbarsmpl.obj \
144 ..\common\$D\textfile.obj \
145 ..\common\$D\timercmn.obj \
146 ..\common\$D\utilscmn.obj \
147 ..\common\$D\validate.obj \
148 ..\common\$D\valgen.obj \
149 ..\common\$D\valtext.obj \
150 ..\common\$D\date.obj \
151 ..\common\$D\hash.obj \
152 ..\common\$D\list.obj \
7bcb11d3 153 ..\common\$D\paper.obj \
ca5c8b2d
JS
154 ..\common\$D\string.obj \
155 ..\common\$D\socket.obj \
156 ..\common\$D\sckaddr.obj \
70190256 157 ..\common\$D\sckint.obj \
ca5c8b2d
JS
158 ..\common\$D\sckfile.obj \
159 ..\common\$D\sckipc.obj \
160 ..\common\$D\sckstrm.obj \
161 ..\common\$D\url.obj \
162 ..\common\$D\http.obj \
163 ..\common\$D\protocol.obj \
164 ..\common\$D\time.obj \
165 ..\common\$D\tokenzr.obj \
166 ..\common\$D\wxexpr.obj \
167 ..\common\$D\y_tab.obj \
168 ..\common\$D\extended.obj \
169 ..\common\$D\process.obj \
170 ..\common\$D\wfstream.obj \
171 ..\common\$D\mstream.obj \
172 ..\common\$D\zstream.obj \
173 ..\common\$D\stream.obj \
174 ..\common\$D\datstrm.obj \
175 ..\common\$D\objstrm.obj \
176 ..\common\$D\variant.obj \
c50f1fb9 177 ..\common\$D\dlgcmn.obj \
f3dbd876 178 ..\common\$D\wincmn.obj \
cc985fac 179 ..\common\$D\txtstrm.obj \
4705ee2d
RS
180 ..\common\$D\wxchar.obj \
181 ..\common\$D\unzip.obj \
182 ..\common\$D\zipstream.obj \
183 ..\common\$D\filesys.obj \
184 ..\common\$D\fs_inet.obj \
185 ..\common\$D\fs_zip.obj
2bda0e17 186
ca5c8b2d
JS
187MSWOBJS = \
188 ..\msw\$D\accel.obj \
189 ..\msw\$D\app.obj \
190 ..\msw\$D\bitmap.obj \
191 ..\msw\$D\bmpbuttn.obj \
192 ..\msw\$D\brush.obj \
193 ..\msw\$D\button.obj \
194 ..\msw\$D\checkbox.obj \
195 ..\msw\$D\checklst.obj \
789295bf 196 ..\msw\$D\caret.obj \
ca5c8b2d
JS
197 ..\msw\$D\choice.obj \
198 ..\msw\$D\clipbrd.obj \
199 ..\msw\$D\colordlg.obj \
200 ..\msw\$D\colour.obj \
201 ..\msw\$D\combobox.obj \
202 ..\msw\$D\control.obj \
203 ..\msw\$D\curico.obj \
204 ..\msw\$D\cursor.obj \
205 ..\msw\$D\data.obj \
206 ..\msw\$D\dc.obj \
207 ..\msw\$D\dcmemory.obj \
208 ..\msw\$D\dcclient.obj \
209 ..\msw\$D\dcprint.obj \
210 ..\msw\$D\dcscreen.obj \
211 ..\msw\$D\dde.obj \
212 ..\msw\$D\dialog.obj \
213 ..\msw\$D\dib.obj \
214 ..\msw\$D\dibutils.obj \
215 ..\msw\$D\dirdlg.obj \
6c41a418 216 ..\msw\$D\dragimag.obj \
ca5c8b2d
JS
217 ..\msw\$D\filedlg.obj \
218 ..\msw\$D\font.obj \
219 ..\msw\$D\fontdlg.obj \
220 ..\msw\$D\frame.obj \
221 ..\msw\$D\gauge95.obj \
222 ..\msw\$D\gaugemsw.obj \
223 ..\msw\$D\gdiobj.obj \
224 ..\msw\$D\helpwin.obj \
225 ..\msw\$D\icon.obj \
226 ..\msw\$D\iniconf.obj \
227 ..\msw\$D\joystick.obj \
228 ..\msw\$D\imaglist.obj \
229 ..\msw\$D\listbox.obj \
230 ..\msw\$D\listctrl.obj \
231 ..\msw\$D\main.obj \
232 ..\msw\$D\mdi.obj \
233 ..\msw\$D\menu.obj \
234 ..\msw\$D\menuitem.obj \
235 ..\msw\$D\metafile.obj \
236 ..\msw\$D\minifram.obj \
237 ..\msw\$D\msgdlg.obj \
238 ..\msw\$D\nativdlg.obj \
239 ..\msw\$D\notebook.obj \
240 ..\msw\$D\ownerdrw.obj \
241 ..\msw\$D\palette.obj \
242 ..\msw\$D\pen.obj \
243 ..\msw\$D\penwin.obj \
244 ..\msw\$D\pnghand.obj \
245 ..\msw\$D\printdlg.obj \
246 ..\msw\$D\printwin.obj \
247 ..\msw\$D\radiobox.obj \
248 ..\msw\$D\radiobut.obj \
249 ..\msw\$D\region.obj \
250 ..\msw\$D\registry.obj \
251 ..\msw\$D\regconf.obj \
252 ..\msw\$D\scrolbar.obj \
253 ..\msw\$D\settings.obj \
254 ..\msw\$D\slidrmsw.obj \
255 ..\msw\$D\slider95.obj \
256 ..\msw\$D\spinbutt.obj \
257 ..\msw\$D\statbmp.obj \
258 ..\msw\$D\statbox.obj \
c50f1fb9 259 ..\msw\$D\statline.obj \
ca5c8b2d
JS
260 ..\msw\$D\statbr95.obj \
261 ..\msw\$D\stattext.obj \
262 ..\msw\$D\tabctrl.obj \
263 ..\msw\$D\taskbar.obj \
264 ..\msw\$D\tbar95.obj \
265 ..\msw\$D\tbarmsw.obj \
266 ..\msw\$D\textctrl.obj \
267 ..\msw\$D\thread.obj \
268 ..\msw\$D\timer.obj \
269 ..\msw\$D\tooltip.obj \
270 ..\msw\$D\treectrl.obj \
271 ..\msw\$D\utils.obj \
272 ..\msw\$D\utilsexc.obj \
273 ..\msw\ole\$D\uuid.obj \
274 ..\msw\$D\wave.obj \
275 ..\msw\$D\window.obj \
276 ..\msw\$D\xpmhand.obj \
277 ..\msw\ole\$D\dataobj.obj \
278 ..\msw\ole\$D\automtn.obj \
279 ..\msw\ole\$D\droptgt.obj \
280 ..\msw\ole\$D\dropsrc.obj \
281 ..\msw\ole\$D\oleutils.obj
2bda0e17 282
4705ee2d
RS
283HTMLOBJS = \
284 ..\html\$D\htmlcell.obj \
285 ..\html\$D\htmlfilter.obj \
286 ..\html\$D\htmlhelp.obj \
287 ..\html\$D\htmlhelp_io.obj \
288 ..\html\$D\htmlparser.obj \
289 ..\html\$D\htmltag.obj \
290 ..\html\$D\htmlwin.obj \
291 ..\html\$D\htmlwinparser.obj \
292 ..\html\$D\mod_fonts.obj \
293 ..\html\$D\mod_hline.obj \
294 ..\html\$D\mod_image.obj \
295 ..\html\$D\mod_layout.obj \
296 ..\html\$D\mod_links.obj \
297 ..\html\$D\mod_list.obj \
298 ..\html\$D\mod_pre.obj \
299 ..\html\$D\mod_tables.obj \
300 ..\html\$D\search.obj
301
ca5c8b2d 302# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
4705ee2d
RS
303# Add $(HTMLOBJS) if wanting wxHTML classes
304OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
fcc6dddd 305
ca5c8b2d 306# Normal, static library
0f3e3e0c 307all: dirs $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) png zlib xpm jpeg $(LIBTARGET)
fcc6dddd 308
4705ee2d
RS
309dirs: $(MSWDIR)\$D $(COMMDIR)\$D $(GENDIR)\$D $(OLEDIR)\$D $(HTMLDIR)\$D
310
fcc6dddd 311
ca5c8b2d
JS
312test: $(MSWDIR)\$D\wave.obj
313test2: ..\common\Debug\config.obj
fcc6dddd 314
ca5c8b2d
JS
315$D:
316 mkdir $D
fcc6dddd 317
ca5c8b2d
JS
318$(COMMDIR)\$D:
319 mkdir $(COMMDIR)\$D
fcc6dddd 320
ca5c8b2d
JS
321$(MSWDIR)\$D:
322 mkdir $(MSWDIR)\$D
fcc6dddd 323
ca5c8b2d
JS
324$(GENDIR)\$D:
325 mkdir $(GENDIR)\$D
fcc6dddd 326
ca5c8b2d
JS
327$(OLEDIR)\$D:
328 mkdir $(OLEDIR)\$D
fcc6dddd 329
4705ee2d
RS
330$(HTMLDIR)\$D:
331 mkdir $(HTMLDIR)\$D
332
ca5c8b2d
JS
333# wxWindows library as DLL
334dll:
a4fe6524 335 nmake -f makefile.vc all FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME)
2bda0e17 336
ca5c8b2d 337cleandll:
a4fe6524 338 nmake -f makefile.vc clean FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME)
2bda0e17 339
ca5c8b2d
JS
340# wxWindows + app as DLL. Only affects main.cpp.
341dllapp:
342 nmake -f makefile.vc all FINAL=$(FINAL) DLL=1
79c3e0e1 343
ca5c8b2d
JS
344# wxWindows + app as DLL, for Netscape plugin - remove DllMain.
345dllnp:
346 nmake -f makefile.vc all NOMAIN=1 FINAL=$(FINAL) DLL=1
79c3e0e1 347
ca5c8b2d
JS
348# Use this to make dummy.obj and generate a PCH.
349# You might use the dll target, then the pch target, in order to
350# generate a DLL, then a PCH/dummy.obj for compiling your applications with.
351#
352# Explanation: Normally, when compiling a static version of wx.lib, your dummy.obj/PCH
353# are associated with wx.lib. When using a DLL version of wxWindows, however,
354# the DLL is compiled without a PCH, so you only need it for compiling the app.
355# In fact headers are compiled differently depending on whether a DLL is being made
356# or an app is calling the DLL exported functionality (WXDLLEXPORT is different
357# in each case) so you couldn't use the same PCH.
e12f91dc 358pch:
a4fe6524 359 nmake -f makefile.vc pch1 WXUSINGDLL=1 FINAL=$(FINAL) NEW_WXLIBNAME=$(NEW_WXLIBNAME)
79c3e0e1 360
ca5c8b2d
JS
361pch1: dirs $(DUMMYOBJ)
362 echo $(DUMMYOBJ)
79c3e0e1 363
ca5c8b2d 364!if "$(WXMAKINGDLL)" != "1"
cf447356 365
ca5c8b2d 366### Static library
fcc6dddd 367
ca5c8b2d
JS
368$(WXDIR)\lib\$(WXLIBNAME).lib: $D\dummy.obj $(OBJECTS) $(PERIPH_LIBS)
369 -erase $(LIBTARGET)
370 $(implib) @<<
371-out:$@
372-machine:$(CPU)
373$(OBJECTS) $(PERIPH_LIBS)
cf447356
GL
374<<
375
ca5c8b2d 376!else
341287bf 377
ca5c8b2d 378### Update the import library
3d8bd7d6 379
ca5c8b2d
JS
380$(WXDIR)\lib\$(WXLIBNAME).lib: $(DUMMYOBJ) $(OBJECTS)
381 $(implib) @<<
382 -machine:$(CPU)
383 -def:wx.def
384 $(DUMMYOBJ) $(OBJECTS)
385 -out:$(WXDIR)\lib\$(WXLIBNAME).lib
ca7731b7
GL
386<<
387
ca5c8b2d
JS
388# Update the dynamic link library
389$(WXDIR)\lib\$(WXLIBNAME).dll: $(DUMMYOBJ) $(OBJECTS) $(WXDIR)\lib\$(WXLIBNAME).lib
390 $(link) @<<
391 $(LINKFLAGS)
392 -out:$(WXDIR)\lib\$(WXLIBNAME).dll
a8db5b6a 393 $(DUMMYOBJ) $(OBJECTS) $(guilibsdll) shell32.lib comctl32.lib ctl3d32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib odbc32.lib advapi32.lib winmm.lib $(WXDIR)\lib\winpng.lib $(WXDIR)\lib\zlib.lib $(WXDIR)\lib\xpm.lib $(WXDIR)\lib\jpeg.lib
2bda0e17
KB
394<<
395
ca5c8b2d 396!endif
2bda0e17 397
2bda0e17
KB
398
399########################################################
ca5c8b2d 400# Windows-specific objects
2bda0e17 401
ca5c8b2d
JS
402$D\dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(WXDIR)\include\wx\msw\setup.h
403 cl $(CPPFLAGS) $(MAKEPRECOMP) /Fo$D\dummy.obj /c /Tp dummy.cpp
2bda0e17 404
ca5c8b2d 405$D\dummydll.obj: dummydll.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(WXDIR)\include\wx\msw\setup.h
2bda0e17 406 cl @<<
ca5c8b2d 407$(CPPFLAGS) $(MAKEPRECOMP) /Fo$D\dummydll.obj /c /Tp dummydll.cpp
2bda0e17
KB
408<<
409
ca5c8b2d 410# If taking wxWindows from CVS, setup.h doesn't exist yet.
b23386b2
JS
411# Actually the 'if not exist setup.h' test doesn't work
412# (copies the file anyway)
413# we'll have to comment this rule out.
414
415#$(WXDIR)\include\wx\msw\setup.h: $(WXDIR)\include\wx\msw\setup0.h
416# cd "$(WXDIR)"\include\wx\msw
417# if not exist setup.h copy setup0.h setup.h
418# cd "$(WXDIR)"\src\msw
2bda0e17 419
ca5c8b2d 420..\common\$D\extended.obj: ..\common\extended.c
f60d0f94 421 cl @<<
ca5c8b2d 422$(CPPFLAGS2) /c $(COMMDIR)\extended.c /Fo$@
f60d0f94
JS
423<<
424
ca5c8b2d 425..\common\$D\y_tab.obj: ..\common\y_tab.c ..\common\lex_yy.c
f60d0f94 426 cl @<<
ca5c8b2d 427$(CPPFLAGS2) /c ..\common\y_tab.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
f60d0f94
JS
428<<
429
ca5c8b2d
JS
430..\common\y_tab.c: ..\common\dosyacc.c
431 copy "..\common"\dosyacc.c "..\common"\y_tab.c
f60d0f94 432
ca5c8b2d
JS
433..\common\lex_yy.c: ..\common\doslex.c
434 copy "..\common"\doslex.c "..\common"\lex_yy.c
f60d0f94 435
4fabb575 436$(OBJECTS): $(WXDIR)/include/wx/setup.h
2bda0e17 437
4705ee2d
RS
438..\common\$D\unzip.obj: ..\common\unzip.c
439 cl @<<
440$(CPPFLAGS2) /c $(COMMDIR)\unzip.c /Fo$@
441<<
442
2bda0e17
KB
443# Peripheral components
444
fbcb4166
JS
445png:
446 cd $(WXDIR)\src\png
48d1144b 447 nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
fbcb4166
JS
448 cd $(WXDIR)\src\msw
449
450clean_png:
451 cd $(WXDIR)\src\png
48d1144b 452 nmake -f makefile.vc clean
fbcb4166
JS
453 cd $(WXDIR)\src\msw
454
455zlib:
456 cd $(WXDIR)\src\zlib
48d1144b 457 nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
fbcb4166
JS
458 cd $(WXDIR)\src\msw
459
460clean_zlib:
461 cd $(WXDIR)\src\zlib
48d1144b 462 nmake -f makefile.vc clean
fbcb4166
JS
463 cd $(WXDIR)\src\msw
464
0f3e3e0c
JS
465jpeg:
466 cd $(WXDIR)\src\jpeg
467 nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) all
468 cd $(WXDIR)\src\msw
469
470clean_jpeg:
471 cd $(WXDIR)\src\jpeg
472 nmake -f makefile.vc clean
473 cd $(WXDIR)\src\msw
474
2bda0e17 475xpm:
2fd284a4 476 cd $(WXDIR)\src\xpm
48d1144b 477 nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
2bda0e17
KB
478 cd $(WXDIR)\src\msw
479
480clean_xpm:
2fd284a4 481 cd $(WXDIR)\src\xpm
48d1144b 482 nmake -f makefile.vc clean
2bda0e17
KB
483 cd $(WXDIR)\src\msw
484
485rcparser:
486 cd $(WXDIR)\utils\rcparser\src
48d1144b 487 nmake -f makefile.vc FINAL=$(FINAL)
2bda0e17
KB
488 cd $(WXDIR)\src\msw
489
0f3e3e0c 490clean: $(PERIPH_CLEAN_TARGET) clean_png clean_zlib clean_jpeg clean_xpm
2bda0e17 491 -erase $(LIBTARGET)
ca5c8b2d 492 -erase $(WXDIR)\lib\$(WXLIBNAME).pdb
2bda0e17
KB
493 -erase ..\..\lib\wx200.dll
494 -erase ..\..\lib\wx200.lib
495 -erase ..\..\lib\wx200.exp
496 -erase ..\..\lib\wx200.pdb
497 -erase ..\..\lib\wx200.ilk
498 -erase *.pdb
499 -erase *.sbr
ca5c8b2d
JS
500 -erase $(WXLIBNAME).pch
501 -erase $(GENDIR)\$D\*.obj
502 -erase $(GENDIR)\$D\*.pdb
503 -erase $(GENDIR)\$D\*.sbr
504 -erase $(COMMDIR)\$D\*.obj
505 -erase $(COMMDIR)\$D\*.pdb
506 -erase $(COMMDIR)\$D\*.sbr
507 -erase $(COMMDIR)\\y_tab.c
508 -erase $(COMMDIR)\lex_yy.c
509 -erase $(MSWDIR)\$D\*.obj
510 -erase $(MSWDIR)\$D\*.sbr
511 -erase $(MSWDIR)\$D\*.pdb
512 -erase $(OLEDIR)\$D\*.obj
513 -erase $(OLEDIR)\$D\*.sbr
514 -erase $(OLEDIR)\$D\*.pdb
515 -rmdir $(D)
516 -rmdir ole\$(D)
517 -rmdir ..\generic\$(D)
518 -rmdir ..\common\$(D)
2bda0e17
KB
519
520cleanall: clean
521
522# Making documents
62448488
JS
523docs: allhlp allhtml allpdfrtf
524alldocs: docs
20e85460 525hlp: wxhlp portinghlp
2bda0e17 526wxhlp: $(DOCDIR)/winhelp/wx.hlp
f3a65071 527prophlp: $(DOCDIR)/winhelp/prop.hlp
2bda0e17
KB
528refhlp: $(DOCDIR)/winhelp/techref.hlp
529rtf: $(DOCDIR)/winhelp/wx.rtf
f3a65071 530proprtf: $(DOCDIR)/winhelp/prop.rtf
2bda0e17 531pdfrtf: $(DOCDIR)/pdf/wx.rtf
f3a65071 532proppdfrtf: $(DOCDIR)/pdf/prop.rtf
2bda0e17 533refpdfrtf: $(DOCDIR)/pdf/techref.rtf
20e85460 534html: wxhtml portinghtml
2bda0e17 535wxhtml: $(DOCDIR)\html\wx\wx.htm
a8db5b6a 536htmlhelp: $(DOCDIR)\html\wx\wx.chm
f3a65071 537prophtml: $(DOCDIR)\html\proplist\prop.htm
20e85460 538ps: wxps referencps
2bda0e17 539wxps: $(WXDIR)\docs\ps\wx.ps
f3a65071 540propps: $(WXDIR)\docs\ps\prop.ps
2bda0e17
KB
541referencps: $(WXDIR)\docs\ps\referenc.ps
542
543portinghtml: $(DOCDIR)\html\porting\port.htm
544portingrtf: $(DOCDIR)/winhelp/porting.rtf
545portinghlp: $(DOCDIR)/winhelp/porting.hlp
546portingpdfrtf: $(DOCDIR)/pdf/porting.rtf
547portingps: $(WXDIR)\docs\ps\porting.ps
548
20e85460 549allhlp: wxhlp portinghlp prophlp
2bda0e17 550 cd $(WXDIR)\utils\dialoged\src
48d1144b 551 nmake -f makefile.vc hlp
2bda0e17
KB
552 cd $(THISDIR)
553
554# cd $(WXDIR)\utils\wxhelp\src
48d1144b 555# nmake -f makefile.vc hlp
2bda0e17 556# cd $(WXDIR)\utils\tex2rtf\src
48d1144b 557# nmake -f makefile.vc hlp
2bda0e17 558# cd $(WXDIR)\utils\wxgraph\src
48d1144b 559# nmake -f makefile.vc hlp
2bda0e17 560# cd $(WXDIR)\utils\wxchart\src
48d1144b 561# nmake -f makefile.vc hlp
2bda0e17 562# cd $(WXDIR)\utils\wxtree\src
48d1144b 563# nmake -f makefile.vc hlp
2bda0e17 564# cd $(WXDIR)\utils\wxbuild\src
48d1144b 565# nmake -f makefile.vc hlp
2bda0e17 566# cd $(WXDIR)\utils\wxgrid\src
48d1144b 567# nmake -f makefile.vc hlp
2bda0e17 568
20e85460 569allhtml: wxhtml portinghtml prophtml
2bda0e17 570 cd $(WXDIR)\utils\dialoged\src
48d1144b 571 nmake -f makefile.vc html
2bda0e17
KB
572 cd $(THISDIR)
573
48d1144b 574# nmake -f makefile.vc html
2bda0e17 575# cd $(WXDIR)\utils\dialoged\src
48d1144b 576# nmake -f makefile.vc html
2bda0e17 577# cd $(WXDIR)\utils\hytext\src
48d1144b 578# nmake -f makefile.vc html
2bda0e17 579# cd $(WXDIR)\utils\wxhelp\src
48d1144b 580# nmake -f makefile.vc html
2bda0e17 581# cd $(WXDIR)\utils\tex2rtf\src
48d1144b 582# nmake -f makefile.vc html
2bda0e17 583# cd $(WXDIR)\utils\wxgraph\src
48d1144b 584# nmake -f makefile.vc html
2bda0e17 585# cd $(WXDIR)\utils\wxchart\src
48d1144b 586# nmake -f makefile.vc html
2bda0e17 587# cd $(WXDIR)\utils\wxtree\src
48d1144b 588# nmake -f makefile.vc html
2bda0e17 589
20e85460 590allps: wxps referencps portingps propps
2bda0e17 591 cd $(WXDIR)\utils\dialoged\src
48d1144b 592 nmake -f makefile.vc ps
2bda0e17
KB
593 cd $(THISDIR)
594
20e85460 595allpdfrtf: pdfrtf portingpdfrtf proppdfrtf
2bda0e17 596 cd $(WXDIR)\utils\dialoged\src
48d1144b 597 nmake -f makefile.vc pdfrtf
2bda0e17
KB
598 cd $(THISDIR)
599
600# cd $(WXDIR)\utils\wxhelp\src
48d1144b 601# nmake -f makefile.vc ps
2bda0e17 602# cd $(WXDIR)\utils\tex2rtf\src
48d1144b 603# nmake -f makefile.vc ps
2bda0e17 604# cd $(WXDIR)\utils\wxgraph\src
48d1144b 605# nmake -f makefile.vc ps
2bda0e17 606# cd $(WXDIR)\utils\wxchart\src
48d1144b 607# nmake -f makefile.vc ps
2bda0e17 608# cd $(WXDIR)\utils\wxtree\src
48d1144b 609# nmake -f makefile.vc ps
2bda0e17
KB
610# cd $(THISDIR)
611
2bda0e17
KB
612$(DOCDIR)/winhelp/wx.hlp: $(DOCDIR)/latex/wx/wx.rtf $(DOCDIR)/latex/wx/wx.hpj
613 cd $(DOCDIR)/latex/wx
614 -erase wx.ph
615 hc wx
616 move wx.hlp $(DOCDIR)\winhelp\wx.hlp
617 move wx.cnt $(DOCDIR)\winhelp\wx.cnt
618 cd $(THISDIR)
619
620$(DOCDIR)/winhelp/porting.hlp: $(DOCDIR)/latex/porting/porting.rtf $(DOCDIR)/latex/porting/porting.hpj
621 cd $(DOCDIR)/latex/porting
622 -erase porting.ph
623 hc porting
624 move porting.hlp $(DOCDIR)\winhelp\porting.hlp
625 move porting.cnt $(DOCDIR)\winhelp\porting.cnt
626 cd $(THISDIR)
627
f3a65071 628$(DOCDIR)/winhelp/prop.hlp: $(DOCDIR)/latex/proplist/prop.rtf $(DOCDIR)/latex/proplist/prop.hpj
e3a43801 629 cd $(DOCDIR)/latex/proplist
f3a65071
JS
630 -erase prop.ph
631 hc prop
632 move prop.hlp $(DOCDIR)\winhelp\prop.hlp
633 move prop.cnt $(DOCDIR)\winhelp\prop.cnt
e3a43801
JS
634 cd $(THISDIR)
635
2bda0e17
KB
636$(DOCDIR)/winhelp/techref.hlp: $(DOCDIR)/latex/techref/techref.rtf $(DOCDIR)/latex/techref/techref.hpj
637 cd $(DOCDIR)/latex/techref
638 -erase techref.ph
639 hc techref
640 move techref.hlp $(DOCDIR)\winhelp\techref.hlp
641 move techref.cnt $(DOCDIR)\winhelp\techref.cnt
642 cd $(THISDIR)
643
644$(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
645 cd $(DOCDIR)\latex\wx
e12f91dc 646 -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/wx/manual.tex $(DOCDIR)/latex/wx/wx.rtf -twice -winhelp
2bda0e17
KB
647 cd $(THISDIR)
648
649$(DOCDIR)/latex/porting/porting.rtf: $(DOCDIR)/latex/porting/porting.tex
650 cd $(DOCDIR)\latex\porting
e12f91dc 651 -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/porting/porting.tex $(DOCDIR)/latex/porting/porting.rtf -twice -winhelp
2bda0e17
KB
652 cd $(THISDIR)
653
f3a65071 654$(DOCDIR)/latex/proplist/prop.rtf: $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/body.tex $(DOCDIR)/latex/proplist/classes.tex $(DOCDIR)/latex/proplist/changes.tex
e3a43801 655 cd $(DOCDIR)\latex\proplist
e12f91dc 656 -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/prop.rtf -twice -winhelp
e3a43801
JS
657 cd $(THISDIR)
658
2bda0e17
KB
659$(DOCDIR)/latex/techref/techref.rtf: $(DOCDIR)/latex/techref/techref.tex
660 cd $(DOCDIR)\latex\techref
e12f91dc 661 -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/techref/techref.tex $(DOCDIR)/latex/techref/techref.rtf -twice -winhelp
2bda0e17
KB
662 cd $(THISDIR)
663
664$(DOCDIR)/pdf/wx.rtf: $(DOCDIR)/latex/wx/classes.tex $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)/latex/wx/manual.tex
665 cd $(DOCDIR)\latex\wx
666 -copy *.bmp *.wmf $(DOCDIR)\pdf
e12f91dc 667 -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/wx/manual.tex $(DOCDIR)/pdf/wx.rtf -twice -rtf
2bda0e17
KB
668 cd $(THISDIR)
669
670$(DOCDIR)/pdf/porting.rtf: $(DOCDIR)/latex/porting/porting.tex
671 cd $(DOCDIR)\latex\porting
672 -copy *.bmp *.wmf $(DOCDIR)\pdf
e12f91dc 673 -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/porting/porting.tex $(DOCDIR)/pdf/porting.rtf -twice -rtf
2bda0e17
KB
674 cd $(THISDIR)
675
20e85460 676$(DOCDIR)/pdf/prop.rtf: $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/body.tex $(DOCDIR)/latex/proplist/classes.tex $(DOCDIR)/latex/proplist/changes.tex
e3a43801
JS
677 cd $(DOCDIR)\latex\proplist
678 -copy *.bmp *.wmf $(DOCDIR)\pdf
e12f91dc 679 -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/pdf/prop.rtf -twice -rtf
e3a43801
JS
680 cd $(THISDIR)
681
2bda0e17
KB
682$(DOCDIR)/pdf/techref.rtf: $(DOCDIR)/latex/techref/techref.tex
683 cd $(DOCDIR)\latex\techref
684 -copy *.bmp *.wmf $(DOCDIR)\pdf
e12f91dc 685 -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/techref/techref.tex $(DOCDIR)/pdf/techref.rtf -twice -rtf
2bda0e17
KB
686 cd $(THISDIR)
687
688$(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
689 cd $(DOCDIR)\latex\wx
690 -mkdir $(DOCDIR)\html\wx
e12f91dc 691 -start $(WAITFLAG) tex2rtf $(DOCDIR)\latex\wx\manual.tex $(DOCDIR)\html\wx\wx.htm -twice -html
2bda0e17 692 -erase $(DOCDIR)\html\wx\*.con
06e43511
JS
693 -erase $(DOCDIR)\html\wx\*.ref
694 -erase $(DOCDIR)\latex\wx\*.con
695 -erase $(DOCDIR)\latex\wx\*.ref
696 cd $(THISDIR)
2bda0e17 697
a8db5b6a
RD
698$(DOCDIR)\html\wx\wx.chm : $(DOCDIR)\html\wx\wx.htm $(DOCDIR)\html\wx\wx.hhp
699 cd $(DOCDIR)\html\wx
700 -hhc wx.hhp
701 cd $(THISDIR)
702
703
2bda0e17
KB
704$(DOCDIR)\html\porting\port.htm: $(DOCDIR)\latex\porting\porting.tex
705 cd $(DOCDIR)\latex\porting
706 -mkdir $(DOCDIR)\html\porting
e12f91dc 707 -start $(WAITFLAG) tex2rtf $(DOCDIR)\latex\porting\porting.tex $(DOCDIR)\html\porting\port.htm -twice -html
2bda0e17
KB
708 -erase $(DOCDIR)\html\porting\*.con
709 -erase $(DOCDIR)\html\porting\*.ref
710 -erase $(DOCDIR)\latex\porting\*.con
711 -erase $(DOCDIR)\latex\porting\*.ref
712 cd $(THISDIR)
713
e3a43801
JS
714$(DOCDIR)\html\proplist\prop.htm: $(DOCDIR)\latex\proplist\prop.tex $(DOCDIR)\latex\proplist\body.tex $(DOCDIR)\latex\proplist\classes.tex $(DOCDIR)\latex\proplist\changes.tex
715 cd $(DOCDIR)\latex\proplist
716 -mkdir $(DOCDIR)\html\proplist
e12f91dc 717 -start $(WAITFLAG) tex2rtf $(DOCDIR)\latex\proplist\prop.tex $(DOCDIR)\html\proplist\prop.htm -twice -html
e3a43801
JS
718 -erase $(DOCDIR)\html\proplist\*.con
719 -erase $(DOCDIR)\html\proplist\*.ref
720 -erase $(DOCDIR)\latex\proplist\*.con
721 -erase $(DOCDIR)\latex\proplist\*.ref
2bda0e17
KB
722 cd $(THISDIR)
723
724$(WXDIR)\docs\latex\wx\manual.dvi: $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/manual.tex
725 cd $(WXDIR)\docs\latex\wx
726 -latex manual
727 -latex manual
728 -makeindx manual
729 -bibtex manual
730 -latex manual
731 -latex manual
732 cd $(THISDIR)
733
734$(WXDIR)\docs\latex\porting\porting.dvi: $(DOCDIR)/latex/porting/porting.tex
735 cd $(WXDIR)\docs\latex\porting
736 -latex porting
737 -latex porting
738 -makeindx porting
739 -bibtex porting
740 -latex porting
741 -latex porting
742 cd $(THISDIR)
743
744$(WXDIR)\docs\ps\wx.ps: $(WXDIR)\docs\latex\wx\manual.dvi
745 cd $(WXDIR)\docs\latex\wx
746 -dvips32 -o wx.ps manual
747 move wx.ps $(WXDIR)\docs\ps\wx.ps
748 cd $(THISDIR)
749
750$(WXDIR)\docs\ps\porting.ps: $(WXDIR)\docs\latex\porting\porting.dvi
751 cd $(WXDIR)\docs\latex\porting
752 -dvips32 -o porting.ps porting
753 move porting.ps $(WXDIR)\docs\ps\porting.ps
754 cd $(THISDIR)
755
756$(WXDIR)\docs\latex\wx\referenc.dvi: $(DOCDIR)/latex/wx/classes.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)/latex/wx/referenc.tex
757 cd $(WXDIR)\docs\latex\wx
758 -latex referenc
759 -latex referenc
760 -makeindx referenc
761 -bibtex referenc
762 -latex referenc
763 -latex referenc
764 cd $(THISDIR)
765
766$(WXDIR)\docs\ps\referenc.ps: $(WXDIR)\docs\latex\wx\referenc.dvi
767 cd $(WXDIR)\docs\latex\wx
768 -dvips32 -o referenc.ps referenc
769 move referenc.ps $(WXDIR)\docs\ps\referenc.ps
770 cd $(THISDIR)
771
da36f544
JS
772# In order to force document reprocessing
773touchmanual:
774 -touch $(WXDIR)\docs\latex\wx\manual.tex
62448488
JS
775
776updatedocs: touchmanual alldocs
777
778# Start Word, running the GeneratePDF macro. MakeManual.dot should be in the
779# Office StartUp folder, and PDFMaker should be installed.
780updatepdf: # touchmanual pdfrtf
e12f91dc 781 start $(WAITFLAG) "winword d:\wx2\wxWindows\docs\latex\pdf\wx.rtf /mGeneratePDF"
2845ddc2 782