-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathMakefile
51 lines (39 loc) · 1.07 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
.PHONY: help build docs check test numpydoc mypy all
MAKEFLAGS += --no-print-directory
help:
@echo "Available targets for Felis:"
@echo " build - Build the package"
@echo " deps - Install dependencies"
@echo " docs - Generate the documentation"
@echo " check - Run pre-commit checks"
@echo " test - Run tests"
@echo " numpydoc - Check numpydoc style"
@echo " mypy - Run mypy static type checker"
@echo " all - Run all tasks"
build docs check test numpydoc mypy: print_target
print_target:
@echo "Executing $(MAKECMDGOALS)..."
build:
@uv pip install --force-reinstall --no-deps -e .
deps:
@uv pip install --upgrade -r requirements.txt
docs:
@rm -rf docs/dev/internals docs/_build
@tox -e docs
check:
@pre-commit run --all-files
test:
@pytest -s --log-level DEBUG
numpydoc:
@python -m numpydoc.hooks.validate_docstrings $(shell find python -name "*.py" ! -name "cli.py")
mypy:
@mypy python/
all:
@$(MAKE) build
@$(MAKE) deps
@$(MAKE) docs
@$(MAKE) check
@$(MAKE) test
@$(MAKE) numpydoc
@$(MAKE) mypy
@echo "All tasks completed."