-# 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"
-
-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"
-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 -DNO_STEAM"
- 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
-
-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
-
- cp $target ./build.linux/$target
- cp ./steam/libsteam_api.so ./build.linux/libsteam_api.so
- rm -r ./build.linux/textures
- mv ./_temp_textures/ ./build.linux/textures
- cp -r ./sound/ ./build.linux/
- cp -r ./maps/ ./build.linux/
-
- 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
- rm -r ./build.win32/textures
- mv ./_temp_textures/ ./build.win32/textures
- 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
-fi
+clang -fsanitize=address -O0 -I./vg build.c -o /tmp/tmpsr && /tmp/tmpsr $@