对 makefile 中 eval 函数的学习体会

简介:

上例子

复制代码
define func
foo:
    @echo "at foo"
endef

all: foo
    @echo "final"

$(eval $(call func, foo,abc.c))
复制代码

先不整那些函数参数传递之类的幺蛾子,做一个个简单的例子,

运行 make

结果是:

at foo

final

然后再变化下:

复制代码
define func
$1:
    @echo "at foo"
endef

all: foo
    @echo "final"

$(eval $(call func, foo,abc.c))
复制代码

这次,传递 foo 作为 $1,得到结果相同。

基本上可以看到,eval 函数是具备一定的运行时刻改变makefile 能力。

结束




本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/archive/2012/10/04/2711494.html,如需转载请自行联系原作者

目录
相关文章
|
存储 编译器 C语言
Makefile基础教程(变量的介绍和使用)
Makefile基础教程(变量的介绍和使用)
208 0
|
测试技术 数据安全/隐私保护
05-Httprunner-变量的使用
05-Httprunner-变量的使用
#PY小贴士# 别弄错了 Python 里的这几个运算符
会出现这样问题的同学,多半是之前用过其他的编程语言,所以习惯性地认为 ^ 是表示次方,& 是表示逻辑与(同时满足条件)、| 是表示逻辑或(满足条件之一)。
|
Java Unix C语言
[oeasy]python0135_命名惯用法_name_convention
[oeasy]python0135_命名惯用法_name_convention
84 0
CMake教程2:CMake语法-变量、流程控制、函数
CMake教程2:CMake语法-变量、流程控制、函数
139 0
|
JavaScript Python
Py修饰器笔记
修饰器的主要功能是,在不改变已有代码的情况下,为某一个类,方法等扩展功能
174 0