Forráskód Böngészése

Merge pull request #1579 from semarie/vendors

Vendors libraries portability and examples/all splitting
gingerBill 3 éve
szülő
commit
16c6dbcbe5
55 módosított fájl, 309 hozzáadás és 248 törlés
  1. 1 22
      examples/all/all_vendor.odin
  2. 10 0
      examples/all/all_vendor_directx.odin
  3. 15 0
      examples/all/all_vendor_stl.odin
  4. 1 1
      vendor/ENet/unix.odin
  5. 1 5
      vendor/botan/bindings/botan.odin
  6. 5 3
      vendor/glfw/bindings/bindings.odin
  7. 7 2
      vendor/miniaudio/common.odin
  8. 7 3
      vendor/miniaudio/data_conversion.odin
  9. 8 5
      vendor/miniaudio/decoding.odin
  10. 7 2
      vendor/miniaudio/device_io_procs.odin
  11. 4 4
      vendor/miniaudio/device_io_types.odin
  12. 8 3
      vendor/miniaudio/encoding.odin
  13. 7 2
      vendor/miniaudio/filtering.odin
  14. 8 3
      vendor/miniaudio/generation.odin
  15. 8 3
      vendor/miniaudio/logging.odin
  16. 3 3
      vendor/miniaudio/src/Makefile
  17. 8 3
      vendor/miniaudio/utilities.odin
  18. 7 2
      vendor/miniaudio/vfs.odin
  19. 3 1
      vendor/portmidi/portmidi.odin
  20. 6 2
      vendor/portmidi/util.odin
  21. 5 3
      vendor/raylib/raylib.odin
  22. 7 3
      vendor/raylib/rlgl.odin
  23. 5 5
      vendor/sdl2/image/sdl_image.odin
  24. 5 5
      vendor/sdl2/mixer/sdl_mixer.odin
  25. 5 5
      vendor/sdl2/net/sdl_net.odin
  26. 5 5
      vendor/sdl2/sdl2.odin
  27. 5 5
      vendor/sdl2/sdl_audio.odin
  28. 5 5
      vendor/sdl2/sdl_blendmode.odin
  29. 5 5
      vendor/sdl2/sdl_cpuinfo.odin
  30. 5 5
      vendor/sdl2/sdl_events.odin
  31. 5 5
      vendor/sdl2/sdl_gamecontroller.odin
  32. 5 5
      vendor/sdl2/sdl_gesture_haptic.odin
  33. 5 5
      vendor/sdl2/sdl_hints.odin
  34. 5 5
      vendor/sdl2/sdl_joystick.odin
  35. 5 5
      vendor/sdl2/sdl_keyboard.odin
  36. 5 5
      vendor/sdl2/sdl_log.odin
  37. 5 5
      vendor/sdl2/sdl_messagebox.odin
  38. 5 5
      vendor/sdl2/sdl_metal.odin
  39. 5 5
      vendor/sdl2/sdl_mouse.odin
  40. 5 5
      vendor/sdl2/sdl_mutex.odin
  41. 5 5
      vendor/sdl2/sdl_pixels.odin
  42. 5 5
      vendor/sdl2/sdl_rect.odin
  43. 5 5
      vendor/sdl2/sdl_render.odin
  44. 5 5
      vendor/sdl2/sdl_rwops.odin
  45. 5 5
      vendor/sdl2/sdl_stdinc.odin
  46. 5 5
      vendor/sdl2/sdl_surface.odin
  47. 5 5
      vendor/sdl2/sdl_system.odin
  48. 5 5
      vendor/sdl2/sdl_syswm.odin
  49. 5 5
      vendor/sdl2/sdl_thread.odin
  50. 5 5
      vendor/sdl2/sdl_timer.odin
  51. 5 5
      vendor/sdl2/sdl_touch.odin
  52. 5 5
      vendor/sdl2/sdl_video.odin
  53. 5 5
      vendor/sdl2/sdl_vulkan.odin
  54. 5 5
      vendor/sdl2/ttf/sdl_ttf.odin
  55. 13 13
      vendor/stb/src/Makefile

