Create Makefile

Seto Elkahfi committed Apr 19, 2026 at 20:06 UTC 2ac0f346c05daf17950b631136195f9b3b9c84fe
1 file changed +121
Makefile new
+121
@@ -0,0 +1,121 @@
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