aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorGertjan van den Burg <gertjanvandenburg@gmail.com>2019-10-25 11:40:05 +0100
committerGitHub <noreply@github.com>2019-10-25 11:40:05 +0100
commit8ca58a5a7a3e7ca846c2e5ad8ccf354f1f3f1594 (patch)
tree2639307f4198185de38f40621de8930bc9f6a01b /Makefile
parentBump version (diff)
parentupdate dockerfile (diff)
downloadpaper2remarkable-8ca58a5a7a3e7ca846c2e5ad8ccf354f1f3f1594.tar.gz
paper2remarkable-8ca58a5a7a3e7ca846c2e5ad8ccf354f1f3f1594.zip
Merge pull request #14 from GjjvdBurg/refactorv0.4.0
Refactor to package
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile60
1 files changed, 60 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..2a656d4
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,60 @@
+# Makefile for easier installation and cleanup.
+#
+# Uses self-documenting macros from here:
+# http://marmelab.com/blog/2016/02/29/auto-documented-makefile.html
+
+PACKAGE=paper2remarkable
+DOC_DIR='./docs/'
+VENV_DIR=/tmp/p2r_venv/
+
+.PHONY: help cover dist
+
+.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}'
+
+release: ## Make a release
+ python make_release.py
+
+
+install: ## Install for the current user using the default python command
+ python setup.py build_ext --inplace
+ python setup.py install --user
+
+
+test: venv ## Run unit tests
+ source $(VENV_DIR)/bin/activate && green -f -vv -a ./tests
+
+
+clean: ## Clean build dist and egg directories left after install
+ rm -rf ./dist
+ rm -rf ./build
+ rm -rf ./$(PACKAGE).egg-info
+ rm -rf $(VENV_DIR)
+ rm -f MANIFEST
+ find . -type f -iname '*.pyc' -delete
+ find . -type d -name '__pycache__' -empty -delete
+
+dist: ## Make Python source distribution
+ python setup.py sdist
+ python setup.py bdist_wheel --universal
+
+docs: doc
+doc: install ## Build documentation with Sphinx
+ m2r README.md && mv README.rst $(DOC_DIR)
+ m2r CHANGELOG.md && mv CHANGELOG.rst $(DOC_DIR)
+ cd $(DOC_DIR) && \
+ rm source/* && \
+ sphinx-apidoc -H 'CleverCSV API Documentation' -o source ../$(PACKAGE) && \
+ touch source/AUTOGENERATED
+ $(MAKE) -C $(DOC_DIR) html
+
+venv: $(VENV_DIR)/bin/activate
+
+$(VENV_DIR)/bin/activate:
+ test -d $(VENV_DIR) || virtualenv $(VENV_DIR)
+ source $(VENV_DIR)/bin/activate && pip install -e .[dev]
+ touch $(VENV_DIR)/bin/activate