Skip to content

Commit bde12a2

Browse files
committed
Update Makefile for improved macOS, iOS and iSIM support
1 parent 67bdf94 commit bde12a2

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

Makefile

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ CC = gcc
2929
CXX = g++
3030
CFLAGS = -Wall -Wextra -Wno-unused-parameter -I$(SRC_DIR) -I$(LLAMA_DIR)/ggml/include -I$(LLAMA_DIR)/include
3131
LDFLAGS = -L./$(BUILD_DIR)/lib/common -L./$(BUILD_DIR)/lib/ggml/src -L./$(BUILD_DIR)/lib/ggml/src/ggml-blas -L./$(BUILD_DIR)/lib/src -lcommon -lggml -lggml-blas -lggml-base -lggml-cpu -lllama
32+
LLAMA_OPTIONS = -DLLAMA_CURL=OFF
3233

3334
# Directories
3435
SRC_DIR = src
@@ -58,7 +59,7 @@ else ifeq ($(PLATFORM),macos)
5859
LIBS += $(BUILD_DIR)/lib/ggml/src/ggml-metal/libggml-metal.a
5960
LDFLAGS += -arch x86_64 -arch arm64 -L./$(BUILD_DIR)/lib/ggml/src/ggml-metal -lggml-metal -framework Metal -framework Foundation -framework CoreFoundation -framework QuartzCore -framework Accelerate -dynamiclib -undefined dynamic_lookup
6061
CFLAGS += -arch x86_64 -arch arm64
61-
LLAMA_OPTIONS = -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
62+
LLAMA_OPTIONS += -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
6263
else ifeq ($(PLATFORM),android)
6364
# Set ARCH to find Android NDK's Clang compiler, the user should set the ARCH
6465
ifeq ($(filter %,$(ARCH)),)
@@ -85,11 +86,13 @@ else ifeq ($(PLATFORM),ios)
8586
SDK := -isysroot $(shell xcrun --sdk iphoneos --show-sdk-path) -miphoneos-version-min=11.0
8687
LDFLAGS += -dynamiclib $(SDK)
8788
CFLAGS += -arch arm64 $(SDK)
89+
LLAMA_OPTIONS += -DCMAKE_SYSTEM_NAME=iOS
8890
else ifeq ($(PLATFORM),isim)
8991
TARGET := $(DIST_DIR)/ai.dylib
9092
SDK := -isysroot $(shell xcrun --sdk iphonesimulator --show-sdk-path) -miphonesimulator-version-min=11.0
9193
LDFLAGS += -arch x86_64 -arch arm64 -dynamiclib $(SDK)
9294
CFLAGS += -arch x86_64 -arch arm64 $(SDK)
95+
LLAMA_OPTIONS += -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
9396
else # linux
9497
TARGET := $(DIST_DIR)/ai.so
9598
LDFLAGS += -shared
@@ -127,9 +130,8 @@ test: $(TARGET)
127130

128131
# Build all libraries at once using one CMake call
129132
build/libs.stamp:
130-
cd $(BUILD_DIR) && \
131-
cmake -B lib -DBUILD_SHARED_LIBS=OFF $(LLAMA_OPTIONS) ../$(LLAMA_DIR) && \
132-
cmake --build lib --config Release -- -j$(CPUS)
133+
cmake -B $(BUILD_DIR)/lib -DBUILD_SHARED_LIBS=OFF $(LLAMA_OPTIONS) $(LLAMA_DIR)
134+
cmake --build $(BUILD_DIR)/lib --config Release -- -j$(CPUS)
133135
touch $@
134136

135137
$(LIBS): build/libs.stamp

0 commit comments

Comments
 (0)