#!/bin/bash export VLMCSD_VERSION=$(git describe) SMALLCC="-pipe -fno-common -fno-exceptions -fno-stack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fmerge-all-constants" SMALLLD="-pipe -Wl,--hash-style=sysv -Wl,-z,norelro -Wl,--build-id=none" SMALL="$SMALLCC $SMALLLD" cd "$( dirname "$0" )" gmake -C .. clean BINDIR="../bin" MANDIR="../man" cd ../src mkdir -p ../binaries/Linux/intel/glibc mkdir -p ../binaries/Linux/intel/uclibc mkdir -p ../binaries/Linux/intel/static mkdir -p ../binaries/Linux/intel/musl mkdir -p ../binaries/Linux/sparc/glibc mkdir -p ../binaries/Linux/s390/glibc mkdir -p ../binaries/Android/arm/bionic mkdir -p ../binaries/Android/arm/static mkdir -p ../binaries/Android/intel/bionic mkdir -p ../binaries/Android/intel/static mkdir -p ../binaries/Android/mips/bionic mkdir -p ../binaries/Android/mips/static mkdir -p ../binaries/Linux/arm/little-endian/glibc mkdir -p ../binaries/Linux/arm/little-endian/musl mkdir -p ../binaries/Linux/arm/little-endian/uclibc mkdir -p ../binaries/Linux/arm/little-endian/static mkdir -p ../binaries/Linux/arm/big-endian/uclibc mkdir -p ../binaries/Linux/arm/big-endian/static mkdir -p ../binaries/Linux/mips/little-endian/glibc mkdir -p ../binaries/Linux/mips/little-endian/uclibc mkdir -p ../binaries/Linux/mips/little-endian/static mkdir -p ../binaries/Linux/mips/little-endian/musl mkdir -p ../binaries/Linux/mips/big-endian/uclibc mkdir -p ../binaries/Linux/mips/big-endian/static mkdir -p ../binaries/Linux/mips/big-endian/glibc mkdir -p ../binaries/Linux/mips/big-endian/musl mkdir -p ../binaries/Linux/ppc/little-endian/glibc mkdir -p ../binaries/Linux/ppc/big-endian/glibc mkdir -p ../binaries/Linux/ppc/big-endian/uclibc mkdir -p ../binaries/Linux/ppc/big-endian/musl mkdir -p ../binaries/Linux/ppc/big-endian/static mkdir -p ../binaries/MacOSX/intel mkdir -p ../binaries/MacOSX/ppc mkdir -p ../binaries/iOS/arm mkdir -p ../binaries/FreeBSD/intel mkdir -p ../binaries/NetBSD/intel mkdir -p ../binaries/OpenBSD/intel mkdir -p ../binaries/DragonFly/intel mkdir -p ../binaries/Solaris/intel mkdir -p ../binaries/Windows/intel mkdir -p ../binaries/Minix/intel mkdir -p ../binaries/Hurd/intel ## IBM S/390 export CFLAGS="$SMALLCC" export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m31 -mesa -mpacked-stack -msmall-exec" export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu" export THREADS=0 export FEATURES=full export CC=s390x-linux-gnu-gcc export VERBOSE=3 export MULTI_NAME=~/x/binaries/Linux/s390/glibc/vlmcsdmulti-s390-glibc export CLIENT_NAME=~/x/binaries/Linux/s390/glibc/vlmcs-s390-glibc export PROGRAM_NAME=~/x/binaries/Linux/s390/glibc/vlmcsd-s390-glibc make -B -j`nproc` allmulti export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m64 -mzarch -mpacked-stack -msmall-exec" export MULTI_NAME=~/x/binaries/Linux/s390/glibc/vlmcsdmulti-s390x-glibc export CLIENT_NAME=~/x/binaries/Linux/s390/glibc/vlmcs-s390x-glibc export PROGRAM_NAME=~/x/binaries/Linux/s390/glibc/vlmcsd-s390x-glibc make -B -j`nproc` allmulti ## SPARC64 export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mcpu=v7" export LDFLAGS="$SMALLLD" export CC=sparc64-linux-gnu-gcc export MULTI_NAME=~/x/binaries/Linux/sparc/glibc/vlmcsdmulti-sparc64v9-glibc export CLIENT_NAME=~/x/binaries/Linux/sparc/glibc/vlmcs-sparc64v9-glibc export PROGRAM_NAME=~/x/binaries/Linux/sparc/glibc/vlmcsd-sparc64v9-glibc make -B -j`nproc` allmulti ## MIPS64 BIG-ENDIAN export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips64 -mno-mips16" export LDFLAGS="$SMALLLD" export CC=mips64-linux-gnuabi64-gcc export MULTI_NAME=~/x/binaries/Linux/mips/big-endian/glibc/vlmcsdmulti-mips64-glibc export CLIENT_NAME=~/x/binaries/Linux/mips/big-endian/glibc/vlmcs-mips64-glibc export PROGRAM_NAME=~/x/binaries/Linux/mips/big-endian/glibc/vlmcsd-mips64-glibc make -B -j`nproc` allmulti export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips64 -mmicromips" export MULTI_NAME=~/x/binaries/Linux/mips/big-endian/glibc/vlmcsdmulti-mips64mm-glibc export CLIENT_NAME=~/x/binaries/Linux/mips/big-endian/glibc/vlmcs-mips64mm-glibc export PROGRAM_NAME=~/x/binaries/Linux/mips/big-endian/glibc/vlmcsd-mips64mm-glibc make -B -j`nproc` allmulti ## MIPS64 LITTLE-ENDIAN export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips64 -mno-mips16" export LDFLAGS="$SMALLLD" export CC=mips64el-linux-gnuabi64-gcc export MULTI_NAME=~/x/binaries/Linux/mips/little-endian/glibc/vlmcsdmulti-mips64el-glibc export CLIENT_NAME=~/x/binaries/Linux/mips/little-endian/glibc/vlmcs-mips64el-glibc export PROGRAM_NAME=~/x/binaries/Linux/mips/little-endian/glibc/vlmcsd-mips64el-glibc make -B -j`nproc` allmulti export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips64 -mmicromips" export MULTI_NAME=~/x/binaries/Linux/mips/little-endian/glibc/vlmcsdmulti-mips64elmm-glibc export CLIENT_NAME=~/x/binaries/Linux/mips/little-endian/glibc/vlmcs-mips64elmm-glibc export PROGRAM_NAME=~/x/binaries/Linux/mips/little-endian/glibc/vlmcsd-mips64elmm-glibc make -B -j`nproc` allmulti if [ "$1" == "nocopy" ]; then exit 0 fi scp -p -P 2222 ~/x/binaries/Linux/s390/glibc/vlmcsdmulti-s390-glibc ~/x/binaries/Linux/s390/glibc/vlmcs-s390-glibc ~/x/binaries/Linux/s390/glibc/vlmcsd-s390-glibc ~/x/binaries/Linux/s390/glibc/vlmcsdmulti-s390x-glibc ~/x/binaries/Linux/s390/glibc/vlmcs-s390x-glibc ~/x/binaries/Linux/s390/glibc/vlmcsd-s390x-glibc s390:vlmcsd scp -p -P 2222 ~/x/binaries/Linux/s390/glibc/vlmcsdmulti-s390-glibc ~/x/binaries/Linux/s390/glibc/vlmcsdmulti-s390x-glibc s390:/usr/local/sbin