wolfcom
驱动牛犊
驱动牛犊
  • 注册日期2007-06-03
  • 最后登录2007-10-17
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
阅读:10371回复:1

驱动环境设置环境变量大全

楼主#
更多 发布于:2007-10-02 16:18
@echo off

if "%1"=="" goto usage
set BASEDIR=%1
shift

@rem
@rem reasonable defaults
@rem

set _FreeBuild=true
set _64bit=false
set _HalBuild=false

: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

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=
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

@rem Build DriverWorks libraries in all platforms/targets/configurations
@rem This script is intended to run in a plain command prompt without DDK Build Environment.
@rem With proper parameters, this script setup DDK build environment according to platform/
@rem target/configuration and build all DriverWorks libraries by calling bldlib.bat.
@echo off

REM See :SHOWARGS for parameters description
REM test that at least two parameters were given
if "x%2" == "x" goto SHOWARGS

if not exist "%DRIVERWORKS%"\include\vdw.h goto BADDRIVERWORKS

rem Make sure that BASEDIR is not predefined
if not "%BASEDIR%x"=="x" goto BAD_BASEDIR_DEFINED

if "%2"=="WinLH" goto CHECK_MORE_PARAMETERS
if "%2"=="WinNET" goto CHECK_MORE_PARAMETERS
if "%2"=="WinXP" goto CHECK_MORE_PARAMETERS
if "%2"=="Win2K" goto CHECK_MORE_PARAMETERS
goto SHOWARGS

:CHECK_MORE_PARAMETERS
if "%3" == "ia64" goto IA64
if "%3" == "IA64" goto IA64
if "%3" == "amd64" goto AMD64
if "%3" == "AMD64" goto AMD64

rem x86 platform
setlocal
set BASEDIR=%1
set DDK_TARGET_OS=%2
 setlocal
 echo\
 echo ***** Building vdw.lib i386 checked
 call bldlib.bat checked NT40
 endlocal
 setlocal
 echo\
 echo ***** Building vdw.lib i386 free
 call bldlib.bat free NT40
 endlocal
 setlocal
 echo\
 echo ***** Building vdw_wdm.lib i386 checked
 call bldlib.bat checked WDM
 endlocal
 setlocal
 echo\
 echo ***** Building vdw_wdm.lib i386 free
 call bldlib.bat free WDM
 endlocal
 setlocal
 echo\
 echo ***** Building kndiswdm.lib i386 checked
 call bldlib.bat checked NDIS
 endlocal
 setlocal
 echo\
 echo ***** Building kndiswdm.lib i386 checked
 call bldlib.bat free NDIS
 endlocal
endlocal
if "%3x" == "x" goto IA64
goto DONE

:IA64
setlocal
set BASEDIR=%1
set DDK_TARGET_OS=%2
 setlocal
 echo\
 echo ***** Building vdw.lib IA64 checked
 call bldlib.bat checked NT40 IA64
 endlocal
 setlocal
 echo\
 echo ***** Building vdw.lib IA64 free
 call bldlib.bat free NT40 IA64
 endlocal
 setlocal
 echo\
 echo ***** Building vdw_wdm.lib IA64 checked
 call bldlib.bat checked WDM IA64
 endlocal
 setlocal
 echo\
 echo ***** Building vdw_wdm.lib IA64 free
 call bldlib.bat free WDM IA64
 endlocal
 setlocal
 echo\
 echo ***** Building kndiswdm.lib IA64 checked
 call bldlib.bat checked NDIS IA64
 endlocal
 setlocal
 echo\
 echo ***** Building kndiswdm.lib IA64 free
 call bldlib.bat free NDIS IA64
 endlocal
endlocal
if "%3x" == "x" goto AMD64
goto DONE

:AMD64
setlocal
set BASEDIR=%1
set DDK_TARGET_OS=%2
 setlocal
 echo\
 echo ***** Building vdw.lib AMD64 checked
 call bldlib.bat checked NT40 AMD64
 endlocal
 setlocal
 echo\
 echo ***** Building vdw.lib AMD64 free
 call bldlib.bat free NT40 AMD64
 endlocal
 setlocal
 echo\
 echo ***** Building vdw_wdm.lib AMD64 checked
 call bldlib.bat checked WDM AMD64
 endlocal
 setlocal
 echo\
 echo ***** Building vdw_wdm.lib AMD64 free
 call bldlib.bat free WDM AMD64
 endlocal
 setlocal
 echo\
 echo ***** Building kndiswdm.lib AMD64 checked
 call bldlib.bat checked NDIS AMD64
 endlocal
 setlocal
 echo\
 echo ***** Building kndiswdm.lib AMD64 free
 call bldlib.bat free NDIS AMD64
 endlocal
endlocal
goto DONE


:BAD_BASEDIR_DEFINED
echo ERROR: Environment variable BASEDIR is already defined. In order for this script to build libraries in different

platform/target/configuration, BASEDIR cannot be predefined.
goto DONE

:BADDDK
echo ERROR: %BASEDIR%\bin\setenv.bat is missing - reinstall the DDK
goto DONE

:BADWDM
echo ERROR: The last installed DDK is not a WDM DDK (BASEDIR=%BASEDIR%)
goto DONE

:BADDRIVERWORKS
echo ERROR: You need to set the DriverWorks environment variable to your DriverWorks directory
goto DONE_NO_DW

:BADDRIVERNETWORKS
echo ERROR: You need to set the DriverNetworks environment variable to your DriverNetworks directory
goto DONE

:SHOWARGS
echo Usage:    BuildAllDW [BASEDIR] [target] [platform]
echo [target] (case sensitive)
echo   Win2K      build Windows 2000 target library
echo   WinXP      build Windows XP target library
echo   WinNET     build Windows Server 2003 target library
echo   WinLH      build Windows Longhorn target library
echo [platform]
echo   *default   build all DDK supported platform library
echo   x86        build x86 library
echo   IA64       build Itanium 64-bit library
echo   AMD64      build AMD 64-bit library
echo.
echo Example:  BuildAllDW C:\WINDDK\2600.1106 WinXP x86 (Build WinXP target in x86 platform)
echo Example:  BuildAllDW C:\WINDDK\3790 WinNET (Build WinNET target in all platforms)
echo.
goto DONE

:DONE
cd %DRIVERWORKS%
:DONE_NO_DW
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@rem Build DriverWorks libraries for NT, WDM, or NDIS
@rem This script is intended to run from a DDK Build Environment command prompt.
@rem With proper parameters, this script builds a single DriverWorks library at a time.
@echo off

