Другое

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.

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

Какие языки программирования востребованы в США в 2021 году?
Другое

Какие языки программирования востребованы в США в 2021 году?

Повышаем конкурентоспособность на рынке труда: эффективные способы
Другое

Повышаем конкурентоспособность на рынке труда: эффективные способы

Что такое Блинк программа, на каких устройствах можно запускать Blynk сервер
Другое

Что такое Блинк программа, на каких устройствах можно запускать Blynk сервер

Virtual Link: определение, назначение, преимущества и недостатки
Другое

Virtual Link: определение, назначение, преимущества и недостатки