github.com/panekj/cli@v0.0.0-20230304125325-467dd2f3797e/scripts/build/binary (about)

     1  #!/usr/bin/env sh
     2  #
     3  # Build a static binary for the host OS/ARCH
     4  #
     5  
     6  set -eu
     7  
     8  . ./scripts/build/.variables
     9  
    10  if [ "$CGO_ENABLED" = "1" ] && [ "$(go env GOOS)" != "windows" ]; then
    11    GO_BUILDTAGS="$GO_BUILDTAGS pkcs11"
    12  fi
    13  
    14  echo "Building $GO_LINKMODE $(basename "${TARGET}")"
    15  
    16  export GO111MODULE=auto
    17  
    18  if [ "$(go env GOOS)" = "windows" ]; then
    19    if [ ! -x "$(command -v goversioninfo)" ]; then
    20      >&2 echo "goversioninfo not found, skipping manifesting binary"
    21    else
    22      ./scripts/build/mkversioninfo
    23      (set -x ; go generate -v "${SOURCE}")
    24    fi
    25  fi
    26  
    27  (set -x ; go build -o "${TARGET}" -tags "${GO_BUILDTAGS}" -ldflags "${GO_LDFLAGS}" ${GO_BUILDMODE} "${SOURCE}")
    28  
    29  ln -sf "$(basename "${TARGET}")" "$(dirname "${TARGET}")/docker"