在我的GNUmakefile中,我希望有一个使用临时目录的规则。例如:
out.tar: TMP := $(shell mktemp -d)
echo hi $(TMP)/hi.txt
tar -C $(TMP) cf $@ .
rm -rf $(TMP)
如上所述,上面的规则在解析规则时创建临时目录。这意味着,即使我不总是创建out.tar,也会创建许多临时目录。我不想让我的/tmp被不用的临时目录弄得乱七八糟。
有没有一种方法可以使变量只在规则触发时定义,而不是在定义时定义?
我的主要想法是将mktemp和tar转储到shell脚本中,但这似乎有点难看。
https://stackoverflow.com/questions/1909188
复制相似问题