-
-
Notifications
You must be signed in to change notification settings - Fork 50
/
Makefile
75 lines (61 loc) · 1.78 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
67
68
69
70
71
72
73
74
75
AUTHOR := thombashi
PACKAGE := sqlitebiter
BUILD_WORK_DIR := _work
DOCS_DIR := docs
DOCS_BUILD_DIR := $(DOCS_DIR)/_build
PKG_BUILD_DIR := $(BUILD_WORK_DIR)/$(PACKAGE)
SCRIPTS := $(shell \find . -not -path '*/\.*' -type f -regextype posix-extended -regex .+\.sh$)
PYTHON := python3
SUDO := sudo
.PHONY: build-remote
build-remote: clean
@mkdir -p $(BUILD_WORK_DIR)
@cd $(BUILD_WORK_DIR) && \
git clone https://github.com/$(AUTHOR)/$(PACKAGE).git --depth 1 && \
cd $(PACKAGE) && \
$(PYTHON) -m tox -e build
ls -lh $(PKG_BUILD_DIR)/dist/*
.PHONY: build
build: clean
@$(PYTHON) -m tox -e build
ls -lh dist/*
.PHONY: build-deb
build-deb: setup-ci
$(MAKE) clean
$(SUDO) apt -qq update
$(SUDO) apt install -qq -y --no-install-recommends git fakeroot rename
./scripts/build_linux_package.sh
ls -lh dist/*
.PHONY: check
check:
@$(PYTHON) -m tox -e lint
$(PYTHON) -m pip check
.PHONY: clean
clean:
@rm -rf $(BUILD_WORK_DIR)
@$(PYTHON) -m tox -e clean
.PHONY: docs
docs:
@$(PYTHON) -m tox -e docs
.PHONY: fmt
fmt:
shfmt -i 4 -l -w -sr $(shell \find . -not -path '*/\.*' -type f -regextype posix-extended -regex .+\.sh$)
@$(PYTHON) -m tox -e fmt
.PHONY: readme
readme:
@$(PYTHON) -m tox -e readme
.PHONY: release
release:
cd $(PKG_BUILD_DIR) && $(PYTHON) setup.py release --sign --verbose
$(MAKE) clean
.PHONY: setup-ci
setup-ci:
$(PYTHON) -m pip install -q --disable-pip-version-check --upgrade pip
$(PYTHON) -m pip install -q --disable-pip-version-check --upgrade tox
.PHONY: setup-dev
setup-dev: setup-ci
$(PYTHON) -m pip install -q --disable-pip-version-check --upgrade -e .[test]
$(PYTHON) -m pip check
.PHONY: latest-release-assets
latest-release-assets:
gh api repos/thombashi/sqlitebiter/releases/latest | jq -r '.assets[].browser_download_url' > scripts/latest_release_assets.list