build_clibs_macos_dylib.sh 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. set -e
  2. FRAMEWORKS_METAL="-framework Metal -framework MetalKit"
  3. FRAMEWORKS_OPENGL="-framework OpenGL"
  4. FRAMEWORKS_CORE="-framework Foundation -framework CoreGraphics -framework Cocoa -framework QuartzCore -framework CoreAudio -framework AudioToolbox"
  5. build_lib_release() {
  6. src=$1
  7. dst=$2
  8. backend=$3
  9. arch=$4
  10. frameworks=""
  11. if [ $backend = "SOKOL_METAL" ]; then
  12. frameworks="${frameworks} ${FRAMEWORKS_METAL}"
  13. else
  14. frameworks="${frameworks} ${FRAMEWORKS_OPENGL}"
  15. fi
  16. echo $dst
  17. MACOSX_DEPLOYMENT_TARGET=10.13 clang -c -O2 -x objective-c -arch $arch -DNDEBUG -DIMPL -D$backend c/$src.c
  18. clang -dynamiclib -arch $arch $FRAMEWORKS_CORE $frameworks -o $dst.dylib $src.o $dep
  19. }
  20. build_lib_debug() {
  21. src=$1
  22. dst=$2
  23. backend=$3
  24. arch=$4
  25. frameworks=""
  26. if [ $backend = "SOKOL_METAL" ]; then
  27. frameworks="${frameworks} ${FRAMEWORKS_METAL}"
  28. else
  29. frameworks="${frameworks} ${FRAMEWORKS_OPENGL}"
  30. fi
  31. echo $dst
  32. MACOSX_DEPLOYMENT_TARGET=10.13 clang -c -g -x objective-c -arch $arch -DIMPL -D$backend c/$src.c
  33. clang -dynamiclib -arch $arch $FRAMEWORKS_CORE $frameworks -o $dst.dylib $src.o $dep
  34. }
  35. mkdir -p dylib
  36. build_lib_release sokol dylib/sokol_dylib_macos_arm64_metal_release SOKOL_METAL arm64
  37. build_lib_debug sokol dylib/sokol_dylib_macos_arm64_metal_debug SOKOL_METAL arm64
  38. build_lib_release sokol dylib/sokol_dylib_macos_x64_metal_release SOKOL_METAL x86_64
  39. build_lib_debug sokol dylib/sokol_dylib_macos_x64_metal_debug SOKOL_METAL x86_64
  40. build_lib_release sokol dylib/sokol_dylib_macos_arm64_gl_release SOKOL_GLCORE arm64
  41. build_lib_debug sokol dylib/sokol_dylib_macos_arm64_gl_debug SOKOL_GLCORE arm64
  42. build_lib_release sokol dylib/sokol_dylib_macos_x64_gl_release SOKOL_GLCORE x86_64
  43. build_lib_debug sokol dylib/sokol_dylib_macos_x64_gl_debug SOKOL_GLCORE x86_64
  44. rm *.o