Android源码编译中的Makefile文件
1.和大多shell文件一样,makefile中的#表示注释,一般都是#加要注释的内容。2.ifdef...endif,表示如果定义了变量。例如:
# Only use ANDROID_BUILD_SHELL to wrap around bash. ifdef ANDROID_BUILD_SHELL SHELL := $(ANDROID_BUILD_SHELL) else SHELL := /bin/bash endif
3.函数调用,很像变量的使用,也是以“$”来标识的,其语法如下:
$()
或是
${}
这里,就是函数名,make支持的函数不多。是函数的参数,参数间以逗号“,”分隔,而函数名和参数之间以“空格”分隔。函数调用以“$”开头,以圆括号或花括号把函数名和参数括起。感觉很像一个变量,是不是?函数中的参数可以使用变量,为了风格的统一,函数和变量的括号最好一样,如使用“$(subst a,b,$(x))”这样的形式,而不是“$(subst a,b,${x})”的形式。因为统一会更清楚,也会减少一些不必要的麻烦。$(ANDROID_BUILD_SHELL),就是取得ANDROID_BUILD_SHELL的值。
4.a:=b,将b的值赋给a。
5..SUFFIXES:是来定义或是删除后缀规则的。.SUFFIXES: .hack .win 把后缀.hack和.win加入后缀列表中的末尾。 .SUFFIXES: # 删除默认的后缀 .SUFFIXES: .c .o .h # 定义自己的后缀 先清楚默认后缀,后定义自己的后缀列表。
6..DELETE_ON_ERROR
如果在Makefile中存在特殊目标“.DELETE_ON_ERROR”,make在执行过程中,如果规则的命令执行错误,将删除已经被修改的目标文件。
相关推荐
yoshubom 2020-07-18
Plant 2020-06-07
wanggongzhen 2020-05-28
xushxbigbear微信 2020-05-16
hazing 2020-05-01
hongsheyoumo 2020-05-01
jeonkc 2020-04-19
mikesno 2020-02-23
hazing 2020-02-22
choupiaoyi 2020-01-23
83096129 2020-01-17
Joymine 2020-01-03
christinzhm 2010-09-13
downtown 2010-09-13
hbcbgcx 2011-04-07
hbcbgcx 2011-03-24
Will0 2011-03-15
ITlover00 2011-03-13
zhonglinzhang 2011-02-28