当它依赖于一个被删除的文件时 make 重建一个目标
Make make rebuild a target when it depends on a deleted file
假设我有这样的 make
规则:
SOURCES := $(wildcard ./text/*.txt)
$(INDEX) : $(SOURCES)
$(COMPILER) $(SOURCES)
然后其中一个文本文件 ./text/foo.txt
被删除。目标 $(INDEX)
似乎没有重建。在这种情况下,我该如何 make
重建?
如果您的 ./text
目录仅包含您的源代码和所有源代码,您可以将其添加为目标的先决条件:
$(INDEX) : $(SOURCES) ./text
目录与普通文件不同:它们的最后修改日期在您添加、删除或重命名其中的文件(或子目录)时更新,而不是在修改现有文件时更新。将其视为包含所包含文件列表的文件。
假设我有这样的 make
规则:
SOURCES := $(wildcard ./text/*.txt)
$(INDEX) : $(SOURCES)
$(COMPILER) $(SOURCES)
然后其中一个文本文件 ./text/foo.txt
被删除。目标 $(INDEX)
似乎没有重建。在这种情况下,我该如何 make
重建?
如果您的 ./text
目录仅包含您的源代码和所有源代码,您可以将其添加为目标的先决条件:
$(INDEX) : $(SOURCES) ./text
目录与普通文件不同:它们的最后修改日期在您添加、删除或重命名其中的文件(或子目录)时更新,而不是在修改现有文件时更新。将其视为包含所包含文件列表的文件。