mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-07 12:21:52 +09:00
46 lines
1.3 KiB
Bash
Executable File
46 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
if (( $EUID == 0 )); then echo "The build process is not meant to be run with root privilege, exiting now." >&2; exit 1; fi
|
|
|
|
cd "${0%/*}"
|
|
SRCFILES="terrarumwindows_x86"
|
|
DESTDIR="TerrarumWindows.x86"
|
|
RUNTIME="runtime-windows-x86"
|
|
RCFILE="../out/build_autogen_windows.rc"
|
|
JARNAME="TerrarumBuild.jar"
|
|
|
|
if [ ! -f "out/assets.tevd" ]; then
|
|
echo "'assets.tevd' not found in out/; run 'make assets' first." >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Cleanup
|
|
rm -rf $DESTDIR || true
|
|
mkdir $DESTDIR
|
|
|
|
# Prepare an application
|
|
if ! command -v x86_64-w64-mingw32-gcc &> /dev/null
|
|
then
|
|
echo 'Mingw32 not found; please install mingw64-cross-gcc (or similar) to your system' >&2; exit 1;
|
|
fi
|
|
|
|
# Compile .rc
|
|
x86_64-w64-mingw32-windres $RCFILE -O coff -o $RCFILE.res
|
|
|
|
# compile exe
|
|
x86_64-w64-mingw32-gcc -Os -s -o $DESTDIR/Terrarum.exe $SRCFILES/Terrarum.c $RCFILE.res || { echo 'Building EXE failed' >&2; exit 1; }
|
|
|
|
# Copy over a Java runtime
|
|
mkdir $DESTDIR/out
|
|
cp -r "../out/$RUNTIME" $DESTDIR/out/
|
|
mv $DESTDIR/out/$RUNTIME/bin/java.exe $DESTDIR/out/$RUNTIME/bin/java.exe
|
|
|
|
# Copy over the asset archive and jarfile
|
|
cp "out/assets.tevd" $DESTDIR/
|
|
cp "../out/$JARNAME" $DESTDIR/out/
|
|
|
|
# zip everything
|
|
rm "out/$DESTDIR.zip"
|
|
zip -r -9 -l "out/$DESTDIR.zip" $DESTDIR
|
|
rm -rf $DESTDIR || true
|
|
echo "Build successful: $DESTDIR"
|