mtk編譯命令
目錄
1 目錄………………………………………………………………………………2
2 new ………………………………………………………………………………..3
3 update……………………………………………………………………………..3
4 remake……………………………………………………………………………..3
5 clean………………………………………………………………………………..3
6 其他命令介紹 ……………………………………………………………………..4
2 new:
功能:全新開始構建整個工程的ARM版,包括圖片、聲音、字串等資源都要重做。在構建工程過程中,清除所有的目標檔案,庫檔案,記錄檔等。New指令還會自動建立必要的目錄、移除臨時檔案和中間指令碼、更新記錄檔。
過程簡要說明:new->cleanall->sysgen->ckscatter->mmi_feature_check->asngen->codegen->asnregen->operator_check_lit->$(BTLD_BIN_FILE)->update。
依賴指令:new依賴的其他指令最多,其中包括cleanall,sysgen,ckscatter,mmi_feature_check,asngen,codegen,asnregen,operator_check_lite,update.
用途:new指令是最徹底也是耗時最長的一個動作,一般得到一個新的MTK發布版本後由項目負責人要做一次。
使用樣本:C: BIRD25_GEMINI_07BRelease>make BIRD25_GEMINI_07B gprs new。
3 update:
功能:update是重新更新整個工程的ARM版,該動作會掃描工程中檔案和庫的依賴關係,若依賴關係有變化會建立新的依賴關係,隨後根據新的依賴關係重新編譯連結有改動的部分。Update指令不依賴cleanall指令,所以它不會刪除目標檔案和庫檔案,也不會去更新記錄檔和建立目標目錄,這一點和remake相像,這也是為什麼執行時間比new短的原因。
過程簡要說明:update->cleanlog->cleanbin->mcddll_update->codegen->resgen->cksydrv->remake。
依賴指令:cleanlog,cleanbin,mcddll_updata,codegen,resgen,cksydrv,remake。
用途:update是耗時較長的一個指令,一般在增加或刪除一些驅動或應用情況下使用。
使用樣本:C: BIRD25_GEMINI_07BRelease>make BIRD25_GEMINI_07B gprs update。4 remake:
功能: remake是重新編譯整個工程的ARM版,該動作只是簡單的重新編譯連結有改動的部分。它不檢查依賴關係.不掃描資源,只掃描碼的改變,有改變的重編,資源和無改變的代碼不編。
過程簡要說明:remake->mcp_check->cleanlog->cleanbin->genverno->libs->$(BTLD_BIN_FIKE)->cmmgen->done。
依賴指令:mcp_check,cleanlog,cleanbin,genverno,libs,$(BIN_FIKE),cmmgen,done。其中最重要的兩個指令是libs,$(BIN_FIKE)。Libs調用編譯器和連接器將各個模組目錄下的C檔案編譯串連為獨立的庫。$(BIN_FIKE)是將各個模組編譯串連的庫和mtk_lib目錄下的庫一起串連起來得到一個映像檔案,然後使用ADS的工具fromelf將映像檔案產生以變數BIN_FILE命名的二進位檔案,該檔案可以下載到硬體板上運行。
用途:remake是耗時最短的一個動作,也是最常用的動作。
使用樣本:C: BIRD25_GEMINI_07BRelease>make BIRD25_GEMINI_07B gprs remake。
5 clean:
功能:清除所有的目標檔案,臨時檔案,庫檔案,可執行檔,更新記錄檔。還可以用於某個模組相關的清除工作。
過程簡要說明:check build root、target folder、comp、lib、comp log folder->clean bin folder、elf、lis、htm、log files、tst database files、obj,lib files。
依賴指令:cleanlog,cleanbin,cleanmod,cleancodegen等。
用途:作為其它命令所依賴的指令,還有就是清除工程或者指定模組對象的類庫。
使用樣本:C: BIRD25_GEMINI_07BRelease>make BIRD25_GEMINI_07B gprs clean,
C: BIRD25_GEMINI_07BRelease>make BIRD25_GEMINI_07B gprs clean Init。
6 其他命令介紹:
new_modis:是全新構建整個工程的PC類比版,其調用VC的編譯器和連結器得到一個可以在windows上啟動並執行PC類比版。MMI應用軟體工程師可以在沒有硬體板的情況下在PC上檢查和調試自己寫好的應用。
codegen_modis:產生modis需要的trace檔案的datebase。
gen_modis:產生vc工程檔案。
remake_modis:重新編譯整個工程的PC版。
Codegen:建立TST資料庫。它依賴的指令有:cleancodegen,asngen,[umts_gen],codegen,asnregen,cleanbin,mcddll_update,done。
Cleancodegen:刪除codegen.lis。
Resgen:產生MMI資源。它依賴的指令有:code_generate,cleancodegen,asngen,codegen,asnregen,cleanbin,mcddll_update,done。
Cmmgen:產生CMM檔案。
Sysgen:產生記憶體對應檔,並放在CUSTOMER檔案夾裡面。
Emigen:產生flash_opt.h,custom_EMI.h,custom_EMI.c和custom_switchclock.c檔案。
Emiclean:清除EMI設定。
Mmi_feature_check:根據MMI_features.h和MMI_features_switch.h中宏定義的不同來產生info.log檔案。
Operator_check:檢查customer的宏是否被修改,如果修改產生相應log檔案。
Fota:產生FOTA二進位檔案。
Bootloader:產生bootloader二進位檔案。
Ckscatter:檢查scatter檔案
Mmi_obj_check:檢查已耗用時間值,e.g,聯合體元素的大小等。
Med_mem_check:檢查media memory。該指令依賴gencustominfo gen_infolog nvram_auto_gen。
Dummy_data_check:檢查虛擬資料。
Viewlog:查看記錄檔。
Cksysdrv:檢查系統驅動是否為滿。
Genverno:產生verno.c/h。
Mcddll_update:產生和更新tst mcddll.dll檔案。
Gen_bl_verno:產生bootloader版本號碼。
Del_fota:刪除fota二進位檔案和elf,lis,sym,htm.*.log檔案。
本文來自:天勤手機研髮網(mtkmtk.com) -做手機就上這個網站
詳細出處:http://www.mtkmtk.com/html/download/mtkbuild/2010/0107/5155.html