Что такое инструменты генерации файлов Makefile?

В настоящее время я использую разработанный вручную Makefile для моего проекта, и я никогда раньше не использовал генераторы Makefile. Обратите внимание, что в настоящее время я имею более 70 исходных файлов (C ++, Python и MATLAB вместе взятые). Файл Makefile в основном используется для компиляции файлов C ++ и буферов протокола (.proto). Я знаю, что мой проект растет, чтобы иметь все больше и больше файлов. В настоящее время они все в одном директоре. Но мне может потребоваться несколько каталогов. Я боюсь, что сохранение Makefile становится все труднее и труднее.

Раньше я видел automake/autoconf, и я вижу CMake все больше и больше. Каковы варианты? Разрабатываются ли они крупными проектами? Какой из них предпочтительнее? Каковы плюсы и минусы каждого? Каковы другие хорошие варианты?

Я вижу, что automake не указан в любом хорошем инструменте для создания make-файла? , Это устарело?

1
nl ja de
Прежде чем кто-нибудь сможет ответить на это, это поможет узнать, чего вы надеетесь достичь, и что не работает с планами make-файлов сегодня. Вы пытаетесь скомпилировать несколько целей? Или ваша среда сборки достаточно сложна, так что существующий Makefile выходит из-под контроля?
добавлено автор selbie, источник
Пожалуйста, также сообщите нам, что вам нужно > .
добавлено автор Mark Garcia, источник
Спасибо и хорошо сделано. Представление ваших требований и текущих ограничений в значительной степени ограничит ответы на то, что вам действительно нужно .
добавлено автор Mark Garcia, источник
@MarkGarcia: Я только что обновил вопрос.
добавлено автор Mohammad Moghimi, источник
@ g-makulik Вот почему я неохотно изучаю CMake. Я не нашел хорошо цитируемый учебник для CMake.
добавлено автор Mohammad Moghimi, источник
Насколько велик ваш проект и насколько он переносится? Использование g ++ -M для генерации зависимостей может быть весьма полезным, и если у вас нет большого количества файлов в проекте, возможно, проще использовать созданный вручную [или простой скрипт/пакетный файл] чем изучать и отлаживать сценарии CMake или automake.
добавлено автор Mats Petersson, источник
'Я вижу, что automake не указан ни в каком хорошем инструменте для создания make-файла ?. Это устарело? » Да, так или иначе! Я уверен, что вы можете достичь тех же возможностей, которые предоставляет CMake, но это сложно скомпрометировать. Кривая обучения довольно крутая.
добавлено автор πάντα ῥεῖ, источник
@MohammadMoghimi Я думаю, вы неправильно поняли, я хотел сказать, что autoconf имеет крутую кривую обучения. Что касается учебников по использованию CMake, я в порядке с этот и последняя ссылка
добавлено автор πάντα ῥεῖ, источник

1 ответы

Первое, что приходит на ум, - это

То, что лучше подходит, может зависеть от ваших конкретных потребностей. CMake покрывает широкий набор функций от устанавливаемых в автоматическом режиме пакетов до модульных тестов, и гораздо легче понять, чем инструменты autoconf IMHO.

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

5
добавлено
pro.cxx
pro.cxx
3 049 участник(ов)

C/C++ chat 0. Простые вопросы, лабы и о IDE — в чат новичков @supapro 1. Не хамим, не переходим на личности, не вбрасываем утверждения без доказательств 2. No Ads, offtop, flood Объявления о вакансиях и евенты - в лс @AlexFails https://t.me/ProCxx/259155

supapro.cxx
supapro.cxx
1 925 участник(ов)

Чат для тех, кто немного знает C++, простые вопросы по реализации, синтаксису и ide – сюда, а для другого есть: /Главный чат по серьезным вопросам — @ProCxx /Чат по обсуждению всего — @fludpac

C++ Russia
C++ Russia
384 участник(ов)

Сообщество разработчиков C++ в Telegram.

cxx.Дискуссионная
cxx.Дискуссионная
298 участник(ов)

это не двач, общайтесь вежливо; разговор на почти любые темы; Не согласны с баном? В лс @AlexFails, @ivario

C++ для маленьких и тупых
C++ для маленьких и тупых
105 участник(ов)

Лоу левел (по среднему IQ участников) чатик ExtremeCode @extremecode Флудилка @extremecode_rest