1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-22 23:48:12 +00:00
trezor-firmware/python/Makefile
matejcik cf396e3661 python: return generated files to git
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.
2019-05-17 15:09:58 +02:00

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