REM See :SHOWARGS for parameters description
REM Make sure at least two parameters were given
if "x%2" == "x" goto SHOWARGS

if not exist "%DRIVERWORKS%"\include\vdw.h goto BADDRIVERWORKS

rem Make sure that environment is set up correctly
if "%BASEDIR%"=="" goto BADBASEDIR

if not exist %BASEDIR%\bin\setenv.bat goto BADDDK

if "%1" == "checked" goto CHECK_MORE_PARAMETERS
if "%1" == "free" goto CHECK_MORE_PARAMETERS
goto SHOWARGS

:CHECK_MORE_PARAMETERS
set CPU=
if "%3" == "64" set CPU=IA64
if "%3" == "ia64" set CPU=IA64
if "%3" == "IA64" set CPU=IA64
if "%3" == "amd64" set CPU=AMD64
if "%3" == "AMD64" set CPU=AMD64
if "x%3" == "x" set CPU=I386
if "%CPU%x" == "x" goto SHOWARGS

if "%2" == "NT" goto BUILDNT
if "%2" == "nt" goto BUILDNT
if "%2" == "NT40" goto BUILDNT
if "%2" == "nt40" goto BUILDNT
if "%2" == "WDM" goto BUILDWDM
if "%2" == "wdm" goto BUILDWDM
if "%2" == "NDIS" goto BUILDNDIS
if "%2" == "ndis" goto BUILDNDIS
goto SHOWARGS

:BUILDNT
set NTVERSION=400
if exist %DriverWorks%\source\sources del %DriverWorks%\source\sources
copy %DriverWorks%\source\sources_NT_WDM %DriverWorks%\source\sources
copy %DriverWorks%\..\Common\source\*.cpp %DriverWorks%\source
goto BUILDNOW

:BUILDNDIS
set NTVERSION='WDM'
if not exist "%DRIVERNETWORKS%"\include\kndis.h goto BADDRIVERNETWORKS
if exist %DRIVERWORKS%\source\sources del %DRIVERWORKS%\source\sources
copy %DRIVERWORKS%\source\sources_NDIS_WDM %DRIVERWORKS%\source\sources
goto BUILDNOW

:BUILDWDM
if exist %BASEDIR%\inc\wdm.h goto CONTINUEWDM
if exist %BASEDIR%\inc\win98\wdm.h goto CONTINUEWDM
if exist %BASEDIR%\inc\ddk\wdm.h goto CONTINUEWDM
if exist %BASEDIR%\inc\ddk\wdm\wdm.h goto CONTINUEWDM
if exist %BASEDIR%\inc\ddk\wdm\wxp\wdm.h goto CONTINUEWDM
if exist %BASEDIR%\inc\ddk\wdm\wnet\wdm.h goto CONTINUEWDM
if exist %BASEDIR%\inc\ddk\wdm\wlh\wdm.h goto CONTINUEWDM
goto BADWDM

:CONTINUEWDM
set NTVERSION='WDM'
if exist %DRIVERWORKS%\source\sources del %DRIVERWORKS%\source\sources
copy %DRIVERWORKS%\source\sources_NT_WDM %DRIVERWORKS%\source\sources
copy %DRIVERWORKS%\..\Common\source\*.cpp %DRIVERWORKS%\source

:BUILDNOW
if exist source cd source
call %DRIVERWORKS%\..\Common\runbuild.bat %1 -ceZ

if exist %DRIVERWORKS%\source\stcinit.cpp  del %DRIVERWORKS%\source\stcinit.cpp
if exist %DRIVERWORKS%\source\kstl.cpp     del %DRIVERWORKS%\source\kstl.cpp
if exist %DRIVERWORKS%\source\kstllmcb.cpp del %DRIVERWORKS%\source\kstllmcb.cpp
if exist %DRIVERWORKS%\source\kstlnphs.cpp del %DRIVERWORKS%\source\kstlnphs.cpp
if exist %DRIVERWORKS%\source\kstlphs.cpp  del %DRIVERWORKS%\source\kstlphs.cpp
if exist %DRIVERWORKS%\source\suballoc.cpp del %DRIVERWORKS%\source\suballoc.cpp

@if exist build.err type build.err
@if exist build.wrn type build.wrn

if "%3" == "64" set CPU=IA64
if "%3" == "ia64" set CPU=IA64
if "%3" == "IA64" set CPU=IA64
if "%3" == "amd64" set CPU=AMD64
if "%3" == "AMD64" set CPU=AMD64
if "x%3" == "x" set CPU=I386

if not exist ..\lib\%CPU%\%1 mkdir ..\lib\%CPU%\%1

if exist ..\lib\%CPU%\vdw.lib goto COPY_VDW
if exist ..\lib\%CPU%\vdw_wdm.lib goto COPY_VDW_WDM
if exist ..\lib\%CPU%\kndiswdm.lib goto COPY_KNDISWDM
goto BUILDERRORS

:COPY_VDW
copy ..\lib\%CPU%\vdw.lib ..\lib\%CPU%\%1\vdw.lib
del ..\lib\%CPU%\vdw.lib
%DRIVERWORKS%\bin\saveenv ..\lib\%CPU%\%1 vdw
goto DONE

:COPY_VDW_WDM
copy ..\lib\%CPU%\vdw_wdm.lib ..\lib\%CPU%\%1\vdw_wdm.lib
del ..\lib\%CPU%\vdw_wdm.lib
%DRIVERWORKS%\bin\saveenv ..\lib\%CPU%\%1 vdw_wdm
goto DONE

:COPY_KNDISWDM
copy ..\lib\%CPU%\kndiswdm.lib ..\lib\%CPU%\%1\kndiswdm.lib
del ..\lib\%CPU%\kndiswdm.lib
%DRIVERWORKS%\bin\saveenv ..\lib\%CPU%\%1 kndiswdm
goto DONE

:BADBASEDIR
echo ERROR: You must have a correct DDK Build Environment in current command prompt.
echo        eg: C:\WINDDK\3790\bin\setenv.bat
goto DONE

:BADDDK
echo ERROR: %BASEDIR%\bin\setenv.bat is missing - reinstall the DDK
goto DONE

:BADWDM
echo ERROR: The last installed DDK is not a WDM DDK (BASEDIR=%BASEDIR%)
goto DONE

