me.fier.engine/compile

42 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e
export target_os="${target_os:=$1}"
if [ "$target_os" = "" ]; then
echo "Usage: $0 <platform>"
exit 1
fi
if [ "$target_os" = "linux" ]; then
echo "* Compiling: linux ..."
CC="${CC:=gcc}"
./lua_translate
"$CC" -std=gnu89 src/main.c -g -lSDL2 -llua5.3 -lm -o engine -O3 -Werror -Wall $CFLAGS
exit
fi
if [ "$target_os" = "openbsd" ]; then
echo "* Compiling: openbsd ..."
CC="${CC:=egcc}"
./lua_translate
"$CC" -std=gnu89 src/main.c -g -lSDL2 -llua5.3 -lm -o engine -O3 -Werror -Wall -I /usr/local/include $CFLAGS
exit
fi
if [ "$target_os" = "windows" ]; then
echo "* Compiling: windows ..."
CC="${CC:=gcc}"
MINGWPATH="${MINGWPATH:=C:\\mingw32}" # https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/8.1.0/threads-posix/dwarf/
SDLPATH="${SDLPATH:=SDL2}" # https://github.com/libsdl-org/SDL/releases
LUAPATH="${LUAPATH:=lua5.3/src}" # https://www.lua.org/ftp/lua-5.3.6.tar.gz
LUA="${LUA:="$LUAPATH/lua.exe"}"
"$LUA" lua_translate
"$CC" -D_WIN32_WINNT=0x0501 -std=gnu89 src/main.c -g -L"$MINGWPATH\\lib" -w -Wl,-subsystem,windows -lmingw32 -L"$LUAPATH" -I"$LUAPATH" -I"$SDLPATH/include" -L"$SDLPATH/lib" -lSDL2main -lSDL2 -llua53 -lm -o engine.exe -O3 -Werror -Wall $CFLAGS
exit
fi
echo "Unsupported platform. These platforms are currently available:"
echo "* linux"
echo "* openbsd"
echo "* windows"
exit 1