原文链接:http://blog.163.com/xychenbaihu@yeah/blog/static/1322296552010101704251493/
shell
Makefile编写规则2:
Makefile编写规则3:
可以在Makefile 文件中引入其他文件,使用include filepathname。实际就是用filepathname指定的文件内容来替换include filepathname这一条语句。
Makefile的变量:
value = 值; //给变量赋值
要取出变量value的值,用$(value) //取出变量的值
Makefile中给变量赋值:
= //递归展开式变量
value1 = 5
value2 = $(value1)
value1 = 6
最终$(value2)就变成了6
:= //直接展开式变量
value1 := 5
value2 := $(value1)
value1 :=6
最终$(value2)是5
Makefile中的?=是条件赋值的意思,即:
value ?= xyz 意思是,当value之前没有使用的话,就给value赋值xyz。
当value之前已经使用的话,就不给value赋值。
给变量追加赋值:
value = filename1.o filename2.o
value += filename3.o
则$(value)为filename1.o filename2.o filename3.o
给变量赋值时,如果在一行放不下,可以用\符号将他们连接起来。
Makefile中的内置变量:
TARGET:REFERENCE
在他们下面,就可以用$@表示TARGET的内容,可以用$^表示REFERENCE的内容。
$^:代表所有的依赖文件 $@:代表目标 $<:代表第一个依赖文件