:BADDRIVERWORKS
echo ERROR: You must define the environment variable "DRIVERWORKS" to your DriverWorks directory.
echo        eg: set DRIVERWORKS=C:\DriverStudio\DriverWorks
goto DONE_NO_DW

:BADDRIVERNETWORKS
echo ERROR: You must define the environment variable "DRIVERNETWORKS" to your DriverNetworks directory.
echo        eg: set DRIVERNETWORKS=C:\DriverStudio\DriverNetworks
goto DONE

:SHOWARGS
echo Usage:    bldlib [type] [configuration] [platform]
echo [type]
echo   checked    build checked library
echo   free       build free library
echo [configuration]
echo   NT         build NT 4.x library
echo   NT40       build NT 4.x library
echo   WDM        build WDM library
echo   NDIS       build NDIS library
echo [platform]
echo   *default   build x86 library
echo   IA64       build Itanium 64-bit library
echo   AMD64      build AMD 64-bit library
echo.
echo Example:  bldlib checked WDM     (Build WDM checked x86 library)
echo Example:  bldlib free NT         (Build NT 4 free x86 library)
echo Example:  bldlib checked NDIS    (Build NDIS WDM checked x86 libray)
echo Example:  bldlib checked NT IA64 (Build NT 4 checked IA64 library)
echo Example:  bldlib free WDM IA64   (Build WDM free IA64 library)
echo Example:  bldlib free NT AMD64   (Build NT free AMD64 library)
echo.
goto DONE

:BUILDERRORS
echo Errors in the build process.  Cannot copy build result to DriverWorks\lib.
goto DONE

:DONE
cd %DRIVERWORKS%
:DONE_NO_DW

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@echo off
@rem This script is called by library build script or VisualStudio.NET integration
@rem package to setup DDK build environment and execute DDK build.exe.

rem Batch file to build driver projects
rem
rem        Arguments are:
rem                arg 1        checked or free
rem                arg 2        -NoBuild, passed from DSDDKEnv. Call setenv.bat and save environment to

ddkenv.txt.
rem                            Otherwise passed to BUILD program

rem Make sure that environment is set up correctly
if "%BASEDIR%"=="" goto BADBASEDIR

rem Need to get 8.3 short path of current directory for DDK build to work.
rem For NT and later OS, use scd.bat to get short path and pushd to save current driverletter+path.
if "%OS%"=="Windows_NT" call %DRIVERWORKS%\..\Common\scd.bat
if "%OS%"=="Windows_NT" pushd .
if "%OS%"=="Windows_NT" goto restart

rem Otherwise use shortcd.com and genrebld.exe for Win9x/Me.
%DRIVERWORKS%\..\Common\bin\shortcd

REM genrebld copies the parameters passed to runbuild and generates a
REM one line .bat file that re-runs runbuild.bat with two addtional
REM parameters, namely the current drive and current directory.
REM This is necessary because running setenv changes the current dir
REM and also possibly changes the current drive setting.
REM In the case where there is only one input parameter, we have to
REM add a placeholder parameter in order to keep things working ok.

REM test if this is first time in or restart
if not "x%3" == "x" goto restart
if "x%2" == "x" goto normbld

%DRIVERWORKS%\..\Common\bin\genrebld %0 %1 %2
__rebld

:normbld
%DRIVERWORKS%\..\Common\bin\genrebld %0 %1 PLACEHOLDER
__rebld

:restart

rem check arguments
if "%1"=="free" goto argok
if "%1"=="checked" goto argok
goto badarg
:argok

set DDKBUILDENV=
if EXIST %BASEDIR%\bin\build.exe goto OLDDDK
if EXIST %BASEDIR%\bin\Win64\x86\build.exe goto 2003DDK

rem #################
rem #### XP DDK #####
rem #################

set DS_Is64Bit=
if "%CPU%"=="IA64" set DS_Is64Bit=64
if "%CPU%"=="ia64" set DS_Is64Bit=64
if "%CPU%"=="AMD64" goto NotSupportedCPU
if "%CPU%"=="amd64" goto NotSupportedCPU
if "%DDK_TARGET_OS%"=="WinXP" goto XPSetEnvWxp
if "%DDK_TARGET_OS%"=="Win2K" goto XPSetEnvW2k
goto NotSupportedCPU_DDK_TARGET_OS

rem #### Environment for Windows XP target #####
:XPSetEnvWxp
if "%1"=="free"    set setenvcmd=%BASEDIR%\bin\setenv.bat %BASEDIR% fre %DS_Is64Bit%
if "%1"=="checked" set setenvcmd=%BASEDIR%\bin\setenv.bat %BASEDIR% chk %DS_Is64Bit%
goto StartSetEnv

rem #### Environment for Windows 2000 target #####
:XPSetEnvW2k
set setenvcmd=%BASEDIR%\bin\w2k\set2k.bat %BASEDIR% %1
goto StartSetEnv

rem ###################
rem #### 2003 DDK #####
rem ###################
:2003DDK
set DS_Is64Bit=
if "%CPU%"=="IA64" set DS_Is64Bit=64
if "%CPU%"=="ia64" set DS_Is64Bit=64
if "%CPU%"=="AMD64" set DS_Is64Bit=AMD64
if "%CPU%"=="amd64" set DS_Is64Bit=AMD64
if "%DDK_TARGET_OS%"=="WinLH" goto 2003SetEnvWLH
if "%DDK_TARGET_OS%"=="WinNET" goto 2003SetEnvWNet
if "%DDK_TARGET_OS%"=="WinXP" goto 2003SetEnvWxp
if "%DDK_TARGET_OS%"=="Win2K" goto 2003SetEnvW2K
goto NotSupportedCPU_DDK_TARGET_OS

rem #### Environment for Windows Longhorn target #####
:2003SetEnvWLH
if "%1"=="free"    set setenvcmd=%BASEDIR%\bin\setenv.bat %BASEDIR% fre WLH %DS_Is64Bit%
if "%1"=="checked" set setenvcmd=%BASEDIR%\bin\setenv.bat %BASEDIR% chk WLH %DS_Is64Bit%
goto StartSetEnv

rem #### Environment for Windows 2003 target #####
:2003SetEnvWNet
if "%1"=="free"    set setenvcmd=%BASEDIR%\bin\setenv.bat %BASEDIR% fre WNET %DS_Is64Bit%
if "%1"=="checked" set setenvcmd=%BASEDIR%\bin\setenv.bat %BASEDIR% chk WNET %DS_Is64Bit%
goto StartSetEnv

