#!/bin/bash set -e # This uses gox from https://github.com/mitchellh/gox # Make sure you've run gox -build-toolchain - not required for go >= 1.5 if [ "$1" == "" ]; then echo "Syntax: $0 Version" exit 1 fi VERSION="$1" rm -rf build # Disable CGO and dynamic builds on all platforms (including build patform) export CGO_ENABLED=0 # Arch pairs we build for # gox -osarch-list - for definitive list # go tool dist list - or this OSARCH="\ windows/386 windows/amd64 darwin/386 darwin/amd64 linux/386 linux/amd64 linux/arm linux/arm64 freebsd/386 freebsd/amd64 freebsd/arm netbsd/386 netbsd/amd64 netbsd/arm openbsd/386 openbsd/amd64 plan9/386 plan9/amd64 solaris/amd64" # Make space separated OSARCH=${OSARCH//$'\n'/ } gox --ldflags "-s -X github.com/ncw/rclone/fs.Version=${VERSION}" -output "build/{{.Dir}}-${VERSION}-{{.OS}}-{{.Arch}}/{{.Dir}}" -osarch "${OSARCH}" mv build/rclone-${VERSION}-darwin-amd64 build/rclone-${VERSION}-osx-amd64 mv build/rclone-${VERSION}-darwin-386 build/rclone-${VERSION}-osx-386 cd build for d in `ls`; do cp -a ../MANUAL.txt $d/README.txt cp -a ../MANUAL.html $d/README.html cp -a ../rclone.1 $d/ zip -r9 $d.zip $d d_current=${d/-${VERSION}/-current} ln $d.zip $d_current.zip rm -rf $d done cd ..