Makefile

来源:互联网 发布:影吧点播软件 编辑:程序博客网 时间:2024/05/01 02:41

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