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