1. 程式人生 > >uboot的兩種編譯方法

uboot的兩種編譯方法

(1)編譯複雜專案,Makefile提供2種編譯管理方法。預設情況下是當前資料夾中的.c檔案,編譯出來的.o檔案會放在同一資料夾下。這種方式叫做原地編譯。

(2)原地編譯有一些壞處:第一,汙染了原始檔目錄。第二的缺陷就是一套原始碼只能按照一種配置和編譯方法進行處理,無法同時維護2個或者2個以上的配置編譯方式。

(3)為了解決以上2中缺陷,uboot支援單獨輸出資料夾方式的編譯(linux kernel也支援,而且uboot的這種技術就是從linux kernel學習來的)。基本思路就是在編譯時另外指定一個輸出目錄,將來所有的編譯生成的.o檔案或生成的其他檔案全都丟到那個輸出目錄去。原始碼目錄不做任何汙染,這樣輸出目錄就承載了本次配置編譯的所有結果。

(4)具體用法:預設的就是原地編譯。如果需要指定具體的輸出目錄編譯則有2種方式來指定輸出目錄。

第一種:make O=輸出目錄

第二種:export BULLD_DIR=輸出目錄 然後再make

如果兩個都指定了(既有BULLD DIR環境變數存在,又有O=xx),則O=xx具有更高優先順序,聽他的。