У меня сейчас есть это в моем make-файле:
ifneq ($(MAKECMDGOALS),clean)
-include $(DEPS_debug)
-include $(DEPS_unittest)
-include $(DEPS_release)
endif
Все коллекции DEPS_
довольно большие, так как они генерируются gcc
, поэтому я хотел бы включать эти зависимости только тогда, когданеобходимо.
Как и сейчас, каждый раз, когда я использую этот make-файл для выполнения чего-либо, кроме очистки, он подвергается двухсекундному ожиданию из-за загрузки всех файлов зависимостей.Да, вероятно, это излишне проверяет множество заголовков библиотек на наличие изменений, но я буду проклят, если он уже не будет работать так хорошо, что я не хочу с ним связываться.
Я бы хотел -include
только $(DEPS_debug)
, когда моя цель создания debug
и т. Д.
Есть ли лучшая переменная, чем MAKECMDGOALS
, которую я могу использовать?Проблема, которую я ожидаю, заключается в том, что если я использую MAKECMDGOALS
для прогнозирования включения моих зависимостей, если я позже добавлю запись в make-файл foo: debug release
и запусту make foo
, она не загрузит ни одну из них!