rem #### Environment for Windows XP target #####
:2003SetEnvWxp
if "%CPU%"=="AMD64" goto NotSupportedCPU_DDK_TARGET_OS
if "%CPU%"=="amd64" goto NotSupportedCPU_DDK_TARGET_OS
if "%1"=="free"    set setenvcmd=%BASEDIR%\bin\setenv.bat %BASEDIR% fre WXP %DS_Is64Bit%
if "%1"=="checked" set setenvcmd=%BASEDIR%\bin\setenv.bat %BASEDIR% chk WXP %DS_Is64Bit%
goto StartSetEnv

rem #### Environment for Windows 2000 target #####
:2003SetEnvW2K
if "%CPU%"=="AMD64" goto NotSupportedCPU_DDK_TARGET_OS
if "%CPU%"=="amd64" goto NotSupportedCPU_DDK_TARGET_OS
if "%CPU%"=="ia64" goto NotSupportedCPU_DDK_TARGET_OS
if "%CPU%"=="IA64" goto NotSupportedCPU_DDK_TARGET_OS
if "%1"=="free"    set setenvcmd=%BASEDIR%\bin\setenv.bat %BASEDIR% fre W2K %DS_Is64Bit%
if "%1"=="checked" set setenvcmd=%BASEDIR%\bin\setenv.bat %BASEDIR% chk W2K %DS_Is64Bit%
goto StartSetEnv

rem ########################################
rem #### Older DDKs (NT4, 2000, or 98) #####
rem ########################################
:OLDDDK
set setenvcmd=%BASEDIR%\bin\setenv.bat %BASEDIR% %1

rem ##########################
rem #### call setenv.bat #####
rem ##########################
:StartSetEnv
@echo on
call %setenvcmd%
@echo off

rem Restore original driveletter+path
if "%OS%"=="Windows_NT" popd
if "%OS%"=="Windows_NT" goto FinishSetenv
%3
cd %4
:FinishSetenv
set DS_Is64Bit=
set setenvcmd=
if "%2" == "-NoBuild" goto NoBuild

rem ########################
rem #### Run build.exe #####
rem ########################
if "%2" == "PLACEHOLDER" set buildcmd=build.exe
if "%2" == "PLACEHOLDER" goto build
set buildcmd=build.exe %2
if "%USE_PREFAST%" == "1" set buildcmd=PREfast.exe build %2
:build
@echo on
%buildcmd%
@echo off
if "%USE_PREFAST%" == "1" PREfast.exe list
if not %errorlevel% == 0 goto build_done
if not "%USE_PREFAST_VIEW%" == "1" goto build_done
@echo on
PREfast.exe view
@echo off
:build_done
set buildcmd=
goto done

:BADBASEDIR
@echo DDK environment (BASEDIR) must be set up before building driver. If you are using Visual Studio, use the DDK Build

Settings from the DriverStudio toolbar or the Tools\DriverStudio menu to set up DDK environment.
goto Done

:NotSupportedCPU
@echo CPU %CPU% is not supported by %BASEDIR% DDK.
goto Done

:NotSupportedCPU_DDK_TARGET_OS
@echo CPU %CPU% is not supported by %BASEDIR% DDK with DDK_TARGET_OS=%DDK_TARGET_OS%.
goto Done

:badarg
@echo Must specify "checked" or "free" to RUNBUILD.BAT
goto Done

:NoBuild
rem 2003 DDK set CPU to x86 and we need to change it back to i386
rem because many DW/DN examples .dsp reference to $(CPU) for definition.
if "%CPU%"=="x86" set CPU=i386
set > ddkenv.txt

:done

@if exist __rebld.bat del __rebld.bat

if NOT EXIST MC_RAN.### goto no_MC_RAN
echo *** If you see exactly one _error_ message, you can safely ignore it.
echo *** Developer Studio is mistaking the normal output of MC (message compiler) for a real _error_.
echo *** If you build again, Studio should report no _errors_ since MC will not be invoked.
echo ***
del MC_RAN.###
:no_MC_RAN
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
cl:
/nologo /Gz /ML /W3 /Zi /Oi /Gy /I ".." /I "$(DRIVERWORKS)\..\common\include\stl" /I "$(TARGET_INC_PATH)" /I

"$(CRT_INC_PATH)" /I "$(WDM_INC_PATH)" /I "$(DDK_INC_PATH)" /I "$(BASEDIR)\src\wdm\hid\inc" /I "$(BASEDIR)\src\hid\inc" /I

"$(DRIVERWORKS)\Include" /I "$(DRIVERWORKS)\source" /I "$(DRIVERWORKS)\include\dep_vxd" /I "$(DRIVERWORKS)\include\dep_wdm"

/I "$(DRIVERWORKS)\include\dep_ndis" /FI"warning.h" /D NTVERSION='WDM' /D _X86_=1 /D i386=1 /D "STD_CALL" /D

CONDITION_HANDLING=1 /D NT_UP=1 /D NT_INST=0 /D WIN32=100 /D _NT1X_=100 /D WINNT=1 /D _WIN32_WINNT=0x0400 /D

WIN32_LEAN_AND_MEAN=1 /D DEVL=1 /D DBG=1 /D FPO=0 /FR".\objchk\i386\\" /Fo".\objchk\i386\\" /Fd".\objchk\i386\\HelloWdm.pdb"

/Zel -cbstring /GF /QIfdiv- /QIf /c

link:

wdm.lib "$(DRIVERWORKS)\lib\i386\checked\vdw_wdm.lib" /nologo /base:"0x10000" /version:5.0 /stack:0x40000,0x1000

/entry:"DriverEntry" /incremental:no /pdb:".\objchk\i386\HelloWdm.pdb" /machine:IX86 /nodefaultlib /out:".\objchk\i386

\HelloWdm.sys" /libpath:"$(TARGET_LIB_PATH)" /driver /IGNORE:4001,4037,4039,4065,4070,4078,4087,4089,4096,4210

/MERGE:_PAGE=PAGE /MERGE:_TEXT=.text /SECTION:INIT,d /MERGE:.rdata=.text /FULLBUILD /RELEASE /OPT:REF /OPT:ICF /align:0x80

/osversion:5.00 /subsystem:native,1.10 /debug:FULL /driver:WDM

rc:
/l 0x409 /fo".\objchk\i386\HelloWdm.res" /i "$(DRIVERWORKS)\include" /d "_DEBUG" /d NTVERSION='WDM'

**************************************************************************************************************************
--------------------Configuration: HelloWdm - Win32 Checked--------------------
Compiling resources...
Compiling...
HelloDev.cpp
C:\Program Files\Compuware\DriverStudio\DriverWorks\Examples\wdm\hellowdm\sys\HelloDev.cpp(0) : fatal error C1083: Cannot

open include file: 'warning.h': No such file or directory
HelloWdm.cpp
C:\Program Files\Compuware\DriverStudio\DriverWorks\Examples\wdm\hellowdm\sys\HelloWdm.cpp(0) : fatal error C1083: Cannot

open include file: 'warning.h': No such file or directory
Generating Code...
Error executing cl.exe.

HelloWdm.sys - 2 error(s), 0 warning(s)
The following environment variables were not found
$(CRT_INC_PATH)
$(TARGET_INC_PATH)
$(DDK_INC_PATH)
$(WDM_INC_PATH)
$(BASEDIR)

--------------------Configuration: HelloWdm - Win32 Checked--------------------
Compiling with DDK compiler...
HelloDev.cpp
HelloWdm.cpp
Generating Code...
Linking with DDK linker...
---------------------------Build SoftICE Symbols----------------------------
Compuware NM32 Symbol Translator/Loader version 4.3.2
(C) Compuware Corporation, 1996-2004
MODULE=.\objchk\i386\HelloWdm.sys
PROMPT=OFF
Translation of C:\Program Files\Compuware\DriverStudio\DriverWorks\Examples\wdm\hellowdm\sys\objchk\i386\HelloWdm.sys

successfully completed

HelloWdm.sys - 0 error(s), 0 warning(s)


**************************************************************************************************************************
# Microsoft Developer Studio Generated NMAKE File, Based on HelloWdm.dsp
!IF "$(CFG)" == ""
CFG=HelloWdm - Win32 Checked
!MESSAGE No configuration specified. Defaulting to HelloWdm - Win32 Checked.
!ENDIF

!IF "$(CFG)" != "HelloWdm - Win32 IA64 Free" && "$(CFG)" != "HelloWdm - Win32 IA64 Checked" && "$(CFG)" != "HelloWdm - Win32

Free" && "$(CFG)" != "HelloWdm - Win32 Checked"
!MESSAGE Invalid configuration "$(CFG)" specified.
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "HelloWdm.mak" CFG="HelloWdm - Win32 Checked"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "HelloWdm - Win32 IA64 Free" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "HelloWdm - Win32 IA64 Checked" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "HelloWdm - Win32 Free" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "HelloWdm - Win32 Checked" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE
!ERROR An invalid configuration is specified.
!ENDIF

!IF "$(OS)" == "Windows_NT"
NULL=
!ELSE
NULL=nul
!ENDIF

!IF  "$(CFG)" == "HelloWdm - Win32 IA64 Free"

OUTDIR=.\objfre\ia64
INTDIR=.\objfre\ia64
# Begin Custom Macros
OutDir=.\objfre\ia64\
# End Custom Macros

ALL : "$(OUTDIR)\HelloWdm.sys"


CLEAN :
    -@erase "$(INTDIR)\HelloDev.obj"
    -@erase "$(INTDIR)\HelloWdm.obj"
    -@erase "$(INTDIR)\HelloWdm.res"
    -@erase "$(OUTDIR)\HelloWdm.sys"

"$(OUTDIR)" :
    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"

CPP=cl.exe
CPP_PROJ=/nologo /ML /W3 /WX /Gy /I ".." /I "$(DRIVERWORKS)\..\common\include\stl" /I "$(TARGET_INC_PATH)" /I

"$(CRT_INC_PATH)" /I "$(WDM_INC_PATH)" /I "$(DDK_INC_PATH)" /I "$(BASEDIR)\src\wdm\hid\inc" /I "$(BASEDIR)\src\hid\inc" /I

"$(DRIVERWORKS)\Include" /I "$(DRIVERWORKS)\source" /I "$(DRIVERWORKS)\include\dep_vxd" /I "$(DRIVERWORKS)\include\dep_wdm"

/I "$(DRIVERWORKS)\include\dep_ndis" /FI"warning.h" /D NTVERSION='WDM' /D "_WIN64" /D _IA64_=1 /D IA64=1 /D "NO_HW_DETECT" /D

"_MSC_EXTENSIONS" /D CONDITION_HANDLING=1 /D NT_INST=0 /D WIN32=100 /D _NT1X_=100 /D WINNT=1 /D _WIN32_WINNT=0x501 /D

WINVER=0x501 /D _WIN32_IE=0x600 /D WIN32_LEAN_AND_MEAN=1 /D _MERCED_A0_=1 /D DEVL=1 /D "NDEBUG" /D _DLL=1 /D FPO=0

/Fo"$(INTDIR)\\" /Zel -cbstring /GF /Wp64 /Zel /QIA64_fr32 /Oxs /c

.c{$(INTDIR)}.obj::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

.cpp{$(INTDIR)}.obj::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

.cxx{$(INTDIR)}.obj::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

.c{$(INTDIR)}.sbr::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

.cpp{$(INTDIR)}.sbr::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

.cxx{$(INTDIR)}.sbr::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

MTL=midl.exe
MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
RSC=rc.exe
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\HelloWdm.res" /i "$(DRIVERWORKS)\include" /d "NDEBUG" /d NTVERSION='WDM'
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"OBJFre/I386/HelloWdm.bsc"
BSC32_SBRS= \
    
LINK32=link.exe
LINK32_FLAGS=wdm.lib "$(DRIVERWORKS)\lib\IA64\free\vdw_wdm.lib" /nologo /base:"0x10000" /version:5.0 /stack:0x40000,0x1000

/entry:"DriverEntry" /incremental:no /pdb:"$(OUTDIR)\HelloWdm.pdb" /machine:IX86 /nodefaultlib /out:"$(OUTDIR)\HelloWdm.sys"

/libpath:"$(TARGET_LIB_PATH)" /driver /IGNORE:4001,4037,4039,4065,4070,4078,4087,4089,4096,4210 /MERGE:_PAGE=PAGE

/MERGE:_TEXT=.text /SECTION:INIT,d /MERGE:.rdata=.text /FULLBUILD /RELEASE /OPT:REF /OPT:ICF /align:0x80 /osversion:5.00

