-
Notifications
You must be signed in to change notification settings - Fork 121
/
Makefile
41 lines (29 loc) · 1.09 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
.PHONY: install install-lib install-dir uninstall phony test typecheck
XDG_DATA_HOME ?= $(HOME)/.local/share
ifneq ("$(wildcard $(XDG_DATA_HOME)/weechat)","")
WEECHAT_HOME ?= $(XDG_DATA_HOME)/weechat
else
WEECHAT_HOME ?= $(HOME)/.weechat
endif
PREFIX ?= $(WEECHAT_HOME)
INSTALLDIR := $(DESTDIR)$(PREFIX)/python/matrix
lib := $(patsubst matrix/%.py, $(INSTALLDIR)/%.py, \
$(wildcard matrix/*.py))
.PHONY: help
help:
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
install: install-lib | $(INSTALLDIR) ## Install the plugin to $(DESTDIR)/$(PREFIX)
install -m644 main.py $(DESTDIR)$(PREFIX)/python/matrix.py
install-lib: $(lib)
$(INSTALLDIR):
install -d $@
uninstall: ## Uninstall the plugin from $(PREFIX)
rm $(DESTDIR)$(PREFIX)/python/matrix.py $(INSTALLDIR)/*
rmdir $(INSTALLDIR)
phony:
$(INSTALLDIR)/%.py: matrix/%.py phony | $(INSTALLDIR)
install -m644 $< $@
test: ## Run automated tests
python3 -m pytest
typecheck: ## Run type check
mypy -p matrix --ignore-missing-imports --warn-redundant-casts