forked from tacheraSasi/ellie
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
88 lines (75 loc) · 2.52 KB
/
Copy pathMakefile
File metadata and controls
88 lines (75 loc) · 2.52 KB
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# Makefile for Ellie CLI (Go + Rust FFI)
.PHONY: all rust go clean build_linux build_windows build_mac build_android build_linux_upx build_windows_upx build_mac_upx build_android_upx
all: rust go
rust:
cd rustmods/elliecore && cargo build
go:
go mod tidy
CGO_ENABLED=1 go build -o ellie
build_linux:
@echo 'building linux binary...'
env GOOS=linux GOARCH=amd64 CGO_ENABLED=1 go build -ldflags="-s -w" -o ellie
@echo 'zipping build...'
tar -zcvf binaries/ellie_linux_amd64.tar.gz ellie
@echo 'cleaning up...'
rm ellie
build_linux_upx:
@echo 'building linux binary with UPX...'
env GOOS=linux GOARCH=amd64 CGO_ENABLED=1 go build -ldflags="-s -w" -o ellie
@echo 'compressing with UPX...'
upx --best ellie
@echo 'zipping build...'
tar -zcvf binaries/ellie_linux_amd64_upx.tar.gz ellie
@echo 'cleaning up...'
rm ellie
build_windows:
@echo 'building windows executable...'
env GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o ellie_windows_amd64.exe
@echo 'zipping build...'
zip binaries/ellie_windows_amd64.zip ellie_windows_amd64.exe
@echo 'cleaning up...'
rm ellie_windows_amd64.exe
build_windows_upx:
@echo 'building windows executable with UPX...'
env GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o ellie_windows_amd64.exe
@echo 'compressing with UPX...'
upx --best ellie_windows_amd64.exe
@echo 'zipping build...'
zip binaries/ellie_windows_amd64_upx.zip ellie_windows_amd64.exe
@echo 'cleaning up...'
rm ellie_windows_amd64.exe
build_mac:
@echo 'building mac binary...'
env GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -o ellie
@echo 'zipping build...'
tar -zcvf binaries/ellie_mac_amd64.tar.gz ellie
@echo 'cleaning up...'
rm ellie
build_mac_upx:
@echo 'building mac binary with UPX...'
env GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -o ellie
@echo 'compressing with UPX...'
upx --best ellie
@echo 'zipping build...'
tar -zcvf binaries/ellie_mac_amd64_upx.tar.gz ellie
@echo 'cleaning up...'
rm ellie
build_android:
@echo 'building android binary'
env GOOS=android GOARCH=arm64 go build -ldflags="-s -w" -o ellie
@echo 'zipping build...'
tar -zcvf binaries/ellie_android_arm64.tar.gz ellie
@echo 'cleaning up...'
rm ellie
build_android_upx:
@echo 'building android binary with UPX...'
env GOOS=android GOARCH=arm64 go build -ldflags="-s -w" -o ellie
@echo 'compressing with UPX...'
upx --best ellie
@echo 'zipping build...'
tar -zcvf binaries/ellie_android_arm64_upx.tar.gz ellie
@echo 'cleaning up...'
rm ellie
clean:
cd rustmods/elliecore && cargo clean
rm -f ellie