可能有时会遇到要同时编译BSP包下面的好几个驱动,一个一个手工点击编译是不是很麻烦,下面介绍分享一种通过批处理进行多个驱动编译的方法
call cls @REM 设置环境变量,如WINCE的安装路径,BSP包的平台 set WMxxx=C:\WINCE600 set MyPlatform=SMDK6410 set Version=Retail setlocal pushd C: cd C:\WINCE600\PLATFORM\SMDK6410 call s60setenv.bat @REM 这里你可以选择你要编译的驱动 cd %WMxxx%\platform\%MyPlatform%\SRC\DRIVERS\BATTDRVR call build -c cd %WMxxx%\platform\%MyPlatform%\SRC\DRIVERS\DISPLAY call build -c cd %WMxxx%\platform\%MyPlatform%\SRC\DRIVERS\keyboard call build -c cd %WMxxx%\platform\%MyPlatform%\SRC\DRIVERS\OTG call build -c @REM 不知道怎么回事,编译完之后不会自动更新到Release目录,这里自己拷贝过去 copy /Y C:\WINCE600\PLATFORM\SMDK6410\target\ARMV4I\retail\s3c6410_usbfn.dll %_FLATRELEASEDIR% copy /Y C:\WINCE600\PLATFORM\SMDK6410\target\ARMV4I\retail\kbd.dll %_FLATRELEASEDIR% copy /Y C:\WINCE600\PLATFORM\SMDK6410\target\ARMV4I\retail\s3c6410_disp.dll %_FLATRELEASEDIR% copy /Y C:\WINCE600\PLATFORM\SMDK6410\target\ARMV4I\retail\battdrvr.dll %_FLATRELEASEDIR% endlocal pause
s60setenv.bat 文件定义如下
set __PLATFORMNAME__=SMDK6410 set __PROJECTNAME__=S60 @REM工程名字,自己修改 set _WINCEROOT=C:\WINCE600 set WINCEDEBUG=retail set CPU=ARMV4I set PBWORKSPACEROOT=%_WINCEROOT%\OSDesigns\%__PROJECTNAME__% set _FLATRELEASEDIR=%_WINCEROOT%\OSDesigns\%__PROJECTNAME__%\RelDir\%__PLATFORMNAME__%_%CPU%_Release\ set PATH=%PATH%;C:\Windows\system32;C:\Windows;C:\Program Files\Microsoft Platform Builder\6.00\cepb\IdeVS set _PROJECTROOT=%PBWORKSPACEROOT%\WINCE600\%__PLATFORMNAME__%_%CPU% set PBWORKSPACE=%_WINCEROOT%\OSDesigns\%__PROJECTNAME__%\6410_2JAP.pbxml set WINCE_BAT=%_WINCEROOT%\Public\Common\Oak\misc\wince.bat set PBXMLUTILS="C:\Program Files\Microsoft Platform Builder\6.00\cepb\IdeVS\pbxmlutils.exe" call %WINCE_BAT% %CPU% %__PROJECTNAME__% %__PLATFORMNAME__% %PBXMLUTILS% /getbuildenv > %_TARGETPLATROOT%\AutoBuild%__PROJECTNAME__%.bat call %_TARGETPLATROOT%\AutoBuild%__PROJECTNAME__%.bat