2023-03-02 17:43:26 -05:00
|
|
|
SHELL := /bin/bash
|
|
|
|
|
|
|
|
PYTHON_FILES = \
|
2023-03-02 17:52:52 -05:00
|
|
|
encode_usb_strings.py \
|
2023-03-07 19:21:35 -05:00
|
|
|
production_test_runner.py \
|
|
|
|
production_tests.py \
|
|
|
|
pybin2nvcm.py \
|
|
|
|
pynvcm.py \
|
|
|
|
reset.py \
|
|
|
|
usb_test.py
|
|
|
|
|
2023-03-02 12:17:11 -05:00
|
|
|
|
2023-03-06 06:41:21 -05:00
|
|
|
# autopep8: Fixes simple format errors automatically
|
|
|
|
# mypy: static type hint analysis
|
|
|
|
# pylint: pep8 and static code analysis
|
2023-03-02 12:17:11 -05:00
|
|
|
lint:
|
2023-03-02 17:43:26 -05:00
|
|
|
autopep8 --in-place --max-line-length 70 --aggressive --aggressive ${PYTHON_FILES}
|
|
|
|
mypy --disallow-untyped-defs ${PYTHON_FILES}
|
2023-03-08 07:36:02 -05:00
|
|
|
pylint --generated-member=usb1.TRANSFER_COMPLETED,usb1.USBErrorInterrupted,usb1.USBErrorIO --max-line-length 70 ${PYTHON_FILES}
|
2023-03-02 17:43:26 -05:00
|
|
|
|
|
|
|
# Check that the NVCM generator gives a correct output for a known binary
|
2023-03-07 19:21:35 -05:00
|
|
|
verify-pybin2nvcm:
|
|
|
|
./pybin2nvcm.py nvcm_test/application_fpga.bin verify.nvcm
|
2023-03-02 17:43:26 -05:00
|
|
|
cmp verify.nvcm nvcm_test/application_fpga.nvcm
|
|
|
|
|
2023-03-07 19:21:35 -05:00
|
|
|
verify-nvcm:
|
|
|
|
time ./pynvcm.py --verify nvcm_test/application_fpga.bin
|
|
|
|
|
|
|
|
program-nvcm-danger:
|
|
|
|
./pynvcm.py -i
|
|
|
|
time ./pynvcm.py --my-design-is-good-enough --ignore-blank --write ../application_fpga/application_fpga.bin --verify nvcm_test/application_fpga.bin
|
|
|
|
./pynvcm.py -b
|
2023-03-02 17:43:26 -05:00
|
|
|
|
2023-03-07 19:21:35 -05:00
|
|
|
randomize-production-test:
|
|
|
|
./production_tests.py
|