build过程
引自:http://chenyq2008.spaces.live.com/blog/cns!F73164AC8D0D8D50!335.entry
Build过程如下:
1:假如cebuild.bat没有设定 -qbsp,cebuild.bat根据环境变量_DEPTREES包含的模块依次调用cebldtree.bat xxx,__QBLDPASS=preproc。
2:假如cebuild.bat没有设定 -q,cebldtree.bat调用cebuild1.bat public xxx,winceos会被换成了common。否则直接跳到步骤4。
3:cebuild1.bat进入xxx目录执行build。
4:cebldtree.bat发现假如是winceos则调用sysgen -b __QBLDPASS;否则调用sysgen -p xxx -b __QBLDPASS。
5:sysgen.bat调用%_PROJECTROOT%\oak\misc\cesysgen.bat,假如存在的话。
6:cesysgen.bat直接调用%_WINCEROOT%\public\cebase\oak\misc\cesysgen.bat。
7:后者cesysgen.bat把%_DEPTREES%的各个模块名加入到_REV_DEPTREES中。
8:cesysgen.bat调用PlatFile,也就是%_PLATFORMROOT%\%_TGTPLAT%\cebasecesysgen.bat preproc,假如存在的话。
9:BSP的cebasecesysgen.bat设置一些环境变量。
10:cesysgen.bat再依次调用ProjFile,也就是_REV_DEPTREES中各个模块的xxx.bat preproc。
首先寻找__CESYSGEN_PATH\xxx.bat,也就是D:\WCE_PROGS\WM5.0\PUBLIC\smartfon\oak\MISC\xxx.bat。
其次寻找%_PUBLICROOT%\cebase\oak\misc\xxx.bat,
最后寻找%_PUBLICROOT%\xxx\cebasecesysgen.bat
这些批处理文件设置一些环境变量。
11:重复步骤8~10,参数分别是pass1,pass2。
12:sysgen.bat接着步骤5往下,各个%_WINCEROOT%\public\common\oak\lib\%_TGTCPU%\%WINCEDEBUG%\langid目录下假如有coreres.res,就调用bldlist langid。
13:bldlist.bat把langid加进_LANGIDLIST。
14:sysgen.bat进入%_PUBLICROOT%\%___PUBLICPROJECT%\cesysgen,调用nmake __QBLDPASS。
15:重复步骤1~14,__QBLDPASS=postproc
16:cebuild.bat调用sysgenplatform.bat %_TARGETPLATROOT% preproc
17:sysgenplatform.bat调用%_PROJECTROOT%\oak\misc\cesysgen.bat,然后进入%_TARGETPLATROOT%\cesysge nnmake preproc
18:cebuild.bat调用cebuild1 platform %_PLATFORMROOT%\common
19:cebuild.bat调用sysgenplatform.bat %_TARGETPLATROOT% postproc
20:同17,变为postproc