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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
11
0
5 638
11
Перейти к ответу Данный вопрос помечен как решенный

Ответы 11

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

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

Autotools на самом деле не альтернатива make, потому что в конечном итоге он генерирует файлы GNUMakefiles. Таким образом, вместо загадочного синтаксиса make-файла теперь у вас также есть довольно старомодные сценарии оболочки и макросы m4 в качестве вишенки на торте! Другими словами, теперь у вас проблемы с три.

Roland Smith 29.08.2015 23:01

cmake и я делаю являются утилитами сборки, хотя Imake больше не поддерживается. Cmake также является кроссплатформенным и может использоваться в Windows.

Если вам нравится java, МУРАВЕЙ - это инструмент сборки, ориентированный на Java (который на самом деле не очень хорошо работает с Make).

Технологи троллей создали инструмент под названием qmake, который они используют для создания QT. Он работает путем создания файлов make-файлов - Troll нуждался в инструменте для поддержки кроссплатформенной сборки, поэтому вам все равно нужна другая утилита make.

Trolltech перешел из qmake в cmake, поэтому я бы выбрал последнее, а не первое. CMake генерирует make-файлы столько же, сколько проекты IDE для множества IDE.

David Rodríguez - dribeas 23.12.2008 20:56

@dribeas все правильно, QT и я полагаем, что весь проект KDE был перенесен на CMake.

Bryan Rehbein 24.12.2008 01:05

Я не уверен, почему вы упоминаете cmake и imake в одном предложении ...

JesperE 28.12.2008 21:30

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

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

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

Я слышал хорошие отзывы о Варенье.

Ссылка ведет на Freetype Jam, полученный от Perforce Jam. Также на основе Perforce Jam есть Boost Jam, на который стоит обратить внимание. Я использую Jam более 10 лет; Я тоже рекомендую.

janm 15.02.2010 14:28

Мой первый вопрос: какова аудитория? Это для создания собственного программного обеспечения, которое будет создавать только ваша команда? Если да, изучите некоторые из уже представленных вариантов. Если это что-то, что будут создавать другие, либо придерживайтесь make, либо используйте инструмент, который создает make-файл и отправляет его. Мы используем autoconf и automake для Linux и других платформ unix. На мой взгляд, вам нужна очень веская причина, чтобы заняться чем-то другим, кроме настройки; делать; сделать установку. У Boost есть собственный инструмент (модифицированная версия Jam), и он раздражает меня каждый раз, когда мне нужно попытаться скомпилировать его на необычной машине.

Ответ принят как подходящий

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

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

'Извините? Быстрее чем сделать? На каком древнем оборудовании вы работаете? В прошлый раз я обнаружил, что у SCons серьезные проблемы с производительностью. Кроме того, мне нравятся SCons.

JesperE 28.12.2008 21:29

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

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

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

И, к сожалению, Cons кажется мертвым проектом; в последний раз, когда я смотрел, на нем нет текущих разработок.

JesperE 28.12.2008 21:31

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

Еще одна марка для кроссплатформенных сборок - это kmake (часть kbuild, по его собственным словам: kBuild - это структура make-файлов для написания простых make-файлов для сложных задач.). Это расширенная версия GNU make. Он разработан людьми VirtualBox. Они используют его для создания своего продукта VirtualBox для Windows, Linux, MacOS и Solaris. Довольно портативный!

Подробнее см. http://svn.netlabs.org/kbuild.

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

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

Некоторое время назад мне пришлось заглянуть в waf, чтобы исправить проблему сборки. После просмотра wscript мне пришлось копаться в коде самого waf. Выглядит довольно непифонично. Ради интереса я запустил pep8 в последней версии, и он выдал 6000 ошибок и 25000 предупреждений. Честно говоря, в последний выпуск, который я только что посмотрел, авторы добавили много документации.

Roland Smith 29.08.2015 23:22

Другие вопросы по теме