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

你可能感兴趣的:(Build)