Знаете ли вы какой-либо инструмент для сборки, который управляет сборкой с использованием нерекурсивного подхода make?

Я искал stackoverflow, но мне не удалось найти удовлетворительный ответ на мой вопрос.

Бумага Миллера Рекурсивный Сделать Вредным хорошо известен в сообществе. В основном я использую нерекурсивная марка управлять сборками моих проектов на протяжении многих лет. Пока что мой опыт работы с нерекурсивными программами был действительно положительным.

Чтобы пролить свет на другие, я успешно создал базу кода C ++, которая содержит около 2 миллионов строк кода. Мне удалось правильно управлять зависимостями. Отличительной особенностью нерекурсивного подхода является то, что мы можем использовать преимущества параллельной сборки.

Я доказал, что данные в этот отчет соответствует как минимум 5 крупным проектам. Но я вручную писал / переносил make-файлы для нерекурсивного make.

Как вы можете себе представить, для больших проектов это требует много работы. Кроме того, основная проблема заключалась в том, что новым членам команды очень трудно понять / изменить / отладить существующие make-файлы.

Поэтому мой вопрос заключается в следующем: знает ли кто-либо в сообществе какой-либо инструмент / скрипт, который может выполнять нерекурсивное создание, но управляет сборочными файлами на более высоком уровне абстракции? Я хотел бы понять, написал ли кто-нибудь несколько сценариев или инструментов для генерации окончательных нерекурсивных make-файлов из некоторых простых входных спецификаций.

3

Решение

Я только что прочитал статью, но кажется, что долгое время сборки из незначительных изменений — главная проблема.

Хотя системы сборки в целом ужасны (у меня есть фантазии по созданию собственной), я должен предложить CMake (как это сделал Хайд).

Хотя он и не идеален, он превосходит простое создание для проектов из нескольких файлов. Язык сценариев несколько уродлив, но лучше, чем make. Требуется немного привыкнуть, потому что он абстрагирует много того, что вы бы написали вручную в make, но я предлагаю следующее:
http://web.cs.swarthmore.edu/~adanner/tips/cmake.php

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]