Сделать make перестроить цель, когда это зависит от удаленного файла
Предположим, у меня есть make
Править так:
SOURCES := $(wildcard ./text/*.txt)
$(INDEX) : $(SOURCES)
$(COMPILER) $(SOURCES)
А потом один из текстовых файлов, ./text/foo.txt
, удаляется. Цель $(INDEX)
не кажется восстановленным. Как мне сделать make
перестроить в этом случае?
1 ответ
Решение
Если твой ./text
Каталог содержит только ваши источники и все из них, вы можете добавить его в качестве предварительного условия вашей цели:
$(INDEX) : $(SOURCES) ./text
Каталоги не похожи на обычные файлы: их дата последнего изменения обновляется при добавлении, удалении или переименовании файла (или подкаталога) в них, а не при изменении существующего файла. Думайте об этом как о файле, содержащем список содержащихся файлов.