| 1 | # Siti AI Makefile |
| 2 | # |
| 3 | # ── macOS App Store ──────────────────────────────────────────────────────── |
| 4 | # make asmacos — full pipeline: build → sign → upload |
| 5 | # make asmacos-build — tauri build only (universal, App Store config) |
| 6 | # make asmacos-sign — sign the .app into a .pkg |
| 7 | # make asmacos-upload — upload the .pkg to App Store Connect |
| 8 | # |
| 9 | # ── iOS App Store ────────────────────────────────────────────────────────── |
| 10 | # make asios — full pipeline: clean → init → icons → override → build → fixplist → upload |
| 11 | # make asios-clean — rm -rf src-tauri/gen/apple |
| 12 | # make asios-init — cargo tauri ios init |
| 13 | # make asios-icons — pnpm gim |
| 14 | # make asios-override — copy gen-override/apple into gen/apple |
| 15 | # make asios-build — cargo tauri ios build |
| 16 | # make asios-fixplist — rewrite beta toolchain stamps (Info.plist + Mach-O) to release values, re-sign |
| 17 | # make asios-upload — xcrun altool upload |
| 18 | # |
| 19 | # ── visionOS App Store (TestFlight) ──────────────────────────────────────── |
| 20 | # make asvision — full pipeline: generate → archive → export → fixplist → upload |
| 21 | # make asvision-generate — xcodegen generate (xcode/SitiVision.xcodeproj) |
| 22 | # make asvision-archive — xcodebuild archive (automatic signing) |
| 23 | # make asvision-export — xcodebuild -exportArchive → .ipa |
| 24 | # make asvision-fixplist — rewrite beta host-OS stamp (Info.plist + Mach-O) to release values, re-sign |
| 25 | # make asvision-upload — xcrun altool upload |
| 26 | # |
| 27 | # ── Android Play Store ───────────────────────────────────────────────────── |
| 28 | # make psmobile — full pipeline: clean → init → icons → override → keystore → build → open (.aab) |
| 29 | # make psmobile-clean — rm -rf src-tauri/gen/android |
| 30 | # make psmobile-init — cargo tauri android init |
| 31 | # make psmobile-icons — pnpm gim |
| 32 | # make psmobile-override — copy gen-override/android into gen/android |
| 33 | # make psmobile-keystore — patch keystore.properties storeFile path |
| 34 | # make psmobile-build — cargo tauri android build --aab |
| 35 | # make psmobile-open — open the .aab output dir (upload to Play Console) |
| 36 | # |
| 37 | # ── Development ──────────────────────────────────────────────────────────── |
| 38 | # make dev — start the Tauri dev server |
| 39 | # make build — standard debug build |
| 40 | # make fmt — cargo fmt |
| 41 | # make lint — clippy + tsc |
| 42 | # make clean — remove build artefacts |
| 43 | |
| 44 | .PHONY: dev build \ |
| 45 | asmacos asmacos-build asmacos-sign asmacos-upload \ |
| 46 | asios asios-clean asios-init asios-icons asios-override asios-build asios-fixplist asios-upload \ |
| 47 | asvision asvision-generate asvision-archive asvision-export asvision-fixplist asvision-upload \ |
| 48 | psmobile psmobile-clean psmobile-init psmobile-icons psmobile-override psmobile-keystore psmobile-build psmobile-open \ |
| 49 | web-dev web-build web-deploy \ |
| 50 | fmt lint clean |
| 51 | |
| 52 | # ── macOS App Store ──────────────────────────────────────────────────────── |
| 53 | |
| 54 | asmacos: |
| 55 | ./scripts/build-appstore.sh all |
| 56 | |
| 57 | asmacos-build: |
| 58 | ./scripts/build-appstore.sh build |
| 59 | |
| 60 | asmacos-sign: |
| 61 | ./scripts/build-appstore.sh sign |
| 62 | |
| 63 | asmacos-upload: |
| 64 | ./scripts/build-appstore.sh upload |
| 65 | |
| 66 | # ── iOS App Store ────────────────────────────────────────────────────────── |
| 67 | |
| 68 | asios: |
| 69 | ./scripts/build-ios.sh all |
| 70 | |
| 71 | asios-clean: |
| 72 | ./scripts/build-ios.sh clean |
| 73 | |
| 74 | asios-init: |
| 75 | ./scripts/build-ios.sh init |
| 76 | |
| 77 | asios-icons: |
| 78 | ./scripts/build-ios.sh icons |
| 79 | |
| 80 | asios-override: |
| 81 | ./scripts/build-ios.sh override |
| 82 | |
| 83 | asios-build: |
| 84 | ./scripts/build-ios.sh build |
| 85 | |
| 86 | asios-fixplist: |
| 87 | ./scripts/build-ios.sh fixplist |
| 88 | |
| 89 | asios-upload: |
| 90 | ./scripts/build-ios.sh upload |
| 91 | |
| 92 | # ── visionOS App Store (TestFlight) ──────────────────────────────────────── |
| 93 | |
| 94 | asvision: |
| 95 | ./scripts/build-visionos.sh all |
| 96 | |
| 97 | asvision-generate: |
| 98 | ./scripts/build-visionos.sh generate |
| 99 | |
| 100 | asvision-archive: |
| 101 | ./scripts/build-visionos.sh archive |
| 102 | |
| 103 | asvision-export: |
| 104 | ./scripts/build-visionos.sh export |
| 105 | |
| 106 | asvision-fixplist: |
| 107 | ./scripts/build-visionos.sh fixplist |
| 108 | |
| 109 | asvision-upload: |
| 110 | ./scripts/build-visionos.sh upload |
| 111 | |
| 112 | # ── Android Play Store ───────────────────────────────────────────────────── |
| 113 | |
| 114 | psmobile: |
| 115 | ./scripts/build-android.sh all |
| 116 | open src-tauri/gen/android/app/build/outputs/bundle/universalRelease/ |
| 117 | |
| 118 | psmobile-clean: |
| 119 | ./scripts/build-android.sh clean |
| 120 | |
| 121 | psmobile-init: |
| 122 | ./scripts/build-android.sh init |
| 123 | |
| 124 | psmobile-icons: |
| 125 | ./scripts/build-android.sh icons |
| 126 | |
| 127 | psmobile-override: |
| 128 | ./scripts/build-android.sh override |
| 129 | |
| 130 | psmobile-keystore: |
| 131 | ./scripts/build-android.sh keystore |
| 132 | |
| 133 | psmobile-build: |
| 134 | ./scripts/build-android.sh build |
| 135 | |
| 136 | psmobile-open: |
| 137 | open src-tauri/gen/android/app/build/outputs/bundle/universalRelease/ |
| 138 | |
| 139 | # ── Development ──────────────────────────────────────────────────────────── |
| 140 | |
| 141 | dev: |
| 142 | pnpm tauri dev |
| 143 | |
| 144 | build: |
| 145 | pnpm tauri build |
| 146 | |
| 147 | # ── Landing page (web) ───────────────────────────────────────────────────── |
| 148 | # web-dev — run the Next.js landing page locally (http://localhost:3034) |
| 149 | # web-build — production build (.next/standalone) for smbCloud nextjs-ssr |
| 150 | # web-deploy — build + deploy to smbCloud via the smb CLI |
| 151 | |
| 152 | web-dev: |
| 153 | pnpm --filter @siti/web dev |
| 154 | |
| 155 | web-build: |
| 156 | pnpm --filter @siti/web build |
| 157 | |
| 158 | web-deploy: web-build |
| 159 | smb deploy |
| 160 | |
| 161 | fmt: |
| 162 | cargo fmt --manifest-path src-tauri/Cargo.toml --all |
| 163 | |
| 164 | lint: |
| 165 | cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings |
| 166 | pnpm tsc --noEmit |
| 167 | |
| 168 | clean: |
| 169 | cargo clean --manifest-path src-tauri/Cargo.toml |