sqlite/Makefile

174 lines
3.6 KiB
Makefile
Raw Normal View History

2019-07-19 15:12:49 +03:00
TARGET = sqlite3
CC = ./wasi-sdk/bin/clang
SYSROOT = ./wasi-sdk/share/wasi-sysroot
2020-04-17 19:19:02 +03:00
TARGET_TRIPLE = wasm32-wasi
2021-03-04 14:04:48 +03:00
CFLAGS = -fvisibility=hidden
SDK = sdk/logger.h
2021-03-04 14:04:48 +03:00
LDFLAGS = -Wl,--demangle,--allow-undefined
2019-08-17 17:06:23 +03:00
EXPORT_FUNCS = \
--export=allocate,$\
--export=release_objects,$\
2020-09-14 21:00:27 +03:00
--export=set_result_size,$\
--export=set_result_ptr,$\
--export=get_result_size,$\
--export=get_result_ptr,$\
--export=sqlite3_open_v2_,$\
--export=sqlite3_close,$\
--export=sqlite3_prepare_v2_,$\
--export=sqlite3_exec_,$\
--export=sqlite3_libversion_number,$\
--export=sqlite3_total_changes,$\
--export=sqlite3_changes,$\
--export=sqlite3_busy_timeout,$\
--export=sqlite3_errmsg_,$\
--export=sqlite3_errcode,$\
--export=sqlite3_column_type,$\
--export=sqlite3_column_name_,$\
--export=sqlite3_step,$\
--export=sqlite3_reset,$\
2021-04-22 19:48:39 +03:00
--export=sqlite3_bind_blob,$\
--export=sqlite3_bind_double,$\
--export=sqlite3_bind_int64,$\
2021-04-12 11:40:33 +03:00
--export=sqlite3_bind_text,$\
--export=sqlite3_bind_null,$\
--export=sqlite3_column_count,$\
--export=sqlite3_column_double,$\
--export=sqlite3_column_int64,$\
--export=sqlite3_column_blob_,$\
--export=sqlite3_column_bytes,$\
--export=sqlite3_soft_heap_limit64,$\
--export=sqlite3_hard_heap_limit64,$\
--export=sqlite3_finalize
2019-08-17 17:06:23 +03:00
SQLITE_SRC = \
src/alter.c\
src/analyze.c\
src/attach.c\
src/auth.c\
src/backup.c\
src/bitvec.c\
src/btmutex.c\
src/btree.c\
src/build.c\
src/callback.c\
src/complete.c\
src/ctime.c\
src/date.c\
2021-03-03 15:07:51 +03:00
src/demo_os.c\
src/demo_vfs.c\
2019-08-17 17:06:23 +03:00
src/dbpage.c\
src/dbstat.c\
src/delete.c\
src/expr.c\
src/fault.c\
src/fkey.c\
src/fts3.c\
src/fts3_write.c\
src/fts3_aux.c\
src/fts3_expr.c\
src/fts3_hash.c\
src/fts3_icu.c\
src/fts3_porter.c\
src/fts3_snippet.c\
src/fts3_tokenize_vtab.c\
src/fts3_tokenizer.c\
src/fts3_tokenizer1.c\
src/fts3_unicode.c\
src/fts3_unicode2.c\
src/fts5.c\
src/func.c\
src/global.c\
src/hash.c\
src/insert.c\
src/json.c\
2019-08-17 17:06:23 +03:00
src/legacy.c\
src/loadext.c\
src/main.c\
src/malloc.c\
src/memdb.c\
src/mem0.c\
src/mem1.c\
src/mem2.c\
src/memjournal.c\
src/notify.c\
src/opcodes.c\
src/os.c\
src/pager.c\
src/parse.c\
src/pcache.c\
src/pcache1.c\
src/pragma.c\
src/prepare.c\
src/printf.c\
src/random.c\
src/resolve.c\
src/rowset.c\
src/rtree.c\
src/select.c\
src/sqlite3session.c\
src/status.c\
src/stmt.c\
src/table.c\
src/tokenize.c\
src/treeview.c\
src/trigger.c\
src/update.c\
src/upsert.c\
src/userauth.c\
src/utf.c\
src/util.c\
src/vacuum.c\
src/vdbe.c\
src/vdbeapi.c\
src/vdbeaux.c\
src/vdbeblob.c\
src/vdbemem.c\
src/vdbesort.c\
src/vdbetrace.c\
src/vdbevtab.c\
2019-08-17 17:06:23 +03:00
src/vtab.c\
src/wal.c\
src/walker.c\
src/where.c\
src/wherecode.c\
src/whereexpr.c\
src/window.c
2019-07-19 15:12:49 +03:00
WRAPPER_SRC = src/wrapper.c
2019-08-17 17:06:23 +03:00
SQLITE_FLAGS = \
-DSQLITE_CORE\
-D_HAVE_SQLITE_CONFIG_H\
-DENABLE_LOG\
-DBUILD_sqlite\
-DNDEBUG\
2021-03-03 15:07:51 +03:00
-DSQLITE_OS_UNIX\
2019-08-17 17:06:23 +03:00
-DSQLITE_THREADSAFE=0\
-DHAVE_READLINE=0\
-DHAVE_EDITLINE=0\
-DSQLITE_OMIT_LOAD_EXTENSION\
-DSQLITE_ENABLE_FTS5\
-DSQLITE_ENABLE_RTREE\
-DSQLITE_ENABLE_EXPLAIN_COMMENTS\
-DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION\
-DSQLITE_ENABLE_STMTVTAB\
-DSQLITE_ENABLE_DBPAGE_VTAB\
-DSQLITE_ENABLE_DBSTAT_VTAB\
-DSQLITE_ENABLE_OFFSET_SQL_FUNC\
-DSQLITE_ENABLE_DESERIALIZE\
-DSQLITE_INTROSPECTION_PRAGMAS\
2021-04-12 12:30:51 +03:00
-DSQLITE_OMIT_POPEN\
-DCVECTOR_LOGARITHMIC_GROWTH
2019-07-19 15:12:49 +03:00
.PHONY: default all clean
default: $(TARGET)
all: default
2020-04-17 23:19:01 +03:00
$(TARGET): $(SQLITE_SRC) $(WRAPPER_SRC)
2019-08-14 01:20:56 +03:00
$(CC) -O3 --sysroot=$(SYSROOT) --target=$(TARGET_TRIPLE) $(SQLITE_FLAGS) $(CFLAGS) $(LDFLAGS) -Wl,$(EXPORT_FUNCS) $^ -o $@.wasm
marine set version -i ./sqlite3.wasm -v $(shell cat version.txt)
marine set it -i ./sqlite3.wasm -w sqlite3.wit
2019-07-19 15:12:49 +03:00
.PRECIOUS: $(TARGET)
clean:
2020-04-17 23:19:01 +03:00
-rm -f $(TARGET).wasm $(TARGET).wat