首先声明以下所用的到的BAT文件均在:WINCE600/PUBLIC/COMMON/OAK/MISC下面。
构建映像文件是通过BldDemo.bat实现的。具体步骤如下:
一、BldDemo.bat设置一些内部使用的环境变量。
二、BldDemo.bat调用cebuild.bat来执行SYSGEN和BUILD过程,包括缟译源代码和链接库文件;
1、cebuild.bat会清理以前的日志文件,并且对传入的参数进行处理。
2、cebuild.bat根据环境变量_DEPTREES的值,对_DEPTREES中的每一颗树,依次调用cebldtree来构建每一个代码树;
3、cebuild.bat调用cebuild1.bat来编译私有源代码;
4、cebuild.bat调用sysgen.bat去生成某个树;
(1)、sysgen.bat处理传进来的命令参数,例如:-h,-b,-c,-q等;
(2)、sysgen.bat调用%_PROJECTROOT%/OAK/MISC/Cesysgen.bat内容如下:
call %_PUBLICROOT%/cebase/oak/misc/cesysgen.bat %
(3)、cesysgen.bat文件调用Cebasecesysgen.bat来处理以下三个步骤:
Preproc:一般用来初始化用的<tree>_MODULES 和<module>_COMPONENTS坏境变量。
_pass1:用来解决组件之间的内部依赖,并设置相应的环境变量;
_pass2:用来解决组件之间的外部依赖,并设置相应的环境变量。
(4)、sysgen.bat处理一些多语言和本地化相关的操作;
(5)、sysgen.bat 调用Nmake.exe来对所选的模块进行过滤和链接工作。Nmake.exe处理<tree>/cesysgen/ 目录下的Makefile.过滤工作主要是通过%_PUBLICROOT%/COMMON]OAK/BIN/I386/CeFilter.exe(由Nmake.exe调用)完成的.
5、cebuild.bat调用sysgenplatform.bat来进行BSP的SYSGEN;
6、cebuild.bat调用cebuild1.bat来编译BSP目录的源代码。
三、BldDemo.bat调用buildrel.bat来执行Release Copy过程;把生成的文件复制到_FLATRELEASEDIR目录下;
四、BldDemo.bat调用MAKEIMG.EXE来执行MAKE IMAGE过程,把_FLATRELEASEDIR目录下的内容按照CE.bib文件指示打包成最终的NK.BIN.