X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=build.sh;h=d807648f5c4c0b8567c1d98974b8037da16bbe8d;hb=HEAD;hp=b449611c5cbbcb1d6e3ce212996e2c0973925771;hpb=3dc48e526037a49c2ffd1210243f57afc1fafbb2;p=fishladder.git diff --git a/build.sh b/build.sh index b449611..d807648 100755 --- a/build.sh +++ b/build.sh @@ -1,113 +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" -build_dir="build.linux" -steam_api="libsteam_api.so" - -if [[ "$OSTYPE" != "linux-gnu"* ]]; then - echo "Operating system is not GNU/Linux, windows will be assumed." - - target="fishladder.exe" - libs="-lglfw3 -lopengl32 -lm -mwindows -l:steam/steam_api.dll" - flags="-ggdb3 -Wno-unused-function" - build_dir="build.win32" - steam_api="steam_api.dll" -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 -mkdir _temp_textures -# Convert all png to qoi -echo "Compiling textures" -for f in textures/*.png; - do echo "-> qoi: $f"; - ./tools/qoiconv $f ./_temp_textures/"$(basename "$f" .png).qoi" -done - -#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 - -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/$steam_api $build_dir/$steam_api -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 $@