/subsystem:native,1.10 /debug:MINIMAL /machine:IA64 /debugtype:pdata /driver:WDM
LINK32_OBJS= \
    "$(INTDIR)\HelloDev.obj" \
    "$(INTDIR)\HelloWdm.obj" \
    "$(INTDIR)\HelloWdm.res"

"$(OUTDIR)\HelloWdm.sys" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
    $(LINK32) @<<
  $(LINK32_FLAGS) $(LINK32_OBJS)
<<

!ELSEIF  "$(CFG)" == "HelloWdm - Win32 IA64 Checked"

OUTDIR=.\objchk\ia64
INTDIR=.\objchk\ia64
# Begin Custom Macros
OutDir=.\objchk\ia64\
# End Custom Macros

ALL : "$(OUTDIR)\HelloWdm.sys"


CLEAN :
    -@erase "$(INTDIR)\HelloDev.obj"
    -@erase "$(INTDIR)\HelloWdm.obj"
    -@erase "$(INTDIR)\HelloWdm.pdb"
    -@erase "$(INTDIR)\HelloWdm.res"
    -@erase "$(OUTDIR)\HelloWdm.sys"

"$(OUTDIR)" :
    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"

CPP=cl.exe
CPP_PROJ=/nologo /ML /W3 /WX /Zi /Oi /Gy /I ".." /I "$(DRIVERWORKS)\..\common\include\stl" /I "$(TARGET_INC_PATH)" /I

"$(CRT_INC_PATH)" /I "$(WDM_INC_PATH)" /I "$(DDK_INC_PATH)" /I "$(BASEDIR)\src\wdm\hid\inc" /I "$(BASEDIR)\src\hid\inc" /I

"$(DRIVERWORKS)\Include" /I "$(DRIVERWORKS)\source" /I "$(DRIVERWORKS)\include\dep_vxd" /I "$(DRIVERWORKS)\include\dep_wdm"

/I "$(DRIVERWORKS)\include\dep_ndis" /FI"warning.h" /D NTVERSION='WDM' /D "_WIN64" /D _IA64_=1 /D IA64=1 /D "NO_HW_DETECT" /D

"_MSC_EXTENSIONS" /D CONDITION_HANDLING=1 /D NT_INST=0 /D WIN32=100 /D _NT1X_=100 /D WINNT=1 /D _WIN32_WINNT=0x501 /D

WINVER=0x501 /D _WIN32_IE=0x600 /D WIN32_LEAN_AND_MEAN=1 /D _MERCED_A0_=1 /D DEVL=1 /D "NDEBUG" /D _DLL=1 /D DBG=1 /D FPO=0

/Fo"$(INTDIR)\\" /Fd"$(INTDIR)\HelloWdm.pdb" /Zel -cbstring /GF /Wp64 /Zel /QIA64_fr32 /c

.c{$(INTDIR)}.obj::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

.cpp{$(INTDIR)}.obj::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

.cxx{$(INTDIR)}.obj::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

.c{$(INTDIR)}.sbr::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

.cpp{$(INTDIR)}.sbr::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

.cxx{$(INTDIR)}.sbr::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

MTL=midl.exe
MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
RSC=rc.exe
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\HelloWdm.res" /i "$(DRIVERWORKS)\include" /d "NDEBUG" /d NTVERSION='WDM'
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"OBJFre/I386/HelloWdm.bsc"
BSC32_SBRS= \
    
LINK32=link.exe
LINK32_FLAGS=wdm.lib "$(DRIVERWORKS)\lib\IA64\checked\vdw_wdm.lib" /nologo /base:"0x10000" /version:5.0 /stack:0x40000,0x1000

/entry:"DriverEntry" /incremental:no /pdb:"$(OUTDIR)\HelloWdm.pdb" /machine:IX86 /nodefaultlib /out:"$(OUTDIR)\HelloWdm.sys"

/libpath:"$(TARGET_LIB_PATH)" /driver /IGNORE:4001,4037,4039,4065,4070,4078,4087,4089,4096,4210 /MERGE:_PAGE=PAGE

/MERGE:_TEXT=.text /SECTION:INIT,d /MERGE:.rdata=.text /FULLBUILD /RELEASE /OPT:REF /OPT:ICF /align:0x80 /osversion:5.00

/subsystem:native,1.10 /debug:FULL /machine:IA64 /debugtype:pdata /driver:WDM
LINK32_OBJS= \
    "$(INTDIR)\HelloDev.obj" \
    "$(INTDIR)\HelloWdm.obj" \
    "$(INTDIR)\HelloWdm.res"

"$(OUTDIR)\HelloWdm.sys" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
    $(LINK32) @<<
  $(LINK32_FLAGS) $(LINK32_OBJS)
<<

!ELSEIF  "$(CFG)" == "HelloWdm - Win32 Free"

OUTDIR=.\objfre\i386
INTDIR=.\objfre\i386
# Begin Custom Macros
OutDir=.\objfre\i386\
# End Custom Macros

ALL : "$(OUTDIR)\HelloWdm.sys" "$(OUTDIR)\HelloWdm.bsc" ".\objfre\i386\HelloWdm.nms"


CLEAN :
    -@erase "$(INTDIR)\HelloDev.obj"
    -@erase "$(INTDIR)\HelloDev.sbr"
    -@erase "$(INTDIR)\HelloWdm.obj"
    -@erase "$(INTDIR)\HelloWdm.res"
    -@erase "$(INTDIR)\HelloWdm.sbr"
    -@erase "$(OUTDIR)\HelloWdm.bsc"
    -@erase "$(OUTDIR)\HelloWdm.sys"
    -@erase ".\objfre\i386\HelloWdm.nms"

"$(OUTDIR)" :
    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"

CPP=cl.exe
CPP_PROJ=/nologo /Gz /ML /W3 /Oy /Gy /I ".." /I "$(DRIVERWORKS)\..\common\include\stl" /I "$(TARGET_INC_PATH)" /I

"$(CRT_INC_PATH)" /I "$(WDM_INC_PATH)" /I "$(DDK_INC_PATH)" /I "$(BASEDIR)\src\wdm\hid\inc" /I "$(BASEDIR)\src\hid\inc" /I

"$(DRIVERWORKS)\Include" /I "$(DRIVERWORKS)\source" /I "$(DRIVERWORKS)\include\dep_vxd" /I "$(DRIVERWORKS)\include\dep_wdm"

/I "$(DRIVERWORKS)\include\dep_ndis" /FI"warning.h" /D NTVERSION='WDM' /D _X86_=1 /D i386=1 /D "STD_CALL" /D

