Skip to content

Commit bb0293b

Browse files
committed
Build fts targets
1 parent 1d1d391 commit bb0293b

File tree

8 files changed

+491
-353
lines changed

8 files changed

+491
-353
lines changed

Makefile

Lines changed: 79 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,10 @@ EXPORTED_RUNTIME_METHODS = src/extra_exported_runtime_methods.json
2626
ASYNCIFY_IMPORTS = src/asyncify_imports.json
2727

2828
# intermediate files
29-
OBJ_FILES_DEBUG = $(patsubst %.c,tmp/obj/debug/%.o,$(CFILES))
30-
OBJ_FILES_DIST = $(patsubst %.c,tmp/obj/dist/%.o,$(CFILES))
29+
# OBJ_FILES_DEBUG = $(patsubst %.c,tmp/obj/debug/%.o,$(CFILES))
30+
# OBJ_FILES_DIST = $(patsubst %.c,tmp/obj/dist/%.o,$(CFILES))
31+
OBJ_FILES_DEBUG_FTS = $(patsubst %.c,tmp/obj/debug/%.o,$(CFILES))
32+
OBJ_FILES_DIST_FTS = $(patsubst %.c,tmp/obj/dist/%.o,$(CFILES))
3133

3234
RS_LIB = powersync
3335
RS_LIB_DIR = ./powersync-sqlite-core
@@ -51,7 +53,7 @@ EMFLAGS_COMMON = \
5153
-s WASM=1 \
5254
-s INVOKE_RUN \
5355
-s ENVIRONMENT="web,worker" \
54-
-s STACK_SIZE=512KB \
56+
-s TOTAL_STACK=512KB \
5557
$(EMFLAGS_EXTRA)
5658

5759
EMFLAGS_DEBUG = \
@@ -106,17 +108,20 @@ WASQLITE_DEFINES = \
106108
-DSQLITE_ENABLE_BATCH_ATOMIC_WRITE \
107109
$(WASQLITE_EXTRA_DEFINES)
108110

111+
WASQLITE_FTS_DEFINES ?= $(WASQLITE_DEFINES) \
112+
-DSQLITE_ENABLE_FTS5
113+
109114
# directories
110115
.PHONY: all
111116
all: dist
112117

113118
.PHONY: clean
114119
clean:
115-
rm -rf dist dist-xl debug tmp
120+
rm -rf dist debug tmp
116121

117122
.PHONY: spotless
118123
spotless:
119-
rm -rf dist dist-xl debug tmp deps cache
124+
rm -rf dist debug tmp deps cache
120125

121126
## cache
122127
.PHONY: clean-cache
@@ -150,13 +155,21 @@ deps/$(EXTENSION_FUNCTIONS): cache/$(EXTENSION_FUNCTIONS)
150155
clean-tmp:
151156
rm -rf tmp
152157

158+
# tmp/obj/debug/%.o: %.c
159+
# mkdir -p tmp/obj/debug
160+
# $(EMCC) $(CFLAGS_DEBUG) $(WASQLITE_DEFINES) $^ -c -o $@
161+
162+
# tmp/obj/dist/%.o: %.c
163+
# mkdir -p tmp/obj/dist
164+
# $(EMCC) $(CFLAGS_DIST) $(WASQLITE_DEFINES) $^ -c -o $@
165+
153166
tmp/obj/debug/%.o: %.c
154167
mkdir -p tmp/obj/debug
155-
$(EMCC) $(CFLAGS_DEBUG) $(WASQLITE_DEFINES) $^ -c -o $@
168+
$(EMCC) $(CFLAGS_DEBUG) $(WASQLITE_FTS_DEFINES) $^ -c -o $@
156169

157170
tmp/obj/dist/%.o: %.c
158171
mkdir -p tmp/obj/dist
159-
$(EMCC) $(CFLAGS_DIST) $(WASQLITE_DEFINES) $^ -c -o $@
172+
$(EMCC) $(CFLAGS_DIST) $(WASQLITE_FTS_DEFINES) $^ -c -o $@
160173

