X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=build.sh;h=d807648f5c4c0b8567c1d98974b8037da16bbe8d;hb=HEAD;hp=63891f6238109708a1f33facbefb4dec890da946;hpb=28aab72fdfe826c78edd61a9956da0190c183c2e;p=fishladder.git diff --git a/build.sh b/build.sh index 63891f6..d807648 100755 --- a/build.sh +++ b/build.sh @@ -1,111 +1 @@ -# Copyright (C) 2021 Harry Godden (hgn) - All Rights Reserved - -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" -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 -do_build=true -compile_tools=false -compile_models=false - -while (( "$#" )); do - case $1 in - -r|--release) - flags="-O3 -Wno-unused-function" - echo "Release mode" - ;; - -p|--play) - run_after=true - echo "& Run" - ;; - -n|--nobuild) - do_build=false - echo "no-build" - ;; - -t|--tools) - compile_tools=true - echo "build-tools" - ;; - -m|--models) - compile_models=true - echo "build-models" - ;; - *) - echo "Unkown param: $1" - exit 1 - ;; - esac - shift -done - -# Tools -if [ "$compile_tools" = true ]; then - echo "Building tools" - 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 -if [ "$compile_models" = true ]; then - echo "Recompiling models" - for f in models/*.obj; - do echo "Compiling $f.."; - ./tools/mdlcomp $f $f.h - 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 - - if [ $? -ne 0 ]; then - echo "GCC build failed" - exit 1 - fi - - echo "Build succeeded" -fi - -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_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" - - cd $build_dir - ./$target - cd ./../ -fi +clang -fsanitize=address -O0 -I./vg build.c -o /tmp/tmpsr && /tmp/tmpsr $@