Это выглядит как еще одна простая, полезная, логичная вещь, которую Make должен уметь делать, но это не так.
Вот обходной путь.Если правило clean
установлено правильно, Make может выполнить его всякий раз, когда make-файл был изменен, используя пустой файл dummy
в качестве маркера.
-include dummy
dummy: Makefile
@touch $@
@$(MAKE) -s clean
Это будет работать для большинства целей, чтоэто цели, которые являются настоящими файлами и удаляются с помощью clean, и любые цели, которые зависят от них.Цели с побочными эффектами и некоторые PHONY
цели будут проскальзывать через сеть.