|
|
1.1 ! root 1: :: ! 2: :: Copyright (c) 2008 TrueCrypt Foundation. All rights reserved. ! 3: :: ! 4: :: Governed by the TrueCrypt License 2.4 the full text of which is contained ! 5: :: in the file License.txt included in TrueCrypt binary and source code ! 6: :: distribution packages. ! 7: :: ! 8: ! 9: :: Usage: BuildDriver <-build|-rebuild|-clean> <-release|-debug> <-x86|-x64> <dir1> [dir2] ... ! 10: ! 11: @echo off ! 12: set TC_ARG_CMD=%~1 ! 13: shift ! 14: set TC_ARG_TYPE=%~1 ! 15: shift ! 16: set TC_ARG_ARCH=%~1 ! 17: shift ! 18: ! 19: ! 20: :: Build options ! 21: ! 22: set TC_C_DEFINES=-D_WIN32 -DNT4_DRIVER ! 23: set TC_C_FLAGS=-nologo -I.. ! 24: set TC_LINKER_FLAGS=-nologo ! 25: ! 26: ! 27: :: Windows DDK root ! 28: ! 29: set TC_WINDDK_BUILD=6000 ! 30: ! 31: set TC_WINDDK_ROOT=%SYSTEMDRIVE%\WinDDK\%TC_WINDDK_BUILD% ! 32: if exist "%TC_WINDDK_ROOT%\bin\setenv.bat" goto ddk_found ! 33: ! 34: set TC_WINDDK_ROOT=%SYSTEMDRIVE%\SDK\WinDDK\%TC_WINDDK_BUILD% ! 35: if exist "%TC_WINDDK_ROOT%\bin\setenv.bat" goto ddk_found ! 36: ! 37: set TC_WINDDK_ROOT=%%WINDDK_%TC_WINDDK_BUILD%_ROOT%% ! 38: for /F "usebackq" %%r in (`echo %TC_WINDDK_ROOT%`) do set TC_WINDDK_ROOT=%%r ! 39: if exist "%TC_WINDDK_ROOT%\bin\setenv.bat" goto ddk_found ! 40: ! 41: set TC_WINDDK_ROOT=%WINDDK_ROOT% ! 42: if exist "%TC_WINDDK_ROOT%\bin\setenv.bat" goto ddk_found ! 43: ! 44: echo BuildDriver.cmd: error: Windows Driver Development Kit not found at the default directory. Set WINDDK_ROOT or WINDDK_%TC_WINDDK_BUILD%_ROOT environment variable to point to your Windows DDK installation directory. >&2 ! 45: exit /B 1 ! 46: ! 47: :ddk_found ! 48: ! 49: ! 50: :: CPU architecture ! 51: ! 52: if "%TC_ARG_ARCH%"=="-x64" ( ! 53: set TC_BUILD_ARCH=AMD64 WNET ! 54: set TC_BUILD_ARCH_DIR=amd64 ! 55: set TC_ARCH_SUFFIX=-x64 ! 56: ) else ( ! 57: set TC_BUILD_ARCH=WXP ! 58: set TC_BUILD_ARCH_DIR=i386 ! 59: set TC_ARCH_SUFFIX= ! 60: ) ! 61: ! 62: ! 63: :: Build type ! 64: ! 65: if "%TC_ARG_TYPE%"=="-debug" ( ! 66: set TC_BUILD_TYPE=chk ! 67: set TC_C_DEFINES=%TC_C_DEFINES% -DDEBUG -D_DEBUG ! 68: set TC_BUILD_ALT_DIR=_driver_debug ! 69: set TC_COPY_DIR="..\Debug" ! 70: ) else ( ! 71: set TC_BUILD_TYPE=fre ! 72: set TC_BUILD_ALT_DIR=_driver_release ! 73: set TC_COPY_DIR="..\Release" ! 74: ) ! 75: ! 76: ! 77: :: WDK environment ! 78: ! 79: pushd . ! 80: call %TC_WINDDK_ROOT%\bin\setenv %TC_WINDDK_ROOT% %TC_BUILD_TYPE% %TC_BUILD_ARCH% || exit /B %errorlevel% ! 81: popd ! 82: ! 83: ! 84: :: Build ! 85: ! 86: if "%TC_ARG_CMD%"=="-rebuild" (set TC_BUILD_OPTS=-c) ! 87: ! 88: pushd . ! 89: :build_dirs ! 90: ! 91: if "%~1"=="" goto done ! 92: cd /D "%~1" || exit /B %errorlevel% ! 93: ! 94: if "%TC_ARG_CMD%"=="-clean" ( ! 95: rd /s /q obj%TC_BUILD_ALT_DIR%\%TC_BUILD_ARCH_DIR% 2>NUL: ! 96: rd /q obj%TC_BUILD_ALT_DIR% 2>NUL: ! 97: ) else ( ! 98: ! 99: set USER_C_FLAGS=%TC_C_FLAGS% -FAcs -Fa%~1\obj%TC_BUILD_ALT_DIR%\%TC_BUILD_ARCH_DIR%\ ! 100: set C_DEFINES=%TC_C_DEFINES% ! 101: set LINKER_FLAGS=%TC_LINKER_FLAGS% ! 102: set RCOPTIONS=/I %MFC_INC_PATH% ! 103: set BUILD_ALT_DIR=%TC_BUILD_ALT_DIR% ! 104: ! 105: build %TC_BUILD_OPTS% -Z -w -nmake /S -nmake /C 2>build_errors.log 1>&2 ! 106: ! 107: if errorlevel 1 ( ! 108: type build_errors.log ! 109: exit /B 1 ! 110: ) ! 111: del /q build_errors.log build%BUILD_ALT_DIR%.* 2>NUL: ! 112: ) ! 113: ! 114: shift ! 115: ! 116: goto build_dirs ! 117: :done ! 118: popd ! 119: ! 120: ! 121: if "%TC_ARG_CMD%"=="-clean" exit /B 0 ! 122: ! 123: md "%TC_COPY_DIR%\Setup Files" >NUL: 2>NUL: ! 124: copy /B /Y obj%TC_BUILD_ALT_DIR%\%TC_BUILD_ARCH_DIR%\truecrypt.sys "%TC_COPY_DIR%\Setup Files\truecrypt%TC_ARCH_SUFFIX%.sys" >NUL: ! 125: ! 126: if errorlevel 1 ( ! 127: echo BuildDriver.cmd: error: Cannot copy target.>&2 ! 128: exit /B 1 ! 129: ) ! 130: ! 131: exit /B 0
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.