@@ -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
@@ -52,42 +59,50 @@ EMFLAGS_DEBUG = \
52
59
-O1
53
60
54
61
BITCODE_FILES = out/sqlite3.bc out/extension-functions.bc
62
+
55
63
OUTPUT_WRAPPER_FILES = src/shell-pre.js src/shell-post.js
56
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
+
57
72
all : optimized debug worker
58
73
59
74
.PHONY : debug
60
75
debug : dist/sql-asm-debug.js dist/sql-wasm-debug.js
61
76
62
- dist/sql-asm-debug.js : $(BITCODE_FILES ) $(OUTPUT_WRAPPER_FILES ) out/api.js src/exported_functions.json src/exported_runtime_methods.json
63
- $(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 $@
64
79
mv $@ out/tmp-raw.js
65
80
cat src/shell-pre.js out/tmp-raw.js src/shell-post.js > $@
66
81
rm out/tmp-raw.js
67
82
68
- dist/sql-wasm-debug.js : $(BITCODE_FILES ) $(OUTPUT_WRAPPER_FILES ) out/api.js src/exported_functions.json src/exported_runtime_methods.json
69
- $(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 $@
70
85
mv $@ out/tmp-raw.js
71
86
cat src/shell-pre.js out/tmp-raw.js src/shell-post.js > $@
72
87
rm out/tmp-raw.js
73
88
74
89
.PHONY : optimized
75
90
optimized : dist/sql-asm.js dist/sql-wasm.js dist/sql-asm-memory-growth.js
76
91
77
- dist/sql-asm.js : $(BITCODE_FILES ) $(OUTPUT_WRAPPER_FILES ) out/api.js src/exported_functions.json src/exported_runtime_methods.json
78
- $(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 $@
79
94
mv $@ out/tmp-raw.js
80
95
cat src/shell-pre.js out/tmp-raw.js src/shell-post.js > $@
81
96
rm out/tmp-raw.js
82
97
83
- dist/sql-wasm.js : $(BITCODE_FILES ) $(OUTPUT_WRAPPER_FILES ) out/api.js src/exported_functions.json src/exported_runtime_methods.json
84
- $(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 $@
85
100
mv $@ out/tmp-raw.js
86
101
cat src/shell-pre.js out/tmp-raw.js src/shell-post.js > $@
87
102
rm out/tmp-raw.js
88
103
89
- dist/sql-asm-memory-growth.js : $(BITCODE_FILES ) $(OUTPUT_WRAPPER_FILES ) out/api.js src/exported_functions.json src/exported_runtime_methods.json
90
- $(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 $@
91
106
mv $@ out/tmp-raw.js
92
107
cat src/shell-pre.js out/tmp-raw.js src/shell-post.js > $@
93
108
rm out/tmp-raw.js
@@ -116,14 +131,14 @@ dist/worker.sql-wasm-debug.js: dist/sql-wasm-debug.js out/worker.js
116
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
117
132
# even though we would have already generated it with our sql-wasm.js target above.
118
133
# This would be made easier if this is implemented: https://github.com/emscripten-core/emscripten/issues/8506
119
- # 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
120
135
# $(EMCC) $(EMFLAGS) $(EMFLAGS_OPTIMIZED) -s ENVIRONMENT=worker -s $(EMFLAGS_WASM) $(BITCODE_FILES) --pre-js out/api.js -o out/sql-wasm.js
121
136
# mv out/sql-wasm.js out/tmp-raw.js
122
137
# cat src/shell-pre.js out/tmp-raw.js src/shell-post.js out/worker.js > $@
123
138
# #mv out/sql-wasm.wasm dist/sql-wasm.wasm
124
139
# rm out/tmp-raw.js
125
140
126
- # 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
127
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
128
143
# mv out/sql-wasm-debug.js out/tmp-raw.js
129
144
# cat src/shell-pre.js out/tmp-raw.js src/shell-post.js out/worker.js > $@
0 commit comments