diff --git a/make/py-topdir.mk b/make/py-topdir.mk index 4a298642..471ee8b4 100644 --- a/make/py-topdir.mk +++ b/make/py-topdir.mk @@ -1,7 +1,9 @@ TD_COPY_FILES += pyproject.toml PY_CHECK_EXCLUDE ?= -PY_SRC_ROOT += $(wildcard $(TOPDIR)/src $(TOPDIR)/tools) +ifndef PY_CHECK_ROOTS + PY_CHECK_ROOTS += $(wildcard $(TOPDIR)/src $(TOPDIR)/tools) +endif ifndef PY_CHECK_RUFF PY_CHECK_RUFF := $(shell which ruff 2>/dev/null) @@ -25,27 +27,27 @@ check-format: py-check-format py-check: py-check-syntax py-check-format py-check-syntax: ifneq ($(PY_CHECK_RUFF),) - $(PY_CHECK_RUFF) check $(addprefix --exclude ,$(PY_CHECK_EXCLUDE)) $(PY_SRC_ROOT) + $(PY_CHECK_RUFF) check $(addprefix --exclude ,$(PY_CHECK_EXCLUDE)) $(PY_CHECK_ROOTS) endif - mypy $(addprefix --exclude ,$(PY_CHECK_EXCLUDE)) $(PY_SRC_ROOT) + mypy $(addprefix --exclude ,$(PY_CHECK_EXCLUDE)) $(PY_CHECK_ROOTS) ifneq ($(PY_CHECK_PYRIGHT),) - pyright + pyright $(PY_CHECK_ROOTS) endif py-check-format: ifneq ($(PY_CHECK_YAPF),) - $(PY_CHECK_YAPF) --diff --recursive . + $(PY_CHECK_YAPF) --diff --recursive $(PY_CHECK_ROOTS) endif py-format: find . -type f -name '*.py' -print0 | \ xargs -0 sed -i -E '1{/^# -\*- coding: utf-8 -\*-$$/{:a;N;/\n[[:space:]]*$$/ba;s/^# -\*- coding: utf-8 -\*-\n([[:space:]]*\n)*/ /;s/^ //}}' ifneq ($(PY_CHECK_YAPF),) - $(PY_CHECK_YAPF) --in-place --recursive . + $(PY_CHECK_YAPF) --in-place --recursive $(PY_CHECK_ROOTS) endif py-format-assignments: - find . \ + find $(PY_CHECK_ROOTS) \ -path './.git' -prune -o \ -type f -name '*.py' \ -execdir /usr/bin/sed -i 's/^\(\s\+[a-zA-Z0-9_]\+\)=\([^,[:space:]]\+\)\([,(]\)*\s*$$/\1 = \2\3/g' {} '+' @@ -53,12 +55,12 @@ py-format-assignments: py-check-annotation-imports: ifneq ($(PY_CHECK_RUFF),) - $(PY_CHECK_RUFF) check --select TC,FA --diff --unsafe-fixes . + $(PY_CHECK_RUFF) check --select TC,FA --diff --unsafe-fixes $(PY_CHECK_ROOTS) endif py-format-annotation-imports: ifneq ($(PY_CHECK_RUFF),) - $(PY_CHECK_RUFF) check --select TC,FA --fix --unsafe-fixes . + $(PY_CHECK_RUFF) check --select TC,FA --fix --unsafe-fixes $(PY_CHECK_ROOTS) endif clean.topdir: clean.py-check