@echo off

@@if "%1"=="" goto usage
@@set BASEDIR=%1
set BASEDIR="e:\winddk\2600"
shift

@rem
@rem reasonable defaults
@rem

set _FreeBuild=true
set _64bit=false
set _HalBuild=false

goto :getstarted
:NextArg

if "%1"=="/?" goto usage
if "%1"=="-?" goto usage
if "%1"=="\?" goto usage
if "%1"=="-help" goto usage
if "%1"=="/help?" goto usage
if "%1"=="64" goto ArgOK
if "%1"=="fre" goto ArgOK
if "%1"=="free" goto ArgOK
if "%1"=="FREE" goto ArgOK
if "%1"=="FRE" goto ArgOK
if "%1"=="chk" goto ArgOK
if "%1"=="CHK" goto ArgOK
if "%1"=="checked" goto ArgOK
if "%1"=="CHECKED" goto ArgOK
if "%1"=="hal" goto ArgOK
if NOT "%1"=="" goto usage
if "%1" == "" goto :GetStarted

:ArgOK
if "%1"=="64" set _64bit=true
if "%1"=="fre" set _FreeBuild=true
if "%1"=="FRE" set _FreeBuild=true
if "%1"=="free" set _FreeBuild=true
if "%1"=="FREE" set _FreeBuild=true
if "%1"=="chk" set _FreeBuild=false
if "%1"=="CHK" set _FreeBuild=false
if "%1"=="checked" set _FreeBuild=false
if "%1"=="CHECKED" set _FreeBuild=false
if "%1"=="hal" set _HalBuild=true
shift
goto :NextArg

@rem
@rem OK, do the real stuff now
@rem

:GetStarted

echo get_started
set PROJECT_ROOT=%BASEDIR%\src
set Path=%BASEDIR%\bin;%BASEDIR%\bin\x86;%path%
set Lib=%BASEDIR%\lib
set Include=%BASEDIR%\inc\wxp
set WPP_CONFIG_PATH=%BASEDIR%\bin\wppconfig

set DDK_TARGET_OS=WinXP

set NTMAKEENV=%BASEDIR%\bin
set BUILD_MAKE_PROGRAM=nmake.exe
set BUILD_DEFAULT=-ei -nmake -i
set BUILD_MULTIPROCESSOR=1
set NO_BINPLACE=TRUE
set PUBLISH_CMD=@echo Publish not available...

if "%_HalBuild%"=="false" set NT_UP=0

if "%tmp%"=="" set tmp=%TEMP%

if "%PROCESSOR_ARCHITECTURE%"=="x86" goto i386
set PROCESSOR_ARCHITECTURE=x86
goto i386

:i386

if "%Cpu%" == "" set Cpu=i386

if "%_64bit%" == "true" goto set64
set BUILD_DEFAULT_TARGETS=-386
set _BUILDARCH=x86
goto envtest

:set64
set BUILD_DEFAULT_TARGETS=-IA64
set _BUILDARCH=IA64
set IA64=1
set PATH=%BASEDIR%\bin\IA64\;%PATH%

:envtest

if NOT "%DDKBUILDENV%"=="" goto UseExistingDDKBuildSetting
if "%_FreeBuild%" == "true" goto free
goto checked

:UseExistingDDKBuildSetting
if "%DDKBUILDENV%"=="fre" goto free
if "%DDKBUILDENV%"=="FRE" goto free
if "%DDKBUILDENV%"=="free" goto free
if "%DDKBUILDENV%"=="FREE" goto free
if "%DDKBUILDENV%"=="chk" goto checked
if "%DDKBUILDENV%"=="CHK" goto checked
if "%DDKBUILDENV%"=="checked" goto checked
if "%DDKBUILDENV%"=="CHECKED" goto checked
goto usage

:free
rem set up an NT free build environment
set BUILD_ALT_DIR=fre
set NTDBGFILES=1
set NTDEBUG=ntsdnodbg
set NTDEBUGTYPE=windbg
set MSC_OPTIMIZATION=
set DDKBUILDENV=fre

goto done

:checked
rem set up an NT checked build environment
set BUILD_ALT_DIR=chk
set NTDBGFILES=1
set NTDEBUG=ntsd
set NTDEBUGTYPE=both
set MSC_OPTIMIZATION=/Od /Oi
set DDKBUILDENV=chk

:done

set NEW_CRTS=1

set SDK_INC_PATH=%BASEDIR%\inc\wxp
set DDK_INC_PATH=%BASEDIR%\inc\ddk\wxp
set WDM_INC_PATH=%BASEDIR%\inc\ddk\wdm\wxp
set CRT_INC_PATH=%BASEDIR%\inc\crt
set OAK_INC_PATH=%BASEDIR%\inc\wxp
set IFSKIT_INC_PATH=%BASEDIR%\inc\ifs
set HALKIT_INC_PATH=%BASEDIR%\inc\hal
set PROCESSOR_INC_PATH=%BASEDIR%\inc\processor

set DRIVER_INC_PATH=%BASEDIR%\inc\ddk\wxp

set SDK_LIB_DEST=%BASEDIR%\lib\wxp
set DDK_LIB_DEST=%SDK_LIB_DEST%
set IFSKIT_LIB_DEST=%SDK_LIB_DEST%

set SDK_LIB_PATH=%BASEDIR%\lib\wxp\*
set DDK_LIB_PATH=%SDK_LIB_PATH%
set CRT_LIB_PATH=%SDK_LIB_PATH%
set HALKIT_LIB_PATH=%SDK_LIB_PATH%
set PROCESSOR_LIB_PATH=%SDK_LIB_PATH%
set IFSKIT_LIB_PATH=%SDK_LIB_PATH%

set COFFBASE_TXT_FILE=%BASEDIR%\bin\coffbase.txt

if "%_64bit%" == "true" Goto SkipToolSettings
if "%_HalBuild%" == "true" Goto SkipToolSettings
set _ML_=/Zvc6
set _CL_=/Zvc6
set _LINK_=/debugtype:vc6

:SkipToolSettings

set USERNAME=WinDDK

if "%OS%" == "Windows_NT" goto WinNT
if not "%OS%" == "Windows_NT" goto Win9x
goto end

:WinNT
cd /d %BASEDIR%
doskey /macrofile=%BASEDIR%\bin\generic.mac
doskey /macrofile=%BASEDIR%\bin\ddktree.mac

goto end

:Win9x
doskey /echo:off /bufsize:6144 /file:%BASEDIR%\bin\ddktree.mac
doskey /echo:off /file:%BASEDIR%\bin\generic.mac

%BASEDIR%\bin\x86\MkCDir %BASEDIR%
if exist %BASEDIR%\bin\ChngeDir.bat call %BASEDIR%\bin\ChngeDir.bat
goto end

:cpuerror

echo.
echo Error: PROCESSOR_ARCHITECTURE environment variable not recognized.
echo.
echo.

goto end

:usage

echo.
echo usage: setenv ^<directory^> [fre^|^chk] [64] [hal]
echo.
echo   Example:  setenv d:\ddk chk        set checked environment
echo   Example:  setenv d:\ddk            set free environment (default)
echo   Example:  setenv d:\ddk fre 64     sets 64 bit free environment
echo   Example:  setenv d:\ddk hal        sets free hal environment
echo   Example:  setenv d:\ddk fre hal    Same
echo.
echo.

:end
set _FreeBuild=
set _64bit=
set _HalBuild=

