Я искал stackoverflow, но не нашел удовлетворительного ответа на свой вопрос.
Статья Миллера Рекурсивный метод «сделать считается вредным») хорошо известна в сообществе. В основном я использовал нерекурсивный make для управления сборками мои проекты на долгие годы. Пока что мой опыт работы с нерекурсивным make был действительно положительным.
Чтобы пролить свет на других, мне удалось создать базу кода C ++, которая содержит около 2 миллионов строк кода. Мне удалось правильно управлять зависимостью. Самое замечательное в нерекурсивном подходе - это то, что мы можем воспользоваться преимуществами параллельной сборки.
Я доказал, что данные в этом отчете соответствуют минимум 5 крупных проектов. Но я вручную писал / переносил make-файлы для нерекурсивного make.
Как вы понимаете, для больших проектов это требует большого количества работы. Кроме того, основная проблема заключалась в том, что новым членам команды очень трудно понять / изменить / отладить существующие файлы makefile.
Итак, мой вопрос таков: знает ли кто-нибудь в сообществе какой-либо инструмент / скрипт, который может выполнять нерекурсивную make, но управлять make-файлами на более высоком уровне абстракции? Я хотел бы понять, написал ли кто-нибудь какие-нибудь скрипты или инструменты для генерации окончательных нерекурсивных make-файлов из некоторых простых входных спецификаций.