-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
36 lines (28 loc) · 1.35 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
BIN_DIR = ./bin
SRC_FILE = ./src/index.ts
OUT_LINUX = mongogrator-linux
OUT_LINUX_ARM = mongogrator-linux-arm64
OUT_WINDOWS = mongogrator-windows
OUT_MAC = mongogrator-mac
OUT_MAC_ARM = mongogrator-mac-arm64
# Ensure the binary files go to the bin directory
linux:
bun build --compile --minify --sourcemap --target=bun-linux-x64 $(SRC_FILE) --outfile $(BIN_DIR)/$(OUT_LINUX)
linux-arm:
bun build --compile --minify --sourcemap --target=bun-linux-arm64 $(SRC_FILE) --outfile $(BIN_DIR)/$(OUT_LINUX_ARM)
windows:
bun build --compile --minify --sourcemap --target=bun-windows-x64 $(SRC_FILE) --outfile $(BIN_DIR)/$(OUT_WINDOWS)
macos:
bun build --compile --minify --sourcemap --target=bun-darwin-x64 $(SRC_FILE) --outfile $(BIN_DIR)/$(OUT_MAC)
macos-arm:
bun build --compile --minify --sourcemap --target=bun-darwin-arm64 $(SRC_FILE) --outfile $(BIN_DIR)/$(OUT_MAC_ARM)
clean:
rm -rf $(BIN_DIR)
compress-all:
tar -czvf $(BIN_DIR)/$(OUT_LINUX).tar.gz -C $(BIN_DIR) $(OUT_LINUX)
tar -czvf $(BIN_DIR)/$(OUT_LINUX_ARM).tar.gz -C $(BIN_DIR) $(OUT_LINUX_ARM)
tar -czvf $(BIN_DIR)/$(OUT_MAC).tar.gz -C $(BIN_DIR) $(OUT_MAC)
tar -czvf $(BIN_DIR)/$(OUT_MAC_ARM).tar.gz -C $(BIN_DIR) $(OUT_MAC_ARM)
zip -9 -y $(BIN_DIR)/$(OUT_WINDOWS).zip $(BIN_DIR)/$(OUT_WINDOWS).exe
# Build and compress for all platforms
ci: clean linux linux-arm macos macos-arm windows compress-all