CONDITION_HANDLING=1 /D NT_UP=1 /D NT_INST=0 /D WIN32=100 /D _NT1X_=100 /D WINNT=1 /D _WIN32_WINNT=0x0400 /D

WIN32_LEAN_AND_MEAN=1 /D DEVL=1 /D FPO=1 /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Zel -cbstring /GF /QIfdiv- /QIf /Oxs /c

.c{$(INTDIR)}.obj::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

.cpp{$(INTDIR)}.obj::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

.cxx{$(INTDIR)}.obj::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

.c{$(INTDIR)}.sbr::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

.cpp{$(INTDIR)}.sbr::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

.cxx{$(INTDIR)}.sbr::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

MTL=midl.exe
MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
RSC=rc.exe
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\HelloWdm.res" /i "$(DRIVERWORKS)\include" /d "NDEBUG" /d NTVERSION='WDM'
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\HelloWdm.bsc"
BSC32_SBRS= \
    "$(INTDIR)\HelloDev.sbr" \
    "$(INTDIR)\HelloWdm.sbr"

"$(OUTDIR)\HelloWdm.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
    $(BSC32) @<<
  $(BSC32_FLAGS) $(BSC32_SBRS)
<<

LINK32=link.exe
LINK32_FLAGS=wdm.lib "$(DRIVERWORKS)\lib\i386\free\vdw_wdm.lib" /nologo /base:"0x10000" /version:5.0 /stack:0x40000,0x1000

/entry:"DriverEntry" /incremental:no /pdb:"$(OUTDIR)\HelloWdm.pdb" /machine:IX86 /nodefaultlib /out:"$(OUTDIR)\HelloWdm.sys"

/libpath:"$(TARGET_LIB_PATH)" /driver /IGNORE:4001,4037,4039,4065,4070,4078,4087,4089,4096,4210 /MERGE:_PAGE=PAGE

/MERGE:_TEXT=.text /SECTION:INIT,d /MERGE:.rdata=.text /FULLBUILD /RELEASE /OPT:REF /OPT:ICF /align:0x80 /osversion:5.00

/subsystem:native,1.10 /debug:MINIMAL /driver:WDM
LINK32_OBJS= \
    "$(INTDIR)\HelloDev.obj" \
    "$(INTDIR)\HelloWdm.obj" \
    "$(INTDIR)\HelloWdm.res"

"$(OUTDIR)\HelloWdm.sys" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
    $(LINK32) @<<
  $(LINK32_FLAGS) $(LINK32_OBJS)
<<

TargetPath=.\objfre\i386\HelloWdm.sys
TargetName=HelloWdm
InputPath=.\objfre\i386\HelloWdm.sys
SOURCE="$(InputPath)"

"$(OUTDIR)\HelloWdm.nms" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
    <<tempfile.bat
    @echo off
    $(DRIVERWORKS)\bin\nmsym /trans:source,package,always $(TARGETPATH)
<<
    

!ELSEIF  "$(CFG)" == "HelloWdm - Win32 Checked"

OUTDIR=.\objchk\i386
INTDIR=.\objchk\i386
# Begin Custom Macros
OutDir=.\objchk\i386\
# End Custom Macros

ALL : "$(OUTDIR)\HelloWdm.sys" "$(OUTDIR)\HelloWdm.bsc" ".\objchk\i386\HelloWdm.nms"


CLEAN :
    -@erase "$(INTDIR)\HelloDev.obj"
    -@erase "$(INTDIR)\HelloDev.sbr"
    -@erase "$(INTDIR)\HelloWdm.obj"
    -@erase "$(INTDIR)\HelloWdm.pdb"
    -@erase "$(INTDIR)\HelloWdm.res"
    -@erase "$(INTDIR)\HelloWdm.sbr"
    -@erase "$(OUTDIR)\HelloWdm.bsc"
    -@erase "$(OUTDIR)\HelloWdm.sys"
    -@erase ".\objchk\i386\HelloWdm.nms"

"$(OUTDIR)" :
    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"

CPP=cl.exe
CPP_PROJ=/nologo /Gz /ML /W3 /Zi /Oi /Gy /I ".." /I "$(DRIVERWORKS)\..\common\include\stl" /I "$(TARGET_INC_PATH)" /I

"$(CRT_INC_PATH)" /I "$(WDM_INC_PATH)" /I "$(DDK_INC_PATH)" /I "$(BASEDIR)\src\wdm\hid\inc" /I "$(BASEDIR)\src\hid\inc" /I

"$(DRIVERWORKS)\Include" /I "$(DRIVERWORKS)\source" /I "$(DRIVERWORKS)\include\dep_vxd" /I "$(DRIVERWORKS)\include\dep_wdm"

/I "$(DRIVERWORKS)\include\dep_ndis" /FI"warning.h" /D NTVERSION='WDM' /D _X86_=1 /D i386=1 /D "STD_CALL" /D

CONDITION_HANDLING=1 /D NT_UP=1 /D NT_INST=0 /D WIN32=100 /D _NT1X_=100 /D WINNT=1 /D _WIN32_WINNT=0x0400 /D

WIN32_LEAN_AND_MEAN=1 /D DEVL=1 /D DBG=1 /D FPO=0 /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\HelloWdm.pdb" /Zel -

cbstring /GF /QIfdiv- /QIf /c

.c{$(INTDIR)}.obj::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

.cpp{$(INTDIR)}.obj::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

.cxx{$(INTDIR)}.obj::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

.c{$(INTDIR)}.sbr::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

.cpp{$(INTDIR)}.sbr::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

.cxx{$(INTDIR)}.sbr::
   $(CPP) @<<
   $(CPP_PROJ) $<
<<

MTL=midl.exe
MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
RSC=rc.exe
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\HelloWdm.res" /i "$(DRIVERWORKS)\include" /d "_DEBUG" /d NTVERSION='WDM'
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\HelloWdm.bsc"
BSC32_SBRS= \
    "$(INTDIR)\HelloDev.sbr" \
    "$(INTDIR)\HelloWdm.sbr"

"$(OUTDIR)\HelloWdm.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
    $(BSC32) @<<
  $(BSC32_FLAGS) $(BSC32_SBRS)
<<

LINK32=link.exe
LINK32_FLAGS=wdm.lib "$(DRIVERWORKS)\lib\i386\checked\vdw_wdm.lib" /nologo /base:"0x10000" /version:5.0 /stack:0x40000,0x1000

