2
2
SCRIPTDIR=$( cd -- " $( dirname -- " ${BASH_SOURCE[0]} " ) " & > /dev/null && pwd)
3
3
BUILDDIR=$SCRIPTDIR /build
4
4
5
+ GIT_REV=` git rev-parse --abbrev-ref HEAD`
6
+ COMMIT_HASH=" $( git rev-parse --short HEAD) "
7
+ BUILD_TIMESTAMP=$( date -u ' +%Y-%m-%dT%H:%M:%S%z' )
8
+ LDFLAGS=(
9
+ " -X 'main.version=${GIT_REV} '"
10
+ " -X 'main.commitHash=${COMMIT_HASH} '"
11
+ " -X 'main.buildTime=${BUILD_TIMESTAMP} '"
12
+ )
13
+
14
+ # remove old build artifacts
5
15
rm -f $BUILDDIR /nshptt_*
6
16
rm -f $BUILDDIR /rsrc_* .syso
7
17
18
+ # create sysinfo for windows executables (icons, etc...)
8
19
$BUILDDIR /go-winres make
9
20
mv $SCRIPTDIR /rsrc_* .syso $BUILDDIR
10
21
11
- env GOOS=aix GOARCH=ppc64 go build -o $BUILDDIR /nshptt_aix_ppc64 $BUILDDIR /../tool.go
22
+ env GOOS=aix GOARCH=ppc64 go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_aix_ppc64 $BUILDDIR /../tool.go
12
23
13
- # env GOOS=android GOARCH=amd64 go build -o $BUILDDIR/nshptt_android_amd64.exe $BUILDDIR/../tool.go
14
- # env GOOS=android GOARCH=386 go build -o $BUILDDIR/nshptt_android_386.exe $BUILDDIR/../tool.go
15
- # env GOOS=android GOARCH=arm go build -o $BUILDDIR/nshptt_android_arm.exe $BUILDDIR/../tool.go
16
- env GOOS=android GOARCH=arm64 go build -o $BUILDDIR /nshptt_android_arm64 $BUILDDIR /../tool.go
24
+ # env GOOS=android GOARCH=amd64 go build -ldflags="${LDFLAGS[*]}" - o $BUILDDIR/nshptt_android_amd64.exe $BUILDDIR/../tool.go
25
+ # env GOOS=android GOARCH=386 go build -ldflags="${LDFLAGS[*]}" - o $BUILDDIR/nshptt_android_386.exe $BUILDDIR/../tool.go
26
+ # env GOOS=android GOARCH=arm go build -ldflags="${LDFLAGS[*]}" - o $BUILDDIR/nshptt_android_arm.exe $BUILDDIR/../tool.go
27
+ env GOOS=android GOARCH=arm64 go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_android_arm64 $BUILDDIR /../tool.go
17
28
18
- env GOOS=darwin GOARCH=amd64 go build -o $BUILDDIR /nshptt_darwin_amd64 $BUILDDIR /../tool.go
19
- env GOOS=darwin GOARCH=arm64 go build -o $BUILDDIR /nshptt_darwin_arm64 $BUILDDIR /../tool.go
29
+ env GOOS=darwin GOARCH=amd64 go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_darwin_amd64 $BUILDDIR /../tool.go
30
+ env GOOS=darwin GOARCH=arm64 go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_darwin_arm64 $BUILDDIR /../tool.go
20
31
21
- # env GOOS=ios GOARCH=amd64 go build -o $BUILDDIR/nshptt_ios_amd64.exe $BUILDDIR/../tool.go
22
- # env GOOS=ios GOARCH=arm64 go build -o $BUILDDIR/nshptt_ios_arm64.exe $BUILDDIR/../tool.go
32
+ # env GOOS=ios GOARCH=amd64 go build -ldflags="${LDFLAGS[*]}" - o $BUILDDIR/nshptt_ios_amd64.exe $BUILDDIR/../tool.go
33
+ # env GOOS=ios GOARCH=arm64 go build -ldflags="${LDFLAGS[*]}" - o $BUILDDIR/nshptt_ios_arm64.exe $BUILDDIR/../tool.go
23
34
24
- env GOOS=windows GOARCH=amd64 go build -o $BUILDDIR /nshptt_win_amd64.exe $BUILDDIR /../tool.go && $BUILDDIR /go-winres patch $BUILDDIR /nshptt_win_amd64.exe
25
- env GOOS=windows GOARCH=386 go build -o $BUILDDIR /nshptt_win_386.exe $BUILDDIR /../tool.go && $BUILDDIR /go-winres patch $BUILDDIR /nshptt_win_386.exe
26
- env GOOS=windows GOARCH=arm go build -o $BUILDDIR /nshptt_win_arm.exe $BUILDDIR /../tool.go
27
- env GOOS=windows GOARCH=arm64 go build -o $BUILDDIR /nshptt_win_arm64.exe $BUILDDIR /../tool.go
35
+ env GOOS=windows GOARCH=amd64 go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_win_amd64.exe $BUILDDIR /../tool.go && $BUILDDIR /go-winres patch $BUILDDIR /nshptt_win_amd64.exe
36
+ env GOOS=windows GOARCH=386 go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_win_386.exe $BUILDDIR /../tool.go && $BUILDDIR /go-winres patch $BUILDDIR /nshptt_win_386.exe
37
+ env GOOS=windows GOARCH=arm go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_win_arm.exe $BUILDDIR /../tool.go
38
+ env GOOS=windows GOARCH=arm64 go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_win_arm64.exe $BUILDDIR /../tool.go
28
39
rm -f $BUILDDIR /nshptt_win_* .bak
29
40
30
- env GOOS=linux GOARCH=amd64 go build -o $BUILDDIR /nshptt_linux_amd64 $BUILDDIR /../tool.go
31
- env GOOS=linux GOARCH=386 go build -o $BUILDDIR /nshptt_linux_386 $BUILDDIR /../tool.go
32
- env GOOS=linux GOARCH=arm go build -o $BUILDDIR /nshptt_linux_arm $BUILDDIR /../tool.go
33
- env GOOS=linux GOARCH=arm64 go build -o $BUILDDIR /nshptt_linux_arm64 $BUILDDIR /../tool.go
34
-
35
- env GOOS=openbsd GOARCH=amd64 go build -o $BUILDDIR /nshptt_openbsd_amd64 $BUILDDIR /../tool.go
36
- env GOOS=openbsd GOARCH=386 go build -o $BUILDDIR /nshptt_openbsd_386 $BUILDDIR /../tool.go
37
- env GOOS=openbsd GOARCH=arm go build -o $BUILDDIR /nshptt_openbsd_arm $BUILDDIR /../tool.go
38
- env GOOS=openbsd GOARCH=arm64 go build -o $BUILDDIR /nshptt_openbsd_arm64 $BUILDDIR /../tool.go
39
-
40
- env GOOS=netbsd GOARCH=amd64 go build -o $BUILDDIR /nshptt_netbsd_amd64 $BUILDDIR /../tool.go
41
- env GOOS=netbsd GOARCH=386 go build -o $BUILDDIR /nshptt_netbsd_386 $BUILDDIR /../tool.go
42
- env GOOS=netbsd GOARCH=arm go build -o $BUILDDIR /nshptt_netbsd_arm $BUILDDIR /../tool.go
43
- env GOOS=netbsd GOARCH=arm64 go build -o $BUILDDIR /nshptt_netbsd_arm64 $BUILDDIR /../tool.go
44
-
45
- env GOOS=freebsd GOARCH=amd64 go build -o $BUILDDIR /nshptt_freebsd_amd64 $BUILDDIR /../tool.go
46
- env GOOS=freebsd GOARCH=386 go build -o $BUILDDIR /nshptt_freebsd_386 $BUILDDIR /../tool.go
47
- env GOOS=freebsd GOARCH=arm go build -o $BUILDDIR /nshptt_freebsd_arm $BUILDDIR /../tool.go
48
- env GOOS=freebsd GOARCH=arm64 go build -o $BUILDDIR /nshptt_freebsd_arm64 $BUILDDIR /../tool.go
41
+ env GOOS=linux GOARCH=amd64 go build $BUILDFLAGS -o $BUILDDIR /nshptt_linux_amd64 $BUILDDIR /../tool.go
42
+ env GOOS=linux GOARCH=386 go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_linux_386 $BUILDDIR /../tool.go
43
+ env GOOS=linux GOARCH=arm go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_linux_arm $BUILDDIR /../tool.go
44
+ env GOOS=linux GOARCH=arm64 go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_linux_arm64 $BUILDDIR /../tool.go
45
+
46
+ env GOOS=openbsd GOARCH=amd64 go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_openbsd_amd64 $BUILDDIR /../tool.go
47
+ env GOOS=openbsd GOARCH=386 go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_openbsd_386 $BUILDDIR /../tool.go
48
+ env GOOS=openbsd GOARCH=arm go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_openbsd_arm $BUILDDIR /../tool.go
49
+ env GOOS=openbsd GOARCH=arm64 go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_openbsd_arm64 $BUILDDIR /../tool.go
50
+
51
+ env GOOS=netbsd GOARCH=amd64 go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_netbsd_amd64 $BUILDDIR /../tool.go
52
+ env GOOS=netbsd GOARCH=386 go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_netbsd_386 $BUILDDIR /../tool.go
53
+ env GOOS=netbsd GOARCH=arm go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_netbsd_arm $BUILDDIR /../tool.go
54
+ env GOOS=netbsd GOARCH=arm64 go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_netbsd_arm64 $BUILDDIR /../tool.go
55
+
56
+ env GOOS=freebsd GOARCH=amd64 go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_freebsd_amd64 $BUILDDIR /../tool.go
57
+ env GOOS=freebsd GOARCH=386 go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_freebsd_386 $BUILDDIR /../tool.go
58
+ env GOOS=freebsd GOARCH=arm go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_freebsd_arm $BUILDDIR /../tool.go
59
+ env GOOS=freebsd GOARCH=arm64 go build -ldflags= " ${LDFLAGS[*]} " - o $BUILDDIR /nshptt_freebsd_arm64 $BUILDDIR /../tool.go
0 commit comments