]> git.saurik.com Git - wxWidgets.git/blame - distrib/msw/makeall.bat
added tech note about writing unit tests
[wxWidgets.git] / distrib / msw / makeall.bat
CommitLineData
963a1fcd
JS
1Rem @echo off
2Rem This script compiles wxWindows and some samples/demos with
3Rem a range of compilers.
4Rem Note that it currently uses batch scripts local to Julian Smart's machine,
5Rem to set up the environment correctly.
6Rem This is a 4DOS batch file, though 4DOS dependencies have been kept to
7Rem a minimum.
8Rem Julian Smart, August 12th, 2000
9Rem TODO: making a Unicode distribution by modifying setup.h programmatically.
10Rem TODO: check differing setup.h options, again by programmatic modification
11
12set WXDIR=%WXWIN%
13set FATWXWIN=%WXDIR%
14set FULLWXWIN=%WXDIR%
15if not %@INDEX["%WXDIR%","wxWindows"] == "-1" set FATWXWIN=%@PATH[%WXDIR%]wxwind~1
16if not %@INDEX["%WXDIR%","wxWindows"] == "-1" set FULLWXWIN=%@PATH[%WXDIR%]wxWindows
17
18Rem The following line is for a specific environment -- edit, or comment out
19Rem Not working in 4NT?
20Rem if not %@INDEX["%WXDIR%","wx2stable"] == "-1" set FATWXWIN=c:\wx2sta~1\wxwind~1
21
22echo Full wxWindows path is %FULLWXWIN%, FAT path is %FATWXWIN%
23set BUILDDEST=%TEMP%\wxWinBuild
24Rem Only carry on if we haven't specified a single target
25set CARRYON=0
26
27rem goto end
28
29if "%1" == "vc6" goto dovc6
30if "%1" == "bc55" goto dobc55
31if "%1" == "bc50" goto dobc50
32if "%1" == "ming2952" goto doming2952
33if "%1" == "cygwin11" goto docygwin11
34if "%1" == "vc1" goto dovc1
35if "%1" == "bc16" goto dobc16
36
37set CARRYON=1
38
39if not direxist %BUILDDEST% mkdir /S %BUILDDEST%
40
41
42:dovc6
43
44cd %WXDIR%\samples
45erase /S *.exe
46cd %WXDIR%\demos
47erase /S *.exe
48cd %WXDIR%\contrib\samples
49erase /S *.exe
963a1fcd
JS
50cd %WXDIR%\utils\tex2rtf\src
51erase /S *.exe
52
53echo Starting wxWindows build at %_TIME, %_DATE
54
55Rem First, VC++ 6.
56
57echo === VC++ 6 ===
58echo ==============
59
60Rem Set up the environment
61call msvc6
62
63echo *** VC++ Debug ***
64Rem VC++ Debug
65cd %WXDIR%\src\msw
66nmake -f makefile.vc cleanall
67nmake -f makefile.vc
68if not direxist %BUILDDEST%\VC6Debug mkdir /S %BUILDDEST%\VC6Debug
69erase /F /Y %BUILDDEST%\VC6Debug
70cd %WXDIR%\samples
71nmake -f makefile.vc clean
72
73Rem Make one sample, just to make sure Debug mode is OK
74cd %WXDIR%\samples\controls
75nmake -f makefile.vc
76copy controls.exe %BUILDDEST%\VC6Debug
77nmake -f makefile.vc clean
78
79cd %WXDIR%\src\msw
80nmake -f makefile.vc cleanall
81
82echo *** VC++ Release ***
83
84nmake -f makefile.vc cleanall FINAL=1
85nmake -f makefile.vc FINAL=1
86
87if not direxist %BUILDDEST%\VC6Release mkdir /S %BUILDDEST%\VC6Release
88erase /F /Y %BUILDDEST%\VC6Release
89
90cd %WXDIR%\samples
91nmake -f makefile.vc clean FINAL=1
92nmake -f makefile.vc FINAL=1
93Rem Copy all executables to VC6Release
94Rem Euch, this is the only way I can think of right now
95Rem to copy them to the same directory. Daft but...
96erase %TEMP%\temp.zip
97zip16 -r %TEMP%\temp.zip *.exe
98unzip32 -o %TEMP%\temp.zip -d %BUILDDEST%\VC6Release
99nmake -f makefile.vc clean FINAL=1
100
101cd %WXDIR%\demos
102nmake -f makefile.vc clean FINAL=1
103nmake -f makefile.vc FINAL=1
104Rem Copy all executables to VC6Release
105erase %TEMP%\temp.zip
106zip16 -r %TEMP%\temp.zip *.exe
107unzip32 -o %TEMP%\temp.zip -d %BUILDDEST%\VC6Release
108nmake -f makefile.vc clean FINAL=1
109
110Rem Compile OGL
111cd %WXDIR%\contrib\src\ogl
112nmake -f makefile.vc clean FINAL=1
113nmake -f makefile.vc FINAL=1
114cd %WXDIR%\contrib\samples\ogl\ogledit
115nmake -f makefile.vc clean FINAL=1
116nmake -f makefile.vc FINAL=1
117copy *.exe %BUILDDEST%\VC6Release
118nmake -f makefile.vc clean FINAL=1
119cd %WXDIR%\contrib\samples\ogl\studio
120nmake -f makefile.vc clean FINAL=1
121nmake -f makefile.vc FINAL=1
122copy *.exe %BUILDDEST%\VC6Release
123nmake -f makefile.vc clean FINAL=1
124cd %WXDIR%\contrib\src\ogl
125nmake -f makefile.vc clean FINAL=1
126
963a1fcd
JS
127Rem Compile Tex2RTF
128cd %WXDIR%\utils\tex2rtf\src
129nmake -f makefile.vc clean FINAL=1
130nmake -f makefile.vc FINAL=1
131copy *.exe %BUILDDEST%\VC6Release
132nmake -f makefile.vc clean FINAL=1
133
134Rem Clean up
135
136cd %WXDIR%\src\msw
137nmake -f makefile.vc cleanall FINAL=1
138
139echo *** VC++ Debug DLL ***
140
141nmake -f makefile.vc cleanall WXMAKINGDLL=1
142nmake -f makefile.vc dll pch
143
144if not direxist %BUILDDEST%\VC6DebugDLL mkdir /S %BUILDDEST%\VC6DebugDLL
145erase /F /Y %BUILDDEST%\VC6DebugDLL
146
147copy %WXDIR%\lib\*d.dll %BUILDDEST%\VC6DebugDLL
148
149Rem Make one sample, for a sanity check
150
151cd %WXDIR%\samples\controls
152nmake -f makefile.vc WXUSINGDLL=1
153copy controls.exe %BUILDDEST%\VC6DebugDLL
154nmake -f makefile.vc clean
155
156cd %WXDIR%\src\msw
157nmake -f makefile.vc cleanall WXMAKINGDLL=1
158
159echo *** VC++ Release DLL ***
160
161nmake -f makefile.vc cleanall FINAL=1 WXMAKINGDLL=1
162nmake -f makefile.vc dll pch FINAL=1
163
164if not direxist %BUILDDEST%\VC6ReleaseDLL mkdir /S %BUILDDEST%\VC6ReleaseDLL
165erase /F /Y %BUILDDEST%\VC6ReleaseDLL
166
167copy %WXDIR%\lib\*.dll %BUILDDEST%\VC6ReleaseDLL
168
169Rem Make one sample, for a sanity check
170
171cd %WXDIR%\samples\controls
172nmake -f makefile.vc WXUSINGDLL=1 FINAL=1
173copy controls.exe %BUILDDEST%\VC6ReleaseDLL
174nmake -f makefile.vc clean FINAL=1
175
176cd %WXDIR%\src\msw
177nmake -f makefile.vc cleanall WXMAKINGDLL=1 FINAL=1
178
179if "%CARRYON" == "0" goto end
180
181:dobc55
182
183echo === BC++ 5.5 ===
184echo ================
185
186call bcb55
187
188echo *** WIN32 BC++ Debug ***
189
190Rem WIN32 BC++ Debug
191cd %WXDIR%\src\msw
192make -f makefile.b32 cleanall
193make -f makefile.b32
194if not direxist %BUILDDEST%\BC55Debug mkdir /S %BUILDDEST%\BC55Debug
195erase /F /Y %BUILDDEST%\BC55Debug
196cd %WXDIR%\samples
197make -f makefile.b32 clean
198
199Rem Make one sample, just to make sure Debug mode is OK
200cd %WXDIR%\samples\controls
201make -f makefile.b32
202copy controls.exe %BUILDDEST%\BC55Debug
203make -f makefile.b32 clean
204
205Rem Compile OGL
206cd %WXDIR%\contrib\src\ogl
207make -f makefile.b32 clean
208make -f makefile.b32
209cd %WXDIR%\contrib\samples\ogl\ogledit
210make -f makefile.b32 clean
211make -f makefile.b32
212copy *.exe %BUILDDEST%\BC55Debug
213make -f makefile.b32 clean
214cd %WXDIR%\contrib\samples\ogl\studio
215make -f makefile.b32 clean
216make -f makefile.b32
217copy *.exe %BUILDDEST%\BC55Debug
218make -f makefile.b32 clean
219cd %WXDIR%\contrib\src\ogl
220make -f makefile.b32 clean
221
222cd %WXDIR%\src\msw
223make -f makefile.b32 cleanall
224
225goto bcdebugdll
226
227echo *** WIN32 BC++ Release ***
228
229make -f makefile.b32 cleanall FINAL=1
230make -f makefile.b32 FINAL=1
231
232if not direxist %BUILDDEST%\BC55Release mkdir /S %BUILDDEST%\BC55Release
233erase /F /Y %BUILDDEST%\BC55Release
234
235cd %WXDIR%\samples
236make -f makefile.b32 clean FINAL=1
237make -f makefile.b32 FINAL=1
238Rem Copy all executables to BC55Release
239erase %TEMP%\temp.zip
240zip16 -r %TEMP%\temp.zip *.exe
241unzip32 -o %TEMP%\temp.zip -d %BUILDDEST%\BC55Release
242make -f makefile.b32 clean FINAL=1
243
244cd %WXDIR%\demos
245make -f makefile.b32 clean FINAL=1
246make -f makefile.b32 FINAL=1
247Rem Copy all executables to BC55Release
248erase %TEMP%\temp.zip
249zip16 -r %TEMP%\temp.zip *.exe
250unzip32 -o %TEMP%\temp.zip -d %BUILDDEST%\BC55Release
251make -f makefile.b32 clean FINAL=1
252
253Rem Compile OGL
254cd %WXDIR%\contrib\src\ogl
255make -f makefile.b32 clean FINAL=1
256make -f makefile.b32 FINAL=1
257cd %WXDIR%\contrib\samples\ogl\ogledit
258make -f makefile.b32 clean FINAL=1
259make -f makefile.b32 FINAL=1
260copy *.exe %BUILDDEST%\BC55Release
261make -f makefile.b32 clean FINAL=1
262cd %WXDIR%\contrib\samples\ogl\studio
263make -f makefile.b32 clean FINAL=1
264make -f makefile.b32 FINAL=1
265copy *.exe %BUILDDEST%\BC55Release
266make -f makefile.b32 clean FINAL=1
267cd %WXDIR%\contrib\src\ogl
268make -f makefile.b32 clean FINAL=1
269
963a1fcd
JS
270Rem Compile Tex2RTF
271cd %WXDIR%\utils\tex2rtf\src
272make -f makefile.b32 clean FINAL=1
273make -f makefile.b32 FINAL=1
274copy *.exe %BUILDDEST%\BC55Release
275make -f makefile.b32 clean FINAL=1
276
277Rem Clean up
278
279cd %WXDIR%\src\msw
280make -f makefile.b32 cleanall FINAL=1
281
282:bcdebugdll
283
284echo *** WIN32 BC++ Debug DLL ***
285
286make -f makefile.b32 cleanall
287make -f makefile.b32 dll
288
289if not direxist %BUILDDEST%\BC55DebugDLL mkdir /S %BUILDDEST%\BC55DebugDLL
290erase /F /Y %BUILDDEST%\BC55DebugDLL
291
292copy %WXDIR%\lib\*.dll %BUILDDEST%\BC55DebugDLL
293
294Rem Make one sample, for a sanity check
295
296cd %WXDIR%\samples\controls
297make -f makefile.b32 WXUSINGDLL=1
298copy controls.exe %BUILDDEST%\BC55DebugDLL
299make -f makefile.b32 clean
300
301cd %WXDIR%\src\msw
302make -f makefile.b32 cleanall
303
304if "%CARRYON" == "0" goto end
305
306Rem Skip BC++ 5.0, obsolete
307goto docygwin11
308:dobc50
309
310
311echo === BC++ 5.0 ===
312echo ================
313
314call borland
315
316echo *** WIN32 BC++ Debug ***
317
318Rem WIN32 BC++ Debug
319cd %WXDIR%\src\msw
320make -f makefile.b32 cleanall
321make -f makefile.b32
322if not direxist %BUILDDEST%\BC50Debug mkdir /S %BUILDDEST%\BC50Debug
323erase /F /Y %BUILDDEST%\BC50Debug
324cd %WXDIR%\samples
325make -f makefile.b32 clean
326
327Rem Make one sample, just to make sure Debug mode is OK
328cd %WXDIR%\samples\controls
329make -f makefile.b32
330copy controls.exe %BUILDDEST%\BC50Debug
331make -f makefile.b32 clean
332
333cd %WXDIR%\src\msw
334make -f makefile.b32 cleanall
335
336if "%CARRYON" == "0" goto end
337
338:docygwin11
339
340
341echo === Cygwin 1.1 ===
342echo ==================
343
344call cygwin11
345
346echo *** Cygwin Debug ***
347
348Rem Cygwin Release
349cd %WXDIR%\src\msw
350make -f makefile.g95 cleanall
351make -f makefile.g95 FINAL=1
352if not direxist %BUILDDEST%\Cygwin11Release mkdir /S %BUILDDEST%\Cygwin11Release
353erase /F /Y %BUILDDEST%\Cygwin11Release
354cd %WXDIR%\samples
355make -f makefile.g95 clean FINAL=1
356
357if not direxist %BUILDDEST%\Cygwin11Release mkdir /S %BUILDDEST%\Cygwin11Release
358erase /F /Y %BUILDDEST%\Cygwin11Release
359
360cd %WXDIR%\samples
361make -f makefile.g95 clean FINAL=1
362make -f makefile.g95 FINAL=1
363Rem Copy all executables to Cygwin11Release
364erase %TEMP%\temp.zip
365zip16 -r %TEMP%\temp.zip *.exe
366unzip32 -o %TEMP%\temp.zip -d %BUILDDEST%\Cygwin11Release
367make -f makefile.g95 clean FINAL=1
368
369cd %WXDIR%\demos
370make -f makefile.g95 clean FINAL=1
371make -f makefile.g95 FINAL=1
372Rem Copy all executables to Cygwin11Release
373erase %TEMP%\temp.zip
374zip16 -r %TEMP%\temp.zip *.exe
375unzip32 -o %TEMP%\temp.zip -d %BUILDDEST%\Cygwin11Release
376make -f makefile.g95 clean FINAL=1
377
378Rem Compile OGL
379cd %WXDIR%\contrib\src\ogl
380make -f makefile.g95 clean FINAL=1
381make -f makefile.g95 FINAL=1
382cd %WXDIR%\contrib\samples\ogl\ogledit
383make -f makefile.g95 clean FINAL=1
384make -f makefile.g95 FINAL=1
385copy *.exe %BUILDDEST%\Cygwin11Release
386make -f makefile.g95 clean FINAL=1
387cd %WXDIR%\contrib\samples\ogl\studio
388make -f makefile.g95 clean FINAL=1
389make -f makefile.g95 FINAL=1
390copy *.exe %BUILDDEST%\Cygwin11Release
391make -f makefile.g95 clean FINAL=1
392cd %WXDIR%\contrib\src\ogl
393make -f makefile.g95 clean FINAL=1
394
963a1fcd
JS
395Rem Compile Tex2RTF
396cd %WXDIR%\utils\tex2rtf\src
397make -f makefile.g95 clean FINAL=1
398make -f makefile.g95 FINAL=1
399copy *.exe %BUILDDEST%\Cygwin11Release
400make -f makefile.g95 clean FINAL=1
401
402echo Stripping executables...
403strip %BUILDDEST%\Cygwin11Release\*.exe
404
405Rem Cleanup
406
407cd %WXDIR%\src\msw
408make -f makefile.g95 cleanall
409
410if "%CARRYON" == "0" goto end
411
412:doming2952
413
414echo === Mingw32 2.95.2 ===
415echo ======================
416
417call ming2952
418
419echo *** Cygwin Debug ***
420
421Rem Cygwin Release
422cd %WXDIR%\src\msw
423make -f makefile.g95 cleanall
424make -f makefile.g95 FINAL=1
425if not direxist %BUILDDEST%\Ming2952Release mkdir /S %BUILDDEST%\Ming2952Release
426erase /F /Y %BUILDDEST%\Ming2952Release
427cd %WXDIR%\samples
428make -f makefile.g95 clean FINAL=1
429
430if not direxist %BUILDDEST%\Ming2952Release mkdir /S %BUILDDEST%\Ming2952Release
431erase /F /Y %BUILDDEST%\Ming2952Release
432
433cd %WXDIR%\samples
434make -f makefile.g95 clean FINAL=1
435make -f makefile.g95 FINAL=1
436Rem Copy all executables to Ming2952Release
437erase %TEMP%\temp.zip
438zip16 -r %TEMP%\temp.zip *.exe
439unzip32 -o %TEMP%\temp.zip -d %BUILDDEST%\Ming2952Release
440make -f makefile.g95 clean FINAL=1
441
442cd %WXDIR%\demos
443make -f makefile.g95 clean FINAL=1
444make -f makefile.g95 FINAL=1
445Rem Copy all executables to Ming2952Release
446erase %TEMP%\temp.zip
447zip16 -r %TEMP%\temp.zip *.exe
448unzip32 -o %TEMP%\temp.zip -d %BUILDDEST%\Ming2952Release
449make -f makefile.g95 clean FINAL=1
450
451Rem Compile OGL
452cd %WXDIR%\contrib\src\ogl
453make -f makefile.g95 clean FINAL=1
454make -f makefile.g95 FINAL=1
455cd %WXDIR%\contrib\samples\ogl\ogledit
456make -f makefile.g95 clean FINAL=1
457make -f makefile.g95 FINAL=1
458copy *.exe %BUILDDEST%\Ming2952Release
459make -f makefile.g95 clean FINAL=1
460cd %WXDIR%\contrib\samples\ogl\studio
461make -f makefile.g95 clean FINAL=1
462make -f makefile.g95 FINAL=1
463copy *.exe %BUILDDEST%\Ming2952Release
464make -f makefile.g95 clean FINAL=1
465cd %WXDIR%\contrib\src\ogl
466make -f makefile.g95 clean FINAL=1
467
963a1fcd
JS
468Rem Compile Tex2RTF
469cd %WXDIR%\utils\tex2rtf\src
470make -f makefile.g95 clean FINAL=1
471make -f makefile.g95 FINAL=1
472copy *.exe %BUILDDEST%\Ming2952Release
473make -f makefile.g95 clean FINAL=1
474
475echo Stripping executables...
476strip %BUILDDEST%\Ming2952Release\*.exe
477
478Rem Cleanup
479
480cd %WXDIR%\src\msw
481make -f makefile.g95 cleanall
482
483if "%CARRYON" == "0" goto end
484
485:dovc1
486
487echo === 16-bit VC++ ===
488echo ===================
489
490Rem Set up the environment
491call msvc1
492
493Rem Needs full wxWindows path for making libraries
494set WXWIN=%FULLWXWIN%
495
496echo *** VC++ Debug ***
497Rem VC++ Debug
498cd %WXDIR%\src\msw
499nmake -f makefile.dos cleanall
500nmake -f makefile.dos
501if not direxist %BUILDDEST%\VC1Debug mkdir /S %BUILDDEST%\VC1Debug
502erase /F /Y %BUILDDEST%\VC1Debug
503
504Rem Make one sample, just to make sure Debug mode is OK
505cd %WXDIR%\samples\minimal
506nmake -f makefile.dos clean
507Rem Needs FAT wxWindows path for making executables
508set WXWIN=%FATWXWIN%
509nmake -f makefile.dos
510
511copy minimal.exe /S %BUILDDEST%\VC1Debug
512nmake -f makefile.dos clean
513
514cd %WXDIR%\src\msw
515nmake -f makefile.dos cleanall
516
517Rem Needs full wxWindows path for making libraries
518set WXWIN=%FULLWXWIN%
519
520echo *** VC++ Release ***
521
522nmake -f makefile.dos cleanall FINAL=1
523nmake -f makefile.dos FINAL=1
524
525if not direxist %BUILDDEST%\VC1Release mkdir /S %BUILDDEST%\VC1Release
526erase /F /Y %BUILDDEST%\VC1Release
527
528Rem Make one sample, just to make sure Release mode is OK
529cd %WXDIR%\samples\minimal
530nmake -f makefile.dos clean
531nmake -f makefile.dos FINAL=1
532Rem Needs FAT wxWindows path for making executables
533set WXWIN=%FATWXWIN%
534nmake -f makefile.dos FINAL=1
535copy minimal.exe /S %BUILDDEST%\VC1Release
536nmake -f makefile.dos clean
537set WXWIN=%tmpwxwin%
538
539Rem Clean up
540
541cd %WXDIR%\src\msw
542nmake -f makefile.dos cleanall FINAL=1
543
544if "%CARRYON" == "0" goto end
545
546:dobc16
547
548echo === 16-bit BC++ ===
549echo ===================
550
551Rem Set up the environment
552call borland
553
554echo *** 16-bit BC++ Debug ***
555Rem 16-bit BC++ Debug
556cd %WXDIR%\src\msw
557make -f makefile.bcc cleanall
558make -f makefile.bcc
559if not direxist %BUILDDEST%\BC16Debug mkdir /S %BUILDDEST%\BC16Debug
560erase /F /Y %BUILDDEST%\BC16Debug
561
562Rem Make one sample, just to make sure Debug mode is OK
563cd %WXDIR%\samples\minimal
564make -f makefile.bcc clean
565make -f makefile.bcc
566copy minimal.exe /S %BUILDDEST%\BC16Debug
567make -f makefile.bcc clean
568
569cd %WXDIR%\src\msw
570make -f makefile.bcc cleanall
571
572echo *** 16-bit BC++ Release ***
573
574make -f makefile.bcc cleanall FINAL=1
575make -f makefile.bcc FINAL=1
576
577if not direxist %BUILDDEST%\BC16Release mkdir /S %BUILDDEST%\BC16Release
578erase /F /Y %BUILDDEST%\BC16Release
579
580Rem Make one sample, just to make sure Release mode is OK
581cd %WXDIR%\samples\minimal
582make -f makefile.bcc clean
583make -f makefile.bcc FINAL=1
584copy minimal.exe /S %BUILDDEST%\BC16Release
585make -f makefile.bcc clean
586
587Rem Clean up
588
589cd %WXDIR%\src\msw
590make -f makefile.bcc cleanall FINAL=1
591
592:end
593
594echo Finished wxWindows build at %_TIME, %_DATE
595