X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=build.sh;h=d807648f5c4c0b8567c1d98974b8037da16bbe8d;hb=HEAD;hp=cea0e94e1facfe6f20b8523a9b4fa59af47a5f05;hpb=27f1751d523e9dee4ab00ec10666bbb3d8db74bc;p=fishladder.git diff --git a/build.sh b/build.sh index cea0e94..d807648 100755 --- a/build.sh +++ b/build.sh @@ -1,110 +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" - -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" - 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 -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 - -# 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 - - cp $target ./build.linux/$target - cp ./steam/libsteam_api.so ./build.linux/libsteam_api.so - cp -r ./textures/ ./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 - - cp $target ./build.win32/$target - cp -r ./textures/ ./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 $@