@@ -37,6 +37,13 @@ EMFLAGS = \
37
37
-s SINGLE_FILE=0 \
38
38
-s NODEJS_CATCH_EXIT=0
39
39
40
+ EMFLAGS_ASM = \
41
+ -s WASM=0
42
+
43
+ EMFLAGS_ASM_MEMORY_GROWTH = \
44
+ -s WASM=0 \
45
+ -s ALLOW_MEMORY_GROWTH=1
46
+
40
47
EMFLAGS_WASM = \
41
48
-s WASM=1 \
42
49
-s ALLOW_MEMORY_GROWTH=1
@@ -55,40 +62,47 @@ BITCODE_FILES = out/sqlite3.bc out/extension-functions.bc out/custom_extensions.
55
62
56
63
OUTPUT_WRAPPER_FILES = src/shell-pre.js src/shell-post.js
57
64
65
+ OUTPUT_API_FILES = out/api.js
66
+
67
+ EMFLAGS_PRE_JS_FILES = \
68
+ --pre-js out/api.js
69
+
70
+ EXPORTED_METHODS_JSON_FILES = src/exported_functions.json src/exported_runtime_methods.json
71
+
58
72
all : optimized debug worker
59
73
60
74
.PHONY : debug
61
75
debug : dist/sql-asm-debug.js dist/sql-wasm-debug.js
62
76
63
- dist/sql-asm-debug.js : $(BITCODE_FILES ) $(OUTPUT_WRAPPER_FILES ) out/api.js src/exported_functions.json src/exported_runtime_methods.json
64
- $(EMCC ) $(EMFLAGS ) $(EMFLAGS_DEBUG ) -s WASM=0 $(BITCODE_FILES ) --pre-js out/api.js -o $@
77
+ dist/sql-asm-debug.js : $(BITCODE_FILES ) $(OUTPUT_WRAPPER_FILES ) $( OUTPUT_API_FILES ) $( EXPORTED_METHODS_JSON_FILES )
78
+ $(EMCC ) $(EMFLAGS ) $(EMFLAGS_DEBUG ) $( EMFLAGS_ASM ) $(BITCODE_FILES ) $( EMFLAGS_PRE_JS_FILES ) -o $@
65
79
mv $@ out/tmp-raw.js
66
80
cat src/shell-pre.js out/tmp-raw.js src/shell-post.js > $@
67
81
rm out/tmp-raw.js
68
82
69
- dist/sql-wasm-debug.js : $(BITCODE_FILES ) $(OUTPUT_WRAPPER_FILES ) out/api.js src/exported_functions.json src/exported_runtime_methods.json
70
- $(EMCC ) $(EMFLAGS ) $(EMFLAGS_DEBUG ) $(EMFLAGS_WASM ) $(BITCODE_FILES ) --pre-js out/api.js -o $@
83
+ dist/sql-wasm-debug.js : $(BITCODE_FILES ) $(OUTPUT_WRAPPER_FILES ) $( OUTPUT_API_FILES ) $( EXPORTED_METHODS_JSON_FILES )
84
+ $(EMCC ) $(EMFLAGS ) $(EMFLAGS_DEBUG ) $(EMFLAGS_WASM ) $(BITCODE_FILES ) $( EMFLAGS_PRE_JS_FILES ) -o $@
71
85
mv $@ out/tmp-raw.js
72
86
cat src/shell-pre.js out/tmp-raw.js src/shell-post.js > $@
73
87
rm out/tmp-raw.js
74
88
75
89
.PHONY : optimized
76
90
optimized : dist/sql-asm.js dist/sql-wasm.js dist/sql-asm-memory-growth.js
77
91
78
- dist/sql-asm.js : $(BITCODE_FILES ) $(OUTPUT_WRAPPER_FILES ) out/api.js src/exported_functions.json src/exported_runtime_methods.json
79
- $(EMCC ) $(EMFLAGS ) $(EMFLAGS_OPTIMIZED ) -s WASM=0 $(BITCODE_FILES ) --pre-js out/api.js -o $@
92
+ dist/sql-asm.js : $(BITCODE_FILES ) $(OUTPUT_WRAPPER_FILES ) $( OUTPUT_API_FILES ) $( EXPORTED_METHODS_JSON_FILES )
93
+ $(EMCC ) $(EMFLAGS ) $(EMFLAGS_OPTIMIZED ) $( EMFLAGS_ASM ) $(BITCODE_FILES ) $( EMFLAGS_PRE_JS_FILES ) -o $@
80
94
mv $@ out/tmp-raw.js
81
95
cat src/shell-pre.js out/tmp-raw.js src/shell-post.js > $@
82
96
rm out/tmp-raw.js
83
97
84
- dist/sql-wasm.js : $(BITCODE_FILES ) $(OUTPUT_WRAPPER_FILES ) out/api.js src/exported_functions.json src/exported_runtime_methods.json
85
- $(EMCC ) $(EMFLAGS ) $(EMFLAGS_OPTIMIZED ) $(EMFLAGS_WASM ) $(BITCODE_FILES ) --pre-js out/api.js -o $@
98
+ dist/sql-wasm.js : $(BITCODE_FILES ) $(OUTPUT_WRAPPER_FILES ) $( OUTPUT_API_FILES ) $( EXPORTED_METHODS_JSON_FILES )
99
+ $(EMCC ) $(EMFLAGS ) $(EMFLAGS_OPTIMIZED ) $(EMFLAGS_WASM ) $(BITCODE_FILES ) $( EMFLAGS_PRE_JS_FILES ) -o $@
86
100
mv $@ out/tmp-raw.js
87
101
cat src/shell-pre.js out/tmp-raw.js src/shell-post.js > $@
88
102
rm out/tmp-raw.js
89
103
90
- dist/sql-asm-memory-growth.js : $(BITCODE_FILES ) $(OUTPUT_WRAPPER_FILES ) out/api.js src/exported_functions.json src/exported_runtime_methods.json
91
- $(EMCC ) $(EMFLAGS ) $(EMFLAGS_OPTIMIZED ) -s WASM=0 -s ALLOW_MEMORY_GROWTH=1 $(BITCODE_FILES ) --pre-js out/api.js -o $@
104
+ dist/sql-asm-memory-growth.js : $(BITCODE_FILES ) $(OUTPUT_WRAPPER_FILES ) $( OUTPUT_API_FILES ) $( EXPORTED_METHODS_JSON_FILES )
105
+ $(EMCC ) $(EMFLAGS ) $(EMFLAGS_OPTIMIZED ) $( EMFLAGS_ASM_MEMORY_GROWTH ) $(BITCODE_FILES ) $( EMFLAGS_PRE_JS_FILES ) -o $@
92
106
mv $@ out/tmp-raw.js
93
107
cat src/shell-pre.js out/tmp-raw.js src/shell-post.js > $@
94
108
rm out/tmp-raw.js
@@ -117,14 +131,14 @@ dist/worker.sql-wasm-debug.js: dist/sql-wasm-debug.js out/worker.js
117
131
# However, since we can't tell emcc that we don't need the wasm generated, and just want the wrapper, we have to pay to have the .wasm generated
118
132
# even though we would have already generated it with our sql-wasm.js target above.
119
133
# This would be made easier if this is implemented: https://github.com/emscripten-core/emscripten/issues/8506
120
- # dist/worker.sql-wasm.js: $(BITCODE_FILES) $(OUTPUT_WRAPPER_FILES) out/api.js out/worker.js src/exported_functions.json src/exported_runtime_methods.json dist/sql-wasm-debug.wasm
134
+ # dist/worker.sql-wasm.js: $(BITCODE_FILES) $(OUTPUT_WRAPPER_FILES) out/api.js out/worker.js $(EXPORTED_METHODS_JSON_FILES) dist/sql-wasm-debug.wasm
121
135
# $(EMCC) $(EMFLAGS) $(EMFLAGS_OPTIMIZED) -s ENVIRONMENT=worker -s $(EMFLAGS_WASM) $(BITCODE_FILES) --pre-js out/api.js -o out/sql-wasm.js
122
136
# mv out/sql-wasm.js out/tmp-raw.js
123
137
# cat src/shell-pre.js out/tmp-raw.js src/shell-post.js out/worker.js > $@
124
138
# #mv out/sql-wasm.wasm dist/sql-wasm.wasm
125
139
# rm out/tmp-raw.js
126
140
127
- # dist/worker.sql-wasm-debug.js: $(BITCODE_FILES) $(OUTPUT_WRAPPER_FILES) out/api.js out/worker.js src/exported_functions.json src/exported_runtime_methods.json dist/sql-wasm-debug.wasm
141
+ # dist/worker.sql-wasm-debug.js: $(BITCODE_FILES) $(OUTPUT_WRAPPER_FILES) out/api.js out/worker.js $(EXPORTED_METHODS_JSON_FILES) dist/sql-wasm-debug.wasm
128
142
# $(EMCC) -s ENVIRONMENT=worker $(EMFLAGS) $(EMFLAGS_DEBUG) -s ENVIRONMENT=worker -s WASM_BINARY_FILE=sql-wasm-foo.debug $(EMFLAGS_WASM) $(BITCODE_FILES) --pre-js out/api.js -o out/sql-wasm-debug.js
129
143
# mv out/sql-wasm-debug.js out/tmp-raw.js
130
144
# cat src/shell-pre.js out/tmp-raw.js src/shell-post.js out/worker.js > $@
0 commit comments