X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=build.sh;h=d807648f5c4c0b8567c1d98974b8037da16bbe8d;hb=e311bbe2fa903a7e2a922f202f389b799193195d;hp=26b2fe10222f5ec4df04481a45f82ae568349f32;hpb=91d035f4845a6f9f62487b43e5142c4148e7f047;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/build.sh b/build.sh index 26b2fe1..d807648 100755 --- a/build.sh +++ b/build.sh @@ -1,123 +1 @@ -#!/bin/bash -# Copyright (C) 2021-2022 Harry Godden (hgn) - All Rights Reserved - -# Compiler Presets -# ============================================================================== - -_linux_compiler="gcc -std=c99 -D_REENTRANT" -_linux_linkgraphics="-lGL -lglfw3 -lX11 -lXxf86vm -lXrandr -lm -pthread -lXi -ldl" -_linux_asan="-fsanitize=address" -_linux_linksteam="-lsteam_api" -_linux_folder="build.linux" -_linux_server_folder="build.linux_server" - -_windows_compiler="i686-w64-mingw32-gcc" -_windows_linkgraphics="-lglfw3dll -lopengl32 -lm -mwindows" -_windows_asan="" -_windows_linksteam="vg/dep/steam/steam_api.dll" -_windows_folder="build.win32" - -_options_debugmode="-O0 -ggdb3 -fno-omit-frame-pointer" -_options_release="-O3 -DVG_RELEASE" - -# Compiler lines -# ============================================================================== - -_warnings="-Wall -Wno-unused-function -Wno-unused-variable" -_include="-I. -I./vg/dep -I./vg/src" -_library="-L. -L./vg/dep/glfw -L./vg/dep/steam" -_epilogue="-Wl,-rpath=./" -_ext="" - -# Compile scripts -# ============================================================================== - -release(){ - _linux_options=$_options_release - _windows_options=$_options_release -} - -debug(){ - _linux_options="$_linux_asan $_options_debugmode" - _windows_options="$_windows_asan $_options_debugmode" -} -debug - -compile_miniaudio(){ - - temp_options=$_options - _options="-O3" - - _link="-lm" - _folder="." - _src="-c vg/dep/dr_soft/miniaudio_impl.c" - _dst="vg/dep/dr_soft/miniaudio_$1" - _ext=".o" - compile_x - - _options=$temp_options -} - -game() { - _compiler=$_linux_compiler - _options=$_linux_options - - compile_miniaudio linux - - # Game tools - _folder="$_linux_folder" - _ext="" - vg_compile_tools - - # Main build - _link="$_linux_linkgraphics $_linux_linksteam" - _src="main.c vg/dep/glad/glad.c vg/dep/dr_soft/miniaudio_linux.o" - _dst="skaterift" - compile_x -} - -game_windows() { - _compiler=$_windows_compiler - _options=$_windows_options - - compile_miniaudio windows - - # Game tools - _folder="$_windows_folder" - _ext=".exe" - vg_compile_tools - - # Main build - _link="$_windows_linkgraphics $_windows_linksteam" - _src="main.c vg/dep/glad/glad.c vg/dep/dr_soft/miniaudio_windows.o" - _dst="skaterift" - compile_x -} - -server() { - _compiler=$_linux_compiler - _options=$_linux_options - _link="-lm $_linux_linksteam" - _folder="$_linux_server_folder" - _src="server.c" - _dst="skaterift_server" - _ext="" - - compile_x -} - -all() { - tools - game - server -} - -distribution(){ - release - tools - game - game_windows - server -} - -source vg/vg_build.sh +clang -fsanitize=address -O0 -I./vg build.c -o /tmp/tmpsr && /tmp/tmpsr $@