-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
57 lines (40 loc) · 1.73 KB
/
Copy pathMakefile
File metadata and controls
57 lines (40 loc) · 1.73 KB
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
52
53
54
55
56
57
# AirDriver — convenience targets. Run `make help` for the list.
PY ?= python3
VENV := .venv
VPY := $(VENV)/bin/python
.DEFAULT_GOAL := help
.PHONY: help install setup gui run scan doctor db offline clean uninstall purge test shots site
help: ## Show this help
@echo "AirDriver — make targets:"
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) \
| awk 'BEGIN{FS=":.*?## "}{printf " \033[36m%-12s\033[0m %s\n", $$1, $$2}'
install: ## Full system install (system deps + venv + launcher) — needs sudo
sudo ./install.sh
setup: $(VPY) ## Set up a local venv with the GUI (no root)
$(VPY):
$(PY) -m venv $(VENV)
$(VPY) -m pip install --upgrade pip wheel
$(VPY) -m pip install -e ".[gui]"
gui: setup ## Launch the GUI from the local venv
$(VPY) -m airdriver
run: gui ## Alias for `gui`
scan: setup ## CLI: scan for adapters
$(VPY) -m airdriver scan
doctor: setup ## CLI: system readiness check
$(VPY) -m airdriver doctor
db: setup ## CLI: dump the chipset database
$(VPY) -m airdriver db
offline: ## Pre-fetch driver sources for air-gapped installs (run while online)
./scripts/fetch_offline_drivers.sh
clean: ## Remove the local venv and build artifacts
rm -rf $(VENV) build dist *.egg-info airdriver/*.egg-info
uninstall: ## Remove AirDriver (keeps the Wi-Fi drivers it installed)
sudo ./uninstall.sh
purge: ## Remove AirDriver AND every Wi-Fi driver it installed
sudo ./uninstall.sh --drivers
test: setup ## Run the test suite
$(VPY) -m unittest discover -s tests
shots: setup ## Regenerate the GUI screenshots in docs/screenshots/
QT_QPA_PLATFORM=offscreen AIRDRIVER_FORCE_GUI=1 $(VPY) scripts/gen_screenshots.py
site: ## Regenerate the GitHub Pages site in docs/ from the chipset database
$(PY) scripts/gen_site.py