| # Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE.txt file. |
| |
| # This makefile is just a cheatsheet to remind me of some commonly used |
| # commands. I generally am executing these commands on Ubuntu, or on WindowsXP |
| # with Cygwin binaries at the start of the PATH. |
| |
| NAME=colorama |
| |
| help: ## Display help for documented make targets. |
| @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \ |
| awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-7s\033[0m %s\n", $$1, $$2}' |
| |
| |
| # bootstrap environment |
| |
| virtualenv=~/.virtualenvs/colorama |
| pip=$(virtualenv)/bin/pip |
| syspython=python3 |
| python=$(virtualenv)/bin/python |
| twine=$(virtualenv)/bin/twine |
| |
| clean: ## Remove build artifacts, .pyc files, virtualenv |
| -rm -rf build dist MANIFEST colorama.egg-info $(virtualenv) |
| -find . -type f -name '*.py[co]' -delete -o -type d -name __pycache__ -delete |
| .PHONY: clean |
| |
| $(virtualenv): |
| $(syspython) -m venv --clear $(virtualenv) |
| $(pip) install --upgrade pip |
| |
| venv: $(virtualenv) ## Create or clear a virtualenv |
| .PHONY: venv |
| |
| bootstrap: venv ## Populate the virtualenv |
| $(pip) install -r requirements.txt -r requirements-dev.txt |
| .PHONY: bootstrap |
| |
| |
| # development |
| |
| tags: ## Create tags file |
| ctags -R ${NAME} |
| .PHONY: tags |
| |
| test: ## Run tests |
| $(python) -m unittest discover -p *_test.py |
| .PHONY: test |
| |
| |
| # build packages |
| |
| build: ## Build a release (sdist and wheel) |
| $(python) -m build |
| .PHONY: build |
| |
| test-release: build ## Test a built release |
| ./test-release |
| .PHONY: test-release |
| |
| release: ## Upload a built release |
| $(twine) upload --repository=colorama dist/colorama-* |
| .PHONY: release |