对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