Update build script to build on unix systems
This commit is contained in:
parent
aa9557e9ba
commit
3cdb487eac
42
build.sh
42
build.sh
|
@ -1,32 +1,36 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
cflags="-Wall -O3 -g -std=gnu11 -fno-strict-aliasing -Isrc"
|
cflags="-Wall -O3 -g -std=gnu11 -fno-strict-aliasing -Isrc -Ilib/font_renderer"
|
||||||
lflags="-lSDL2 -lm"
|
cxxflags="-Wall -O3 -g -std=c++03 -fno-exceptions -fno-rtti -Isrc -Ilib/font_renderer"
|
||||||
|
libcflags=
|
||||||
|
lflags=
|
||||||
|
for package in libagg freetype2 lua5.2; do
|
||||||
|
libcflags+=" $(pkg-config --cflags $package)"
|
||||||
|
lflags+=" $(pkg-config --libs $package)"
|
||||||
|
done
|
||||||
|
libcflags+=" $(sdl2-config --cflags)"
|
||||||
|
lflags+=" $(sdl2-config --libs) -lm"
|
||||||
|
|
||||||
if [[ $* == *windows* ]]; then
|
if [[ $* == *windows* ]]; then
|
||||||
platform="windows"
|
echo "cross compiling for windows is not yet supported"
|
||||||
outfile="lite.exe"
|
exit 1
|
||||||
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
|
else
|
||||||
platform="unix"
|
platform="unix"
|
||||||
outfile="lite"
|
outfile="lite"
|
||||||
compiler="gcc"
|
compiler="gcc"
|
||||||
cflags="$cflags -DLUA_USE_POSIX"
|
cxxcompiler="g++"
|
||||||
lflags="$lflags -o $outfile"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if command -v ccache >/dev/null; then
|
|
||||||
compiler="ccache $compiler"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
echo "compiling ($platform)..."
|
echo "compiling ($platform)..."
|
||||||
for f in `find src -name "*.c"`; do
|
for f in `find src -name "*.c"`; do
|
||||||
$compiler -c $cflags $f -o "${f//\//_}.o"
|
$compiler -c $cflags $f -o "${f//\//_}.o" $libcflags
|
||||||
|
if [[ $? -ne 0 ]]; then
|
||||||
|
got_error=true
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
for f in `find lib -name "*.cpp"`; do
|
||||||
|
$cxxcompiler -c $cxxflags $f -o "${f//\//_}.o" $libcflags
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
got_error=true
|
got_error=true
|
||||||
fi
|
fi
|
||||||
|
@ -34,10 +38,10 @@ done
|
||||||
|
|
||||||
if [[ ! $got_error ]]; then
|
if [[ ! $got_error ]]; then
|
||||||
echo "linking..."
|
echo "linking..."
|
||||||
$compiler *.o $lflags
|
$cxxcompiler -o $outfile *.o $lflags
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "cleaning up..."
|
echo "cleaning up..."
|
||||||
rm *.o
|
rm *.o
|
||||||
rm res.res 2>/dev/null
|
|
||||||
echo "done"
|
echo "done"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue