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
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
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
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