]> git.lizzy.rs Git - micro.git/blob - tools/cross-compile.sh
Fetch tags if none are found
[micro.git] / tools / cross-compile.sh
1 cd ..
2
3 mkdir -p binaries
4 mkdir -p micro-$1
5
6 cp LICENSE micro-$1
7 cp README.md micro-$1
8 cp LICENSE-THIRD-PARTY micro-$1
9
10 HASH="$(git rev-parse --short HEAD)"
11 VERSION="$(go run tools/build-version.go)"
12 DATE="$(go run tools/build-date.go)"
13 ADDITIONAL_GO_LINKER_FLAGS="$(go run tools/info-plist.go $VERSION)"
14
15 # Mac
16 echo "OSX 64"
17 GOOS=darwin GOARCH=amd64 make build
18 mv micro micro-$1
19 tar -czf micro-$1-osx.tar.gz micro-$1
20 mv micro-$1-osx.tar.gz binaries
21
22 # Linux
23 echo "Linux 64"
24 GOOS=linux GOARCH=amd64 make build
25 mv micro micro-$1
26 tar -czf micro-$1-linux64.tar.gz micro-$1
27 mv micro-$1-linux64.tar.gz binaries
28
29 echo "Linux 64 fully static"
30 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 make build
31 mv micro micro-$1
32 tar -czf micro-$1-linux64-static.tar.gz micro-$1
33 mv micro-$1-linux64-static.tar.gz binaries
34
35 echo "Linux 32"
36 GOOS=linux GOARCH=386 make build
37 mv micro micro-$1
38 tar -czf micro-$1-linux32.tar.gz micro-$1
39 mv micro-$1-linux32.tar.gz binaries
40
41 echo "Linux ARM 32"
42 GOOS=linux GOARCH=arm make build
43 mv micro micro-$1
44 tar -czf micro-$1-linux-arm.tar.gz micro-$1
45 mv micro-$1-linux-arm.tar.gz binaries
46
47 echo "Linux ARM 64"
48 GOOS=linux GOARCH=arm64 make build
49 mv micro micro-$1
50 tar -czf micro-$1-linux-arm64.tar.gz micro-$1
51 mv micro-$1-linux-arm64.tar.gz binaries
52
53 # NetBSD
54 echo "NetBSD 64"
55 GOOS=netbsd GOARCH=amd64 make build
56 mv micro micro-$1
57 tar -czf micro-$1-netbsd64.tar.gz micro-$1
58 mv micro-$1-netbsd64.tar.gz binaries
59
60 echo "NetBSD 32"
61 GOOS=netbsd GOARCH=386 make build
62 mv micro micro-$1
63 tar -czf micro-$1-netbsd32.tar.gz micro-$1
64 mv micro-$1-netbsd32.tar.gz binaries
65
66 # OpenBSD
67 echo "OpenBSD 64"
68 GOOS=openbsd GOARCH=amd64 make build
69 mv micro micro-$1
70 tar -czf micro-$1-openbsd64.tar.gz micro-$1
71 mv micro-$1-openbsd64.tar.gz binaries
72
73 echo "OpenBSD 32"
74 GOOS=openbsd GOARCH=386 make build
75 mv micro micro-$1
76 tar -czf micro-$1-openbsd32.tar.gz micro-$1
77 mv micro-$1-openbsd32.tar.gz binaries
78
79 # FreeBSD
80 echo "FreeBSD 64"
81 GOOS=freebsd GOARCH=amd64 make build
82 mv micro micro-$1
83 tar -czf micro-$1-freebsd64.tar.gz micro-$1
84 mv micro-$1-freebsd64.tar.gz binaries
85
86 echo "FreeBSD 32"
87 GOOS=freebsd GOARCH=386 make build
88 mv micro micro-$1
89 tar -czf micro-$1-freebsd32.tar.gz micro-$1
90 mv micro-$1-freebsd32.tar.gz binaries
91
92 rm micro-$1/micro
93
94 # Windows
95 echo "Windows 64"
96 GOOS=windows GOARCH=amd64 make build
97 mv micro.exe micro-$1
98 zip -r -q -T micro-$1-win64.zip micro-$1
99 mv micro-$1-win64.zip binaries
100
101 echo "Windows 32"
102 GOOS=windows GOARCH=386 make build
103 mv micro.exe micro-$1
104 zip -r -q -T micro-$1-win32.zip micro-$1
105 mv micro-$1-win32.zip binaries
106
107 rm -rf micro-$1