Я ищу инструмент, который может генерировать make-файл для проекта C / C++ для разных компиляторов (gcc, microsoft vC++, borland и т. д.) И разных платформ (Win, Linux, Mac).
Вы пробовали Автоматический генератор Makefile?
Он поддерживает следующие компиляторы:
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
Другие предложения, которые вы можете рассмотреть:
Бра - это кроссплатформенная библиотека сборки с кросс-компилятором, использующая скрапирование Python для систем сборки. Используется во множестве крупных проектов и очень хорошо работает.
Если вы используете Qt, QMake - тоже хорошая система сборки.
CMake тоже довольно милый.
Наконец, Если все остальное терпит неудачу...
Я также второй CMake. Я довольно давно использую его в многоплатформенном проекте и очень им доволен.
Один вопрос, который следует рассмотреть: хотите ли вы создателя "make-файла" или замену системы сборки? Проблема с заменяющими системами сборки заключается в том, что вы обычно не получаете хорошей интеграции IDE для платформ, пользователи которых этого ожидают (Visual C++). Если вам нужен создатель make-файла вместо замены системы сборки, взгляните на ПДК. Это бесплатно и с открытым исходным кодом.
Раньше я успешно использовал Bakefile. Это довольно просто и, кажется, работает хорошо.
Автоматическая генерация (M | m) akefiles заставляет меня беспокоиться о том, что вы здесь пытаетесь сделать.
Вы понимаете, что происходит под обложкой, когда вы печатаете make? Или gmake? Я спрашиваю только потому, что если вы этого не сделаете, когда что-то сломается, например, когда новые изменения кода не будут включены в сборку, вам будет сложно разобраться в том, что произошло.
Чтобы начать понимать make, могу я предложить прочитать "Управление проектами с помощью GNU Make" Роберта Мекленберга. В первых главах рассказывается, как работает программа make. Услышать, что make - это обратная цепочка, - одна из самых важных вещей, которые вы можете сделать.
Если вы этого не сделаете, и ваша система, кажется, работает, тогда вы будете, используя термин прагматичных программистов, «программирование по совпадению». (-:
Кстати, отличные статьи доступны на их сайте! И я не связан с ними. YMMV. Яда-яда ...
CMake - единственный инструмент, который может фактически создавать реальные проекты Visual Studio (т.е. не проекты «Makefile», которые обращаются к внешнему инструменту), и который автоматически воссоздает проекты при изменении входного файла сборки (CMakeLists.txt).
Проблемы производительности SCons хорошо известны и активно обсуждаются в списках рассылки SCons.
Я бы проголосовал за OMake. Он устраняет все мои жалобы на GNU make:
Недавнее добавление к списку замен make - ваф. По личному опыту, SCONS неплохо справляется со своей задачей.
Не знаю, интересует ли вас этот вопрос больше. Я работаю над аналогичной проекцией автогенератора Makefile под названием CodeMate, разработанной с использованием Ruby. Возможно, сейчас он еще не настолько зрел для большого приложения, но я буду продолжать работать над ним, чтобы сделать его лучше. Пользователям не нужно редактировать какой-либо файл конфигурации для сборки программного обеспечения, или, по крайней мере, так должно быть. Кривая обучения должна быть сведена к минимуму.
Еще одна мертвая ТАК ссылка! Я вручную зашел на вашу страницу GitHub, и то, что я вижу там, поскольку CodeMate, - это что-то сборное только для Fortran. Вы создали другой проект с таким же названием? Этот похоже, это то, что вы имели в виду.
@LightnessRacesinOrbit извините.