Kök dizindeki Makefile, Bedrud monoreposu için merkezi derleme orkestrasyon aracıdır. Tüm platformlarda geliştirme, derleme ve dağıtım için komutlar sağlar.
Kullanım
make <hedef>
make help # Tüm kullanılabilir hedefleri gösterGeliştirme Hedefleri
| Hedef | Açıklama |
|---|---|
make init | Tüm bağımlılıkları kurar (LiveKit + yapılandırma + bun + Go) |
make dev | LiveKit + sunucu (hot reload) + web’i eşzamanlı çalıştırır |
make dev-web | Yalnızca ön uç geliştirme sunucusunu çalıştırır |
make dev-server | Arka uç sunucusu + LiveKit çalıştırır |
make dev-server-hot | Air ile hot reload arka ucu çalıştırır |
make dev-api | Yalnızca arka ucu çalıştırır, LiveKit yok |
make dev-livekit | Yerel LiveKit sunucusunu çalıştırır |
make dev-site | Astro site geliştirme sunucusunu çalıştırır |
make dev-ios | iOS projesini Xcode’da açar |
make dev-android | Android projesini Android Studio’da açar |
make init
Yeni geliştirme ortamının tam kurulumu:
- LiveKit sunucu ikilisini
~/.local/bin/dizinine indirir (PATH’te yoksa) config.local.yamlşablonundanserver/config.yamloluşturur (yoksa)server/internal/livekit/bin/livekit-serverkonumunda LiveKit gömme yer tutucusu oluşturur- Go hot reload için
airkurar (kurulu değilse) - Bağımlılıkları kurar:
apps/web(bun),apps/site(bun),server(go mod)
make dev
Üç geliştirme servisini eşzamanlı başlatır. Durdurmak için Ctrl+C tuşlarına basın:
- LiveKit
localhost:7880adresinde - Sunucu
localhost:8090adresinde - Web
localhost:3000adresinde
Derleme Hedefleri
| Hedef | Açıklama |
|---|---|
make build | Ön uç + arka uç derlemesi (gömülü) |
make build-front | Yalnızca ön uç derlemesi |
make build-back | Yalnızca arka uç derlemesi |
make build-dist | Üretim linux/amd64 arşivi oluşturur |
make build-site | Astro sitesini derler (SSG) |
make build
Tam üretim derlemesi:
apps/webdizinindebun run buildçalıştırır — React uygulamasını derlerapps/web/dist/client/*→server/frontend/dizinine kopyalar- Gömülü ön uçla birlikte Go ikili dosyasını derler
Çıktı: server/dist/bedrud
make build-dist
Sıkıştırılmış, üretim hazır bir dağıtım oluşturur:
make buildçalıştırır- Hata ayıklama sembolleri çıkarılarak
linux/amd64için çapraz derler dist/bedrud_linux_amd64.tar.xzoluşturur
Masaüstü Hedefleri
| Hedef | Açıklama |
|---|---|
make dev-desktop | Masaüstü uygulamasını derler ve çalıştırır (debug) |
make build-desktop | Optimize edilmiş release ikili dosyasını derler |
Yerel Tek İkili Dosya
| Hedef | Açıklama |
|---|---|
make local-build | Ön uç + arka ucu tek ikili dosyaya derler |
make local-run | Derler + yerel olarak çalıştırır (SQLite, gömülü LiveKit) |
make local-run
Yerel yapılandırmayla tek ikili dosyayı derler ve başlatır:
CONFIG_PATH=server/config.local.yaml server/dist/bedrud runHazır olduğunda http://localhost:8090 adresini açın.
API Belgeleri
| Hedef | Açıklama |
|---|---|
make swagger-gen | Ek açıklamalardan Swagger belgelerini yeniden oluşturur |
make swagger-open | Swagger UI’ı tarayıcıda açar |
make scalar-open | Scalar UI’ı tarayıcıda açar |
swag CLI gerektirir (go install github.com/swaggo/swag/cmd/swag@latest). swagger-open ve scalar-open için sunucu çalışıyor olmalıdır.
Android Hedefleri
| Hedef | Açıklama |
|---|---|
make build-android-debug | Debug APK derler |
make build-android | Release APK derler (keystore gerektirir) |
make install-android | Release APK’yı bağlı cihaza kurar |
make release-android | Derler + release APK’yı cihaza kurar |
APK Çıktı Yolları
- Debug:
apps/android/app/build/outputs/apk/debug/app-debug.apk - Release:
apps/android/app/build/outputs/apk/release/app-release.apk
iOS Hedefleri
| Hedef | Açıklama |
|---|---|
make build-ios | iOS arşivi derler (Release) |
make export-ios | Arşivden IPA dışa aktarır |
make build-ios-sim | iOS Simülatörü için derler (Debug) |
Çıktı Yolları
- Arşiv:
apps/ios/build/Bedrud.xcarchive - IPA:
apps/ios/build/export/Bedrud.ipa
Dağıtım Hedefi
| Hedef | Açıklama |
|---|---|
make deploy ARGS=... | Dağıtım CLI aracını çalıştırır |
Örnek
make deploy ARGS="--auto-config --ip 1.2.3.4 --user root --domain meet.example.com"Bu, tools/cli/bedrud.py konumundaki Python CLI aracını belirtilen argümanlarla çalıştırır.
Test
| Hedef | Açıklama |
|---|---|
make test-back | Arka uç testlerini çalıştırır (go test -v -count=1 ./...) |
Temizleme Hedefleri
| Hedef | Açıklama |
|---|---|
make clean | Derleme çıktılarını ve derlenmiş ikili dosyaları kaldırır |
make full-clean | Çıktılar + tüm kurulmuş bağımlılıkları kaldırır |
make clean
Şunları kaldırır:
dist/— dağıtım arşivleriserver/dist/— derlenmiş sunucu ikilisiapps/web/dist/— React derleme çıktısıserver/frontend/içeriği — gömülü ön uç varlıklarıapps/android/app/build/— Android derleme çıktılarıapps/ios/build/— iOS derleme çıktılarıapps/site/dist/— Astro site derleme çıktısıtarget/— Rust/Cargo derleme çıktısı
make full-clean
clean komutunun yaptığı her şey, ayrıca:
apps/web/node_modules/apps/site/node_modules/apps/android/.gradle/apps/android/build/- Go modül önbelleği (
go clean -modcache)
Sonrasında bağımlılıkları yeniden kurmak için make init çalıştırın.