2020-11-06 16:42:44 +00:00
|
|
|
#!/bin/sh
|
2021-06-26 19:50:17 +00:00
|
|
|
. ./build.cfg
|
2020-11-06 16:42:44 +00:00
|
|
|
set -e
|
|
|
|
|
|
|
|
FTE_MAKEFILE=./src/engine/engine/Makefile
|
2021-01-16 18:29:27 +00:00
|
|
|
COMPILE_SYS=$(uname)
|
|
|
|
|
|
|
|
# Check how many cores/processors we should use for building
|
|
|
|
if ! [ -x "$(command -v nproc)" ]; then
|
2021-05-09 20:01:13 +00:00
|
|
|
# check if we're on OpenBSD then
|
|
|
|
if ! [ -x "$(command -v sysctl)" ]; then
|
|
|
|
BUILD_PROC=1
|
|
|
|
else
|
|
|
|
BUILD_PROC=$(sysctl -n hw.ncpu)
|
|
|
|
fi
|
2021-01-16 18:29:27 +00:00
|
|
|
else
|
|
|
|
BUILD_PROC=$(nproc)
|
|
|
|
fi
|
2020-12-26 06:27:34 +00:00
|
|
|
|
|
|
|
if [ "$BUILD_DEBUG" -eq 1 ]; then
|
2021-01-16 15:57:48 +00:00
|
|
|
MAKETARGET=gl-dbg
|
2020-12-26 06:27:34 +00:00
|
|
|
OUTPUT=./debug
|
|
|
|
else
|
2021-01-16 15:57:48 +00:00
|
|
|
MAKETARGET=gl-rel
|
2020-12-26 06:27:34 +00:00
|
|
|
OUTPUT=./release
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$BUILD_SDL2" -eq 1 ]; then
|
|
|
|
PLATFORM=SDL2
|
2021-06-26 16:09:08 +00:00
|
|
|
OUTPUT=$OUTPUT/fteqw-glsdl2
|
2020-12-26 06:27:34 +00:00
|
|
|
else
|
2021-01-16 21:15:14 +00:00
|
|
|
if [[ "$COMPILE_SYS" == "CYGWIN_NT-10.0" ]] || [[ "$COMPILE_SYS" == "CYGWIN_NT-6.1-WOW64" ]]; then
|
2021-01-16 15:57:48 +00:00
|
|
|
PLATFORM=win64
|
|
|
|
OUTPUT=$OUTPUT/fteglqw64.exe
|
2021-01-16 21:15:14 +00:00
|
|
|
elif [[ "$COMPILE_SYS" == "CYGWIN_NT-6.1" ]] || [[ "$COMPILE_SYS" == "CYGWIN_NT-5.1" ]]; then
|
|
|
|
PLATFORM=win32
|
|
|
|
OUTPUT=$OUTPUT/fteglqw32.exe
|
2021-01-16 18:29:27 +00:00
|
|
|
elif [[ "$COMPILE_SYS" == "OpenBSD" ]]; then
|
|
|
|
PLATFORM=bsd
|
|
|
|
OUTPUT=$OUTPUT/fteqw-gl
|
|
|
|
elif [[ "$COMPILE_SYS" == "FreeBSD" ]]; then
|
|
|
|
PLATFORM=bsd
|
|
|
|
OUTPUT=$OUTPUT/fteqw-gl
|
|
|
|
elif [[ "$COMPILE_SYS" == "NetBSD" ]]; then
|
|
|
|
PLATFORM=bsd
|
|
|
|
OUTPUT=$OUTPUT/fteqw-gl
|
|
|
|
elif [[ "$COMPILE_SYS" == "Linux" ]]; then
|
2021-01-16 15:57:48 +00:00
|
|
|
PLATFORM=linux64
|
|
|
|
OUTPUT=$OUTPUT/fteqw-gl64
|
2021-03-23 19:41:52 +00:00
|
|
|
elif [[ "$COMPILE_SYS" == "GNU/Linux" ]]; then
|
|
|
|
PLATFORM=linux64
|
|
|
|
OUTPUT=$OUTPUT/fteqw-gl64
|
2021-01-16 18:29:27 +00:00
|
|
|
else
|
|
|
|
printf "Unsupported platform.\n"
|
|
|
|
exit
|
2021-01-16 15:57:48 +00:00
|
|
|
fi
|
2020-12-26 06:27:34 +00:00
|
|
|
fi
|
2020-11-06 16:42:44 +00:00
|
|
|
|
|
|
|
mkdir -p ./bin
|
|
|
|
|
|
|
|
if [ -f "$FTE_MAKEFILE" ]; then
|
2020-11-07 09:40:36 +00:00
|
|
|
printf "Engine is present, updating...\n"
|
|
|
|
cd ./src/engine/
|
2020-11-06 16:42:44 +00:00
|
|
|
svn up
|
|
|
|
cd ./engine
|
|
|
|
else
|
2020-11-07 09:40:36 +00:00
|
|
|
printf "Engine is NOT present, cloning...\n"
|
|
|
|
cd ./src/
|
2020-11-06 16:42:44 +00:00
|
|
|
svn checkout https://svn.code.sf.net/p/fteqw/code/trunk engine
|
|
|
|
cd ./engine/engine
|
|
|
|
fi
|
|
|
|
|
2021-06-26 16:09:08 +00:00
|
|
|
if [ "$BUILD_CLEAN" -eq 1 ]; then
|
2021-05-17 16:19:30 +00:00
|
|
|
gmake clean
|
|
|
|
fi
|
|
|
|
|
2021-06-26 16:09:08 +00:00
|
|
|
if [ "$BUILD_ENGINE_DEPENDENCIES" -eq 1 ]; then
|
|
|
|
gmake -j $BUILD_PROC makelibs FTE_TARGET=$PLATFORM
|
|
|
|
fi
|
|
|
|
|
2021-01-16 18:29:27 +00:00
|
|
|
gmake -j $BUILD_PROC $MAKETARGET FTE_TARGET=$PLATFORM
|
2020-12-26 06:27:34 +00:00
|
|
|
cp -v "$OUTPUT" ../../../bin/fteqw
|
2020-12-22 00:56:44 +00:00
|
|
|
|
2021-01-16 18:29:27 +00:00
|
|
|
gmake -j $BUILD_PROC sv-dbg
|
2021-01-16 15:57:48 +00:00
|
|
|
cp -v ./debug/fteqw-sv ../../../bin/fteqw-sv
|
2021-01-16 18:29:27 +00:00
|
|
|
gmake -j $BUILD_PROC qcc-rel
|
2020-11-06 16:42:44 +00:00
|
|
|
cp -v ./release/fteqcc ../../../bin/fteqcc
|
2020-11-06 17:50:44 +00:00
|
|
|
|
2020-11-06 16:42:44 +00:00
|
|
|
|
2021-06-26 16:09:08 +00:00
|
|
|
if [ "$BUILD_IQMTOOL" -eq 1 ]; then
|
|
|
|
gmake -j $BUILD_PROC iqm-rel
|
|
|
|
cp -v ./release/iqm ../../../bin/iqm
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$BUILD_IMGTOOL" -eq 1 ]; then
|
|
|
|
gmake -j $BUILD_PROC imgtool-rel
|
|
|
|
cp -v ./release/imgtool ../../../bin/imgtool
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$BUILD_BULLET" -eq 1 ]; then
|
|
|
|
gmake -j $BUILD_PROC plugins-rel NATIVE_PLUGINS="bullet"
|
|
|
|
find ./release/ -name 'fteplug_bullet_*.so' -exec cp -prv '{}' '../../../bin/' ';'
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$BUILD_FFMPEG" -eq 1 ]; then
|
|
|
|
gmake -j $BUILD_PROC plugins-rel NATIVE_PLUGINS="ffmpeg"
|
|
|
|
find ./release/ -name 'fteplug_ffmpeg_*.so' -exec cp -prv '{}' '../../../bin/' ';'
|
|
|
|
fi
|