Какой-нибудь хороший инструмент для создания make-файлов?

Я ищу инструмент, который может генерировать make-файл для проекта C / C++ для разных компиляторов (gcc, microsoft vC++, borland и т. д.) И разных платформ (Win, Linux, Mac).

@LightnessRacesinOrbit извините.

Onur A. 13.03.2018 20:56
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
47
1
53 094
10
Перейти к ответу Данный вопрос помечен как решенный

Ответы 10

Вы пробовали Автоматический генератор 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:

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

Недавнее добавление к списку замен make - ваф. По личному опыту, SCONS неплохо справляется со своей задачей.

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

Еще одна мертвая ТАК ссылка! Я вручную зашел на вашу страницу GitHub, и то, что я вижу там, поскольку CodeMate, - это что-то сборное только для Fortran. Вы создали другой проект с таким же названием? Этот похоже, это то, что вы имели в виду.

kirbyfan64sos 06.03.2015 05:52

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