Другое

Makefile: что это, как запустить Makefile на Linux и на Windows

Lorem ipsum dolor

Makefile — это файл утилиты «make», который сохраняется вместе с кодом в репозитории. Makefile помещают в корень проекта, работает он в двух направлениях:

  • как программный код,

  • как документация к проекту.

Сам по себе файл Makefile представляет собой набор структурированных программных команд, которые запускает утилита «make». 

Makefile и утилита «make» представляют собой единый инструмент, который объединяет различные программные команды в одном месте и обеспечивает самодокументирование программы. То есть вы пишите программный код, а он самостоятельно вписывается в файл Makefile в виде уникальной структуры.

Makefile и «make» обязательно нужно использовать в больших проектах, когда программирование ведется в нескольких репозиториях и большим количеством разработчиков. В таких проектах работа ведется в запутанном ритме. Сначала одни программисты работают над репозиторием, потом другие. Потом приходят третьи молодые программисты, пытаются разобраться, что вообще происходит в коде, и не могут, потому что предыдущие профессионалы писали в своем стиле, применяя собственный подход и понимание происходящего. Новичку бывает трудно разобрать запутанный код, потому что никто уже и не помнит, кто и что там писал. Чтобы не было подобных ситуаций, придумали Makefile и утилиту «make». Они все структурируют и облегчают восприятие чужого кода.

Make и Makefile — что это?

Makefile и утилита «make» были придуманы для того, чтобы автоматизировать сборку программ и библиотек из программного кода. Такой функционал оказался востребованным среди программистов, поэтому «эта парочка» быстро обрела популярность. Программисты смекнули, что использовать Makefile можно не только для сборки библиотек, но и в других программах. Главное, за что ценят утилиту «make», — это автоматизация сборки. На сегодняшний день использовать Makefile в большом проекте — это стандарт среди разработчиков любых уровней.

Фактически утилита «make» нужна только для того, чтобы запустить файл Makefile, а точнее, «цели», прописанные в этом файле. Шаблон Makefile выглядит таким образом:

#Makefile

Цель№1: <наименование цели>

   команда№1 #<описывается команда, которая должна выполниться>

   команда№2 #<описывается команда, которая должна выполниться>

 

Важные замечания по шаблону Makefile:

  • когда задаете имя цели, можно использовать дефис «-» и подчеркивание «_»;

  • список команд будет выполняться в порядке очередности, но каждая следующая команда активируется только в том случае, если предыдущая выполнилась без ошибок;

  • команды разделяются между собой табуляцией — это важно;

  • после того как закончилось описание одной цели, нужно оставить пустую строку, так как пустая строка отделяет одну цель от другой.

Поэтому формирование Makefile в собственном проекте — это ответственное дело. Нужно корректно разделить команды на цели и задать им понятные имена, чтобы потом было легче понять, что за цель была описана. То есть из Makefile не нужно делать «свалку кода» нужно изначально придерживаться строгой и понятной структуры. Таким образом, Makefile будет служить для того, для чего был задуман.

Как запустить Makefile

Если Makefile уже сформирован в программе, тогда запустить его достаточно просто. Главное, чтобы утилита «make» была инсталлирована на вашем устройстве. Обычно она инсталлирована по умолчанию. 

Чтобы запустить «make» в Linux, нужно в терминале ввести команду:

     $ make

После запуска утилита «make» найдет файл Makefile и выполнит первую цель, которая в нем записана. Также при запуске можно указать цель, которую нужно активировать. Например:

     $ make <имя цели>

Если нужно, тогда можно указать несколько целей в одном Makefile, которые нужно активировать.

В Windows также можно запустить файл Makefile. Для этого нужно открыть Visual Studio и перейти в нем в каталог, который содержит файл Makefile. Потом нужно ввести команду:

nmake -f Makefile.win

 

Заключение

Сегодня мы определили, что такое Makefile. По сути, это файл, который помогает собирать и структурировать большие программы. Он используется совместно с утилитой «make», которая на большинстве устройств предустановлена. Именно при помощи этой утилиты и командной строки можно запустить Makefile. В следующих статьях мы обсудим, как создать и редактировать уже созданный Makefile.

Схожие статьи

Установка и настройка GLPI на CentOS 7, особенности настройки
Другое

Установка и настройка GLPI на CentOS 7, особенности настройки

Лучшие программы для тренировки скорости печати на клавиатуре
Другое

Лучшие программы для тренировки скорости печати на клавиатуре

Все возможности Facebook для разработчиков
Другое

Все возможности Facebook для разработчиков

Синхронная и асинхронная передача данных: терминология и отличия
Другое

Синхронная и асинхронная передача данных: терминология и отличия

×