| 1 | # Mak, release. Tauri apps. |
| 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 | # ── Android Play Store ───────────────────────────────────────────────────── |
| 10 | # make android — full pipeline: clean → init → icons → override → keystore → build |
| 11 | # make android-clean — rm -rf src-tauri/gen/android |
| 12 | # make android-init — cargo tauri android init |
| 13 | # make android-icons — pnpm gim |
| 14 | # make android-override — copy gen-override/android into gen/android |
| 15 | # make android-keystore — patch storeFile path in keystore.properties |
| 16 | # make android-build — cargo tauri android build --aab |
| 17 | # |
| 18 | # ── iOS App Store ────────────────────────────────────────────────────────── |
| 19 | # make asios — full pipeline: clean → init → icons → override → build → upload |
| 20 | # make asios-clean — rm -rf src-tauri/gen/apple |
| 21 | # make asios-init — cargo tauri ios init |
| 22 | # make asios-icons — pnpm gim |
| 23 | # make asios-override — copy gen-override/apple into gen/apple |
| 24 | # make asios-build — cargo tauri ios build |
| 25 | # make asios-upload — xcrun altool upload |
| 26 | # |
| 27 | # ── Development ──────────────────────────────────────────────────────────── |
| 28 | # make dev — start the Tauri dev server |
| 29 | # make build — standard debug build |
| 30 | # make fmt — cargo fmt |
| 31 | # make lint — clippy + tsc |
| 32 | # make ts — regenerate generated.ts from Rust models |
| 33 | # make clean — remove build artefacts |
| 34 | |
| 35 | .PHONY: dev build \ |
| 36 | asmacos asmacos-build asmacos-sign asmacos-upload \ |
| 37 | asios asios-clean asios-init asios-icons asios-override asios-build asios-upload \ |
| 38 | android android-clean android-init android-icons android-override android-keystore android-build \ |
| 39 | fmt lint ts clean |
| 40 | |
| 41 | # ── macOS App Store ──────────────────────────────────────────────────────── |
| 42 | |
| 43 | asmacos: |
| 44 | ./scripts/build-appstore.sh all |
| 45 | |
| 46 | asmacos-build: |
| 47 | ./scripts/build-appstore.sh build |
| 48 | |
| 49 | asmacos-sign: |
| 50 | ./scripts/build-appstore.sh sign |
| 51 | |
| 52 | asmacos-upload: |
| 53 | ./scripts/build-appstore.sh upload |
| 54 | |
| 55 | # ── Android Play Store ───────────────────────────────────────────────────── |
| 56 | |
| 57 | android: |
| 58 | ./scripts/build-android.sh all |
| 59 | |
| 60 | android-clean: |
| 61 | ./scripts/build-android.sh clean |
| 62 | |
| 63 | android-init: |
| 64 | ./scripts/build-android.sh init |
| 65 | |
| 66 | android-icons: |
| 67 | ./scripts/build-android.sh icons |
| 68 | |
| 69 | android-override: |
| 70 | ./scripts/build-android.sh override |
| 71 | |
| 72 | android-keystore: |
| 73 | ./scripts/build-android.sh keystore |
| 74 | |
| 75 | android-build: |
| 76 | ./scripts/build-android.sh build |
| 77 | |
| 78 | # ── iOS App Store ────────────────────────────────────────────────────────── |
| 79 | |
| 80 | asios: |
| 81 | ./scripts/build-ios.sh all |
| 82 | |
| 83 | |
| 84 | asios-clean: |
| 85 | ./scripts/build-ios.sh clean |
| 86 | |
| 87 | asios-init: |
| 88 | ./scripts/build-ios.sh init |
| 89 | |
| 90 | asios-icons: |
| 91 | ./scripts/build-ios.sh icons |
| 92 | |
| 93 | asios-override: |
| 94 | ./scripts/build-ios.sh override |
| 95 | |
| 96 | asios-build: |
| 97 | ./scripts/build-ios.sh build |
| 98 | |
| 99 | asios-upload: |
| 100 | ./scripts/build-ios.sh upload |
| 101 | |
| 102 | # ── Development ──────────────────────────────────────────────────────────── |
| 103 | |
| 104 | dev: |
| 105 | pnpm tauri dev |
| 106 | |
| 107 | build: |
| 108 | pnpm tauri build |
| 109 | |
| 110 | fmt: |
| 111 | cargo fmt --manifest-path src-tauri/Cargo.toml --all |
| 112 | |
| 113 | lint: |
| 114 | cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings |
| 115 | pnpm tsc --noEmit |
| 116 | |
| 117 | ts: |
| 118 | pnpm ts |
| 119 | |
| 120 | clean: |
| 121 | cargo clean --manifest-path src-tauri/Cargo.toml |