-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
39 lines (31 loc) · 985 Bytes
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# SHELL:=/bin/bash
.DEFAULT_GOAL:=help
export ROOTDIR:=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
# activate the virtualenv
export VIRTUAL_ENV := $(ROOTDIR)/venv
export PATH :=$(ROOTDIR)/venv/bin:$(PATH)
## Print this help
help:
@awk -v skip=1 \
'/^##/ { sub(/^[#[:blank:]]*/, "", $$0); doc_h=$$0; doc=""; skip=0; next } \
skip { next } \
/^#/ { doc=doc "\n" substr($$0, 2); next } \
/:/ { sub(/:.*/, "", $$0); printf "\033[1m%-30s\033[0m\033[1m%s\033[0m %s\n\n", $$0, doc_h, doc; skip=1 }' \
$(MAKEFILE_LIST)
## Install all dependencies
# Usage:
# make deps
deps: deps-python
#/ activates virenv and installs deps
deps-python:
@cd "$(ROOTDIR)"
@if [ ! -d $(VIRTUAL_ENV)/bin ] ; \
then \
python3 -m venv "$(VIRTUAL_ENV)" ;\
fi
. $(VIRTUAL_ENV)/bin/activate ; \
$(VIRTUAL_ENV)/bin/pip3 install -q --upgrade pip ; \
$(VIRTUAL_ENV)/bin/pip3 install -q -r $(ROOTDIR)/requirements.txt
#? clean up venv
clean:
rm -rf $(VIRTUAL_ENV)