|
1 | 1 | .PHONY: help install format format-check lint lint-fix check type-check clean build \ |
2 | | - build-rtc download-ffi status doctor |
| 2 | + build-rtc build-wheel generate-proto download-ffi status doctor |
3 | 3 |
|
4 | 4 | # Colors for output |
5 | 5 | CYAN := \033[36m |
@@ -27,7 +27,7 @@ help: ## Show this help message |
27 | 27 | @echo "$(BOLD)$(CYAN)Available targets:$(RESET)" |
28 | 28 | @echo "" |
29 | 29 | @echo "$(BOLD)Development Workflows:$(RESET)" |
30 | | - @grep -E '^(build-rtc|download-ffi|status|doctor):.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " $(CYAN)%-20s$(RESET) %s\n", $$1, $$2}' |
| 30 | + @grep -E '^(build-rtc|build-wheel|download-ffi|status|doctor):.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " $(CYAN)%-20s$(RESET) %s\n", $$1, $$2}' |
31 | 31 | @echo "" |
32 | 32 | @echo "$(BOLD)Code Quality:$(RESET)" |
33 | 33 | @grep -E '^(format|format-check|lint|lint-fix|type-check|check):.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " $(CYAN)%-20s$(RESET) %s\n", $$1, $$2}' |
@@ -131,6 +131,30 @@ build-rtc: ## Build livekit-ffi from local rust-sdks and generate proto |
131 | 131 | echo "$(BOLD)$(YELLOW)π To use the local rust lib, export the following:$(RESET)"; \ |
132 | 132 | echo "$(BOLD) export LIVEKIT_LIB_PATH=$$RUST_LIB_PATH$(RESET)" |
133 | 133 |
|
| 134 | +build-wheel: ## Build wheel for a package (usage: make build-wheel PACKAGE=livekit-rtc) |
| 135 | + @echo "$(BOLD)$(CYAN)π¦ Building wheel...$(RESET)" |
| 136 | + @set -e; \ |
| 137 | + if [ -z "$(PACKAGE)" ]; then \ |
| 138 | + echo "$(BOLD)$(RED)β Error: PACKAGE parameter is required$(RESET)"; \ |
| 139 | + echo "$(YELLOW)Usage: make build-wheel PACKAGE=<package-name>$(RESET)"; \ |
| 140 | + echo "$(YELLOW)Available packages: livekit-rtc, livekit-api, livekit-protocol$(RESET)"; \ |
| 141 | + exit 1; \ |
| 142 | + fi; \ |
| 143 | + PACKAGE_PATH="$(MAKEFILE_DIR)/$(PACKAGE)"; \ |
| 144 | + if [ ! -d "$$PACKAGE_PATH" ]; then \ |
| 145 | + echo "$(BOLD)$(RED)β Error: Package directory not found: $$PACKAGE_PATH$(RESET)"; \ |
| 146 | + exit 1; \ |
| 147 | + fi; \ |
| 148 | + if [ ! -f "$$PACKAGE_PATH/pyproject.toml" ]; then \ |
| 149 | + echo "$(BOLD)$(RED)β Error: pyproject.toml not found in $$PACKAGE_PATH$(RESET)"; \ |
| 150 | + exit 1; \ |
| 151 | + fi; \ |
| 152 | + echo "$(CYAN) Package: $(PACKAGE)$(RESET)"; \ |
| 153 | + echo "$(CYAN) Building in: $$PACKAGE_PATH$(RESET)"; \ |
| 154 | + cd "$$PACKAGE_PATH" && uv build --out-dir ./dist; \ |
| 155 | + echo "$(BOLD)$(GREEN)β
Wheel built successfully$(RESET)"; \ |
| 156 | + echo "$(CYAN) Output: $$PACKAGE_PATH/dist/$(RESET)" |
| 157 | + |
134 | 158 | status: ## Show current development environment status |
135 | 159 | @echo "$(BOLD)$(CYAN)π Current status:$(RESET)" |
136 | 160 | @echo "" |
|
0 commit comments