首先聲明以下所用的到的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.