X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=build.sh;h=9acfd368af55f6fde749dff7598d3e200089d5e9;hb=a6d22d2e369a955e85d03b1159d4ac02b103ea43;hp=bd7ec513d5f8550a3980bd05d7107f06420c0672;hpb=41b1d4623dd42a6bacd4fec89736022dc620fadd;p=fishladder.git diff --git a/build.sh b/build.sh index bd7ec51..9acfd36 100755 --- a/build.sh +++ b/build.sh @@ -6,8 +6,17 @@ 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 @@ -23,6 +32,14 @@ while (( "$#" )); do 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 @@ -31,6 +48,23 @@ while (( "$#" )); do 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 +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 @@ -43,15 +77,39 @@ if [ "$do_build" = true ]; then echo "Build succeeded" fi -# Directories to initialize -mkdir build.linux/cfg -p -cp $target ./build.linux/$target -cp ./steam/libsteam_api.so ./build.linux/libsteam_api.so +if [[ "$OSTYPE" == "linux-gnu"* ]]; then + # Directories to initialize + mkdir build.linux/cfg -p + mkdir build.linux/textures -p + mkdir build.linux/sound -p + + cp $target ./build.linux/$target + cp ./steam/libsteam_api.so ./build.linux/libsteam_api.so + cp -r ./textures/ ./build.linux/ + cp -r ./sound/ ./build.linux/ -if [ "$run_after" = true ]; then - echo "Playing" + if [ "$run_after" = true ]; then + echo "Playing" - cd ./build.linux/ - ./$target - cd ./../ + cd ./build.linux/ + ./$target + cd ./../ + fi +else + mkdir build.win32/cfg -p + mkdir build.win32/textures -p + mkdir build.win32/sound -p + + cp $target ./build.win32/$target + cp -r ./textures/ ./build.win32/ + cp -r ./sound/ ./build.win32/ + cp ./lib/glfw3.dll ./build.win32/glfw3.dll + + if [ "$run_after" = true ]; then + echo "Playing" + + cd ./build.win32/ + ./$target + cd ./../ + fi fi