对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,如需转载请自行联系原作者

你可能感兴趣的:(对makefile中 $? 的理解)