]> git.lizzy.rs Git - micro.git/blob - cross-compile.sh
6d476c6139bc9239271801ba0f0f2cea0651e3fb
[micro.git] / cross-compile.sh
1 cd ..
2
3 mkdir -p binaries
4 mkdir -p micro
5
6 cp LICENSE micro
7 cp README.md micro
8
9 VERSION="$(git rev-parse --short HEAD)"
10
11 # Mac
12 echo "OSX 64"
13 GOOS=darwin GOARCH=amd64 go build -ldflags "-X main.Version=$VERSION" -o micro/micro ./cmd/micro
14 tar -czf micro-osx.tar.gz micro
15 mv micro-osx.tar.gz binaries
16
17 # Linux
18 echo "Linux 64"
19 GOOS=linux GOARCH=amd64 go build -ldflags "-X main.Version=$VERSION" -o micro/micro ./cmd/micro
20 tar -czf micro-linux64.tar.gz micro
21 mv micro-linux64.tar.gz binaries
22 echo "Linux 32"
23 GOOS=linux GOARCH=386 go build -ldflags "-X main.Version=$VERSION" -o micro/micro ./cmd/micro
24 tar -czf micro-linux32.tar.gz micro
25 mv micro-linux32.tar.gz binaries
26 echo "Linux arm"
27 GOOS=linux GOARCH=arm go build -ldflags "-X main.Version=$VERSION" -o micro/micro ./cmd/micro
28 tar -czf micro-linux-arm.tar.gz micro
29 mv micro-linux-arm.tar.gz binaries
30
31 # NetBSD
32 echo "NetBSD 64"
33 GOOS=netbsd GOARCH=amd64 go build -ldflags "-X main.Version=$VERSION" -o micro/micro ./cmd/micro
34 tar -czf micro-netbsd64.tar.gz micro
35 mv micro-netbsd64.tar.gz binaries
36 echo "NetBSD 32"
37 GOOS=netbsd GOARCH=386 go build -ldflags "-X main.Version=$VERSION" -o micro/micro ./cmd/micro
38 tar -czf micro-netbsd32.tar.gz micro
39 mv micro-netbsd32.tar.gz binaries
40
41 # OpenBSD
42 echo "OpenBSD 64"
43 GOOS=openbsd GOARCH=amd64 go build -ldflags "-X main.Version=$VERSION" -o micro/micro ./cmd/micro
44 tar -czf micro-openbsd64.tar.gz micro
45 mv micro-openbsd64.tar.gz binaries
46 echo "OpenBSD 32"
47 GOOS=openbsd GOARCH=386 go build -ldflags "-X main.Version=$VERSION" -o micro/micro ./cmd/micro
48 tar -czf micro-openbsd32.tar.gz micro
49 mv micro-openbsd32.tar.gz binaries
50
51 # FreeBSD
52 echo "FreeBSD 64"
53 GOOS=freebsd GOARCH=amd64 go build -ldflags "-X main.Version=$VERSION" -o micro/micro ./cmd/micro
54 tar -czf micro-freebsd64.tar.gz micro
55 mv micro-freebsd64.tar.gz binaries
56 echo "FreeBSD 32"
57 GOOS=freebsd GOARCH=386 go build -ldflags "-X main.Version=$VERSION" -o micro/micro ./cmd/micro
58 tar -czf micro-freebsd32.tar.gz micro
59 mv micro-freebsd32.tar.gz binaries
60
61 rm micro/micro
62
63 # Windows
64 echo "Windows 64"
65 GOOS=windows GOARCH=amd64 go build -ldflags "-X main.Version=$VERSION" -o micro/micro.exe ./cmd/micro
66 zip -r -q -T micro-win64.zip micro
67 mv micro-win64.zip binaries
68 echo "Windows 32"
69 GOOS=windows GOARCH=386 go build -ldflags "-X main.Version=$VERSION" -o micro/micro.exe ./cmd/micro
70 zip -r -q -T micro-win32.zip micro
71 mv micro-win32.zip binaries
72
73 rm -rf micro