Licar/make.sh
2025-05-18 23:04:17 +02:00

54 lines
1.5 KiB
Bash
Executable file

#/bin/sh
# Make script for Licar, just help run the compile command. Usage:
#
# ./make.sh [platform [compiler]]
clear
clear
echo "making Licar"
#OPTIM="-O3"
OPTIM="-O1" # temporary
C_FLAGS="-std=c99 -Wall -Wextra -pedantic $OPTIM -Wno-unused-parameter -Wno-missing-field-initializers -o licar"
COMPILER="g++"
PLATFORM="sdl"
if [ $# -gt 0 ]; then
PLATFORM="$1"
if [ $# -gt 1 ]; then
COMPILER="$2"
if [ $COMPILER = "tcc" ]; then # you'll probably want to modify this
C_FLAGS="${C_FLAGS} -L/usr/lib/x86_64-linux-gnu/pulseaudio/
-I/home/tastyfish/git/tcc/tcc-0.9.27/include
-I/usr/lib/gcc/x86_64-linux-gnu/8/include/"
fi
fi
fi
if [ $PLATFORM = "sdl" ]; then
# PC SDL build, requires:
# - SDL2 (dev) package
SDL_FLAGS=`sdl2-config --cflags --libs`
COMMAND="${COMPILER} ${C_FLAGS} frontend_sdl.c -I/usr/local/include ${SDL_FLAGS}"
elif [ $PLATFORM = "csfml" ]; then
# PC CMFML build, requires:
# - csfml (dev) package
COMMAND="${COMPILER} ${C_FLAGS} frontend_csfml.c -lcsfml-graphics -lcsfml-window -lcsfml-system -lcsfml-audio"
elif [ $PLATFORM = "emscripten" ]; then
# emscripten (browser Javascript) build, requires:
# - emscripten
COMMAND="../emsdk/upstream/emscripten/emcc ./frontend_sdl.c -s USE_SDL=2 -O3 -lopenal --shell-file HTMLshell.html -o licar.html -s EXPORTED_FUNCTIONS='[\"_main\",\"_webButton\"]' -s EXPORTED_RUNTIME_METHODS='[\"ccall\",\"cwrap\"]'"
else
echo "unknown frontend"
fi
echo ${COMMAND}
eval ${COMMAND}
echo "done"