-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
66 lines (47 loc) · 1.21 KB
/
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
NAME := decemvirate
ENV_DIR := env
SETUP_FILES := pyproject.toml
SOURCE_DIRS := src
PYTHON ?= python
all: run
$(NAME): venv
@echo " [BUILD]"
. $(ENV_DIR)/bin/activate; $(PYTHON) -m pip install .
run: $(NAME)
@echo " [RUN]"
. $(ENV_DIR)/bin/activate; $(NAME) $(arg)
isort: venv
@echo " [ISORT]"
. $(ENV_DIR)/bin/activate; isort $(SOURCE_DIRS)
autopep8: venv
@echo " [AUTOPEP8]"
. $(ENV_DIR)/bin/activate; autopep8 -aair $(SOURCE_DIRS)
format: isort autopep8
flake8: venv
@echo " [FLAKE8]"
-. $(ENV_DIR)/bin/activate; flake8 $(SOURCE_DIRS)
mypy: venv
@echo " [MYPY]"
-. $(ENV_DIR)/bin/activate; mypy $(SOURCE_DIRS)
pylint: venv
@echo " [PYLINT]"
-. $(ENV_DIR)/bin/activate; pylint $(SOURCE_DIRS)
lint: flake8 mypy pylint
doxygen:
@echo " [DOXYGEN]"
doxygen
venv: $(ENV_DIR)/touchfile
$(ENV_DIR)/touchfile: $(SETUP_FILES)
@echo " [VENV]"
$(PYTHON) -m venv $(ENV_DIR)
. $(ENV_DIR)/bin/activate; $(PYTHON) -m pip install ".[dev]"
touch $(ENV_DIR)/touchfile
clean:
@echo " [CLEAN]"
rm -rf $(ENV_DIR)
rm -rf build
rm -rf .mypy_cache
rm -rf doc/doxygen/html
rm -rf $(foreach SOURCE_DIR,$(SOURCE_DIRS),$(SOURCE_DIR)/$(NAME).egg-info)
.PHONY: clean isort format nothing decemvirate run
$(V).SILENT: