На главную

Shell и скрипты

Makefile для проекта

Makefile для проекта: цели под Node.js, Python, Go или Docker, свои цели, справка по make без аргументов и .PHONY, чтобы файл с именем цели ничего не сломал.

Проект

По строке: «имя: команда # подсказка»

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

Makefile

SHELL := /usr/bin/env bash
.SHELLFLAGS := -eu -o pipefail -c

APP ?= app

.PHONY: help install dev test lint build

.DEFAULT_GOAL := help

help: ## Показать список целей
	@grep -E '^[a-zA-Z_.-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "  \033[36m%-14s\033[0m %s\n", $$1, $$2}'

install: ## Поставить зависимости
	npm ci

dev: ## Запустить в режиме разработки
	npm run dev

test: ## Прогнать тесты
	npm test

lint: ## Проверить линтером
	npm run lint

build: ## Собрать
	npm run build