第一步:下载并安装GRMWDK_EN_7600_1.ISO,你可以从下载获取安装光盘。
第二部:编写你的第一个makerelease.bat脚本。(名字可以随便取,比如a.bat, test.bat)
内容如下:
set PROJDIR=%CD%
if [%DEBUG%]==[1] (set BUILDTYPE=chk) else (set BUILDTYPE=fre)
REM Build the i386 Windows XP driver
cmd /c "%WDKPATH%\bin\setenv.bat %WDKPATH% %BUILDTYPE% x86 wxp && CD %PROJDIR% && build/c""
说明:cmd /c "commandline_1 && commandline_2 && commandline_3 && ....",是一气呵成的,也就是说,commandline_1 执行完后,在其基础上,紧接着执行commandline_2。
此处如果写成:
%WDKPATH%\bin\setenv.bat %WDKPATH% %BUILDTYPE% x86 wxp
CD %PROJDIR%
build/c |
执行完后,会结束。
>D:\WinDDK\7600.16385.1\bin\setenv.bat D:\WinDDK\7600.16385
1 fre x86 wxp
Launching OACR monitor
D:\WinDDK\7600.16385.1>
你需要手动执行后面的2行语句:
CD %PROJDIR%
build/c
%PROJECT%路径下没有build.exe或者build.exe,build.com之类的东东,build/c 为什么能执行成功,build后面带的/c参数又是何物?
第一个问题:build.exe之流存在何处?D:\>set path
Path=D:\WinDDK\7600.16385.1\tools\sdv\bin;D:\WinDDK\7600.16385.1\bin\x86\oacr;D:
\WinDDK\7600.16385.1\tools\pfd\bin\bin\x86;D:\WinDDK\7600.16385.1\tools\tracing\
i386;
D:\WinDDK\7600.16385.1\bin\x86;D:\WinDDK\7600.16385.1\bin\x86\x86;D:\WinDDK
\7600.16385.1\bin\SelfSign
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
查看PATH环境变量:
其中D:\WinDDK\7600.16385.1\bin\x86路径下就藏着build.exe这个宝贝,嘿嘿。
第二个问题: /c 参数作何用处?D:\>build /? 【注意这里的build.exe是WinDDK安装路径下的东东】
BUILD: Version 6.1.7063.0
Usage: BUILD [-?] display this message
[/#] force _objects.mac to be regenerated
[/0] pass 0 generation only, no compile, no link
[/2] same as old /Z (only do a 2 pass build - no pass 0)
[/3] same as /Z
[/a] allows synchronized blocks and drains during link pass
[/b] displays full error message text (doesn't truncate)
[/B [baseline]] Checks the build failures against a baseline
If there is no baseline,terminates the build on the first error
[/c] deletes all object files [/C] deletes all .lib files only
"/c" 原来是用于删除所有历史生成的obj文件的开关。
这里build/c 就相当于linux里面的先make clean再make all。
D:\>build/c
BUILD: Compile and Link for x86
BUILD: Loading
d:\winddk\7600.16385.1\build.dat...
BUILD: Computing Include file dependencies:
BUILD: Start time: Sat Apr 17 23:50:30 2010
再看看
build.dat这个东东:
D "d:\" 2
F "a.c" 1002 10 b351d372 0 0
F "subdir" 1002 10 cb08424a 0 0
I "winsock2.h" 1800 0
I "ws2tcpip.h" 1800 0
D:代表 文件夹
F:代表 文件,如.c文件和子文件夹,等等。
I:代表 头文件,如.h文件
-- 2010-4-18 0:34am
阅读(5556) | 评论(0) | 转发(0) |