Я создал поток make-файлов, который позволяет рекурсивным вызовам включать создание огромного проекта, включающего сотни зависимых make-файлов и создание одного очень большого DAG. Makefile использует много пар call / eval для работы. Это работает довольно хорошо, но это занимает больше времени, чем я хотел бы построить DAG, прежде чем проверять зависимости, и мне интересно, как оптимизировать скорость.
Makefile.top:
include build_system.mk
$(eval $(call INCLUDE Makefile.sub1))
...
Makefile.sub1
include build_system.mk
...
Я могу использовать $ (info) для печати материала , но я ищу более полную распечатку окончательного DAG, которую я могу использовать в качестве Makefile. -p печатает базу данных, но я бы хотел, чтобы она была напечатана как Makefile.