X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=build.sh;h=63891f6238109708a1f33facbefb4dec890da946;hb=e00ea4ccba1891970699f9b5b78ba1ebaada2974;hp=328e432a9bf367015e515dff195d6099ced08971;hpb=7838efe822ca9336a69936004dd6d9bed70910fb;p=fishladder.git diff --git a/build.sh b/build.sh index 328e432..63891f6 100755 --- a/build.sh +++ b/build.sh @@ -3,14 +3,17 @@ src="fishladder.c" target="fishladder" lib="-I. -L./lib -L./" -libs="-lGL -lglfw -lX11 -lXxf86vm -lXrandr -lm -lpthread -lXi -ldl" # -l:steam/libsteam_api.so" +libs="-lGL -lglfw -lX11 -lXxf86vm -lXrandr -lm -lpthread -lXi -ldl -l:steam/libsteam_api.so" flags="-fsanitize=address -ggdb3 -Wno-unused-function -DNO_STEAM" +build_dir="build.linux" if [[ "$OSTYPE" != "linux-gnu"* ]]; then echo "Operating system is not GNU/Linux, windows will be assumed." + target="fishladder.exe" libs="-lglfw3 -lopengl32 -lm -mwindows" flags="-ggdb3 -Wno-unused-function -DNO_STEAM" + build_dir="build.win32" fi run_after=false @@ -21,7 +24,7 @@ compile_models=false while (( "$#" )); do case $1 in -r|--release) - flags="-O3" + flags="-O3 -Wno-unused-function" echo "Release mode" ;; -p|--play) @@ -54,6 +57,7 @@ if [ "$compile_tools" = true ]; then mkdir tools -p gcc -Wall -Wstrict-aliasing=3 $lib $flags mdlcomp.c gl/glad.c -o tools/mdlcomp $libs -Wl,-rpath=./ $defines gcc -Wall -Wstrict-aliasing=3 $lib $flags fontcomp.c gl/glad.c -o tools/fontcomp $libs -Wl,-rpath=./ $defines + gcc $lib qoiconv.c -std=c99 -O3 -o tools/qoiconv fi # Resources @@ -65,6 +69,14 @@ if [ "$compile_models" = true ]; then done fi +# Convert all png to qoi +echo "Compiling textures" +mkdir _temp_textures +for f in textures/*.png; + do echo "-> qoi: $f"; + ./tools/qoiconv $f ./_temp_textures/"$(basename "$f" .png).qoi" +done + # Main build if [ "$do_build" = true ]; then gcc -Wall -Wstrict-aliasing=3 $lib $flags $src gl/glad.c -o $target $libs -Wl,-rpath=./ $defines @@ -77,43 +89,23 @@ if [ "$do_build" = true ]; then echo "Build succeeded" fi -if [[ "$OSTYPE" == "linux-gnu"* ]]; then - # Directories to initialize - mkdir build.linux/cfg -p - mkdir build.linux/textures -p - mkdir build.linux/sound -p - mkdir build.linux/maps -p +mkdir $build_dir/cfg -p +mkdir $build_dir/textures -p +mkdir $build_dir/sound -p +mkdir $build_dir/maps -p +mkdir $build_dir/sav -p - cp $target ./build.linux/$target - cp ./steam/libsteam_api.so ./build.linux/libsteam_api.so - cp -r ./textures/ ./build.linux/ - cp -r ./sound/ ./build.linux/ - cp -r ./maps/ ./build.linux/ +cp $target $build_dir/$target +cp ./steam/libsteam_api.so $build_dir/libsteam_api.so +rm -r $build_dir/textures +mv ./_temp_textures/ $build_dir/textures +cp -r ./sound/ $build_dir +cp -r ./maps/ $build_dir - if [ "$run_after" = true ]; then - echo "Playing" +if [ "$run_after" = true ]; then + echo "Playing" - cd ./build.linux/ - ./$target - cd ./../ - fi -else - mkdir build.win32/cfg -p - mkdir build.win32/textures -p - mkdir build.win32/sound -p - mkdir build.win32/maps -p - - cp $target ./build.win32/$target - cp -r ./textures/ ./build.win32/ - cp -r ./sound/ ./build.win32/ - cp -r ./maps/ ./build.win32/ - cp ./lib/glfw3.dll ./build.win32/glfw3.dll - - if [ "$run_after" = true ]; then - echo "Playing" - - cd ./build.win32/ - ./$target - cd ./../ - fi + cd $build_dir + ./$target + cd ./../ fi