Wince for Mobile的编译流程
1.环境变量设置
WinceMobile的编译采用命令行方式。相应的Windows Mobile根目录下会有两个目录:BuildScripts及release目录。其中BuildScripts下放置的是编译脚本,release目录下放置编译结果。
BuildScripts目录中共有3个批处理脚本文件:UpdateLoaderEnv.bat、BaseOSEnv.bat、BuildAll.bat。其中UpdateLoaderEnv.bat用于设置编译ULDR(update loader)所需的环境变量,BaseOSEnv.bat用于设置编译内核所需的环境变量,BuildAll.bat依次设置编译ULDR和OS的环境变量并运行blddemo.bat进行编译。
UpdateLoaderEnv.bat中主要的环境变量设置语句如下:
call %_WINCEROOT%"public"common"oak"misc"wince.bat ARMV4I uldr platform_name
BaseOSEnv.bat中主要的环境变量设置语句如下:
call %_WINCEROOT%"public"common"oak"misc"wince.bat ARMV4I wpc platform_name
其中的3个参数:ARMV4I是目标设备CPU型号,uldr/ wpc是编译目标,platform_name是Clone BSP时所取的文件夹名称,其实也是目标平台的名称。它们分别对应环境变量__TGTCPU、_TGTPROJ及_TGTPLAT,它们分别表示目标CPU,目标工程和目标平台。
BuildAll.bat是在UpdateLoaderEnv.bat和BaseOSEnv.bat的基础上依次编译ULDR和OS,通过如下两条语句来实现:
call UpdateLoaderEnv.bat blddemo.bat clean –q
call BaseOSEnv.bat blddemo.bat clean –q
从中可以看到,WinceMobile对环境变量的设置是通过wince.bat来完成的。wince.bat中还调用其它的批处理文件,但除了%_TGTPROJ %.bat(可能是uldr.bat )