161174
$(RS_DEBUG_BC): FORCE
162175
mkdir -p tmp/bc/dist
@@ -172,52 +185,102 @@ $(RS_RELEASE_BC): FORCE
172185
## debug
173186
.PHONY: clean-debug
174187
clean-debug:
175-
rm -rf debug
188+
rm -rf debug debug-fts
189+
190+
# .PHONY: debug
191+
# debug: debug/wa-sqlite.mjs debug/wa-sqlite-async.mjs
192+
193+
# debug/wa-sqlite.mjs: $(OBJ_FILES_DEBUG) $(RS_DEBUG_BC) $(EXPORTED_FUNCTIONS) $(EXPORTED_RUNTIME_METHODS)
194+
# mkdir -p debug
195+
# $(EMCC) $(EMFLAGS_DEBUG) \
196+
# $(EMFLAGS_INTERFACES) \
197+
# $(EMFLAGS_LIBRARIES) \
198+
# $(RS_WASM_TGT_DIR)/debug/deps/*.bc \
199+
# $(OBJ_FILES_DEBUG) *.o -o $@
200+
201+
# debug/wa-sqlite-async.mjs: $(OBJ_FILES_DEBUG) $(RS_DEBUG_BC) $(EXPORTED_FUNCTIONS) $(EXPORTED_RUNTIME_METHODS) $(ASYNCIFY_IMPORTS)
202+
# mkdir -p debug
203+
# $(EMCC) $(EMFLAGS_DEBUG) \
204+
# $(EMFLAGS_INTERFACES) \
205+
# $(EMFLAGS_LIBRARIES) \
206+
# $(EMFLAGS_ASYNCIFY_DEBUG) \
207+
# $(RS_WASM_TGT_DIR)/debug/deps/*.bc \
208+
# $(OBJ_FILES_DEBUG) *.o -o $@
176209

177210
.PHONY: debug
178211
debug: debug/wa-sqlite.mjs debug/wa-sqlite-async.mjs
179212

