فهرست منبع

Merge pull request #3143 from Pariatech/cgltf-linux-build

Adding linux & darwin makefile for cgltf
gingerBill 1 سال پیش
والد
کامیت
e68d3c8bbc
2فایلهای تغییر یافته به همراه24 افزوده شده و 4 حذف شده
  1. 4 4
      vendor/cgltf/cgltf.odin
  2. 20 0
      vendor/cgltf/src/Makefile

+ 4 - 4
vendor/cgltf/cgltf.odin

@@ -1,9 +1,9 @@
-//+build windows
 package cgltf
 
-when ODIN_OS == .Windows {
-	foreign import lib "lib/cgltf.lib"
-}
+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"          }
 
 import "core:c"
 

+ 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/darwin
+	$(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