/entry:"DriverEntry" /incremental:no /pdb:"$(OUTDIR)\HelloWdm.pdb" /machine:IX86 /nodefaultlib /out:"$(OUTDIR)\HelloWdm.sys"

/libpath:"$(TARGET_LIB_PATH)" /driver /IGNORE:4001,4037,4039,4065,4070,4078,4087,4089,4096,4210 /MERGE:_PAGE=PAGE

/MERGE:_TEXT=.text /SECTION:INIT,d /MERGE:.rdata=.text /FULLBUILD /RELEASE /OPT:REF /OPT:ICF /align:0x80 /osversion:5.00

/subsystem:native,1.10 /debug:FULL /driver:WDM
LINK32_OBJS= \
    "$(INTDIR)\HelloDev.obj" \
    "$(INTDIR)\HelloWdm.obj" \
    "$(INTDIR)\HelloWdm.res"

"$(OUTDIR)\HelloWdm.sys" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
    $(LINK32) @<<
  $(LINK32_FLAGS) $(LINK32_OBJS)
<<

TargetPath=.\objchk\i386\HelloWdm.sys
TargetName=HelloWdm
InputPath=.\objchk\i386\HelloWdm.sys
SOURCE="$(InputPath)"

"$(OUTDIR)\HelloWdm.nms" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
    <<tempfile.bat
    @echo off
    $(DRIVERWORKS)\bin\nmsym /trans:source,package,always $(TARGETPATH)
<<
    

!ENDIF


!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("HelloWdm.dep")
!INCLUDE "HelloWdm.dep"
!ELSE
!MESSAGE Warning: cannot find "HelloWdm.dep"
!ENDIF
!ENDIF


!IF "$(CFG)" == "HelloWdm - Win32 IA64 Free" || "$(CFG)" == "HelloWdm - Win32 IA64 Checked" || "$(CFG)" == "HelloWdm - Win32

Free" || "$(CFG)" == "HelloWdm - Win32 Checked"
SOURCE=.\HelloDev.cpp

!IF  "$(CFG)" == "HelloWdm - Win32 IA64 Free"


"$(INTDIR)\HelloDev.obj" : $(SOURCE) "$(INTDIR)"


!ELSEIF  "$(CFG)" == "HelloWdm - Win32 IA64 Checked"


"$(INTDIR)\HelloDev.obj" : $(SOURCE) "$(INTDIR)"


!ELSEIF  "$(CFG)" == "HelloWdm - Win32 Free"


"$(INTDIR)\HelloDev.obj"    "$(INTDIR)\HelloDev.sbr" : $(SOURCE) "$(INTDIR)"


!ELSEIF  "$(CFG)" == "HelloWdm - Win32 Checked"


"$(INTDIR)\HelloDev.obj"    "$(INTDIR)\HelloDev.sbr" : $(SOURCE) "$(INTDIR)"


!ENDIF

SOURCE=.\HelloWdm.cpp

!IF  "$(CFG)" == "HelloWdm - Win32 IA64 Free"


"$(INTDIR)\HelloWdm.obj" : $(SOURCE) "$(INTDIR)"


!ELSEIF  "$(CFG)" == "HelloWdm - Win32 IA64 Checked"


"$(INTDIR)\HelloWdm.obj" : $(SOURCE) "$(INTDIR)"


!ELSEIF  "$(CFG)" == "HelloWdm - Win32 Free"


"$(INTDIR)\HelloWdm.obj"    "$(INTDIR)\HelloWdm.sbr" : $(SOURCE) "$(INTDIR)"


!ELSEIF  "$(CFG)" == "HelloWdm - Win32 Checked"


"$(INTDIR)\HelloWdm.obj"    "$(INTDIR)\HelloWdm.sbr" : $(SOURCE) "$(INTDIR)"


!ENDIF

SOURCE=.\HelloWdm.rc

"$(INTDIR)\HelloWdm.res" : $(SOURCE) "$(INTDIR)"
    $(RSC) $(RSC_PROJ) $(SOURCE)



!ENDIF

***********************************************************************************************************************

DriverStudio库的生成过程应该是
(1)---------------------BuildAllDW [BASEDIR] [target] [platform]
(2)---------------------echo Example:  bldlib checked WDM     (Build WDM checked x86 library)
(3)---------------------setenv BASEDIR
(4)---------------------lib
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
vc 文件的生成:
(1)--------------------环境变量等宏的设置
(2)--------------------cl/link 环境变量的设置
(3)--------------------cl/link *.*

 
请问vc的宏的设置在哪里?
wolfcom
驱动牛犊
驱动牛犊
  • 注册日期2007-06-03
  • 最后登录2007-10-17
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-10-02 16:20
C:\Documents and Settings\xkx>set
ALLUSERSPROFILE=C:\Documents and Settings\All Users
APPDATA=C:\Documents and Settings\xkx\Application Data
CLIENTNAME=Console
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=9BAC3D8430F1481
ComSpec=C:\WINDOWS\system32\cmd.exe
DRIVERNETWORKS=C:\PROGRA~1\COMPUW~1\DRIVER~1\DRIVER~3
DRIVERWORKS=C:\PROGRA~1\COMPUW~1\DRIVER~1\DRIVER~4
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\xkx
include=D:\Program Files\Microsoft Visual Studio\VC98\Include
lib=D:\Program Files\Microsoft Visual Studio\VC98\Lib
LOGONSERVER=\\9BAC3D8430F1481
NMSYMPATH=C:\PROGRA~1\COMPUW~1\DRIVER~1\SoftICE
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;D:\Program Files\Mi
crosoft Visual Studio\VC98\Bin;C:\Program Files\Common Files\Compuware
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 15 Model 44 Stepping 2, AuthenticAMD
PROCESSOR_LEVEL=15
PROCESSOR_REVISION=2c02
ProgramFiles=C:\Program Files
PROMPT=$P$G
Rav=C:\Documents and Settings\All Users\Application Data\Rising\Rav
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\DOCUME~1\xkx\LOCALS~1\Temp
TMP=C:\DOCUME~1\xkx\LOCALS~1\Temp
USERDOMAIN=9BAC3D8430F1481
USERNAME=xkx
USERPROFILE=C:\Documents and Settings\xkx
VTOOLSD=C:\PROGRA~1\COMPUW~1\DRIVER~1\VtoolsD
windir=C:\WINDOWS
__COMPAT_LAYER=EnableNXShowUI
游客

返回顶部