50 lines
1.9 KiB
Bash
50 lines
1.9 KiB
Bash
set -e
|
|
|
|
FRAMEWORKS_METAL="-framework Metal -framework MetalKit"
|
|
FRAMEWORKS_OPENGL="-framework OpenGL"
|
|
FRAMEWORKS_CORE="-framework Foundation -framework CoreGraphics -framework Cocoa -framework QuartzCore -framework CoreAudio -framework AudioToolbox"
|
|
|
|
build_lib_release() {
|
|
src=$1
|
|
dst=$2
|
|
backend=$3
|
|
arch=$4
|
|
frameworks=""
|
|
if [ $backend = "SOKOL_METAL" ]; then
|
|
frameworks="${frameworks} ${FRAMEWORKS_METAL}"
|
|
else
|
|
frameworks="${frameworks} ${FRAMEWORKS_OPENGL}"
|
|
fi
|
|
echo $dst
|
|
MACOSX_DEPLOYMENT_TARGET=10.13 cc -c -O2 -x objective-c -arch $arch -DNDEBUG -DIMPL -D$backend c/$src.c
|
|
cc -dynamiclib -arch $arch $FRAMEWORKS_CORE $frameworks -o $dst.dylib $src.o $dep
|
|
}
|
|
|
|
build_lib_debug() {
|
|
src=$1
|
|
dst=$2
|
|
backend=$3
|
|
arch=$4
|
|
frameworks=""
|
|
if [ $backend = "SOKOL_METAL" ]; then
|
|
frameworks="${frameworks} ${FRAMEWORKS_METAL}"
|
|
else
|
|
frameworks="${frameworks} ${FRAMEWORKS_OPENGL}"
|
|
fi
|
|
echo $dst
|
|
MACOSX_DEPLOYMENT_TARGET=10.13 cc -c -g -x objective-c -arch $arch -DIMPL -D$backend c/$src.c
|
|
cc -dynamiclib -arch $arch $FRAMEWORKS_CORE $frameworks -o $dst.dylib $src.o $dep
|
|
}
|
|
|
|
mkdir -p dylib
|
|
|
|
build_lib_release sokol dylib/sokol_dylib_macos_arm64_metal_release SOKOL_METAL arm64
|
|
build_lib_debug sokol dylib/sokol_dylib_macos_arm64_metal_debug SOKOL_METAL arm64
|
|
build_lib_release sokol dylib/sokol_dylib_macos_x64_metal_release SOKOL_METAL x86_64
|
|
build_lib_debug sokol dylib/sokol_dylib_macos_x64_metal_debug SOKOL_METAL x86_64
|
|
build_lib_release sokol dylib/sokol_dylib_macos_arm64_gl_release SOKOL_GLCORE arm64
|
|
build_lib_debug sokol dylib/sokol_dylib_macos_arm64_gl_debug SOKOL_GLCORE arm64
|
|
build_lib_release sokol dylib/sokol_dylib_macos_x64_gl_release SOKOL_GLCORE x86_64
|
|
build_lib_debug sokol dylib/sokol_dylib_macos_x64_gl_debug SOKOL_GLCORE x86_64
|
|
|
|
rm *.o
|