【发布时间】:2010-12-26 22:07:47
【问题描述】:
在我的 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 脚本中,但这似乎有点难看。
【问题讨论】: