Just make it!

Автоматизировать процесс создания программного проекта любой сложности возможно с помощью утилиты make.

Утилита make является средством автоматизации общего назначения. Это значит, что с её помощью возможно автоматизировать проекты различной тематики, а не только проекты непосредственно связанные с компиляцией исходного кода.

Здесь, в качестве примера, можно упамянуть этот блог.

Makefiles

Для работы утилиты make требуется специальный файл с предопределённым именем Makefile. Этот файл называют базой данных, в том смысле, что он содержит описание правил необходимых для создания целей проекта. База данных является простым текстовым файлом.

Make Rules and Targets

Основным элементом базы данных являются правила.

Простое правило (или rule) может быть записано в следующей форме:

target: dependence
    command

Элементами правила являются:

  • target - цель;
  • dependence - зависимость;
  • command - команда.

Целью может быть имя файла будующей программы или любого другого файла, создание которого подлежит автоматизации.

Зависимость - это файл исходного кода программы или любой другой файл, который используется в качестве исходного, для создания цели.

Команда содержит инструкцию командной строки для создания целевого файла. Содержание команды должно быть согласовано с соответствующими целью и зависимостью. Текст команды от начала строки должен отделять символ табуляции \t.

Запуск make

Если Makefile уже создан, то достаточно, просто, выполнить команду make в дирректории, содержащей этот файл.

Утилита make проанализирует содержимое файла бызы данных и выполнит первое найденное правило, а также, все зависимые правила, если в этом будет необходимость.

В крупных проектах, писать Makefile руками, бывает, не всегда оправдано. В этом случае, прибегают к кодогенерации.