diff options
Diffstat (limited to 'code/build.sh')
-rwxr-xr-x | code/build.sh | 62 |
1 files changed, 57 insertions, 5 deletions
diff --git a/code/build.sh b/code/build.sh index e6c0b5f..e083327 100755 --- a/code/build.sh +++ b/code/build.sh @@ -5,11 +5,63 @@ cd "$ThisDir" mkdir ../build > /dev/null 2>&1 -CompilerFlags="-ggdb -DHANDMADE_SLOW -DHANDMADE_INTERNAL" -WarningFlags="-Wall -Wextra -Wno-unused-but-set-variable -Wno-unused-variable -Wno-write-strings -Wno-unused-parameter -Wno-unused-function" +# Supported: clang, g++ +Compiler="clang" -printf 'handmade.cpp\n' -g++ $CompilerFlags $WarningFlags -shared -o ../build/handmade.so handmade.cpp +CompilerFlags=" +-O0 +-ggdb +-DHANDMADE_INTERNAL +-DHANDMADE_SLOW +-DOS_LINUX +-nostdinc++ +" + +WarningFlags="-Wall +-Wextra +-Wno-unused-but-set-variable +-Wno-unused-variable +-Wno-write-strings +-Wno-pointer-arith +-Wno-unused-parameter +-Wno-unused-function" + +ClangCompilerFlags=" +-ftime-trace +" +ClangWarningFlags=" +-Wno-null-dereference +-Wno-missing-braces +-Wno-vla-cxx-extension +-Wno-writable-strings +" + +# Platform specific linker flags +LinuxLinkerFlags=" +-lpthread +-lasound +-lm +-lX11 +-lXfixes" + +if [ "$Compiler" = "clang" ] +then + CompilerFlags="$CompilerFlags $ClangCompilerFlags" + WarningFlags="$WarningFlags $ClangWarningFlags" +fi printf 'linux_handmade.cpp\n' -g++ $CompilerFlags $WarningFlags -o ../build/linux_handmade libs/linuxhmh/linux_handmade.cpp -lasound -lm -lX11 -lXfixes +$Compiler \ + $CompilerFlags \ + $WarningFlags \ + -o ../build/linux_handmade \ + $LinuxLinkerFlags \ + libs/linuxhmh/linux_handmade.cpp + +printf 'handmade.cpp\n' +$Compiler \ + $CompilerFlags \ + $WarningFlags \ + -shared \ + -o ../build/handmade.so \ + handmade.cpp |