00. Введение в make

Make- основные сведения

make — утилита предназначенная для автоматизации преобразования файлов из одной формы в другую.
Используется в Linux и является встроенной системой сборки.
Для описания файлов и правил преобразования используется файл/скрипт makefile.

 

На самом деле в linux makefile может собираться при помощи целой группы утилит (Autotools)

На их выходе получаются скрипт configure и makefile

Запустив makefile мы можем получить объектные файлы и после линковки исполняемые файлы (физически это можно делать «в 1 цели»)

Как создается исполняемый файл (упрощенно)
Исполняемый файл генерируется из объектных файлов, а объектные файлы генерируются из исходников с помощью компилятора (транслятора)

В виде схемы это можно представить так:
{исходные файлы} -> [компиляция] -> {объектные файлы}-> [линковка] -> {исполнимые файлы}

Также можно создавать makefile для отдельных частей проекта (т.е. реализуется некоторая модульность ПО) и эти makefile включать в состав «главного» makefile.


Минус
ы make
– проверка по всем форматам (см. встроенные правила)
 многократная проверка при перерестных make файлах
т.е. если
makefile A1 зависит от B1 а он зависит от C
и
makefile A2 зависит от B2 а он зависит от C

то будет каждый раз проверятся все в makefile C

-make НЕ кроплатформенный, но на его основе рабоает CMake (если точнее, то CMake в зависимости от платформы вызывает ту или иную систему сборки) + имеет некоторые надстройки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *