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.youkuaiyun.com/haoel/article/details/2886