@@ -29,6 +29,7 @@ CC = gcc
2929CXX = g++
3030CFLAGS = -Wall -Wextra -Wno-unused-parameter -I$(SRC_DIR ) -I$(LLAMA_DIR ) /ggml/include -I$(LLAMA_DIR ) /include
3131LDFLAGS = -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
3435SRC_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"
6263else 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
8890else 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"
9396else # 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
129132build/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