3

假设我有这样的make规则:

SOURCES := $(wildcard ./text/*.txt)

$(INDEX) : $(SOURCES)
    $(COMPILER) $(SOURCES)

./text/foo.txt然后删除其中一个文本文件 , 。目标$(INDEX)似乎没有重建。在这种情况下如何进行make重建?

4

1 回答 1

2

如果您的./text目录仅包含您的源和所有源,则可以将其添加为目标的先决条件:

$(INDEX) : $(SOURCES) ./text

目录与常规文件不同:它们的最后修改日期会在您添加、删除或重命名其中的文件(或子目录)时更新,而不是在修改现有文件时更新。将其视为包含包含文件列表的文件。

于 2017-12-05T06:55:50.837 回答