Răsfoiți Sursa

adding linux + unix makefile for cgltf

Gabriel Pariat 1 an în urmă
părinte
comite
fd090c6672
2 a modificat fișierele cu 25 adăugiri și 5 ștergeri
  1. 5 5
      vendor/cgltf/cgltf.odin
  2. 20 0
      vendor/cgltf/src/Makefile

+ 5 - 5
vendor/cgltf/cgltf.odin

@@ -1,12 +1,12 @@
-//+build windows
 package cgltf
 
-when ODIN_OS == .Windows {
-	foreign import lib "lib/cgltf.lib"
-}
-
 import "core:c"
 
+when ODIN_OS == .Windows      { foreign import lib "lib/cgltf.lib" } 
+else when ODIN_OS == .Linux   { foreign import lib "../lib/cgltf.a"        }
+else when ODIN_OS == .Darwin  { foreign import lib "../lib/darwin/cgltf.a" }
+else                          { foreign import lib "system:cgltf"          }
+
 
 file_type :: enum c.int {
 	invalid,

+ 20 - 0
vendor/cgltf/src/Makefile

@@ -0,0 +1,20 @@
+OS=$(shell uname)
+
+ifeq ($(OS), Darwin)
+all: darwin
+else
+all: unix
+endif
+
+unix:
+	mkdir -p ../lib
+	$(CC) -c -O2 -Os -fPIC cgltf.c 	
+	$(AR) rcs ../lib/cgltf.a        cgltf.o
+	rm *.o
+
+darwin:
+	mkdir -p ../lib
+	$(CC) -arch x86_64 -c -O2 -Os -fPIC cgltf.c -o cgltf-x86_64.o -mmacosx-version-min=10.12
+	$(CC) -arch arm64  -c -O2 -Os -fPIC cgltf.c -o cgltf-arm64.o -mmacosx-version-min=10.12
+	lipo -create cgltf-x86_64.o cgltf-arm64.o -output ../lib/darwin/cgltf.a
+	rm *.o