+ 1 - 22
examples/all/all_vendor.odin

@@ -1,4 +1,3 @@
-//+build windows
 package all
 
 import botan     "vendor:botan"
@@ -16,24 +15,12 @@ import IMG    "vendor:sdl2/image"
 import MIX    "vendor:sdl2/mixer"
 import TTF    "vendor:sdl2/ttf"
 
-import stb_easy_font "vendor:stb/easy_font"
-import stbi          "vendor:stb/image"
-import stbrp         "vendor:stb/rect_pack"
-import stbtt         "vendor:stb/truetype"
-import stb_vorbis    "vendor:stb/vorbis"
-
 import vk "vendor:vulkan"
 
-import D3D11 "vendor:directx/d3d11"
-import D3D12 "vendor:directx/d3d12"
-import DXGI  "vendor:directx/dxgi"
-
-// note these are technicaly darwin only but they are added to aid with documentation generation
 import NS  "vendor:darwin/Foundation"
 import MTL "vendor:darwin/Metal"
 import CA  "vendor:darwin/QuartzCore"
 
-
 _ :: botan
 _ :: ENet
 _ :: gl
@@ -47,15 +34,7 @@ _ :: SDLNet
 _ :: IMG
 _ :: MIX
 _ :: TTF
-_ :: stb_easy_font
-_ :: stbi
-_ :: stbrp
-_ :: stbtt
-_ :: stb_vorbis
 _ :: vk
-_ :: D3D11
-_ :: D3D12
-_ :: DXGI
 _ :: NS
 _ :: MTL
-_ :: CA
+_ :: CA

+ 10 - 0
examples/all/all_vendor_directx.odin

@@ -0,0 +1,10 @@
+//+build windows
+package all
+
+import D3D11 "vendor:directx/d3d11"
+import D3D12 "vendor:directx/d3d12"
+import DXGI  "vendor:directx/dxgi"
+
+_ :: D3D11
+_ :: D3D12
+_ :: DXGI

+ 15 - 0
examples/all/all_vendor_stl.odin

@@ -0,0 +1,15 @@
+//+build windows, linux
+package all
+
+import stb_easy_font "vendor:stb/easy_font"
+import stbi          "vendor:stb/image"
+import stbrp         "vendor:stb/rect_pack"
+import stbtt         "vendor:stb/truetype"
+import stb_vorbis    "vendor:stb/vorbis"
+
+_ :: stb_easy_font
+_ :: stbi
+_ :: stbrp
+_ :: stbtt
+_ :: stb_vorbis
+

+ 1 - 1
vendor/ENet/unix.odin

@@ -14,7 +14,7 @@ import "core:c"
 
 @(private="file") FD_ZERO :: #force_inline proc(s: ^fd_set) {
 	for i := size_of(fd_set) / size_of(c.long); i != 0; i -= 1 {
-		s.fds_bits[i] = 0;
+		s.fds_bits[i] = 0
 	}
 }
 

+ 1 - 5
vendor/botan/bindings/botan.odin

@@ -142,11 +142,7 @@ fpe_t                :: ^fpe_struct
 
 when ODIN_OS == .Windows {
     foreign import botan_lib "botan.lib"
-} else when ODIN_OS == .Linux {
-    foreign import botan_lib "system:botan-2"
-} else when ODIN_OS == .Darwin {
-    foreign import botan_lib "system:botan-2"
-} else when ODIN_OS == .OpenBSD {
+} else {
     foreign import botan_lib "system:botan-2"
 }
 

+ 5 - 3
vendor/glfw/bindings/bindings.odin

@@ -3,9 +3,6 @@ package glfw_bindings
 import "core:c"
 import vk "vendor:vulkan"
 
