22SCRIPTDIR=$( cd -- " $( dirname -- " ${BASH_SOURCE[0]} " ) " & > /dev/null && pwd)
33BUILDDIR=$SCRIPTDIR /build
44
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
515rm -f $BUILDDIR /nshptt_*
616rm -f $BUILDDIR /rsrc_* .syso
717
18+ # create sysinfo for windows executables (icons, etc...)
819$BUILDDIR /go-winres make
920mv $SCRIPTDIR /rsrc_* .syso $BUILDDIR
1021
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
1223
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
1728
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
2031
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
2334
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
2839rm -f $BUILDDIR /nshptt_win_* .bak
2940
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