make eval builtin function

Posted phoenix tree

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了make eval builtin function相关的知识,希望对你有一定的参考价值。

1 eval的返回值是空字符串,因此它可以用于Makefile的任何位置而不引起错误

2 eval函数的作用效果

生成Makefile的动态部分,即eval用于增加Makefile的构成部分。

也就是说,经过eval扩展之后的text部分,完全可以看成是Makefile的一部分,在make的时候,由make自己去解析执行,执行的过程完全等同于Makefile的其它静态部分。

3 eval内部嵌套一个函数的话,eval做了什么

首先是被嵌套的内部函数的扩展,在其扩展的结果上eval工作。

3.1 eval的expand

即普通的变量的扩展,对于双$$,去掉一个$。

3.2 eval将expand后得到的text当成是makefile的一部分

比如rules、比如变量赋值等等。

这样的好处是很显然的,Makefile就不是静态不变的了,而是动态的,可以生成的。

4 eval、call、define是完美组合,用于定义Makefile的动态部分

 

以上是关于make eval builtin function的主要内容,如果未能解决你的问题,请参考以下文章

Linux 命令(144)—— eval 命令(builtin)

Linux 命令(144)—— eval 命令(builtin)

python内置函数4-eval()

使用 eval 进行表达式评估有多安全?

JavaScript,在公共方法中将私有函数作为字符串调用,而不使用 eval(显示模式)

基础入门_Python-内建函数.运维开发中eval内建函数的最佳实践?