-when ODIN_OS == .Linux   { foreign import glfw "system:glfw" } // TODO: Add the billion-or-so static libs to link to in linux
-when ODIN_OS == .Darwin  { foreign import glfw "system:glfw" }
-when ODIN_OS == .OpenBSD { foreign import glfw "system:glfw" }
 when ODIN_OS == .Windows {
 	foreign import glfw { 
 		"../lib/glfw3_mt.lib",
@@ -13,6 +10,11 @@ when ODIN_OS == .Windows {
 		"system:gdi32.lib", 
 		"system:shell32.lib",
 	} 
+} else when ODIN_OS == .Linux {
+	// TODO: Add the billion-or-so static libs to link to in linux
+	foreign import glfw "system:glfw"
+} else {
+	foreign import glfw "system:glfw"
 }
 
 #assert(size_of(c.int) == size_of(b32))

+ 7 - 2
vendor/miniaudio/common.odin

@@ -2,8 +2,13 @@ package miniaudio
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
-when ODIN_OS == .Linux   { foreign import lib "lib/miniaudio.a" }
+when ODIN_OS == .Windows {
+	foreign import lib "lib/miniaudio.lib"
+} else when ODIN_OS == .Linux {
+	foreign import lib "lib/miniaudio.a"
+} else {
+	foreign import lib "system:miniaudio"
+}
 
 handle :: distinct rawptr
 

+ 7 - 3
vendor/miniaudio/data_conversion.odin

@@ -2,9 +2,13 @@ package miniaudio
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
-when ODIN_OS == .Linux   { foreign import lib "lib/miniaudio.a" }
-
+when ODIN_OS == .Windows {
+	foreign import lib "lib/miniaudio.lib"
+} else when ODIN_OS == .Linux {
+	foreign import lib "lib/miniaudio.a"
+} else {
+	foreign import lib "system:miniaudio"
+}
 
 /************************************************************************************************************************************************************
 *************************************************************************************************************************************************************

+ 8 - 5
vendor/miniaudio/decoding.odin

@@ -2,10 +2,13 @@ package miniaudio
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
-when ODIN_OS == .Linux   { foreign import lib "lib/miniaudio.a" }
-
-
+when ODIN_OS == .Windows {
+	foreign import lib "lib/miniaudio.lib"
+} else when ODIN_OS == .Linux {
+	foreign import lib "lib/miniaudio.a"
+} else {
+	foreign import lib "system:miniaudio"
+}
 
 /************************************************************************************************************************************************************
 
@@ -164,4 +167,4 @@ foreign lib {
 	decode_from_vfs :: proc(pVFS: ^vfs, pFilePath: cstring,    pConfig: ^decoder_config, pFrameCountOut: ^u64, ppPCMFramesOut: ^rawptr) -> result ---
 	decode_file     :: proc(pFilePath: cstring,                pConfig: ^decoder_config, pFrameCountOut: ^u64, ppPCMFramesOut: ^rawptr) -> result ---
 	decode_memory   :: proc(pData: rawptr, dataSize: c.size_t, pConfig: ^decoder_config, pFrameCountOut: ^u64, ppPCMFramesOut: ^rawptr) -> result ---
-}
+}

+ 7 - 2
vendor/miniaudio/device_io_procs.odin

@@ -1,7 +1,12 @@
 package miniaudio
 
-when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
-when ODIN_OS == .Linux   { foreign import lib "lib/miniaudio.a" }
+when ODIN_OS == .Windows {
+	foreign import lib "lib/miniaudio.lib"
+} else when ODIN_OS == .Linux {
+	foreign import lib "lib/miniaudio.a"
+} else {
+	foreign import lib "system:miniaudio"
+}
 
 import "core:c"
 

+ 4 - 4
vendor/miniaudio/device_io_types.odin

@@ -6,7 +6,7 @@ SUPPORT_WASAPI     :: ODIN_OS == .Windows
 SUPPORT_DSOUND     :: ODIN_OS == .Windows
 SUPPORT_WINMM      :: ODIN_OS == .Windows
 SUPPORT_COREAUDIO  :: ODIN_OS == .Darwin
-SUPPORT_SNDIO      :: false // ODIN_OS == .OpenBSD
+SUPPORT_SNDIO      :: ODIN_OS == .OpenBSD
 SUPPORT_AUDIO4     :: false // ODIN_OS == .OpenBSD || ODIN_OS == .NetBSD
 SUPPORT_OSS        :: ODIN_OS == .FreeBSD
 SUPPORT_PULSEAUDIO :: ODIN_OS == .Linux
@@ -739,8 +739,8 @@ context_type :: struct {
 			pa_stream_writable_size:            proc "system" (),
 			pa_stream_readable_size:            proc "system" (),
 
-			/*pa_mainloop**/ pMainLoop:     ptr,
-			/*pa_context**/  pPulseContext: ptr,
+			/*pa_mainloop**/ pMainLoop:     rawptr,
+			/*pa_context**/  pPulseContext: rawptr,
 		} when SUPPORT_PULSEAUDIO else struct {}),
 		
 		jack: (struct {
@@ -791,7 +791,7 @@ context_type :: struct {
 			AudioUnitInitialize:           proc "system" (),
 			AudioUnitRender:               proc "system" (),
 
-			/*AudioComponent*/ component: ptr,
+			/*AudioComponent*/ component: rawptr,
 			noAudioSessionDeactivate:     b32, /* For tracking whether or not the iOS audio session should be explicitly deactivated. Set from the config in ma_context_init__coreaudio(). */
 		} when SUPPORT_COREAUDIO else struct {}),
 		

+ 8 - 3
vendor/miniaudio/encoding.odin

@@ -2,8 +2,13 @@ package miniaudio
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
-when ODIN_OS == .Linux   { foreign import lib "lib/miniaudio.a" }
+when ODIN_OS == .Windows {
+	foreign import lib "lib/miniaudio.lib"
+} else when ODIN_OS == .Linux {
+	foreign import lib "lib/miniaudio.a"
+} else {
+	foreign import lib "system:miniaudio"
+}
 
 /************************************************************************************************************************************************************
 
@@ -49,4 +54,4 @@ foreign lib {
 	encoder_init_file_w      :: proc(pFilePath: [^]c.wchar_t, pConfig: ^encoder_config, pEncoder: ^encoder) -> result ---
 	encoder_uninit           :: proc(pEncoder: ^encoder) ---
 	encoder_write_pcm_frames :: proc(pEncoder: ^encoder, FramesIn: rawptr, frameCount: u64) -> u64 ---
-}
+}

+ 7 - 2
vendor/miniaudio/filtering.odin

@@ -1,7 +1,12 @@
 package miniaudio
 
-when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
-when ODIN_OS == .Linux   { foreign import lib "lib/miniaudio.a" }
+when ODIN_OS == .Windows {
+	foreign import lib "lib/miniaudio.lib"
+} else when ODIN_OS == .Linux {
+	foreign import lib "lib/miniaudio.a"
+} else {
+	foreign import lib "system:miniaudio"
+}
 
 /**************************************************************************************************************************************************************
 

+ 8 - 3
vendor/miniaudio/generation.odin

@@ -2,8 +2,13 @@ package miniaudio
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
-when ODIN_OS == .Linux   { foreign import lib "lib/miniaudio.a" }
+when ODIN_OS == .Windows {
+	foreign import lib "lib/miniaudio.lib"
+} else when ODIN_OS == .Linux {
+	foreign import lib "lib/miniaudio.a"
+} else {
+	foreign import lib "system:miniaudio"
+}
 
 waveform_type :: enum c.int {
 	sine,
@@ -82,4 +87,4 @@ foreign lib {
 	noise_set_amplitude   :: proc(pNoise: ^noise, amplitude: f64) -> result ---
 	noise_set_seed        :: proc(pNoise: ^noise, seed: i32) -> result ---
 	noise_set_type        :: proc(pNoise: ^noise, type: noise_type) -> result ---
-}
+}

+ 8 - 3
vendor/miniaudio/logging.odin

@@ -2,8 +2,13 @@ package miniaudio
 
 import c "core:c/libc"
 
-when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
-when ODIN_OS == .Linux   { foreign import lib "lib/miniaudio.a" }
+when ODIN_OS == .Windows {
+	foreign import lib "lib/miniaudio.lib"
+} else when ODIN_OS == .Linux {
+	foreign import lib "lib/miniaudio.a"
+} else {
+	foreign import lib "system:miniaudio"
+}
 
 MAX_LOG_CALLBACKS :: 4
 
@@ -32,4 +37,4 @@ foreign lib {
 	log_post                :: proc(pLog: ^log, level: u32, pMessage: cstring) -> result ---
 	log_postv               :: proc(pLog: ^log, level: u32, pFormat: cstring, args: c.va_list) -> result ---
 	log_postf               :: proc(pLog: ^log, level: u32, pFormat: cstring, #c_vararg args: ..any) -> result ---
-}
+}

+ 3 - 3
vendor/miniaudio/src/Makefile

@@ -1,6 +1,6 @@
 all:
 	mkdir -p ../lib
-	gcc -c -O2 -Os -fPIC miniaudio.c
-	ar rcs ../lib/miniaudio.a miniaudio.o
-	#gcc -fPIC -shared -Wl,-soname=miniaudio.so -o ../lib/miniaudio.so miniaudio.o
+	$(CC) -c -O2 -Os -fPIC miniaudio.c
+	$(AR) rcs ../lib/miniaudio.a miniaudio.o
+	#$(CC) -fPIC -shared -Wl,-soname=miniaudio.so -o ../lib/miniaudio.so miniaudio.o
 	rm *.o

+ 8 - 3
vendor/miniaudio/utilities.odin

@@ -1,7 +1,12 @@
 package miniaudio
 
-when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
-when ODIN_OS == .Linux   { foreign import lib "lib/miniaudio.a" }
+when ODIN_OS == .Windows {
+	foreign import lib "lib/miniaudio.lib"
+} else when ODIN_OS == .Linux {
+	foreign import lib "lib/miniaudio.a"
+} else {
+	foreign import lib "system:miniaudio"
+}
 
 @(default_calling_convention="c", link_prefix="ma_")
 foreign lib {
@@ -228,4 +233,4 @@ foreign lib {
 	audio_buffer_get_cursor_in_pcm_frames :: proc(pAudioBuffer: ^audio_buffer, pCursor: ^u64) -> result ---
 	audio_buffer_get_length_in_pcm_frames :: proc(pAudioBuffer: ^audio_buffer, pLength: ^u64) -> result ---
 	audio_buffer_get_available_frames     :: proc(pAudioBuffer: ^audio_buffer, pAvailableFrames: ^u64) -> result ---
-}
+}

+ 7 - 2
vendor/miniaudio/vfs.odin

@@ -2,8 +2,13 @@ package miniaudio
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
-when ODIN_OS == .Linux   { foreign import lib "lib/miniaudio.a" }
+when ODIN_OS == .Windows {
+	foreign import lib "lib/miniaudio.lib"
+} else when ODIN_OS == .Linux {
+	foreign import lib "lib/miniaudio.a"
+} else {
+	foreign import lib "system:miniaudio"
+}
 
 /************************************************************************************************************************************************************
 

+ 3 - 1
vendor/portmidi/portmidi.odin

@@ -9,6 +9,8 @@ when ODIN_OS == .Windows {
 		"system:Winmm.lib",
 		"system:Advapi32.lib",
 	}
+} else {
+	foreign import lib "system:portmidi"
 }
 
 #assert(size_of(b32) == size_of(c.int))
@@ -519,4 +521,4 @@ foreign lib {
 		WriteSysEx() writes a timestamped system-exclusive midi message.
 	*/
 	WriteSysEx :: proc(stream: Stream, whence: Timestamp, msg: cstring) -> Error ---
-}
+}

