Skip to content

Commit c29ef75

Browse files
author
Daniele Briggi
committed
fix(makefile): build before submodules but not trigger rebuild
1 parent a5f859d commit c29ef75

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

Makefile

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ CFLAGS = -Wall -Wextra -Wno-unused-parameter -I$(SRC_DIR) -I$(LLAMA_DIR)/ggml/in
3131
LDFLAGS = $(LLAMA_LDFLAGS) $(WHISPER_LDFLAGS) $(MINIAUDIO_LDFLAGS)
3232
LLAMA_OPTIONS = $(LLAMA) -DLLAMA_CURL=OFF -DLLAMA_BUILD_EXAMPLES=OFF -DLLAMA_BUILD_TESTS=OFF -DLLAMA_BUILD_TOOLS=OFF -DLLAMA_BUILD_SERVER=OFF
3333
WHISPER_OPTIONS = $(WHISPER) -DWHISPER_BUILD_EXAMPLES=OFF -DWHISPER_BUILD_TESTS=OFF -DWHISPER_BUILD_SERVER=OFF
34+
MINIAUDIO_OPTIONS = -DMINIAUDIO_BUILD_EXAMPLES=OFF -DMINIAUDIO_BUILD_TESTS=OFF
3435

3536
# Module-specific linking flags
3637
LLAMA_LDFLAGS = -L./$(BUILD_LLAMA)/common -L./$(BUILD_LLAMA)/ggml/src -L./$(BUILD_LLAMA)/src -lcommon -lggml -lggml-cpu -lggml-base -lllama
@@ -70,6 +71,7 @@ else ifeq ($(PLATFORM),macos)
7071
CFLAGS += -arch x86_64 -arch arm64
7172
LLAMA_OPTIONS += -DBUILD_SHARED_LIBS=OFF -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
7273
WHISPER_OPTIONS += -DBUILD_SHARED_LIBS=OFF -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DWHISPER_COREML=ON
74+
MINIAUDIO_OPTIONS += -DBUILD_SHARED_LIBS=OFF -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
7375
STRIP = strip -x -S $@
7476
else ifeq ($(PLATFORM),android)
7577
# Set ARCH to find Android NDK's Clang compiler, the user should set the ARCH
@@ -98,7 +100,7 @@ else ifeq ($(PLATFORM),android)
98100
STRIP = $(BIN)/llvm-strip --strip-unneeded $@
99101
else ifeq ($(PLATFORM),ios)
100102
CC = clang
101-
CXX = clang++
103+
CXX = $(CC)++
102104
TARGET := $(DIST_DIR)/ai.dylib
103105
SDK := -isysroot $(shell xcrun --sdk iphoneos --show-sdk-path) -miphoneos-version-min=14.0
104106
LLAMA_LIBS += $(BUILD_LLAMA)/ggml/src/ggml-metal/libggml-metal.a $(BUILD_LLAMA)/ggml/src/ggml-blas/libggml-blas.a
@@ -148,7 +150,7 @@ all: $(TARGET)
148150
compile: $(OBJ_FILES)
149151

150152
# Loadable library
151-
$(TARGET): compile $(DEF_FILE) $(LLAMA_LIBS) $(WHISPER_LIBS) $(MINIAUDIO_LIBS)
153+
$(TARGET): $(DEF_FILE) $(LLAMA_LIBS) $(WHISPER_LIBS) $(MINIAUDIO_LIBS)
152154
$(CXX) $(OBJ_FILES) $(DEF_FILE) -o $@ $(LDFLAGS)
153155
ifeq ($(PLATFORM),windows)
154156
# Generate import library for Windows
@@ -164,19 +166,19 @@ $(BUILD_DIR)/%.o: %.c
164166
test: $(TARGET)
165167
$(SQLITE3) ":memory:" -cmd ".bail on" ".load ./dist/ai" "SELECT ai_version();"
166168

167-
# Build submodules (only after successful compilation)
168-
build/llama.cpp.stamp: compile
169+
# Build submodules (only after successful compilation of the extension)
170+
build/llama.cpp.stamp: | compile
169171
cmake -B $(BUILD_LLAMA) $(LLAMA_OPTIONS) $(LLAMA_DIR)
170172
cmake --build $(BUILD_LLAMA) --config Release -- -j$(CPUS)
171173
touch $@
172174

173-
build/whisper.cpp.stamp: compile
175+
build/whisper.cpp.stamp: | compile
174176
cmake -B $(BUILD_WHISPER) $(WHISPER_OPTIONS) $(WHISPER_DIR)
175177
cmake --build $(BUILD_WHISPER) --config Release -- -j$(CPUS)
176178
touch $@
177179

178-
build/miniaudio.stamp: compile
179-
cmake -B $(BUILD_MINIAUDIO) -DMINIAUDIO_BUILD_EXAMPLES=OFF -DMINIAUDIO_BUILD_TESTS=OFF $(MINIAUDIO_DIR)
180+
build/miniaudio.stamp: | compile
181+
cmake -B $(BUILD_MINIAUDIO) $(MINIAUDIO_OPTIONS) $(MINIAUDIO_DIR)
180182
cmake --build $(BUILD_MINIAUDIO) --config Release -- -j$(CPUS)
181183
touch $@
182184

0 commit comments

Comments
 (0)