Files

28 lines
1.1 KiB
Makefile

VENV := .venv
PYTHON := $(VENV)/bin/python
.DEFAULT_GOAL := help
.PHONY: help install run test check clean
help: ## Показать доступные команды
@awk 'BEGIN {FS = ":.*##"} /^[a-zA-Z_-]+:.*##/ {printf "%-12s %s\n", $$1, $$2}' $(MAKEFILE_LIST)
$(PYTHON): requirements.txt
python3 -m venv $(VENV)
$(PYTHON) -m pip install --upgrade pip
$(PYTHON) -m pip install -r requirements.txt
install: $(PYTHON) ## Создать виртуальную среду и установить зависимости
run: $(PYTHON) ## Запустить интерактивное меню приложения
$(PYTHON) photo_sort.py
test: $(PYTHON) ## Запустить автоматические тесты
$(PYTHON) -m unittest -v test_photo_sort.py
check: test ## Проверить проект (сейчас: тесты)
clean: ## Удалить временные Python-файлы и кэши тестов
rm -rf __pycache__ .pytest_cache .mypy_cache .ruff_cache .coverage htmlcov
find . -maxdepth 1 -type f \( -name '*.pyc' -o -name '*.pyo' \) -delete