【发布时间】:2012-06-09 23:51:15
【问题描述】:
我觉得这是一个相当普遍的问题,但我在任何地方都找不到具体情况的答案。我有一个这样的目标:
initfs.tar: $(INITFS_FILES)
rm -f ./initfs.tar
cd initfs_root
tar --format ustar --exclude-vcs -cf ../initfs.tar ./
INITFS_FILES 已定义:
INITFS_FILES:=$(shell find ./initfs_root/ -not -path '*/.*/*' -not -name '.*' -type f)
每次我调用make initfs.tar,都会运行这个目标。 initfs_root 目录中没有文件被触及(并且所有文件都使用该 find 命令找到)。 initfs.tar 确实是创建的。
有人知道为什么会这样吗?这对我来说没有意义,根据我在互联网上遇到的所有其他帖子和我目前的专业知识,我的一切都是正确的(尽管很明显,我在 Makefile 领域缺乏专业知识;)
【问题讨论】:
-
INITFS_FILES变量的内容是什么? -
我不认为
INITFS_FILES列表中的任何文件在未来都有疯狂的最后修改时间? -
@sarnold 它包含“二进制文件 test.txt”
标签: makefile dependencies target