ogl_beamforming

Ultrasound Beamforming Implemented with OpenGL
git clone anongit@rnpnr.xyz:ogl_beamforming.git
Log | Files | Refs | Feed | Submodules | LICENSE

Commit: 743d0b3de122b621079b079c91a55086139cd625
Parent: b10c7301ef0db4d89ea9493b2950c4393d55e316
Author: Randy Palamar
Date:   Tue, 30 Jul 2024 14:12:41 -0600

add optional static raylib build

Diffstat:
A.gitignore | 5+++++
A.gitmodules | 3+++
Mbuild.sh | 48++++++++++++++++++++++++++++++++++--------------
Aexternal/raylib | 1+
4 files changed, 43 insertions(+), 14 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -0,0 +1,5 @@ +ogl +*.so +*.mexa64 +external/lib +external/include/r*.h diff --git a/.gitmodules b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "external/raylib"] + path = external/raylib + url = https://github.com/raysan5/raylib.git diff --git a/build.sh b/build.sh @@ -1,34 +1,54 @@ #!/bin/sh -cflags="-march=native -ggdb -O0 -Wall -I./external/include" +cflags="-march=native -O3 -Wall -I./external/include" ldflags="-lraylib" +debug=${DEBUG} + +cc=${CC:-cc} +system_raylib=${USE_SYSTEM_RAYLIB:-$debug} + +if [ "$system_raylib" ]; then + ldflags="-L/usr/local/lib $ldflags" +else + ldflags="-L./external/lib $ldflags" + if [ ! -f external/lib/libraylib.a ]; then + git submodule update --init --depth=1 external/raylib + cmake --install-prefix="${PWD}/external" \ + -G "Ninja" -B external/raylib/build -S external/raylib \ + -D CMAKE_INSTALL_LIBDIR=lib -D CMAKE_BUILD_TYPE="Release" \ + -DCUSTOMIZE_BUILD=ON -DBUILD_EXAMPLES=OFF -DWITH_PIC=ON \ + -DOPENGL_VERSION=4.3 -DUSE_AUDIO=OFF -DSUPPORT_MODULE_RAUDIO=OFF + cmake --build external/raylib/build + cmake --install external/raylib/build + fi +fi case "$1" in "win32") - ldflags="$ldflags -lgdi32 -lwinmm -L./external" - cc $cflags -o ogl main.c $ldflags + ldflags="$ldflags -lgdi32 -lwinmm" + ${cc} $cflags -o ogl main.c $ldflags ;; "win32lib") libcflags="$cflags -fPIC -shared" - cc $libcflags -I'C:/Program Files/MATLAB/R2022a/extern/include' \ + ${cc} $libcflags -I'C:/Program Files/MATLAB/R2022a/extern/include' \ helpers/ogl_beamformer_lib.c -o helpers/ogl_beamformer_lib.dll \ -L'C:/Program Files/MATLAB/R2022a/extern/lib/win64/microsoft' \ -llibmat -llibmex ;; "lib") libcflags="$cflags -I"/opt/matlab/extern/include" -shared -fPIC" - cc $libcflags helpers/ogl_beamformer_lib.c -o helpers/ogl_beamformer_lib.so + ${cc} $libcflags helpers/ogl_beamformer_lib.c -o helpers/ogl_beamformer_lib.so ;; *) - ldflags="$ldflags -lGL" - + ldflags="$ldflags -lm" # Hot Reloading/Debugging - cflags="$cflags -D_DEBUG -Wno-unused-function" - #cflags="$cflags -fsanitize=address,undefined" - - libcflags="$cflags -fPIC -Wno-unused-function" - libldflags="$ldflags -shared" + if [ "$debug" ]; then + cflags="$cflags -O0 -ggdb -D_DEBUG -Wno-unused-function" + #cflags="$cflags -fsanitize=address,undefined" - cc $libcflags beamformer.c -o beamformer.so $libldflags - cc $cflags -o ogl main.c $ldflags + libcflags="$cflags -fPIC" + libldflags="$ldflags -shared" + ${cc} $libcflags beamformer.c -o beamformer.so $libldflags + fi + ${cc} $cflags -o ogl main.c $ldflags ;; esac diff --git a/external/raylib b/external/raylib @@ -0,0 +1 @@ +Subproject commit 9e39788e077f1d35c5fe54600f2143423a80bb3d