+ 6 - 2
vendor/portmidi/util.odin

@@ -7,7 +7,11 @@ package portmidi
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "portmidi_s.lib" }
+when ODIN_OS == .Windows {
+	foreign import lib "portmidi_s.lib"
+} else {
+	foreign import lib "system:portmidi"
+}
 
 
 Queue :: distinct rawptr
@@ -118,4 +122,4 @@ foreign lib {
 		state, returns .NoError if successfully set overflow state.
 	 */
 	SetOverflow  :: proc(queue: Queue) -> Error ---
-}
+}

+ 5 - 3
vendor/raylib/raylib.odin

@@ -99,15 +99,17 @@ when ODIN_OS == .Windows {
 		"system:User32.lib",
 		"system:Shell32.lib",
 	}
-}
-when ODIN_OS == .Linux  {
+} else when ODIN_OS == .Linux  {
 	foreign import lib { 
 		"linux/libraylib.a",
 		"system:dl",
 		"system:pthread",
 	}
+} else when ODIN_OS == .Darwin {
+	foreign import lib "macos/libraylib.a"
+} else {
+	foreign import lib "system:raylib"
 }
-when ODIN_OS == .Darwin { foreign import lib "macos/libraylib.a" }
 
 VERSION :: "4.0"
 

+ 7 - 3
vendor/raylib/rlgl.odin

