1.在进行make的时候,打印到终端的信息并不多,但这并不意味着,内核编译产生的消息不多,只是在make 的时候没有给相应的参数。
如果想要更冗余(verbose)的信息,按下make V=1.
2.运行make这个命令的时候,本身就会提供CURDIR这个参数。
3.makefile本身是支持函数的,有自带的函数,另外还可以调用shell函数,但有些地方还是不同的,比如:
echo $CURDIR,这个命令是不能完成工作的,只有echo ${CURDIR}或echo $(CURDIR)才可以。
4.一条makefile规则分为目标、依赖、命令,3个部分,一般一定有目标和命令,可以没有依赖,在执行make命令的时候先执行从上到下遇到的第一个目标,如果不是想执行不是第一个目标则需要在命令中显式的指定目标。
5.在执行目标对应的命令时,必须依赖发生了更改,如果想要强制一个目标执行,可以在依赖部分当中加入一个子依赖为空的依赖比如:
all: force
echo "hello"
如果每次都想执行目标all,那需要将force定义为:
force:
这样定义为空。
5.if函数,makefile同样支持函数的功能,一般是字符串相关,文件相关,shell相关。
形如:if $($expression1 $sentences1 $sentences2)
如果expression1内容不为空,则返回$sentences的内容,否则返回expression2的内容。
6.‘%’字符替换一个或多个任意字符
7.filter函数和fillter-out函数,这是过滤和反过滤函数,比如:
filter %a $b=>将b变量当中符合%a格式的内容保留。
fillter-out %a $b=>将b变量中不符合%a格式的内容保留
阅读(2888) | 评论(0) | 转发(0) |