define run_migrations ## run migrations @ . ./venv/bin/activate && python manage.py makemigrations @ . ./venv/bin/activate && python manage.py migrate endef define unimplemented @echo "ERROR: Unimplemented!" && echo -1. endef default: ## Run app $(call run_migrations) . ./venv/bin/activate && yes yes | python manage.py collectstatic . ./venv/bin/activate && python manage.py runserver coverage: ## Generate test coverage report . ./venv/bin/activate && coverage run manage.py test . ./venv/bin/activate && coverage report -m . ./venv/bin/activate && coverage html doc: ## Generates documentation $(call unimplemented) docker: ## Build Docker image from source $(call unimplemented) env: ## Install all dependencies @-virtualenv venv . ./venv/bin/activate && pip install -r requirements.txt . ./venv/bin/activate && ./integration/ci.sh init . ./venv/bin/activate && yes yes | python manage.py collectstatic freeze: ## Freeze python dependencies @. ./venv/bin/activate && pip freeze > requirements.txt help: ## Prints help for targets with comments @cat $(MAKEFILE_LIST) | grep -E '^[a-zA-Z_-]+:.*?## .*$$' | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' integration-test: ## run integration tests . ./venv/bin/activate && integration/tests.sh lint: ## Run linter @./venv/bin/black dashboard accounts dash support billing infrastructure integration migrate: ## Run migrations $(call run_migrations) test: ## Run tests @. ./venv/bin/activate && python manage.py test --parallel