@@ -7,18 +7,18 @@ SQLITE3 ?= sqlite3
77
88# Set default platform if not specified
99ifeq ($(OS ) ,Windows_NT)
10- PLATFORM := windows
11- HOST := windows
12- CPUS := $(shell powershell -Command "[Environment]::ProcessorCount")
10+ PLATFORM := windows
11+ HOST := windows
12+ CPUS := $(shell powershell -Command "[Environment]::ProcessorCount")
1313else
14- HOST = $(shell uname -s | tr '[:upper:]' '[:lower:]')
15- ifeq ($(HOST),darwin)
16- PLATFORM := macos
17- CPUS := $(shell sysctl -n hw.ncpu)
18- else
19- PLATFORM := $(HOST )
20- CPUS := $(shell nproc)
21- endif
14+ HOST = $(shell uname -s | tr '[:upper:]' '[:lower:]')
15+ ifeq ($(HOST),darwin)
16+ PLATFORM := macos
17+ CPUS := $(shell sysctl -n hw.ncpu)
18+ else
19+ PLATFORM := $(HOST)
20+ CPUS := $(shell nproc)
21+ endif
2222endif
2323
2424# Speed up builds by using all available CPU cores
@@ -60,86 +60,86 @@ MINIAUDIO_LIBS = $(BUILD_MINIAUDIO)/libminiaudio.a
6060
6161# Platform-specific settings
6262ifeq ($(PLATFORM ) ,windows)
63- TARGET := $(DIST_DIR ) /ai.dll
64- LDFLAGS = -L./$(BUILD_LLAMA ) /common -L./$(BUILD_LLAMA ) /ggml/src -L./$(BUILD_LLAMA ) /src -L./$(BUILD_WHISPER ) /src -L./$(BUILD_MINIAUDIO ) -l:libllama.a -l:libwhisper.a -l:libminiaudio.a -l:libcommon.a -l:ggml.a -l:ggml-cpu.a -l:ggml-base.a -fopenmp -static-libgcc -static-libstdc++ -shared
65- # Create .def file for Windows
66- DEF_FILE := $(BUILD_DIR ) /ai.def
67- STRIP = strip --strip-unneeded $@
63+ TARGET := $(DIST_DIR)/ai.dll
64+ LDFLAGS = -L./$(BUILD_LLAMA)/common -L./$(BUILD_LLAMA)/ggml/src -L./$(BUILD_LLAMA)/src -L./$(BUILD_WHISPER)/src -L./$(BUILD_MINIAUDIO) -l:libllama.a -l:libwhisper.a -l:libminiaudio.a -l:libcommon.a -l:ggml.a -l:ggml-cpu.a -l:ggml-base.a -fopenmp -static-libgcc -static-libstdc++ -shared
65+ # Create .def file for Windows
66+ DEF_FILE := $(BUILD_DIR)/ai.def
67+ STRIP = strip --strip-unneeded $@
6868else ifeq ($(PLATFORM),macos)
69- TARGET := $(DIST_DIR ) /ai.dylib
70- LLAMA_LIBS += $(BUILD_LLAMA ) /ggml/src/ggml-metal/libggml-metal.a $(BUILD_LLAMA ) /ggml/src/ggml-blas/libggml-blas.a
71- WHISPER_LIBS += $(BUILD_WHISPER ) /src/libwhisper.coreml.a
72- LDFLAGS += -arch x86_64 -arch arm64 -L./$(BUILD_LLAMA ) /ggml/src/ggml-metal -lggml-metal -L./$(BUILD_LLAMA ) /ggml/src/ggml-blas -lggml-blas -Wl,-force_load,$(BUILD_WHISPER ) /src/libwhisper.coreml.a -framework Metal -framework Foundation -framework CoreFoundation -framework QuartzCore -framework Accelerate -framework CoreML -dynamiclib -undefined dynamic_lookup
73- CFLAGS += -arch x86_64 -arch arm64
74- LLAMA_OPTIONS += -DBUILD_SHARED_LIBS=OFF -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
75- WHISPER_OPTIONS += -DBUILD_SHARED_LIBS=OFF -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DWHISPER_COREML=ON
76- MINIAUDIO_OPTIONS += -DBUILD_SHARED_LIBS=OFF -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
77- STRIP = true
78- # STRIP = strip -x -S $@ # Disabled for debugging symbol issues
69+ TARGET := $(DIST_DIR)/ai.dylib
70+ LLAMA_LIBS += $(BUILD_LLAMA)/ggml/src/ggml-metal/libggml-metal.a $(BUILD_LLAMA)/ggml/src/ggml-blas/libggml-blas.a
71+ WHISPER_LIBS += $(BUILD_WHISPER)/src/libwhisper.coreml.a
72+ LDFLAGS += -arch x86_64 -arch arm64 -L./$(BUILD_LLAMA)/ggml/src/ggml-metal -lggml-metal -L./$(BUILD_LLAMA)/ggml/src/ggml-blas -lggml-blas -Wl,-force_load,$(BUILD_WHISPER)/src/libwhisper.coreml.a -framework Metal -framework Foundation -framework CoreFoundation -framework QuartzCore -framework Accelerate -framework CoreML -dynamiclib -undefined dynamic_lookup
73+ CFLAGS += -arch x86_64 -arch arm64
74+ LLAMA_OPTIONS += -DBUILD_SHARED_LIBS=OFF -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
75+ WHISPER_OPTIONS += -DBUILD_SHARED_LIBS=OFF -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DWHISPER_COREML=ON
76+ MINIAUDIO_OPTIONS += -DBUILD_SHARED_LIBS=OFF -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
77+ STRIP = true
78+ # STRIP = strip -x -S $@
7979else ifeq ($(PLATFORM),android)
80- # Set ARCH to find Android NDK's Clang compiler, the user should set the ARCH
81- ifeq ($(filter %,$(ARCH)),)
82- $(error "Android ARCH must be set to ARCH=x86_64 or ARCH=arm64-v8a")
83- endif
84- # Set ANDROID_NDK path to find android build tools
85- # e.g. on MacOS: export ANDROID_NDK=/Users/username/Library/Android/sdk/ndk/25.2.9519653
86- ifeq ($(filter %,$(ANDROID_NDK)),)
87- $(error "Android NDK must be set")
88- endif
89-
90- BIN = $(ANDROID_NDK ) /toolchains/llvm/prebuilt/$(HOST ) -x86_64/bin
91- PATH := $(BIN ) :$(PATH )
92-
93- ifneq (,$(filter $(ARCH),arm64 arm64-v8a))
94- override ARCH := aarch64
95- endif
96-
97- CC = $(BIN ) /$(ARCH ) -linux-android26-clang
98- CXX = $(CC ) ++
99- TARGET := $(DIST_DIR ) /ai.so
100- LDFLAGS += -static-libstdc++ -shared
101- LLAMA_OPTIONS += -DBUILD_SHARED_LIBS=OFF -DCMAKE_TOOLCHAIN_FILE=$(ANDROID_NDK ) /build/cmake/android.toolchain.cmake -DANDROID_ABI=$(if $(filter aarch64,$(ARCH ) ) ,arm64-v8a,$(ARCH ) ) -DANDROID_PLATFORM=android-26 -DCMAKE_C_FLAGS="-march=$(if $(filter aarch64,$(ARCH ) ) ,armv8.7a,x86-64) " -DCMAKE_CXX_FLAGS="-march=$(if $(filter aarch64,$(ARCH ) ) ,armv8.7a,x86-64) " -DGGML_OPENMP=OFF -DGGML_LLAMAFILE=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON
102- WHISPER_OPTIONS += -DBUILD_SHARED_LIBS=OFF -DCMAKE_TOOLCHAIN_FILE=$(ANDROID_NDK ) /build/cmake/android.toolchain.cmake -DANDROID_ABI=$(if $(filter aarch64,$(ARCH ) ) ,arm64-v8a,$(ARCH ) ) -DANDROID_PLATFORM=android-26 -DCMAKE_C_FLAGS="-march=$(if $(filter aarch64,$(ARCH ) ) ,armv8.7a,x86-64) " -DCMAKE_CXX_FLAGS="-march=$(if $(filter aarch64,$(ARCH ) ) ,armv8.7a,x86-64) " -DGGML_OPENMP=OFF -DGGML_LLAMAFILE=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON
103- STRIP = $(BIN ) /llvm-strip --strip-unneeded $@
80+ # Set ARCH to find Android NDK's Clang compiler, the user should set the ARCH
81+ ifeq ($(filter %,$(ARCH)),)
82+ $(error "Android ARCH must be set to ARCH=x86_64 or ARCH=arm64-v8a")
83+ endif
84+ # Set ANDROID_NDK path to find android build tools
85+ # e.g. on MacOS: export ANDROID_NDK=/Users/username/Library/Android/sdk/ndk/25.2.9519653
86+ ifeq ($(filter %,$(ANDROID_NDK)),)
87+ $(error "Android NDK must be set")
88+ endif
89+
90+ BIN = $(ANDROID_NDK)/toolchains/llvm/prebuilt/$(HOST)-x86_64/bin
91+ PATH := $(BIN):$(PATH)
92+
93+ ifneq (,$(filter $(ARCH),arm64 arm64-v8a))
94+ override ARCH := aarch64
95+ endif
96+
97+ CC = $(BIN)/$(ARCH)-linux-android26-clang
98+ CXX = $(CC)++
99+ TARGET := $(DIST_DIR)/ai.so
100+ LDFLAGS += -static-libstdc++ -shared
101+ LLAMA_OPTIONS += -DBUILD_SHARED_LIBS=OFF -DCMAKE_TOOLCHAIN_FILE=$(ANDROID_NDK)/build/cmake/android.toolchain.cmake -DANDROID_ABI=$(if $(filter aarch64,$(ARCH)),arm64-v8a,$(ARCH)) -DANDROID_PLATFORM=android-26 -DCMAKE_C_FLAGS="-march=$(if $(filter aarch64,$(ARCH)),armv8.7a,x86-64)" -DCMAKE_CXX_FLAGS="-march=$(if $(filter aarch64,$(ARCH)),armv8.7a,x86-64)" -DGGML_OPENMP=OFF -DGGML_LLAMAFILE=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON
102+ WHISPER_OPTIONS += -DBUILD_SHARED_LIBS=OFF -DCMAKE_TOOLCHAIN_FILE=$(ANDROID_NDK)/build/cmake/android.toolchain.cmake -DANDROID_ABI=$(if $(filter aarch64,$(ARCH)),arm64-v8a,$(ARCH)) -DANDROID_PLATFORM=android-26 -DCMAKE_C_FLAGS="-march=$(if $(filter aarch64,$(ARCH)),armv8.7a,x86-64)" -DCMAKE_CXX_FLAGS="-march=$(if $(filter aarch64,$(ARCH)),armv8.7a,x86-64)" -DGGML_OPENMP=OFF -DGGML_LLAMAFILE=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON
103+ STRIP = $(BIN)/llvm-strip --strip-unneeded $@
104104else ifeq ($(PLATFORM),ios)
105- CC = clang
106- CXX = $(CC ) ++
107- TARGET := $(DIST_DIR ) /ai.dylib
108- SDK := -isysroot $(shell xcrun --sdk iphoneos --show-sdk-path) -miphoneos-version-min=14.0
109- LLAMA_LIBS += $(BUILD_LLAMA ) /ggml/src/ggml-metal/libggml-metal.a $(BUILD_LLAMA ) /ggml/src/ggml-blas/libggml-blas.a
110- # miniaudio requires -ldl for dlopen() and compile as Objective-C on iOS
111- # https://github.com/mackron/miniaudio/blob/master/README.md#building
112- LDFLAGS += -L./$(BUILD_LLAMA ) /ggml/src/ggml-metal -lggml-metal -L./$(BUILD_LLAMA ) /ggml/src/ggml-blas -lggml-blas -framework Accelerate -framework Metal -framework Foundation -framework CoreML -framework AVFoundation -framework AudioToolbox -framework Security -dynamiclib -ldl $(SDK )
113- CFLAGS += -arch arm64 -x objective-c $(SDK )
114- LLAMA_OPTIONS += -DBUILD_SHARED_LIBS=OFF -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0
115- WHISPER_OPTIONS += -DBUILD_SHARED_LIBS=OFF -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 -DWHISPER_COREML=ON
116- STRIP = strip -x -S $@
105+ CC = clang
106+ CXX = $(CC)++
107+ TARGET := $(DIST_DIR)/ai.dylib
108+ SDK := -isysroot $(shell xcrun --sdk iphoneos --show-sdk-path) -miphoneos-version-min=14.0
109+ LLAMA_LIBS += $(BUILD_LLAMA)/ggml/src/ggml-metal/libggml-metal.a $(BUILD_LLAMA)/ggml/src/ggml-blas/libggml-blas.a
110+ # miniaudio requires -ldl for dlopen() and compile as Objective-C on iOS
111+ # https://github.com/mackron/miniaudio/blob/master/README.md#building
112+ LDFLAGS += -L./$(BUILD_LLAMA)/ggml/src/ggml-metal -lggml-metal -L./$(BUILD_LLAMA)/ggml/src/ggml-blas -lggml-blas -framework Accelerate -framework Metal -framework Foundation -framework CoreML -framework AVFoundation -framework AudioToolbox -framework Security -dynamiclib -ldl $(SDK)
113+ CFLAGS += -arch arm64 -x objective-c $(SDK)
114+ LLAMA_OPTIONS += -DBUILD_SHARED_LIBS=OFF -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0
115+ WHISPER_OPTIONS += -DBUILD_SHARED_LIBS=OFF -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 -DWHISPER_COREML=ON
116+ STRIP = strip -x -S $@
117117else ifeq ($(PLATFORM),isim)
118- TARGET := $(DIST_DIR ) /ai.dylib
119- SDK := -isysroot $(shell xcrun --sdk iphonesimulator --show-sdk-path) -miphonesimulator-version-min=14.0
120- LLAMA_LIBS += $(BUILD_LLAMA ) /ggml/src/ggml-metal/libggml-metal.a $(BUILD_LLAMA ) /ggml/src/ggml-blas/libggml-blas.a
121- LDFLAGS += -arch x86_64 -arch arm64 -L./$(BUILD_LLAMA ) /ggml/src/ggml-metal -lggml-metal -L./$(BUILD_LLAMA ) /ggml/src/ggml-blas -lggml-blas -framework Accelerate -framework Metal -framework Foundation -framework CoreML -dynamiclib $(SDK )
122- CFLAGS += -arch x86_64 -arch arm64 $(SDK )
123- LLAMA_OPTIONS += -DBUILD_SHARED_LIBS=OFF -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
124- WHISPER_OPTIONS += -DBUILD_SHARED_LIBS=OFF -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DWHISPER_COREML=ON
118+ TARGET := $(DIST_DIR)/ai.dylib
119+ SDK := -isysroot $(shell xcrun --sdk iphonesimulator --show-sdk-path) -miphonesimulator-version-min=14.0
120+ LLAMA_LIBS += $(BUILD_LLAMA)/ggml/src/ggml-metal/libggml-metal.a $(BUILD_LLAMA)/ggml/src/ggml-blas/libggml-blas.a
121+ LDFLAGS += -arch x86_64 -arch arm64 -L./$(BUILD_LLAMA)/ggml/src/ggml-metal -lggml-metal -L./$(BUILD_LLAMA)/ggml/src/ggml-blas -lggml-blas -framework Accelerate -framework Metal -framework Foundation -framework CoreML -dynamiclib $(SDK)
122+ CFLAGS += -arch x86_64 -arch arm64 $(SDK)
123+ LLAMA_OPTIONS += -DBUILD_SHARED_LIBS=OFF -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
124+ WHISPER_OPTIONS += -DBUILD_SHARED_LIBS=OFF -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DWHISPER_COREML=ON
125125else # linux
126- TARGET := $(DIST_DIR ) /ai.so
127- # using -DGGML_CPU_ALL_VARIANTS=ON
128- LDFLAGS := $(filter-out -lggml-cpu,$(LDFLAGS ) )
129- LDFLAGS += -shared -L./$(BUILD_LLAMA ) /bin -Wl,-rpath,./$(BUILD_LLAMA ) /bin -Wl,-rpath,./$(BUILD_LLAMA ) /common -Wl,-rpath,./$(BUILD_LLAMA ) /ggml/src -Wl,-rpath,./$(BUILD_LLAMA ) /src -Wl,-rpath,./$(BUILD_WHISPER ) /src
130- # Add miniaudio Linux-specific flags (as per miniaudio docs)
131- MINIAUDIO_LDFLAGS += -lpthread -lm
132- LLAMA_OPTIONS += -DBUILD_SHARED_LIBS=ON -DGGML_OPENMP=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON
133- WHISPER_OPTIONS += -DBUILD_SHARED_LIBS=ON -DGGML_OPENMP=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON
134- STRIP = strip --strip-unneeded $@
126+ TARGET := $(DIST_DIR)/ai.so
127+ # using -DGGML_CPU_ALL_VARIANTS=ON
128+ LDFLAGS := $(filter-out -lggml-cpu,$(LDFLAGS))
129+ LDFLAGS += -shared -L./$(BUILD_LLAMA)/bin -Wl,-rpath,./$(BUILD_LLAMA)/bin -Wl,-rpath,./$(BUILD_LLAMA)/common -Wl,-rpath,./$(BUILD_LLAMA)/ggml/src -Wl,-rpath,./$(BUILD_LLAMA)/src -Wl,-rpath,./$(BUILD_WHISPER)/src
130+ # Add miniaudio Linux-specific flags (as per miniaudio docs)
131+ MINIAUDIO_LDFLAGS += -lpthread -lm
132+ LLAMA_OPTIONS += -DBUILD_SHARED_LIBS=ON -DGGML_OPENMP=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON
133+ WHISPER_OPTIONS += -DBUILD_SHARED_LIBS=ON -DGGML_OPENMP=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON
134+ STRIP = strip --strip-unneeded $@
135135endif
136136
137137# Windows .def file generation
138138$(DEF_FILE ) :
139139ifeq ($(PLATFORM ) ,windows)
140- @echo "LIBRARY ai.dll" > $@
141- @echo "EXPORTS" >> $@
142- @echo " sqlite3_ai_init" >> $@
140+ @echo "LIBRARY ai.dll" > $@
141+ @echo "EXPORTS" >> $@
142+ @echo " sqlite3_ai_init" >> $@
143143endif
144144
145145# Make sure the build and dist directories exist
@@ -154,67 +154,67 @@ compile: $(OBJ_FILES)
154154
155155# Loadable library
156156$(TARGET ) : $(DEF_FILE ) $(LLAMA_LIBS ) $(WHISPER_LIBS ) $(MINIAUDIO_LIBS )
157- $(CXX) $(OBJ_FILES) $(DEF_FILE) -o $@ $(LDFLAGS)
157+ $(CXX ) $(OBJ_FILES ) $(DEF_FILE ) -o $@ $(LDFLAGS )
158158ifeq ($(PLATFORM ) ,windows)
159- # Generate import library for Windows
160- dlltool -D $@ -d $(DEF_FILE) -l $(DIST_DIR)/ai.lib
159+ # Generate import library for Windows
160+ dlltool -D $@ -d $(DEF_FILE) -l $(DIST_DIR)/ai.lib
161161endif
162- # Strip debug symbols
163- $(STRIP)
162+ # Strip debug symbols
163+ $(STRIP)
164164
165165# Object files
166166$(BUILD_DIR ) /% .o : % .c
167- $(CC) $(CFLAGS) -O3 -fPIC -c $< -o $@
167+ $(CC ) $(CFLAGS ) -O3 -fPIC -c $< -o $@
168168
169169test : $(TARGET )
170- $(SQLITE3 ) " :memory:" -cmd ".bail on" ".load ./dist/ai" "SELECT ai_version();"
170+ $(SQLITE3 ) " :memory:" -cmd " .bail on" " .load ./dist/ai" " SELECT ai_version();"
171171
172172# Build submodules (only after successful compilation of the extension)
173173build/llama.cpp.stamp : | compile
174- cmake -B $(BUILD_LLAMA) $(LLAMA_OPTIONS) $(LLAMA_DIR)
175- cmake --build $(BUILD_LLAMA) --config Release -- -j$(CPUS)
176- touch $@
174+ cmake -B $(BUILD_LLAMA ) $(LLAMA_OPTIONS ) $(LLAMA_DIR )
175+ cmake --build $(BUILD_LLAMA ) --config Release -- -j$(CPUS )
176+ touch $@
177177
178178build/whisper.cpp.stamp : | compile
179- cmake -B $(BUILD_WHISPER) $(WHISPER_OPTIONS) $(WHISPER_DIR)
180- cmake --build $(BUILD_WHISPER) --config Release -- -j$(CPUS)
181- touch $@
179+ cmake -B $(BUILD_WHISPER ) $(WHISPER_OPTIONS ) $(WHISPER_DIR )
180+ cmake --build $(BUILD_WHISPER ) --config Release -- -j$(CPUS )
181+ touch $@
182182
183183build/miniaudio.stamp : | compile
184- cmake -B $(BUILD_MINIAUDIO) $(MINIAUDIO_OPTIONS) $(MINIAUDIO_DIR)
185- cmake --build $(BUILD_MINIAUDIO) --config Release -- -j$(CPUS)
186- touch $@
184+ cmake -B $(BUILD_MINIAUDIO ) $(MINIAUDIO_OPTIONS ) $(MINIAUDIO_DIR )
185+ cmake --build $(BUILD_MINIAUDIO ) --config Release -- -j$(CPUS )
186+ touch $@
187187
188188$(LLAMA_LIBS ) : build/llama.cpp.stamp
189189$(WHISPER_LIBS ) : build/whisper.cpp.stamp
190190$(MINIAUDIO_LIBS ) : build/miniaudio.stamp
191191
192192# Tools
193193version :
194- @echo $(shell sed -n 's/^#define SQLITE_AI_VERSION[[ :space:]]* "\([^"]* \)".* /\1/p' src/sqlite-ai.h)
194+ @echo $(shell sed -n 's/^#define SQLITE_AI_VERSION[[:space:]]* "\([^"]* \) " .*/\1/p' src/sqlite-ai.h)
195195
196196# Clean up generated files
197197clean :
198- rm -rf $(BUILD_DIR)/* $(DIST_DIR)/* *.gcda *.gcno *.gcov *.sqlite
198+ rm -rf $(BUILD_DIR ) /* $(DIST_DIR ) /* * .gcda * .gcno * .gcov * .sqlite
199199
200200# Help message
201201help :
202- @echo "SQLite AI Extension Makefile"
203- @echo "Usage :"
204- @echo " make [PLATFORM=platform] [ARCH=arch] [ANDROID_NDK=\$$ANDROID_HOME/ndk/26.1.10909125] [target]"
205- @echo ""
206- @echo "Platforms :"
207- @echo " linux (default on Linux)"
208- @echo " macos (default on macOS)"
209- @echo " windows (default on Windows)"
210- @echo " android (needs ARCH to be set to x86_64 or arm64-v8a and ANDROID_NDK to be set)"
211- @echo " ios (only on macOS)"
212- @echo " isim (only on macOS)"
213- @echo ""
214- @echo "Targets :"
215- @echo " all - Build the extension (default)"
216- @echo " clean - Remove built files"
217- @echo " test - Test the extension"
218- @echo " help - Display this help message"
202+ @echo " SQLite AI Extension Makefile"
203+ @echo " Usage:"
204+ @echo " make [PLATFORM=platform] [ARCH=arch] [ANDROID_NDK=\$ $ANDROID_HOME /ndk/26.1.10909125] [target]"
205+ @echo " "
206+ @echo " Platforms:"
207+ @echo " linux (default on Linux)"
208+ @echo " macos (default on macOS)"
209+ @echo " windows (default on Windows)"
210+ @echo " android (needs ARCH to be set to x86_64 or arm64-v8a and ANDROID_NDK to be set)"
211+ @echo " ios (only on macOS)"
212+ @echo " isim (only on macOS)"
213+ @echo " "
214+ @echo " Targets:"
215+ @echo " all - Build the extension (default)"
216+ @echo " clean - Remove built files"
217+ @echo " test - Test the extension"
218+ @echo " help - Display this help message"
219219
220220.PHONY : all clean test extension help compile
0 commit comments