aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile39
1 files changed, 39 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..1ac7e19
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,39 @@
+VIRTUALENV = virtualenv --python=python3
+SPHINX_BUILDDIR = docs/_build
+VENV := $(shell echo $${VIRTUAL_ENV-.venv})
+PYTHON = $(VENV)/bin/python3
+DEV_STAMP = $(VENV)/.dev_env_installed.stamp
+DOC_STAMP = $(VENV)/.doc_env_installed.stamp
+INSTALL_STAMP = $(VENV)/.install.stamp
+TEMPDIR := $(shell mktemp -d)
+
+all: install
+install: $(INSTALL_STAMP)
+$(INSTALL_STAMP):
+ $(VENV)/bin/pip install -U pip
+ $(VENV)/bin/pip install -r requirements.txt
+ touch $(INSTALL_STAMP)
+
+virtualenv: $(PYTHON)
+$(PYTHON):
+ $(VIRTUALENV) $(VENV)
+
+install-dev: $(INSTALL_STAMP) $(DEV_STAMP)
+$(DEV_STAMP): $(PYTHON) dev-requirements.txt
+ $(VENV)/bin/pip install -Ur dev-requirements.txt
+ touch $(DEV_STAMP)
+
+serve: $(INSTALL_STAMP)
+ cd budget; ../$(PYTHON) run.py
+
+test: $(DEV_STAMP)
+ $(VENV)/bin/tox
+
+release: $(DEV_STAMP)
+ $(VENV)/bin/fullrelease
+
+build-requirements:
+ $(VIRTUALENV) $(TEMPDIR)
+ $(TEMPDIR)/bin/pip install -U pip
+ $(TEMPDIR)/bin/pip install -Ue "."
+ $(TEMPDIR)/bin/pip freeze | grep -v -- '-e' > requirements.txt