[!] Makefile make по-русски - как использовать для удобных команд в терминале
Primary tabs
Makefile - это манифест, текстовый файл специального формата, который позволяет, используя утилиту make, удобно работать с различными консольными командами, применяемыми при разработке приложения.
make особенно полезна, когда вам нужно группировать команды (как вашего приложения, так и системные) и/или описывать зависимости между ними, например для задачи "обновить состояние бэкэнда_на_машине_разработчика" (такие задачи еще называют "целями"), можно указать, что она подразумевает консольные команды:
- composer install
- накатываение миграций
- разворот текстовых данных
и чтобы запустить это достаточно будет просто написать в консоли, в той же папке где лежит файл с названием Makefile, команду:
make бэкэнда_на_машине_разработчика
(для названий команд работает подсказка терминала через ТАБ!).
Ниже читайте о структуре описания этих команд.
Общий формат Makefile
В общем виде цели, и команды которые должны быть выполнены для них, с учетом зависимости от других целей, описываются в виде:
названиеMakeЦели1: зависимость1 командаТерминала1 командаТерминала2 названиеMakeЦели2: названиеMakeЦели1 засимость2 командаТерминалаN командаТерминалаM
где:
-
Называния стоящие на месте:
- названиеMakeЦели1
- названиеMakeЦели2
- также называют целями (target), имено эти имена используются для запуска "снаружи", с помощью утилиты make, запуск происходит в формате:
make названиеMakeЦели
-
Команды, которые надо выполнить в терминале при вызове make названиеMakeЦели, перечисляются:
- каждая с новой строки
- для указания надо то что это именно команда для данной цели используется символ ТАБуляции (в примере выше отступ равен 2 таба), например:
названиеMakeЦели2: названиеMakeЦели1 засимость2 командаТерминалаN командаТерминалаM
- После двоеточия указывают другие цели (зависимости) - которые надо выполнить ДО данной мейк-команды (цели), таких зависимостей может и не быть, тогда описание цели выглядит как-то так:
названиеMakeЦели2: командаТерминалаN командаТерминалаM
- Log in to post comments
- 3707 reads