make
10 commands
10 shown
Запустить конкретную цель
Выполнить цель 'build' в текущем Makefile
make build
Сухой прогон (только вывод команд)
Вывести что будет выполнено без фактического запуска
make -n deploy
Передать переменные из командной строки
Переопределить переменные Makefile при вызове
make IMAGE=myapp:v2 TAG=latest push
Параллельные задачи
Запустить до 4 рецептов параллельно
make -j4 test
Список всех целей
Соглашение: ## комментарии делают Makefile самодокументируемым
grep -E '^[a-zA-Z_-]+:.*?##' Makefile | awk -F':.*##' '{printf "%-20s %s\n", $1, $2}'
Принудительная пересборка
Безусловно пересобрать все цели
make -B build
Указать путь к Makefile
Использовать Makefile в другой директории или с другим именем
make -f infra/Makefile plan
Объявление phony целей
Предотвратить путаницу между целями и файлами с тем же именем
.PHONY: build test deploy clean
Автоматическая переменная $@
$@ раскрывается в имя текущей цели внутри рецепта
build:
docker build -t $(IMAGE) . && echo 'Built $@'
Включить дополнительные Makefile
Разбить большой Makefile на модульные включения
include mk/*.mk
no commands match