-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
48 lines (35 loc) · 823 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
39
40
41
42
43
44
45
46
47
48
venv_dir ?= .venv
.PHONY: all
all: build tools
.PHONY: build
build: $(venv_dir)
.PHONY: run
run: build
$(venv_dir)/bin/flask \
--debug --app app.py \
run \
--host 'localhost' --port 8090
$(venv_dir): requirements.txt
python -m venv $(venv_dir)
$(venv_dir)/bin/pip install --upgrade pip
$(venv_dir)/bin/pip install -r requirements.txt && touch $(@)
$(venv_dir)/bin/%: | $(venv_dir)
$(venv_dir)/bin/pip install $(@F)
.PHONY: tools
tools: \
$(venv_dir) \
$(venv_dir)/bin/black \
$(venv_dir)/bin/isort
.PHONY: black
black: $(venv_dir)/bin/black
$(venv_dir)/bin/black app.py
.PHONY: isort
isort: $(venv_dir)/bin/isort
$(venv_dir)/bin/isort ./app.py --atomic
docs/build:
mkdir -p $(@)
docs/build/html: docs/build
mkdir -p $(@)
.PHONY: clean
clean:
test ! -d '$(venv_dir)' || rm -rf '$(venv_dir)'