@@ -10,9 +10,13 @@ when ODIN_OS == .Windows {
 		"system:User32.lib",
 		"system:Shell32.lib",
 	}
+} else when ODIN_OS == .Linux  {
+	foreign import lib "linux/libraylib.a"
+} else when ODIN_OS == .Darwin {
+	foreign import lib "macos/libraylib.a"
+} else {
+	foreign import lib "system:raylib"
 }
-when ODIN_OS == .Linux  { foreign import lib "linux/libraylib.a" }
-when ODIN_OS == .Darwin { foreign import lib "macos/libraylib.a" }
 
 GRAPHICS_API_OPENGL_11  :: false
 GRAPHICS_API_OPENGL_21  :: true
@@ -378,4 +382,4 @@ foreign lib {
 	// Quick and dirty cube/quad buffers load->draw->unload
 	rlLoadDrawCube :: proc() --- // Load and draw a cube
 	rlLoadDrawQuad :: proc() --- // Load and draw a quad
-}
+}

+ 5 - 5
vendor/sdl2/image/sdl_image.odin

@@ -3,11 +3,11 @@ package sdl2_image
 import "core:c"
 import SDL ".."
 
-when ODIN_OS == .Windows { foreign import lib "SDL2_image.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2_image" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2_image" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2_image" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2_image" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2_image.lib"
+} else {
+	foreign import lib "system:SDL2_image"
+}
 
 bool :: SDL.bool
 

