@ -4,14 +4,16 @@ PROXYSQL_PATH := $(shell while [ ! -f ./src/proxysql_global.cpp ]; do cd ..; don
i n c l u d e $( PROXYSQL_PATH ) / i n c l u d e / m a k e f i l e s _ v a r s . m k
# Rust toolchain detection
# Rust toolchain detection (only needed for PROXYSQLGENAI)
i f e q ( $( PROXYSQLGENAI ) , 1 )
RUSTC := $( shell which rustc 2>/dev/null)
CARGO := $( shell which cargo 2>/dev/null)
i f n d e f R U S T C
$( error "rustc not found . Please install Rust toolchain ")
$( error "rustc not found . Please install Rust toolchain ( required for PROXYSQLGENAI ) ")
e n d i f
i f n d e f C A R G O
$( error "cargo not found . Please install Rust toolchain ")
$( error "cargo not found . Please install Rust toolchain ( required for PROXYSQLGENAI ) ")
e n d i f
e n d i f
# SQLite environment variables for sqlite-rembed build
@ -285,7 +287,17 @@ sqlite3/libsqlite_rembed.a: sqlite3/sqlite-rembed-0.0.1-alpha.9.tar.gz
cd sqlite3/sqlite-rembed-source && SQLITE3_INCLUDE_DIR = $( SQLITE3_INCLUDE_DIR) SQLITE3_LIB_DIR = $( SQLITE3_LIB_DIR) SQLITE3_STATIC = 1 $( CARGO) build --release --features= sqlite-loadable/static --lib
cp sqlite3/sqlite-rembed-source/target/release/libsqlite_rembed.a sqlite3/libsqlite_rembed.a
i f e q ( $( PROXYSQLGENAI ) , 1 )
sqlite3 : sqlite 3/sqlite 3/sqlite 3.o sqlite 3/sqlite 3/vec .o sqlite 3/libsqlite_rembed .a
e l s e
sqlite3 : sqlite 3/sqlite 3/sqlite 3.o
e n d i f
# sqlite-vec: Vector similarity search extension (for GenAI)
sqlite-vec : sqlite 3/sqlite 3/vec .o
# sqlite-rembed: Remote embedding extension (Rust-based, for GenAI)
sqlite-rembed : sqlite 3/libsqlite_rembed .a
libconfig/libconfig/out/libconfig++.a :
@ -375,24 +387,6 @@ libscram/lib/libscram.a:postgresql/postgresql/src/interfaces/libpq/libpq.a
libscram : libscram /lib /libscram .a
# sqlite-vec: Vector similarity search extension (for GenAI)
sqlite3/sqlite3/vec.o : sqlite 3/sqlite 3/sqlite 3.o
cd sqlite3/sqlite3 && cp ../sqlite-vec-source/sqlite-vec.c . && cp ../sqlite-vec-source/sqlite-vec.h .
cd sqlite3/sqlite3 && ${ CC } ${ MYCFLAGS } -fPIC -c -o vec.o sqlite-vec.c -DSQLITE_CORE -DSQLITE_VEC_STATIC -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_DLL= 1
sqlite-vec : sqlite 3/sqlite 3/vec .o
# sqlite-rembed: Remote embedding extension (Rust-based, for GenAI)
sqlite3/libsqlite_rembed.a : sqlite 3/sqlite -rembed -0.0.1-alpha .9.tar .gz
cd sqlite3 && rm -rf sqlite-rembed-*/ sqlite-rembed-source/ || true
cd sqlite3 && tar -zxf sqlite-rembed-0.0.1-alpha.9.tar.gz
mv sqlite3/sqlite-rembed-0.0.1-alpha.9 sqlite3/sqlite-rembed-source
cd sqlite3/sqlite-rembed-source && SQLITE3_INCLUDE_DIR = $( SQLITE3_INCLUDE_DIR) SQLITE3_LIB_DIR = $( SQLITE3_LIB_DIR) SQLITE3_STATIC = 1 $( CARGO) build --release --features= sqlite-loadable/static --lib
cp sqlite3/sqlite-rembed-source/target/release/libsqlite_rembed.a sqlite3/libsqlite_rembed.a
sqlite-rembed : sqlite 3/libsqlite_rembed .a
### clean targets
cleanpart :