28 lines
1.1 KiB
Makefile
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
|