对makefile中 $? 的理解

简介:
$?    所有比目标新的依赖目标的集合。以空格分隔。

例子:

在目录下,

touch foo

touch bar

然后建立Makefile:

all: foo bar
    echo $?
此时 由于目录下没有 all 文件,所以 make 的执行结果是:

foo bar

然后准备再次运行,

touch all

此时,all 比其他文件(foo bar)都新,运行 make 的执行结果是:

all is up to date

 

第三次运行:

touch bar

此时 新旧顺序是: bar > all > foo,运行 make 的结果是:

bar


本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/archive/2012/09/18/2690189.html,如需转载请自行联系原作者
目录
打赏
0
0
0
0
60
分享
相关文章
|
9月前
Makefile伪目标
Makefile伪目标
72 0
一日一技:5分钟掌握 Makefile
一日一技:5分钟掌握 Makefile
190 0
Makefile2
规范 target可以是Object file, 可执行文件或者标签(标签一般没有依赖) 越靠近最终结果的target卸载越前面 定义target前, 定义CC, SRC, CFLAGS, OBJS, INCLUDES, RM, COPY等变量方便修改 在以前使用gcc编译时, 一般直接使用gcc编程链接成可执行文件, 但是在makefile中.
1002 0
CFLAGS,CPPFLAGS,CXXFLAGS in Makefile
CC 与 CXX:      这是 C 与 C++ 编译器命令。默认值一般是 “gcc” 与 “g++”。 CPPFLAGS will be given to the C preprocessor     这是用于预处理阶段的选项。
1903 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等