github.com/yggdrasil-network/yggdrasil-go@v0.5.6/build (about) 1 #!/bin/sh 2 3 set -ef 4 5 PKGSRC=${PKGSRC:-github.com/yggdrasil-network/yggdrasil-go/src/version} 6 PKGNAME=${PKGNAME:-$(sh contrib/semver/name.sh)} 7 PKGVER=${PKGVER:-$(sh contrib/semver/version.sh --bare)} 8 9 LDFLAGS="-X $PKGSRC.buildName=$PKGNAME -X $PKGSRC.buildVersion=$PKGVER" 10 ARGS="-v" 11 12 while getopts "utc:l:dro:p" option 13 do 14 case "$option" 15 in 16 u) UPX=true;; 17 t) TABLES=true;; 18 c) GCFLAGS="$GCFLAGS $OPTARG";; 19 l) LDFLAGS="$LDFLAGS $OPTARG";; 20 d) ARGS="$ARGS -tags debug" DEBUG=true;; 21 r) ARGS="$ARGS -race";; 22 o) ARGS="$ARGS -o $OPTARG";; 23 p) ARGS="$ARGS -buildmode=pie";; 24 esac 25 done 26 27 if [ -z $TABLES ] && [ -z $DEBUG ]; then 28 LDFLAGS="$LDFLAGS -s -w" 29 fi 30 31 for CMD in yggdrasil yggdrasilctl ; do 32 echo "Building: $CMD" 33 go build $ARGS -ldflags="$LDFLAGS" -gcflags="$GCFLAGS" ./cmd/$CMD 34 35 if [ $UPX ]; then 36 upx --brute $CMD 37 fi 38 done