mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-11-18 05:28:40 +00:00
cf396e3661
This separates the regeneration step from the build/install step. This is to simplify bootstrapping: trezorlib is needed in several build/test steps, and bound to be needed in more. It should be usable and installable straight from the checkout.
70 lines
1.6 KiB
Makefile
70 lines
1.6 KiB
Makefile
PYTHON=python3
|
|
SETUP=$(PYTHON) setup.py
|
|
|
|
EXCLUDES=.vscode
|
|
STYLE_TARGETS=trezorlib trezorctl setup.py
|
|
EXCLUDE_TARGETS=messages
|
|
|
|
all: build
|
|
|
|
clean-gen: ## remove generated files
|
|
rm -f trezorlib/messages/*.py
|
|
rm -f trezorlib/coins.json
|
|
|
|
gen: clean-gen
|
|
$(PYTHON) ../common/tools/cointool.py dump \
|
|
--list --support \
|
|
--include-type=bitcoin \
|
|
--exclude=icon \
|
|
-o trezorlib/coins.json
|
|
$(PYTHON) ../common/protob/pb2py \
|
|
-o trezorlib/messages \
|
|
-P ..protobuf \
|
|
../common/protob/*.proto
|
|
|
|
build:
|
|
$(SETUP) build
|
|
|
|
install:
|
|
$(SETUP) install
|
|
|
|
dist: clean
|
|
$(SETUP) sdist
|
|
$(SETUP) bdist_wheel
|
|
|
|
clean: clean-build clean-pyc clean-test ## remove all build, test, coverage and Python artifacts
|
|
|
|
clean-build: ## remove build artifacts
|
|
rm -fr build/
|
|
rm -fr dist/
|
|
rm -fr .eggs/
|
|
find . -name '*.egg-info' -exec rm -fr {} +
|
|
find . -name '*.egg' -exec rm -f {} +
|
|
|
|
clean-pyc: ## remove Python file artifacts
|
|
find . -name '*.pyc' -exec rm -f {} +
|
|
find . -name '*.pyo' -exec rm -f {} +
|
|
find . -name '*~' -exec rm -f {} +
|
|
find . -name '__pycache__' -exec rm -fr {} +
|
|
|
|
clean-test: ## remove test and coverage artifacts
|
|
rm -fr .tox/
|
|
rm -f .coverage
|
|
rm -fr htmlcov/
|
|
rm -fr .pytest_cache
|
|
|
|
git-clean:
|
|
git clean -dfx -e $(EXCLUDES)
|
|
|
|
style:
|
|
black $(STYLE_TARGETS)
|
|
isort --apply --recursive $(STYLE_TARGETS) --skip-glob "$(EXCLUDE_TARGETS)/*"
|
|
autoflake -i --remove-all-unused-imports -r $(STYLE_TARGETS) --exclude "$(EXCLUDE_TARGETS)"
|
|
|
|
style_check:
|
|
black --check $(STYLE_TARGETS)
|
|
isort --check-only --recursive $(STYLE_TARGETS) --skip-glob "$(EXCLUDE_TARGETS)/*"
|
|
flake8
|
|
|
|
.PHONY: all build install clean style style_check git-clean clean-build clean-pyc clean-test
|