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