2008-08-13 18 views

ответ

34

Другие предложения, которые вы можете рассмотреть:

  • Scons является кросс-платформенный, кросс-компилятор библиотеки сборки, использует Python scruipting для системы сборки. Используется в различных крупных проектах и ​​работает очень хорошо.

  • Если вы используете Qt, QMake - это хорошая система сборки.

  • CMake также очень милый.

  • Наконец, If all else fails...

8

Вы попробовали Automatic Makefile Generator?

Он поддерживает для следующих компиляторов:

Borland 3.1 
Borland 5.0 
Borland 5.0, 16 bit 
Borland 5.5 
Borland 5.6 
Borland 5.8 
CC 
Gnu g++ 
Gnu g++, dynamic library 
Intel 5, 6, 7 for Linux 
Intel 5, 6, 7 for Linux, dynamic library 
Intel 5, 6, 7 for windows 
Intel 8,9,10 for Linux 
Intel 8,9,10 for Linux, dynamic library 
Intel 8,9 for windows 
Intel 10 for windows 
Visual C++ 5 
Visual C++ 6, 7, 7.1 
Visual C++ 8 
Open Watcom 
Watcom 10A 
Watcom 10A, 16 bit 
1

Я также второй CMake. Я использую его довольно долго в многоплатформенном проекте, и я очень доволен этим.

0

Одна из проблем, которую следует учитывать, - это создать создателя «makefile» или систему смены сборки? Проблема с системами сменных систем сборки заключается в том, что вы обычно не получаете хорошей интеграции IDE для платформ, чьи пользователи ожидают этого (Visual C++). Если вам нужен создатель make-файла вместо системы сменных сборщиков, взгляните на MPC. Это бесплатно и с открытым исходным кодом.

4

Я использовал Bakefile раньше с некоторым успехом. Это довольно просто и, кажется, хорошо работает.

2

Автоматическая генерация (M | m) akefiles заставляет меня беспокоиться о том, что вы пытаетесь сделать здесь.

Вы понимаете, что происходит под крышками, когда вы печатаете марку? Или gmake? Я только спрашиваю, потому что если вы не делаете, когда что-то ломается, например, новые изменения кода не включаются в сборку, у вас возникнут трудности с попыткой работать, что произошло.

Чтобы начать понимать, могу ли я предложить прочитать «Managing Projects with GNU Make» Роберта Мекленберга. В первых главах рассказывается, как работает make. Получение вашего услышанного вокруг факта, что make - это обратная цепочка, - одна из самых больших вещей, которые вы можете сделать.

Если вы этого не сделаете, и ваша система работает, то вы будете использовать термин «Прагматичные программисты», «programming by coincidence». (-:..

BTW Большие статьи доступны на их сайте и я не связан с ними YMMV Яда-болтовня ...

4

CMake является единственным инструментом, который может реально генерировать реальные проекты Visual Studio (т.е. не «Makefile» -проекты, которые вызывают внешний инструмент), и который автоматически воссоздает проекты при изменении входного файла сборки (CMakeLists.txt).

Проблемы с производительностью SCons являются хорошо известными и обсужденными темами в списках рассылки SCons.

3

Я голосовал бы за OMake. Он исправляет все жалобы, которые у меня были с GNU make:

  • это полномасштабный язык.
  • использует MD5 вместо временных меток.
  • предлагает минимальную оболочку, которая реализует самые полезные команды unix на всех платформах: find, sed, awk и т. Д.
  • работает с любыми путями типа unix или dos.
  • подробно задокументирован.
  • поддерживает параллельные сборки.
  • быстрый.
0

Недавнее дополнение к списку запасных частей для замены составляет waf. Из личного опыта SCONS делает работу очень хорошо.

0

Я не знаю, есть ли у вас интерес к этому вопросу. Я работаю над аналогичной проекцией автогенератора Makefile под названием CodeMate, разработанной с использованием Ruby. Возможно, сейчас это не так зрело для большого приложения, но я буду продолжать работать над этим, чтобы сделать его лучше. Пользователям не нужно редактировать какой-либо файл конфигурации для создания программного обеспечения или, по крайней мере, это должно быть. Кривая обучения должна быть минимизирована.

+1

Еще одна мертвая ссылка SO! Я вручную перешел на вашу страницу GitHub, и то, что я вижу там, как CodeMate, - это нечто вроде Fortran. Вы создали другой проект с тем же именем? [Это] (https://github.com/shepherddog/CodeMate) выглядит так, как будто вы это понимаете. – refi64 2015-03-06 02:52:19