2024-09-10 20:34:37 +02:00
|
|
|
# Define the targets
|
2024-10-06 13:47:16 +02:00
|
|
|
.PHONY: help venv pip install dist test docker-run docs clean
|
2024-09-10 20:34:37 +02:00
|
|
|
|
|
|
|
# Default target
|
|
|
|
all: help
|
|
|
|
|
|
|
|
# Target to display help information
|
|
|
|
help:
|
|
|
|
@echo "Available targets:"
|
2024-09-16 16:10:46 +02:00
|
|
|
@echo " venv - Set up a Python 3 virtual environment."
|
|
|
|
@echo " pip - Install dependencies from requirements.txt."
|
2024-10-08 14:29:45 +02:00
|
|
|
@echo " pip-dev - Install dependencies from requirements-dev.txt."
|
2024-10-06 13:47:16 +02:00
|
|
|
@echo " install - Install EOS in editable form (development mode) into virtual environment."
|
2024-09-16 16:10:46 +02:00
|
|
|
@echo " docker-run - Run entire setup on docker
|
2024-10-10 08:33:21 +02:00
|
|
|
@echo " docs - Generate HTML documentation (in build/docs/html/)."
|
2024-10-06 13:47:16 +02:00
|
|
|
@echo " run - Run flask_server in the virtual environment (needs install before)."
|
|
|
|
@echo " dist - Create distribution (in dist/)."
|
|
|
|
@echo " clean - Remove generated documentation, distribution and virtual environment."
|
2024-09-10 20:34:37 +02:00
|
|
|
|
|
|
|
# Target to set up a Python 3 virtual environment
|
|
|
|
venv:
|
|
|
|
python3 -m venv .venv
|
|
|
|
@echo "Virtual environment created in '.venv'. Activate it using 'source .venv/bin/activate'."
|
|
|
|
|
|
|
|
# Target to install dependencies from requirements.txt
|
|
|
|
pip: venv
|
2024-10-06 13:47:16 +02:00
|
|
|
.venv/bin/pip install --upgrade pip
|
2024-09-10 20:34:37 +02:00
|
|
|
.venv/bin/pip install -r requirements.txt
|
|
|
|
@echo "Dependencies installed from requirements.txt."
|
|
|
|
|
2024-10-08 14:29:45 +02:00
|
|
|
# Target to install dependencies from requirements.txt
|
|
|
|
pip-dev: pip
|
|
|
|
.venv/bin/pip install -r requirements-dev.txt
|
|
|
|
@echo "Dependencies installed from requirements-dev.txt."
|
|
|
|
|
2024-10-06 13:47:16 +02:00
|
|
|
# Target to install EOS in editable form (development mode) into virtual environment.
|
|
|
|
install: pip
|
|
|
|
.venv/bin/pip install build
|
|
|
|
.venv/bin/pip install -e .
|
|
|
|
@echo "EOS installed in editable form (development mode)."
|
|
|
|
|
|
|
|
# Target to create a distribution.
|
|
|
|
dist: pip
|
|
|
|
.venv/bin/pip install build
|
|
|
|
.venv/bin/python -m build --wheel
|
|
|
|
@echo "Distribution created (see dist/)."
|
|
|
|
|
2024-09-10 20:34:37 +02:00
|
|
|
# Target to generate HTML documentation
|
2024-10-10 08:33:21 +02:00
|
|
|
docs: pip-dev
|
|
|
|
.venv/bin/sphinx-build -M html docs build/docs
|
|
|
|
@echo "Documentation generated to build/docs/html/."
|
2024-09-10 20:34:37 +02:00
|
|
|
|
2024-10-06 13:47:16 +02:00
|
|
|
# Clean target to remove generated documentation, distribution and virtual environment
|
2024-09-10 20:34:37 +02:00
|
|
|
clean:
|
2024-10-06 13:47:16 +02:00
|
|
|
@echo "Cleaning virtual env, distribution and documentation directories"
|
|
|
|
rm -rf dist
|
2024-09-10 20:34:37 +02:00
|
|
|
rm -rf .venv
|
|
|
|
|
|
|
|
run:
|
|
|
|
@echo "Starting flask server, please wait..."
|
2024-10-06 13:47:16 +02:00
|
|
|
.venv/bin/python -m akkudoktoreosserver.flask_server
|
2024-09-16 11:48:20 +02:00
|
|
|
|
2024-10-08 14:29:45 +02:00
|
|
|
# Target to setup tests.
|
|
|
|
test-setup: pip-dev
|
|
|
|
@echo "Setup tests"
|
|
|
|
|
2024-10-06 12:33:18 +02:00
|
|
|
# Target to run tests.
|
|
|
|
test:
|
|
|
|
@echo "Running tests..."
|
|
|
|
.venv/bin/pytest
|
|
|
|
|
2024-09-16 11:48:20 +02:00
|
|
|
# Run entire setup on docker
|
|
|
|
docker-run:
|
2024-09-16 16:13:13 +02:00
|
|
|
@docker compose up
|