Spaces:
Sleeping
Sleeping
| # TSU-WAVE Makefile | |
| .PHONY: help install dev test clean build docs docker run stop lint format | |
| help: | |
| @echo "TSU-WAVE Makefile" | |
| @echo "" | |
| @echo "Usage: make [target]" | |
| @echo "" | |
| @echo "Targets:" | |
| @echo " install Install production dependencies" | |
| @echo " dev Install development dependencies" | |
| @echo " test Run tests" | |
| @echo " clean Clean build artifacts" | |
| @echo " build Build Python package" | |
| @echo " docs Build documentation" | |
| @echo " docker Build Docker image" | |
| @echo " run Run with Docker Compose" | |
| @echo " stop Stop Docker Compose" | |
| @echo " lint Run linters" | |
| @echo " format Format code with black and isort" | |
| install: | |
| pip install --upgrade pip | |
| pip install -r requirements.txt | |
| @cd src/core && f2py -c nswe_solver.f90 -m nswe_solver || echo "Warning: Fortran compilation failed" | |
| dev: install | |
| pip install -r requirements-dev.txt | |
| pre-commit install | |
| test: | |
| pytest tests/ -v --cov=src/ | |
| test-coverage: | |
| pytest tests/ --cov=src/ --cov-report=html --cov-report=term | |
| clean: | |
| rm -rf build/ | |
| rm -rf dist/ | |
| rm -rf *.egg-info | |
| rm -rf .pytest_cache/ | |
| rm -rf .mypy_cache/ | |
| rm -rf htmlcov/ | |
| rm -rf coverage.xml | |
| rm -rf .coverage | |
| rm -rf docs/_build/ | |
| find . -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true | |
| find . -type f -name "*.pyc" -delete | |
| find . -type f -name "*.so" -delete | |
| find . -type f -name "*.o" -delete | |
| find . -type f -name "*.mod" -delete | |
| build: clean | |
| python -m build | |
| @echo "Package built in dist/" | |
| docs: | |
| cd docs && make html | |
| @echo "Documentation built in docs/_build/html/" | |
| docker: | |
| docker build -t tsu-wave:latest . | |
| docker build -t tsu-wave:$(shell git describe --tags 2>/dev/null || echo "dev") . | |
| docker-compose: | |
| docker-compose up -d | |
| docker-compose-dev: | |
| docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d | |
| run: docker-compose | |
| @echo "TSU-WAVE running at http://localhost:8080" | |
| @echo "API at http://localhost:8000/docs" | |
| stop: | |
| docker-compose down | |
| logs: | |
| docker-compose logs -f | |
| lint: | |
| flake8 src/ tests/ | |
| black --check src/ tests/ | |
| isort --check-only src/ tests/ | |
| mypy src/ | |
| format: | |
| black src/ tests/ | |
| isort src/ tests/ | |
| check: lint test | |
| dist: clean build | |
| @echo "Distribution ready in dist/" | |
| pypi: dist | |
| twine upload dist/* | |
| benchmark: | |
| python scripts/run_benchmarks.py | |
| validate: | |
| python scripts/validate_all_events.py | |
| init-db: | |
| python scripts/setup_database.py | |
| load-data: | |
| python scripts/load_becf_maps.py | |
| python scripts/load_validation_data.py | |
| .PHONY: help install dev test test-coverage clean build docs docker docker-compose docker-compose-dev run stop logs lint format check dist pypi benchmark validate init-db load-data | |