mirror of https://github.com/IoTcat/vlmcsd.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
155 lines
5.4 KiB
155 lines
5.4 KiB
#!/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
|
|
|