You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
982 B
43 lines
982 B
#!/bin/bash |
|
|
|
cflags="-Wall -O3 -g -std=gnu11 -fno-strict-aliasing -Isrc" |
|
lflags="-lSDL2 -lm" |
|
|
|
if [[ $* == *windows* ]]; then |
|
platform="windows" |
|
outfile="lite.exe" |
|
compiler="x86_64-w64-mingw32-gcc" |
|
cflags="$cflags -DLUA_USE_POPEN -Iwinlib/SDL2-2.0.10/x86_64-w64-mingw32/include" |
|
lflags="$lflags -Lwinlib/SDL2-2.0.10/x86_64-w64-mingw32/lib" |
|
lflags="-lmingw32 -lSDL2main $lflags -mwindows -o $outfile res.res" |
|
x86_64-w64-mingw32-windres res.rc -O coff -o res.res |
|
else |
|
platform="unix" |
|
outfile="lite" |
|
compiler="gcc" |
|
cflags="$cflags -DLUA_USE_POSIX" |
|
lflags="$lflags -o $outfile" |
|
fi |
|
|
|
if command -v ccache >/dev/null; then |
|
compiler="ccache $compiler" |
|
fi |
|
|
|
|
|
echo "compiling ($platform)..." |
|
for f in `find src -name "*.c"`; do |
|
$compiler -c $cflags $f -o "${f//\//_}.o" |
|
if [[ $? -ne 0 ]]; then |
|
got_error=true |
|
fi |
|
done |
|
|
|
if [[ ! $got_error ]]; then |
|
echo "linking..." |
|
$compiler *.o $lflags |
|
fi |
|
|
|
echo "cleaning up..." |
|
rm *.o |
|
rm res.res 2>/dev/null |
|
echo "done"
|
|
|