Makefile:
1 $(wildcard $(obj)include/config.mk)的含義是返回值爲當前目錄下$(obj)include/config.mk源文件列表
2 $#表示傳入參數個數 $@ $< 分別是給出的目標文件和依賴文件
$*傳遞給腳本的所有參數
3 %_config前面的%是通配符,表示以_config結尾的目標都會匹配到這裏, ::表示makefile中的多目標規則,所有匹配%_config的目標都有相同的依賴unconfig
4 $(@:_config=)表示將目標中的_config去掉
5 U-BOOT.elf格式的image U-BOOT.bin 原始二進制文件(raw image) U-BOOT.MAP 符號表 U-BOOT.SREC S-Record格式的image
6 取前綴函數——basename 取後綴函數——suffix 取目錄函數——dir 取文件函數——notdir 加後綴函數——addsuffix 加前綴函數——addprefix 連接函數——join
7 pushd 保存當前目錄以供 POPD 命令使用,然後改到指定的目錄
8 $(filter %.o,$(files))表示調用Makefile的filter函數
9 當我們用“@”字符在命令行前,那麼,這個命令將不被make顯示出來
10 如果你要讓上一條命令的結果應用在下一條命令時,你應該使用分號分隔這兩條命令。
11 如果你要傳遞變量到下級Makefile中,那麼你可以使用這樣的聲明:export <variable ...>;
12 FOO ?= bar 如果FOO沒有被定義過,那麼變量FOO的值就是“bar”,如果FOO先前被定義過,那麼這條語句將什麼也不做
13 字符串替換函數——subst 模式字符串替換函數——patsubst 去空格函數——strip去掉<string>;字串中開頭和結尾的空字符 查找字符串函數——findstring 過濾函數——filter
14 origin函數不像其它的函數,他並不操作變量的值,他只是告訴你你的這個變量是哪裏來的
Kconfig:
select:反向依賴。如果當前項選中,那麼也選中select後的選項。
choice的作用,多選一,有點像MFC中的Radio控件。
source只是將另外一個Kconfig文件直接複製到當前位置而已。但它的作用也是明顯的,可以將這個系統貫穿在一起。從開始位置arch/arm/Kconfig,來將整個系統都作爲配置型。
prompt:提示,顯示在make menuconfig中的名稱,一般省略。
menu的作用,可以理解成一個目錄,menu可以把其中一部分配置項包含到一個menu中,這樣有利於配置的分類顯示。
menuconfig有點類似menu,但區別就在於menu後面多了一個config,這個menu是可以配置的,前面比menu類型多了一個方框,通過空格可以修改這個配置項的選中狀態。
http://blog.csdn.net/haoel/article/details/2886