180-
debug/wa-sqlite.mjs: $(OBJ_FILES_DEBUG) $(RS_DEBUG_BC) $(EXPORTED_FUNCTIONS) $(EXPORTED_RUNTIME_METHODS)
213+
debug/wa-sqlite.mjs: $(OBJ_FILES_DEBUG_FTS) $(RS_DEBUG_BC) $(EXPORTED_FUNCTIONS) $(EXPORTED_RUNTIME_METHODS)
181214
mkdir -p debug
182215
$(EMCC) $(EMFLAGS_DEBUG) \
183216
$(EMFLAGS_INTERFACES) \
184217
$(EMFLAGS_LIBRARIES) \
185218
$(RS_WASM_TGT_DIR)/debug/deps/*.bc \
186-
$(OBJ_FILES_DEBUG) *.o -o $@
219+
$(OBJ_FILES_DEBUG_FTS) *.o -o $@
187220

188-
debug/wa-sqlite-async.mjs: $(OBJ_FILES_DEBUG) $(RS_DEBUG_BC) $(EXPORTED_FUNCTIONS) $(EXPORTED_RUNTIME_METHODS) $(ASYNCIFY_IMPORTS)
221+
debug/wa-sqlite-async.mjs: $(OBJ_FILES_DEBUG_FTS) $(RS_DEBUG_BC) $(EXPORTED_FUNCTIONS) $(EXPORTED_RUNTIME_METHODS) $(ASYNCIFY_IMPORTS)
189222
mkdir -p debug
190223
$(EMCC) $(EMFLAGS_DEBUG) \
191224
$(EMFLAGS_INTERFACES) \
192225
$(EMFLAGS_LIBRARIES) \
193226
$(EMFLAGS_ASYNCIFY_DEBUG) \
194227
$(RS_WASM_TGT_DIR)/debug/deps/*.bc \
195-
$(OBJ_FILES_DEBUG) *.o -o $@
228+
$(OBJ_FILES_DEBUG_FTS) *.o -o $@
196229

230+
# For future use as an optimised build target
231+
# To build add dist to the .PHONY: all target
197232
## dist
233+
# .PHONY: clean-dist
234+
# clean-dist:
235+
# rm -rf dist
236+
237+
# .PHONY: dist
238+
# dist: dist/wa-sqlite.mjs dist/wa-sqlite-async.mjs
239+
240+
# dist/wa-sqlite.mjs: $(OBJ_FILES_DIST) $(RS_RELEASE_BC) $(EXPORTED_FUNCTIONS) $(EXPORTED_RUNTIME_METHODS)
241+
# mkdir -p dist
242+
# $(EMCC) $(EMFLAGS_DIST) \
243+
# $(EMFLAGS_INTERFACES) \
244+
# $(EMFLAGS_LIBRARIES) \
245+
# $(RS_WASM_TGT_DIR)/wasm/deps/*.bc \
246+
# $(OBJ_FILES_DIST) -o $@
247+
248+
# dist/wa-sqlite-async.mjs: $(OBJ_FILES_DIST) $(RS_RELEASE_BC) $(EXPORTED_FUNCTIONS) $(EXPORTED_RUNTIME_METHODS) $(ASYNCIFY_IMPORTS)
249+
# mkdir -p dist
250+
# $(EMCC) $(EMFLAGS_DIST) \
251+
# $(EMFLAGS_INTERFACES) \
252+
# $(EMFLAGS_LIBRARIES) \
253+
# $(EMFLAGS_ASYNCIFY_DIST) \
254+
# $(CFLAGS_DIST) \
255+
# $(RS_WASM_TGT_DIR)/wasm/deps/*.bc \
256+
# $(OBJ_FILES_DIST) -o $@
257+
258+
# FORCE: ;
259+
260+
# FTS builds
198261
.PHONY: clean-dist
199262
clean-dist:
200263
rm -rf dist
201264

202265
.PHONY: dist
203266
dist: dist/wa-sqlite.mjs dist/wa-sqlite-async.mjs
204267

205-
dist/wa-sqlite.mjs: $(OBJ_FILES_DIST) $(RS_RELEASE_BC) $(EXPORTED_FUNCTIONS) $(EXPORTED_RUNTIME_METHODS)
268+
dist/wa-sqlite.mjs: $(OBJ_FILES_DIST_FTS) $(RS_RELEASE_BC) $(EXPORTED_FUNCTIONS) $(EXPORTED_RUNTIME_METHODS)
206269
mkdir -p dist
207270
$(EMCC) $(EMFLAGS_DIST) \
208271
$(EMFLAGS_INTERFACES) \
209272
$(EMFLAGS_LIBRARIES) \
210273
$(RS_WASM_TGT_DIR)/wasm/deps/*.bc \
211-
$(OBJ_FILES_DIST) -o $@
274+
$(OBJ_FILES_DIST_FTS) -o $@
212275

213-
dist/wa-sqlite-async.mjs: $(OBJ_FILES_DIST) $(RS_RELEASE_BC) $(EXPORTED_FUNCTIONS) $(EXPORTED_RUNTIME_METHODS) $(ASYNCIFY_IMPORTS)
276+
dist/wa-sqlite-async.mjs: $(OBJ_FILES_DIST_FTS) $(RS_RELEASE_BC) $(EXPORTED_FUNCTIONS) $(EXPORTED_RUNTIME_METHODS) $(ASYNCIFY_IMPORTS)
214277
mkdir -p dist
215278
$(EMCC) $(EMFLAGS_DIST) \
216279
$(EMFLAGS_INTERFACES) \
217280
$(EMFLAGS_LIBRARIES) \
218281
$(EMFLAGS_ASYNCIFY_DIST) \
219282
$(CFLAGS_DIST) \
220283
$(RS_WASM_TGT_DIR)/wasm/deps/*.bc \
221-
$(OBJ_FILES_DIST) -o $@
284+
$(OBJ_FILES_DIST_FTS) -o $@
222285

223286
FORCE: ;

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ git submodule init
5151
```
5252

5353
```bash
54-
git submodule update --recursive
54+
git submodule update --init --recursive
5555
```
5656

5757
```bash

0 commit comments

Comments
 (0)