+ 5 - 5
vendor/sdl2/mixer/sdl_mixer.odin

@@ -3,11 +3,11 @@ package sdl2_mixer
 import "core:c"
 import SDL ".."
 
-when ODIN_OS == .Windows { foreign import lib "SDL2_mixer.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2_mixer" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2_mixer" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2_mixer" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2_mixer" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2_mixer.lib"
+} else {
+	foreign import lib "system:SDL2_mixer"
+}
 
 MAJOR_VERSION :: 2
 MINOR_VERSION :: 0

+ 5 - 5
vendor/sdl2/net/sdl_net.odin

@@ -3,11 +3,11 @@ package sdl2_net
 import "core:c"
 import SDL ".."
 
-when ODIN_OS == .Windows { foreign import lib "SDL2_net.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2_net" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2_net" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2_net" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2_net" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2_net.lib"
+} else {
+	foreign import lib "system:SDL2_net"
+}
 
 bool :: SDL.bool
 

+ 5 - 5
vendor/sdl2/sdl2.odin

@@ -25,11 +25,11 @@ package sdl2
 import "core:c"
 import "core:intrinsics"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 version :: struct {
 	major: u8,        /**< major version */

+ 5 - 5
vendor/sdl2/sdl_audio.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 /**
  *  \brief Audio format flags.

+ 5 - 5
vendor/sdl2/sdl_blendmode.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 /**
  *  \brief The blend mode used in SDL_RenderCopy() and drawing operations.

+ 5 - 5
vendor/sdl2/sdl_cpuinfo.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 /* This is a guess for the cacheline size used for padding.
  * Most x86 processors have a 64 byte cache line.

+ 5 - 5
vendor/sdl2/sdl_events.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 RELEASED :: 0
 PRESSED  :: 1

+ 5 - 5
vendor/sdl2/sdl_gamecontroller.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 GameController :: struct {}
 

+ 5 - 5
vendor/sdl2/sdl_gesture_haptic.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 // Gesture
 

+ 5 - 5
vendor/sdl2/sdl_hints.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 HINT_ACCELEROMETER_AS_JOYSTICK                :: "SDL_ACCELEROMETER_AS_JOYSTICK"
 HINT_ALLOW_ALT_TAB_WHILE_GRABBED              :: "SDL_ALLOW_ALT_TAB_WHILE_GRABBED"

+ 5 - 5
vendor/sdl2/sdl_joystick.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 Joystick :: struct {}
 

+ 5 - 5
vendor/sdl2/sdl_keyboard.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 Keysym :: struct {
 	scancode: Scancode, /**< SDL physical key code - see ::SDL_Scancode for details */

+ 5 - 5
vendor/sdl2/sdl_log.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 MAX_LOG_MESSAGE :: 4096
 

+ 5 - 5
vendor/sdl2/sdl_messagebox.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 MessageBoxFlag :: enum u32 {
 	_ = 0,

+ 5 - 5
vendor/sdl2/sdl_metal.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 MetalView :: distinct rawptr
 

+ 5 - 5
vendor/sdl2/sdl_mouse.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 Cursor :: struct {}
 

+ 5 - 5
vendor/sdl2/sdl_mutex.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 MUTEX_TIMEDOUT :: 1
 MUTEX_MAXWAIT  :: ~u32(0)

+ 5 - 5
vendor/sdl2/sdl_pixels.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 ALPHA_OPAQUE      :: 255
 ALPHA_TRANSPARENT ::   0

+ 5 - 5
vendor/sdl2/sdl_rect.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 Point :: struct {
 	x: c.int,

+ 5 - 5
vendor/sdl2/sdl_render.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 RendererFlag :: enum u32 {
 	SOFTWARE      = 0, /**< The renderer is a software fallback */

+ 5 - 5
vendor/sdl2/sdl_rwops.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 /* RWops Types */
 RWOPS_UNKNOWN   :: 0 /**< Unknown stream type */

+ 5 - 5
vendor/sdl2/sdl_stdinc.odin

@@ -5,11 +5,11 @@ import "core:intrinsics"
 import "core:runtime"
 _, _ :: intrinsics, runtime
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 bool :: distinct b32
 #assert(size_of(bool) == size_of(c.int))

+ 5 - 5
vendor/sdl2/sdl_surface.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 SWSURFACE       :: 0           /**< Just here for compatibility */
 PREALLOC        :: 0x00000001  /**< Surface uses preallocated memory */

+ 5 - 5
vendor/sdl2/sdl_system.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 // General
 @(default_calling_convention="c", link_prefix="SDL_")

+ 5 - 5
vendor/sdl2/sdl_syswm.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 SYSWM_TYPE :: enum c.int {
 	UNKNOWN,

+ 5 - 5
vendor/sdl2/sdl_thread.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 Thread :: struct {}
 

+ 5 - 5
vendor/sdl2/sdl_timer.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 TimerCallback :: proc "c" (interval: u32, param: rawptr) -> u32
 TimerID :: distinct c.int

+ 5 - 5
vendor/sdl2/sdl_touch.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 TouchID  :: distinct i64
 FingerID :: distinct i64

+ 5 - 5
vendor/sdl2/sdl_video.odin

@@ -2,11 +2,11 @@ package sdl2
 
 import "core:c"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 DisplayMode :: struct {
 	format:       u32,    /**< pixel format */

+ 5 - 5
vendor/sdl2/sdl_vulkan.odin

@@ -3,11 +3,11 @@ package sdl2
 import "core:c"
 import vk "vendor:vulkan"
 
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2.lib"
+} else {
+	foreign import lib "system:SDL2"
+}
 
 VkInstance   :: vk.Instance
 VkSurfaceKHR :: vk.SurfaceKHR

+ 5 - 5
vendor/sdl2/ttf/sdl_ttf.odin

@@ -3,11 +3,11 @@ package sdl2_ttf
 import "core:c"
 import SDL ".."
 
-when ODIN_OS == .Windows { foreign import lib "SDL2_ttf.lib"    }
-when ODIN_OS == .Linux   { foreign import lib "system:SDL2_ttf" }
-when ODIN_OS == .Darwin  { foreign import lib "system:SDL2_ttf" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2_ttf" }
-when ODIN_OS == .OpenBSD { foreign import lib "system:SDL2_ttf" }
+when ODIN_OS == .Windows {
+	foreign import lib "SDL2_ttf.lib"
+} else {
+	foreign import lib "system:SDL2_ttf"
+}
 
 bool :: SDL.bool
 

+ 13 - 13
vendor/stb/src/Makefile

@@ -1,16 +1,16 @@
 all:
 	mkdir -p ../lib
-	gcc -c -O2 -Os -fPIC stb_image.c stb_image_write.c stb_image_resize.c stb_truetype.c stb_rect_pack.c stb_vorbis.c
-	ar rcs ../lib/stb_image.a        stb_image.o
-	ar rcs ../lib/stb_image_write.a  stb_image_write.o
-	ar rcs ../lib/stb_image_resize.a stb_image_resize.o
-	ar rcs ../lib/stb_truetype.a     stb_truetype.o
-	ar rcs ../lib/stb_rect_pack.a    stb_rect_pack.o
-	#ar rcs ../lib/stb_vorbis_pack.a  stb_vorbis_pack.o
-	#gcc -fPIC -shared -Wl,-soname=stb_image.so         -o ../lib/stb_image.so        stb_image.o
-	#gcc -fPIC -shared -Wl,-soname=stb_image_write.so   -o ../lib/stb_image_write.so  stb_image_write.o
-	#gcc -fPIC -shared -Wl,-soname=stb_image_resize.so  -o ../lib/stb_image_resize.so stb_image_resize.o
-	#gcc -fPIC -shared -Wl,-soname=stb_truetype.so      -o ../lib/stb_truetype.so     stb_image_truetype.o
-	#gcc -fPIC -shared -Wl,-soname=stb_rect_pack.so     -o ../lib/stb_rect_pack.so    stb_rect_packl.o
-	#gcc -fPIC -shared -Wl,-soname=stb_vorbis.so        -o ../lib/stb_vorbis.so       stb_vorbisl.o
+	$(CC) -c -O2 -Os -fPIC stb_image.c stb_image_write.c stb_image_resize.c stb_truetype.c stb_rect_pack.c stb_vorbis.c
+	$(AR) rcs ../lib/stb_image.a        stb_image.o
+	$(AR) rcs ../lib/stb_image_write.a  stb_image_write.o
+	$(AR) rcs ../lib/stb_image_resize.a stb_image_resize.o
+	$(AR) rcs ../lib/stb_truetype.a     stb_truetype.o
+	$(AR) rcs ../lib/stb_rect_pack.a    stb_rect_pack.o
+	#$(AR) rcs ../lib/stb_vorbis_pack.a  stb_vorbis_pack.o
+	#$(CC) -fPIC -shared -Wl,-soname=stb_image.so         -o ../lib/stb_image.so        stb_image.o
+	#$(CC) -fPIC -shared -Wl,-soname=stb_image_write.so   -o ../lib/stb_image_write.so  stb_image_write.o
+	#$(CC) -fPIC -shared -Wl,-soname=stb_image_resize.so  -o ../lib/stb_image_resize.so stb_image_resize.o
+	#$(CC) -fPIC -shared -Wl,-soname=stb_truetype.so      -o ../lib/stb_truetype.so     stb_image_truetype.o
+	#$(CC) -fPIC -shared -Wl,-soname=stb_rect_pack.so     -o ../lib/stb_rect_pack.so    stb_rect_packl.o
+	#$(CC) -fPIC -shared -Wl,-soname=stb_vorbis.so        -o ../lib/stb_vorbis.so       stb_vorbisl.o
 	rm *.o