| # Copyright lowRISC contributors. |
| # Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| .PHONY: all |
| all: lint asm-check |
| |
| # We need a directory to build stuff and use the "otbn/util" namespace |
| # in the top-level build-bin directory. |
| repo-top := ../../../.. |
| build-dir := $(repo-top)/build-bin/otbn/util |
| cs-build-dir := $(build-dir)/code-snippets |
| lint-build-dir := $(build-dir)/lint |
| |
| $(build-dir) $(lint-build-dir): |
| mkdir -p $@ |
| |
| pylibs := $(wildcard shared/*.py docs/*.py) |
| pyscripts := yaml_to_doc.py otbn_as.py otbn_ld.py otbn_objdump.py |
| |
| lint-stamps := $(foreach s,$(pyscripts),$(lint-build-dir)/$(s).stamp) |
| $(lint-build-dir)/%.stamp: % $(pylibs) | $(lint-build-dir) |
| mypy --strict --config-file=mypy.ini $< |
| touch $@ |
| |
| .PHONY: lint |
| lint: $(lint-stamps) |
| |
| # Target that assembles and links each of the code snippets to make |
| # sure the toolchain is in a reasonable shape. |
| |
| otbn-code-snippets-obj-dir := $(cs-build-dir) |
| otbn-code-snippets-bin-dir := $(cs-build-dir) |
| otbn-code-snippets-util-dir := . |
| |
| .PHONY: asm-check |
| asm-check: $(otbn-code-snippets-elfs) |
| |
| .PHONY: clean |
| clean: |
| rm -rf $(build-dir) |