Rem @echo off Rem This script compiles wxWindows and some samples/demos with Rem a range of compilers. Rem Note that it currently uses batch scripts local to Julian Smart's machine, Rem to set up the environment correctly. Rem This is a 4DOS batch file, though 4DOS dependencies have been kept to Rem a minimum. Rem Julian Smart, August 12th, 2000 Rem TODO: making a Unicode distribution by modifying setup.h programmatically. Rem TODO: check differing setup.h options, again by programmatic modification set WXDIR=%WXWIN% set FATWXWIN=%WXDIR% set FULLWXWIN=%WXDIR% if not %@INDEX["%WXDIR%","wxWindows"] == "-1" set FATWXWIN=%@PATH[%WXDIR%]wxwind~1 if not %@INDEX["%WXDIR%","wxWindows"] == "-1" set FULLWXWIN=%@PATH[%WXDIR%]wxWindows Rem The following line is for a specific environment -- edit, or comment out Rem Not working in 4NT? Rem if not %@INDEX["%WXDIR%","wx2stable"] == "-1" set FATWXWIN=c:\wx2sta~1\wxwind~1 echo Full wxWindows path is %FULLWXWIN%, FAT path is %FATWXWIN% set BUILDDEST=%TEMP%\wxWinBuild Rem Only carry on if we haven't specified a single target set CARRYON=0 rem goto end if "%1" == "vc6" goto dovc6 if "%1" == "bc55" goto dobc55 if "%1" == "bc50" goto dobc50 if "%1" == "ming2952" goto doming2952 if "%1" == "cygwin11" goto docygwin11 if "%1" == "vc1" goto dovc1 if "%1" == "bc16" goto dobc16 set CARRYON=1 if not direxist %BUILDDEST% mkdir /S %BUILDDEST% :dovc6 cd %WXDIR%\samples erase /S *.exe cd %WXDIR%\demos erase /S *.exe cd %WXDIR%\contrib\samples erase /S *.exe cd %WXDIR%\utils\dialoged\src erase /S *.exe cd %WXDIR%\utils\tex2rtf\src erase /S *.exe echo Starting wxWindows build at %_TIME, %_DATE Rem First, VC++ 6. echo === VC++ 6 === echo ============== Rem Set up the environment call msvc6 echo *** VC++ Debug *** Rem VC++ Debug cd %WXDIR%\src\msw nmake -f makefile.vc cleanall nmake -f makefile.vc if not direxist %BUILDDEST%\VC6Debug mkdir /S %BUILDDEST%\VC6Debug erase /F /Y %BUILDDEST%\VC6Debug cd %WXDIR%\samples nmake -f makefile.vc clean Rem Make one sample, just to make sure Debug mode is OK cd %WXDIR%\samples\controls nmake -f makefile.vc copy controls.exe %BUILDDEST%\VC6Debug nmake -f makefile.vc clean cd %WXDIR%\src\msw nmake -f makefile.vc cleanall echo *** VC++ Release *** nmake -f makefile.vc cleanall FINAL=1 nmake -f makefile.vc FINAL=1 if not direxist %BUILDDEST%\VC6Release mkdir /S %BUILDDEST%\VC6Release erase /F /Y %BUILDDEST%\VC6Release cd %WXDIR%\samples nmake -f makefile.vc clean FINAL=1 nmake -f makefile.vc FINAL=1 Rem Copy all executables to VC6Release Rem Euch, this is the only way I can think of right now Rem to copy them to the same directory. Daft but... erase %TEMP%\temp.zip zip16 -r %TEMP%\temp.zip *.exe unzip32 -o %TEMP%\temp.zip -d %BUILDDEST%\VC6Release nmake -f makefile.vc clean FINAL=1 cd %WXDIR%\demos nmake -f makefile.vc clean FINAL=1 nmake -f makefile.vc FINAL=1 Rem Copy all executables to VC6Release erase %TEMP%\temp.zip zip16 -r %TEMP%\temp.zip *.exe unzip32 -o %TEMP%\temp.zip -d %BUILDDEST%\VC6Release nmake -f makefile.vc clean FINAL=1 Rem Compile OGL cd %WXDIR%\contrib\src\ogl nmake -f makefile.vc clean FINAL=1 nmake -f makefile.vc FINAL=1 cd %WXDIR%\contrib\samples\ogl\ogledit nmake -f makefile.vc clean FINAL=1 nmake -f makefile.vc FINAL=1 copy *.exe %BUILDDEST%\VC6Release nmake -f makefile.vc clean FINAL=1 cd %WXDIR%\contrib\samples\ogl\studio nmake -f makefile.vc clean FINAL=1 nmake -f makefile.vc FINAL=1 copy *.exe %BUILDDEST%\VC6Release nmake -f makefile.vc clean FINAL=1 cd %WXDIR%\contrib\src\ogl nmake -f makefile.vc clean FINAL=1 Rem Compile Dialog Editor cd %WXDIR%\utils\dialoged\src nmake -f makefile.vc clean FINAL=1 nmake -f makefile.vc FINAL=1 copy *.exe %BUILDDEST%\VC6Release nmake -f makefile.vc clean FINAL=1 Rem Compile Tex2RTF cd %WXDIR%\utils\tex2rtf\src nmake -f makefile.vc clean FINAL=1 nmake -f makefile.vc FINAL=1 copy *.exe %BUILDDEST%\VC6Release nmake -f makefile.vc clean FINAL=1 Rem Clean up cd %WXDIR%\src\msw nmake -f makefile.vc cleanall FINAL=1 echo *** VC++ Debug DLL *** nmake -f makefile.vc cleanall WXMAKINGDLL=1 nmake -f makefile.vc dll pch if not direxist %BUILDDEST%\VC6DebugDLL mkdir /S %BUILDDEST%\VC6DebugDLL erase /F /Y %BUILDDEST%\VC6DebugDLL copy %WXDIR%\lib\*d.dll %BUILDDEST%\VC6DebugDLL Rem Make one sample, for a sanity check cd %WXDIR%\samples\controls nmake -f makefile.vc WXUSINGDLL=1 copy controls.exe %BUILDDEST%\VC6DebugDLL nmake -f makefile.vc clean cd %WXDIR%\src\msw nmake -f makefile.vc cleanall WXMAKINGDLL=1 echo *** VC++ Release DLL *** nmake -f makefile.vc cleanall FINAL=1 WXMAKINGDLL=1 nmake -f makefile.vc dll pch FINAL=1 if not direxist %BUILDDEST%\VC6ReleaseDLL mkdir /S %BUILDDEST%\VC6ReleaseDLL erase /F /Y %BUILDDEST%\VC6ReleaseDLL copy %WXDIR%\lib\*.dll %BUILDDEST%\VC6ReleaseDLL Rem Make one sample, for a sanity check cd %WXDIR%\samples\controls nmake -f makefile.vc WXUSINGDLL=1 FINAL=1 copy controls.exe %BUILDDEST%\VC6ReleaseDLL nmake -f makefile.vc clean FINAL=1 cd %WXDIR%\src\msw nmake -f makefile.vc cleanall WXMAKINGDLL=1 FINAL=1 if "%CARRYON" == "0" goto end :dobc55 echo === BC++ 5.5 === echo ================ call bcb55 echo *** WIN32 BC++ Debug *** Rem WIN32 BC++ Debug cd %WXDIR%\src\msw make -f makefile.b32 cleanall make -f makefile.b32 if not direxist %BUILDDEST%\BC55Debug mkdir /S %BUILDDEST%\BC55Debug erase /F /Y %BUILDDEST%\BC55Debug cd %WXDIR%\samples make -f makefile.b32 clean Rem Make one sample, just to make sure Debug mode is OK cd %WXDIR%\samples\controls make -f makefile.b32 copy controls.exe %BUILDDEST%\BC55Debug make -f makefile.b32 clean Rem Compile OGL cd %WXDIR%\contrib\src\ogl make -f makefile.b32 clean make -f makefile.b32 cd %WXDIR%\contrib\samples\ogl\ogledit make -f makefile.b32 clean make -f makefile.b32 copy *.exe %BUILDDEST%\BC55Debug make -f makefile.b32 clean cd %WXDIR%\contrib\samples\ogl\studio make -f makefile.b32 clean make -f makefile.b32 copy *.exe %BUILDDEST%\BC55Debug make -f makefile.b32 clean cd %WXDIR%\contrib\src\ogl make -f makefile.b32 clean cd %WXDIR%\src\msw make -f makefile.b32 cleanall goto bcdebugdll echo *** WIN32 BC++ Release *** make -f makefile.b32 cleanall FINAL=1 make -f makefile.b32 FINAL=1 if not direxist %BUILDDEST%\BC55Release mkdir /S %BUILDDEST%\BC55Release erase /F /Y %BUILDDEST%\BC55Release cd %WXDIR%\samples make -f makefile.b32 clean FINAL=1 make -f makefile.b32 FINAL=1 Rem Copy all executables to BC55Release erase %TEMP%\temp.zip zip16 -r %TEMP%\temp.zip *.exe unzip32 -o %TEMP%\temp.zip -d %BUILDDEST%\BC55Release make -f makefile.b32 clean FINAL=1 cd %WXDIR%\demos make -f makefile.b32 clean FINAL=1 make -f makefile.b32 FINAL=1 Rem Copy all executables to BC55Release erase %TEMP%\temp.zip zip16 -r %TEMP%\temp.zip *.exe unzip32 -o %TEMP%\temp.zip -d %BUILDDEST%\BC55Release make -f makefile.b32 clean FINAL=1 Rem Compile OGL cd %WXDIR%\contrib\src\ogl make -f makefile.b32 clean FINAL=1 make -f makefile.b32 FINAL=1 cd %WXDIR%\contrib\samples\ogl\ogledit make -f makefile.b32 clean FINAL=1 make -f makefile.b32 FINAL=1 copy *.exe %BUILDDEST%\BC55Release make -f makefile.b32 clean FINAL=1 cd %WXDIR%\contrib\samples\ogl\studio make -f makefile.b32 clean FINAL=1 make -f makefile.b32 FINAL=1 copy *.exe %BUILDDEST%\BC55Release make -f makefile.b32 clean FINAL=1 cd %WXDIR%\contrib\src\ogl make -f makefile.b32 clean FINAL=1 Rem Compile Dialog Editor cd %WXDIR%\utils\dialoged\src make -f makefile.b32 clean FINAL=1 make -f makefile.b32 FINAL=1 copy *.exe %BUILDDEST%\BC55Release make -f makefile.b32 clean FINAL=1 Rem Compile Tex2RTF cd %WXDIR%\utils\tex2rtf\src make -f makefile.b32 clean FINAL=1 make -f makefile.b32 FINAL=1 copy *.exe %BUILDDEST%\BC55Release make -f makefile.b32 clean FINAL=1 Rem Clean up cd %WXDIR%\src\msw make -f makefile.b32 cleanall FINAL=1 :bcdebugdll echo *** WIN32 BC++ Debug DLL *** make -f makefile.b32 cleanall make -f makefile.b32 dll if not direxist %BUILDDEST%\BC55DebugDLL mkdir /S %BUILDDEST%\BC55DebugDLL erase /F /Y %BUILDDEST%\BC55DebugDLL copy %WXDIR%\lib\*.dll %BUILDDEST%\BC55DebugDLL Rem Make one sample, for a sanity check cd %WXDIR%\samples\controls make -f makefile.b32 WXUSINGDLL=1 copy controls.exe %BUILDDEST%\BC55DebugDLL make -f makefile.b32 clean cd %WXDIR%\src\msw make -f makefile.b32 cleanall if "%CARRYON" == "0" goto end Rem Skip BC++ 5.0, obsolete goto docygwin11 :dobc50 echo === BC++ 5.0 === echo ================ call borland echo *** WIN32 BC++ Debug *** Rem WIN32 BC++ Debug cd %WXDIR%\src\msw make -f makefile.b32 cleanall make -f makefile.b32 if not direxist %BUILDDEST%\BC50Debug mkdir /S %BUILDDEST%\BC50Debug erase /F /Y %BUILDDEST%\BC50Debug cd %WXDIR%\samples make -f makefile.b32 clean Rem Make one sample, just to make sure Debug mode is OK cd %WXDIR%\samples\controls make -f makefile.b32 copy controls.exe %BUILDDEST%\BC50Debug make -f makefile.b32 clean cd %WXDIR%\src\msw make -f makefile.b32 cleanall if "%CARRYON" == "0" goto end :docygwin11 echo === Cygwin 1.1 === echo ================== call cygwin11 echo *** Cygwin Debug *** Rem Cygwin Release cd %WXDIR%\src\msw make -f makefile.g95 cleanall make -f makefile.g95 FINAL=1 if not direxist %BUILDDEST%\Cygwin11Release mkdir /S %BUILDDEST%\Cygwin11Release erase /F /Y %BUILDDEST%\Cygwin11Release cd %WXDIR%\samples make -f makefile.g95 clean FINAL=1 if not direxist %BUILDDEST%\Cygwin11Release mkdir /S %BUILDDEST%\Cygwin11Release erase /F /Y %BUILDDEST%\Cygwin11Release cd %WXDIR%\samples make -f makefile.g95 clean FINAL=1 make -f makefile.g95 FINAL=1 Rem Copy all executables to Cygwin11Release erase %TEMP%\temp.zip zip16 -r %TEMP%\temp.zip *.exe unzip32 -o %TEMP%\temp.zip -d %BUILDDEST%\Cygwin11Release make -f makefile.g95 clean FINAL=1 cd %WXDIR%\demos make -f makefile.g95 clean FINAL=1 make -f makefile.g95 FINAL=1 Rem Copy all executables to Cygwin11Release erase %TEMP%\temp.zip zip16 -r %TEMP%\temp.zip *.exe unzip32 -o %TEMP%\temp.zip -d %BUILDDEST%\Cygwin11Release make -f makefile.g95 clean FINAL=1 Rem Compile OGL cd %WXDIR%\contrib\src\ogl make -f makefile.g95 clean FINAL=1 make -f makefile.g95 FINAL=1 cd %WXDIR%\contrib\samples\ogl\ogledit make -f makefile.g95 clean FINAL=1 make -f makefile.g95 FINAL=1 copy *.exe %BUILDDEST%\Cygwin11Release make -f makefile.g95 clean FINAL=1 cd %WXDIR%\contrib\samples\ogl\studio make -f makefile.g95 clean FINAL=1 make -f makefile.g95 FINAL=1 copy *.exe %BUILDDEST%\Cygwin11Release make -f makefile.g95 clean FINAL=1 cd %WXDIR%\contrib\src\ogl make -f makefile.g95 clean FINAL=1 Rem Compile Dialog Editor cd %WXDIR%\utils\dialoged\src make -f makefile.g95 clean FINAL=1 make -f makefile.g95 FINAL=1 copy *.exe %BUILDDEST%\Cygwin11Release make -f makefile.g95 clean FINAL=1 Rem Compile Tex2RTF cd %WXDIR%\utils\tex2rtf\src make -f makefile.g95 clean FINAL=1 make -f makefile.g95 FINAL=1 copy *.exe %BUILDDEST%\Cygwin11Release make -f makefile.g95 clean FINAL=1 echo Stripping executables... strip %BUILDDEST%\Cygwin11Release\*.exe Rem Cleanup cd %WXDIR%\src\msw make -f makefile.g95 cleanall if "%CARRYON" == "0" goto end :doming2952 echo === Mingw32 2.95.2 === echo ====================== call ming2952 echo *** Cygwin Debug *** Rem Cygwin Release cd %WXDIR%\src\msw make -f makefile.g95 cleanall make -f makefile.g95 FINAL=1 if not direxist %BUILDDEST%\Ming2952Release mkdir /S %BUILDDEST%\Ming2952Release erase /F /Y %BUILDDEST%\Ming2952Release cd %WXDIR%\samples make -f makefile.g95 clean FINAL=1 if not direxist %BUILDDEST%\Ming2952Release mkdir /S %BUILDDEST%\Ming2952Release erase /F /Y %BUILDDEST%\Ming2952Release cd %WXDIR%\samples make -f makefile.g95 clean FINAL=1 make -f makefile.g95 FINAL=1 Rem Copy all executables to Ming2952Release erase %TEMP%\temp.zip zip16 -r %TEMP%\temp.zip *.exe unzip32 -o %TEMP%\temp.zip -d %BUILDDEST%\Ming2952Release make -f makefile.g95 clean FINAL=1 cd %WXDIR%\demos make -f makefile.g95 clean FINAL=1 make -f makefile.g95 FINAL=1 Rem Copy all executables to Ming2952Release erase %TEMP%\temp.zip zip16 -r %TEMP%\temp.zip *.exe unzip32 -o %TEMP%\temp.zip -d %BUILDDEST%\Ming2952Release make -f makefile.g95 clean FINAL=1 Rem Compile OGL cd %WXDIR%\contrib\src\ogl make -f makefile.g95 clean FINAL=1 make -f makefile.g95 FINAL=1 cd %WXDIR%\contrib\samples\ogl\ogledit make -f makefile.g95 clean FINAL=1 make -f makefile.g95 FINAL=1 copy *.exe %BUILDDEST%\Ming2952Release make -f makefile.g95 clean FINAL=1 cd %WXDIR%\contrib\samples\ogl\studio make -f makefile.g95 clean FINAL=1 make -f makefile.g95 FINAL=1 copy *.exe %BUILDDEST%\Ming2952Release make -f makefile.g95 clean FINAL=1 cd %WXDIR%\contrib\src\ogl make -f makefile.g95 clean FINAL=1 Rem Compile Dialog Editor cd %WXDIR%\utils\dialoged\src make -f makefile.g95 clean FINAL=1 make -f makefile.g95 FINAL=1 copy *.exe %BUILDDEST%\Ming2952Release make -f makefile.g95 clean FINAL=1 Rem Compile Tex2RTF cd %WXDIR%\utils\tex2rtf\src make -f makefile.g95 clean FINAL=1 make -f makefile.g95 FINAL=1 copy *.exe %BUILDDEST%\Ming2952Release make -f makefile.g95 clean FINAL=1 echo Stripping executables... strip %BUILDDEST%\Ming2952Release\*.exe Rem Cleanup cd %WXDIR%\src\msw make -f makefile.g95 cleanall if "%CARRYON" == "0" goto end :dovc1 echo === 16-bit VC++ === echo =================== Rem Set up the environment call msvc1 Rem Needs full wxWindows path for making libraries set WXWIN=%FULLWXWIN% echo *** VC++ Debug *** Rem VC++ Debug cd %WXDIR%\src\msw nmake -f makefile.dos cleanall nmake -f makefile.dos if not direxist %BUILDDEST%\VC1Debug mkdir /S %BUILDDEST%\VC1Debug erase /F /Y %BUILDDEST%\VC1Debug Rem Make one sample, just to make sure Debug mode is OK cd %WXDIR%\samples\minimal nmake -f makefile.dos clean Rem Needs FAT wxWindows path for making executables set WXWIN=%FATWXWIN% nmake -f makefile.dos copy minimal.exe /S %BUILDDEST%\VC1Debug nmake -f makefile.dos clean cd %WXDIR%\src\msw nmake -f makefile.dos cleanall Rem Needs full wxWindows path for making libraries set WXWIN=%FULLWXWIN% echo *** VC++ Release *** nmake -f makefile.dos cleanall FINAL=1 nmake -f makefile.dos FINAL=1 if not direxist %BUILDDEST%\VC1Release mkdir /S %BUILDDEST%\VC1Release erase /F /Y %BUILDDEST%\VC1Release Rem Make one sample, just to make sure Release mode is OK cd %WXDIR%\samples\minimal nmake -f makefile.dos clean nmake -f makefile.dos FINAL=1 Rem Needs FAT wxWindows path for making executables set WXWIN=%FATWXWIN% nmake -f makefile.dos FINAL=1 copy minimal.exe /S %BUILDDEST%\VC1Release nmake -f makefile.dos clean set WXWIN=%tmpwxwin% Rem Clean up cd %WXDIR%\src\msw nmake -f makefile.dos cleanall FINAL=1 if "%CARRYON" == "0" goto end :dobc16 echo === 16-bit BC++ === echo =================== Rem Set up the environment call borland echo *** 16-bit BC++ Debug *** Rem 16-bit BC++ Debug cd %WXDIR%\src\msw make -f makefile.bcc cleanall make -f makefile.bcc if not direxist %BUILDDEST%\BC16Debug mkdir /S %BUILDDEST%\BC16Debug erase /F /Y %BUILDDEST%\BC16Debug Rem Make one sample, just to make sure Debug mode is OK cd %WXDIR%\samples\minimal make -f makefile.bcc clean make -f makefile.bcc copy minimal.exe /S %BUILDDEST%\BC16Debug make -f makefile.bcc clean cd %WXDIR%\src\msw make -f makefile.bcc cleanall echo *** 16-bit BC++ Release *** make -f makefile.bcc cleanall FINAL=1 make -f makefile.bcc FINAL=1 if not direxist %BUILDDEST%\BC16Release mkdir /S %BUILDDEST%\BC16Release erase /F /Y %BUILDDEST%\BC16Release Rem Make one sample, just to make sure Release mode is OK cd %WXDIR%\samples\minimal make -f makefile.bcc clean make -f makefile.bcc FINAL=1 copy minimal.exe /S %BUILDDEST%\BC16Release make -f makefile.bcc clean Rem Clean up cd %WXDIR%\src\msw make -f makefile.bcc cleanall FINAL=1 :end echo Finished wxWindows build at %_TIME, %_DATE