diff --git a/build_linux.sh b/build_linux.sh index cb0cb16..567aba9 100755 --- a/build_linux.sh +++ b/build_linux.sh @@ -51,7 +51,8 @@ do || abort_compile $fn done -# Final executable +# Final executable +# --std= : c++2a vs c++17 g++ \ --std=c++2a \ -I../../deps_linux \ diff --git a/debug_linux.sh b/debug_linux.sh new file mode 100755 index 0000000..6af9638 --- /dev/null +++ b/debug_linux.sh @@ -0,0 +1,4 @@ +#!/bin/bash +cp src/scripts/*.py bin/linux/scripts/ +cd bin/linux +gdb ./mcrogueface diff --git a/symbols_linux.sh b/symbols_linux.sh new file mode 100755 index 0000000..46be5e3 --- /dev/null +++ b/symbols_linux.sh @@ -0,0 +1,77 @@ +#!/bin/bash + +#rm -R bin/linux +mkdir -p bin/linux/lib +mkdir -p obj +rm obj/* + +# copy shared objects, squish "linux" subdirectory in bin/linux/lib +#cp -R lib/linux/* bin/linux/lib + +# copy assets directory (font, sprites, etc) +cp -R assets bin/linux + +# copy Python code +cp -R src/scripts bin/linux/scripts + +# work from output directory and change every g++ path to relative D:< +cd bin/linux + +# prepare object files of engine classes +abort_compile() +{ + echo "Compilation failed on $fn.cpp" + exit 1 +} + +# Precompile engine classes. Get errors in their file, not where they're included +for fn in $(ls ../../src/*.cpp -1 | cut -d/ -f4 | cut -d. -f1) +do + # Skip combined_poc.cpp, it has a duplicate main + if [ "$fn" = "combined_poc" ]; then continue; fi + + echo "Compile $fn.cpp" + g++ \ + -g \ + -I../../deps_linux \ + -I../../deps_linux/Python-3.11.1 \ + -I../../platform/linux \ + --std=c++2a \ + -c ../../src/$fn.cpp \ + -o ../../obj/$fn.o \ + -lm \ + -ldl \ + -lutil \ + -lpthread \ + -lpython3.11 \ + -lsfml-graphics \ + -lsfml-window \ + -lsfml-system \ + -lsfml-audio \ + -ltcod \ + || abort_compile $fn +done + +# Final executable +# --std= : c++2a vs c++17 +g++ \ + -g \ + --std=c++2a \ + -I../../deps_linux \ + -I../../deps_linux/Python-3.11.1 \ + -I../../platform/linux \ + ../../obj/*.o \ + -o mcrogueface \ + -Wl,-rpath lib \ + -L../../deps_linux \ + -lm \ + -ldl \ + -lutil \ + -lpthread \ + -lpython3.11 \ + -lsfml-graphics \ + -lsfml-window \ + -lsfml-system \ + -lsfml-audio \ + -ltcod \ +