Альтернативы для linux/freebsd?



makefile (8)

Automake: p, который обычно используется в большинстве дистрибутивов приложений Linux, но он дает немного больше работы, чем Makefile, но лучшие результаты. Http://www.gnu.org/software/automake/

http://www.openismus.com/documents/linux/automake/automake.shtml <- хорошее объяснение того, как использовать automake и autoconf

https://ffff65535.com

Каковы некоторые альтернативы для linux / freebsd?


Если вы ищете что-то совершенно другое, есть Ant . Я не заинтересован в этом сам, но он предлагает некоторые преимущества переносимости (не полагаться на оболочку unix и т. Д.),


Я слышал хорошие вещи о Джеме .


OMake - это инструмент сборки для C / C ++, OCaml и LaTeX с автоматическим анализом зависимостей. Он легко может создавать проекты по нескольким каталогам, и он находит изменения, основанные на сумме MD5, а не на временной отметке. Он также имеет режим, в котором его можно запускать в фоновом режиме, создавая проект каждый раз, когда файл изменяется. Как правило, для создания общих видов проектов (C / C ++ или OCaml-программ и библиотек) требуется меньше кода, чем make. Я не пробовал это для больших проектов.

Обратите внимание: если вы хотите запрограммировать в OCaml, этот инструмент действительно полезен, поскольку компоновщик OCaml требует, чтобы скомпилированные модули отображались в командной строке в порядке зависимости, и выясняя этот порядок каждый раз, когда что-то меняется, нетривиально.


Мне нравится Скинсон . Он построен таким образом, что каждый скрипт сборки (файл SConstruct ) также является синтаксически действующей программой Python. Таким образом, вы можете создать произвольную логику Python в свой скрипт сборки, если вам нужно.

Это также намного быстрее, чем make и вычисляет многие виды зависимостей автоматически.


Я использовал CMake для большего количества моих проектов, включая портирование некоторых основанных на autotools, и могу сказать, что он делает свою работу очень хорошо. Он в основном подходит для кросс-платформенных проектов C / C ++.


Проект, над которым я работаю, унаследовал некоторый код, который использует Cons вместо Make (не путать с SCons в ответе Грега Хьюглилла).

Cons написаны на Perl, так же как и SCons написано на Python. Он автоматически управляет зависимостями, и вы можете использовать любой код Perl внутри скрипта сборки для обработки сложных последовательностей сборки.

Главный недостаток (и главная причина, по которой я сожалею, что мой проект использует его) заключается в том, что Cons не выполняет параллельные сборки в стиле make -j . Если вы компилируете несколько файлов, которые не зависят друг от друга, Cons будет их компилировать по одному, а make -j будет компилировать их параллельно, что отлично, если на вашем компьютере имеется несколько ядер и потоков.


WAF - интересная альтернатива. Написанный на python, он позволяет вам писать логику сборки на простом Python. Параллельные сборки + полуавтоматическая магия на основе зависимостей отслеживания зависимостей работают достаточно хорошо. Это, предположительно, кросс-платформенный (то есть знает, как делать сборки на Windows), но я этого не пробовал.

У этого есть довольно крутая кривая обучения, но он также поставляется с «Книгой WAF», чтобы помочь в этом процессе.





freebsd