X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=build.sh;h=d807648f5c4c0b8567c1d98974b8037da16bbe8d;hb=HEAD;hp=2a31674e6ef11eebcc4fcfe9c7dce4b209b8d52c;hpb=fdc58fb6b2fddec9e179baaba53e059ae1e54a54;p=fishladder.git diff --git a/build.sh b/build.sh index 2a31674..d807648 100755 --- a/build.sh +++ b/build.sh @@ -1,125 +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" -steam_part="-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" - 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" - ;; - -s|--no-steam) - steam_part="" - defines="-DNO_STEAM" - echo "no-steam" - ;; - -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 $steam_part -Wl,-rpath=./ $defines - gcc -Wall -Wstrict-aliasing=3 $lib $flags fontcomp.c gl/glad.c -o tools/fontcomp $libs $steam_part -Wl,-rpath=./ $defines - gcc -Wall -Wstrict-aliasing=3 $lib $flags texsheet.c gl/glad.c -o tools/texsheet $libs $steam_part -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 - -# Autocombine textures -auto_combine="" -cd textures_combine -for f in *.png; - do echo "[combine] $f"; - auto_combine="$auto_combine $f" -done -../tools/texsheet ../_temp_textures/autocombine.qoi ../sprites_autocombine.h sprites_auto_combine $auto_combine -cd .. - -# Compile font file -./tools/fontcomp fonts/vg_font.png vg/vg_pxfont.h - -# Main build -if [ "$do_build" = true ]; then - gcc -Wall -Wstrict-aliasing=3 $lib $flags $src gl/glad.c -o $target $libs $steam_part -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 $@