|
|
|
all:
|
|
docker compose up -d --build
|
|
docker compose exec shell make build
|
|
|
|
build: build_sqlite build_project
|
|
|
|
build_project:
|
|
gcc ft.c -ljansson libsqlite3.a -static -o ft
|
|
|
|
build_sqlite:
|
|
gcc -c -static sqlite/sqlite3.c -O3 \
|
|
-DNDEBUG \
|
|
-DSQLITE_USE_URI \
|
|
-DSQLITE_ENABLE_FTS5 \
|
|
-DSQLITE_ENABLE_JSON1 \
|
|
-DSQLITE_ENABLE_RTREE \
|
|
-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT \
|
|
-DSQLITE_ENABLE_PREUPDATE_HOOK \
|
|
-DSQLITE_ENABLE_UNLOCK_NOTIFY \
|
|
-DSQLITE_MAX_SQL_LENGTH=1000000 \
|
|
-DSQLITE_DEFAULT_PAGE_SIZE=4096 \
|
|
-DSQLITE_ENABLE_SESSION \
|
|
-DSQLITE_ENABLE_DESERIALIZE \
|
|
-DSQLITE_USE_URI \
|
|
-DSQLITE_DQS \
|
|
-DSQLITE_TEMP_STORE=2 \
|
|
-DSQLITE_DEFAULT_MEMSTATUS \
|
|
-DSQLITE_ENABLE_STAT4 \
|
|
-DSQLITE_ENABLE_DBSTAT_VTAB \
|
|
-DSQLITE_ALLOW_URI_AUTHORITY \
|
|
-DSQLITE_ENABLE_COLUMN_METADATA \
|
|
-DSQLITE_ENABLE_UNLOCK_NOTIFY \
|
|
-DSQLITE_USE_ALLOCA \
|
|
-DSQLITE_ENABLE_PREUPDATE_HOOK \
|
|
-DSQLITE_ENABLE_MEMSYS5 \
|
|
-DSQLITE_DEFAULT_JOURNAL_MODE='"wal"' \
|
|
-DSQLITE_DEFAULT_SYNCHRONOUS=0 \
|
|
-DSQLITE_OMIT_SHARED_CACHE \
|
|
-DSQLITE_ENABLE_LOAD_EXTENSION \
|
|
-DSQLITE_THREADSAFE=1 -o sqlite3.o -march=native -flto
|
|
ar rcs libsqlite3.a sqlite3.o
|
|
|
|
|