diff --git a/makefile b/makefile index 028a57a..72388bb 100644 --- a/makefile +++ b/makefile @@ -27,9 +27,22 @@ ifeq ($(PLATFORM), Darwin) # Compiler settings CC = clang CXX = clang++ + + # Architecture flags + # Get the current architecture + ARCH := $(shell arch) + + # Set architecture-specific flags if needed + ifeq ($(ARCH),i386) # i386 is the architecture for Intel on some older systems + ARCH_FLAG := -arch x86_64 + else ifeq ($(ARCH),x86_64) + ARCH_FLAG := -arch x86_64 + else ifeq ($(ARCH),arm64) + ARCH_FLAG := -arch arm64 + endif # Architecture flags - ARCH_FLAGS = -arch arm64 -mmacosx-version-min=11.0 -isysroot $(MACOS_SDK_PATH) + ARCH_FLAGS = $(ARCH_FLAG) -mmacosx-version-min=11.0 -isysroot $(MACOS_SDK_PATH) # Linking flags - Use multiple rpath entries to look in executable directory LINKER_FLAGS = $(ARCH_FLAGS) -framework Cocoa -framework IOKit -fvisibility=hidden -O5 \ @@ -51,7 +64,6 @@ else CC = gcc CXX = g++ - # Architecture flags ARCH_FLAGS = -m64 -D_FILE_OFFSET_BITS=64 # Linking flags @@ -100,6 +112,7 @@ $(OUTPUT_FILE): $(OBJECT_FILES) $(CXX) -o $@ $(OBJECT_FILES) $(LINKER_FLAGS) $(LIB_PATHS) $(LIBRARIES) @echo "Copying libraries to $(BIN_DIR)..." @cp $(SDK_LIB_PATH)/$(SDK_LIB_FILE) $(BIN_DIR)/$(SDK_LIB_FILE) + @cp $(SDK_LIB_PATH)/libdl_usd_ms.$(SDK_LIB_EXT) $(BIN_DIR)/libdl_usd_ms.$(SDK_LIB_EXT) # @cp $(LZFSE_BUILD_DIR)/$(LZFSE_LIB_NAME) $(BIN_DIR)/$(LZFSE_LIB_NAME) # @cp $(PLIST_LIB_DIR)/$(PLIST_LIB_NAME) $(BIN_DIR)/$(PLIST_LIB_NAME) @cp $(EFSW_LIB_PATH)/$(EFSW_LIB_NAME) $(BIN_DIR)/$(EFSW_LIB_NAME) @@ -134,4 +147,4 @@ cleanall: rmdir obj/* 2>/dev/null || true rmdir bin/* 2>/dev/null || true rmdir obj 2>/dev/null || true - rmdir bin 2>/dev/null || true \ No newline at end of file + rmdir bin 2>/dev/null || true