aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorGertjan van den Burg <gertjanvandenburg@gmail.com>2019-10-24 14:02:36 +0100
committerGertjan van den Burg <gertjanvandenburg@gmail.com>2019-10-24 14:02:36 +0100
commit83df50f47426cefb71c2f4fde161c8fad934dba3 (patch)
tree904bbc056ae2f4ac8a11fee0c4255ed23aa7295c /Makefile
parentMove tests to separate directory (diff)
downloadpaper2remarkable-83df50f47426cefb71c2f4fde161c8fad934dba3.tar.gz
paper2remarkable-83df50f47426cefb71c2f4fde161c8fad934dba3.zip
[wip] First commit of new code structure
Not fully functional yet probably
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile62
1 files changed, 62 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..ed2d040
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,62 @@
+# 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 -v ./tests/test_unit
+
+
+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 -q -e .[dev]
+ touch $(VENV_DIR)/bin/activate