From b9665d426a8af2e685ff78c7980037f9bfa2e0c8 Mon Sep 17 00:00:00 2001 From: Gertjan van den Burg Date: Thu, 14 Jan 2021 17:11:38 +0000 Subject: Move everything to a separate python directory I'm rearranging the repo so that everything is on master and can be tested more easily. --- new_python/Makefile | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 new_python/Makefile (limited to 'new_python/Makefile') diff --git a/new_python/Makefile b/new_python/Makefile new file mode 100644 index 0000000..64d2bbe --- /dev/null +++ b/new_python/Makefile @@ -0,0 +1,87 @@ +# +# Makefile for easier installation and cleanup +# +# Uses self-documenting macros from here: +# http://marmelab.com/blog/2016/02/29/auto-documented-makefile.html +# + +SHELL := bash +.SHELLFLAGS := -eu -o pipefail -c +MAKEFLAGS += --no-builtin-rules + +PACKAGE=SyncRNG +VENV_DIR=/tmp/sync_venv/ + +.PHONY: help + +.DEFAULT_GOAL := help + +help: + @grep -E '^[0-9a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) |\ + awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-15s\033[0m\ + %s\n", $$1, $$2}' + +################ +# Installation # +################ + +.PHONY: inplace install + +inplace: + python setup.py build_ext --inplace + +install: ## Install for the current user using the default python command + python setup.py build_ext --inplace && \ + python setup.py install --user + +################ +# Distribution # +################ + +.PHONY: release dist + +release: ## Make a release + python make_release.py + +dist: ## Make Python source distribution + python setup.py sdist + + +########### +# Testing # +########### + +.PHONY: test + +test: venv ## Run nosetests using the default nosetests command + source $(VENV_DIR)/bin/activate && green -a -vv ./tests + +####################### +# Virtual environment # +####################### + +.PHONY: venv + +venv: $(VENV_DIR)/bin/activate + +$(VENV_DIR)/bin/activate: + test -d $(VENV_DIR) || python -m venv $(VENV_DIR) + source $(VENV_DIR)/bin/activate && pip install -e .[dev] + touch $(VENV_DIR)/bin/activate + + +############ +# Clean up # +############ + +.PHONY: clean + +clean: ## Clean build dist and egg directories left after install + rm -rf ./dist ./build ./$(PACKAGE).egg-info + rm -rf ./build + rm -rf ./$(PACKAGE).egg-info + rm -rf *.so + rm -f MANIFEST + rm -f .coverage + find . -type f -iname '*.pyc' -delete + find . -type d -name '__pycache__' -empty -delete -- cgit v1.2.3 From 71c6abe07b39b887c8981698fced8141624ce2a3 Mon Sep 17 00:00:00 2001 From: Gertjan van den Burg Date: Thu, 14 Jan 2021 17:11:58 +0000 Subject: clean up venv_dir on make clean --- new_python/Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'new_python/Makefile') diff --git a/new_python/Makefile b/new_python/Makefile index 64d2bbe..940a07b 100644 --- a/new_python/Makefile +++ b/new_python/Makefile @@ -77,6 +77,7 @@ $(VENV_DIR)/bin/activate: .PHONY: clean clean: ## Clean build dist and egg directories left after install + rm -rf $(VENV_DIR) rm -rf ./dist ./build ./$(PACKAGE).egg-info rm -rf ./build rm -rf ./$(PACKAGE).egg-info -- cgit v1.2.3