init
This commit is contained in:
49
build-all.sh
Executable file
49
build-all.sh
Executable file
@@ -0,0 +1,49 @@
|
||||
#! /usr/bin/env sh
|
||||
|
||||
SRC=cmd/dischord/*.go
|
||||
BUILDDIR="build"
|
||||
|
||||
BUILD_CMDS=""
|
||||
|
||||
BUILDS=0
|
||||
DONE=0
|
||||
|
||||
[ "$1" = "clean" ] && echo "Cleaning $BUILDDIR" && rm -rf "$BUILDDIR" && exit 0
|
||||
|
||||
do_build() {
|
||||
[ "$OS" = "windows" ] && EXT=".exe"
|
||||
env GOOS="$OS" GOARCH="$ARCH" CGO_ENABLED=0 go build -ldflags "-s -w" -o "$BUILDDIR/$NAME$EXT" $SRC
|
||||
}
|
||||
|
||||
add() {
|
||||
BUILDS=$((BUILDS+1))
|
||||
BUILD_CMDS=$(printf "%s\n%s" "$BUILD_CMDS" "$1 $2 $3")
|
||||
}
|
||||
|
||||
build() {
|
||||
mkdir -p "$BUILDDIR"
|
||||
BUILD_CMDS="$(printf "%s" "$BUILD_CMDS" | grep '.')"
|
||||
while IFS= read -r l; do
|
||||
OS=$(echo $l|cut -d\ -f1)
|
||||
ARCH=$(echo $l|cut -d\ -f2)
|
||||
NAME=$(echo $l|cut -d\ -f3)
|
||||
echo "Building for $OS on $ARCH"
|
||||
printf "%s\r" "Progress: $((DONE*100/BUILDS))%"
|
||||
do_build
|
||||
DONE=$((DONE+1))
|
||||
done << EOF
|
||||
$BUILD_CMDS
|
||||
EOF
|
||||
echo "Progress: DONE"
|
||||
}
|
||||
|
||||
# see `go tool dist list` for possible configs
|
||||
add linux 386 dischord-linux-x86
|
||||
add linux amd64 dischord-linux-amd64
|
||||
add linux arm dischord-linux-arm32
|
||||
add linux arm64 dischord-linux-arm64
|
||||
add darwin arm64 dischord-macos-apple-silicon
|
||||
add darwin amd64 dischord-macos-intel
|
||||
add windows 386 dischord-windows-x86
|
||||
add windows amd64 dischord-windows-amd64
|
||||
build
|
||||
Reference in New Issue
Block a user