34 lines
910 B
Bash
Executable File
34 lines
910 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Create output directory
|
|
mkdir -p output
|
|
|
|
|
|
function build_arch() {
|
|
local arch=$1
|
|
|
|
if [ ! -f "${HOME}/.musl-cross/${arch}-linux-musl-cross/bin/${arch}-linux-musl-c++" ]; then
|
|
echo "Musl cross compiler for ${arch} not found. Please run install_build_prerequisites.sh first."
|
|
exit 1
|
|
fi
|
|
|
|
CMAKE_BUILD_TYPE=Release
|
|
CC="${HOME}/.musl-cross/${arch}-linux-musl-cross/bin/${arch}-linux-musl-gcc"
|
|
CXX="${HOME}/.musl-cross/${arch}-linux-musl-cross/bin/${arch}-linux-musl-g++"
|
|
|
|
BUILDDIR=build/${arch}
|
|
mkdir -p ${BUILDDIR}
|
|
|
|
cmake -B ${BUILDDIR} -G Ninja -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_C_COMPILER=${CC} -DCMAKE_CXX_COMPILER=${CXX}
|
|
cmake --build ${BUILDDIR}
|
|
|
|
upx ${BUILDDIR}/dropshell
|
|
cp ${BUILDDIR}/dropshell output/dropshell.${arch}
|
|
}
|
|
|
|
build_arch x86_64
|
|
build_arch aarch64
|
|
|
|
echo "Static binaries have been created:"
|
|
ls -la output
|