diff options
Diffstat (limited to 'libraries/sqlite/unix/sqlite-3.5.1/main.mk')
-rw-r--r-- | libraries/sqlite/unix/sqlite-3.5.1/main.mk | 552 |
1 files changed, 552 insertions, 0 deletions
diff --git a/libraries/sqlite/unix/sqlite-3.5.1/main.mk b/libraries/sqlite/unix/sqlite-3.5.1/main.mk new file mode 100644 index 0000000..c700c5b --- /dev/null +++ b/libraries/sqlite/unix/sqlite-3.5.1/main.mk | |||
@@ -0,0 +1,552 @@ | |||
1 | ############################################################################### | ||
2 | # The following macros should be defined before this script is | ||
3 | # invoked: | ||
4 | # | ||
5 | # TOP The toplevel directory of the source tree. This is the | ||
6 | # directory that contains this "Makefile.in" and the | ||
7 | # "configure.in" script. | ||
8 | # | ||
9 | # BCC C Compiler and options for use in building executables that | ||
10 | # will run on the platform that is doing the build. | ||
11 | # | ||
12 | # THREADLIB Specify any extra linker options needed to make the library | ||
13 | # thread safe | ||
14 | # | ||
15 | # OPTS Extra compiler command-line options. | ||
16 | # | ||
17 | # EXE The suffix to add to executable files. ".exe" for windows | ||
18 | # and "" for Unix. | ||
19 | # | ||
20 | # TCC C Compiler and options for use in building executables that | ||
21 | # will run on the target platform. This is usually the same | ||
22 | # as BCC, unless you are cross-compiling. | ||
23 | # | ||
24 | # AR Tools used to build a static library. | ||
25 | # RANLIB | ||
26 | # | ||
27 | # TCL_FLAGS Extra compiler options needed for programs that use the | ||
28 | # TCL library. | ||
29 | # | ||
30 | # LIBTCL Linker options needed to link against the TCL library. | ||
31 | # | ||
32 | # READLINE_FLAGS Compiler options needed for programs that use the | ||
33 | # readline() library. | ||
34 | # | ||
35 | # LIBREADLINE Linker options needed by programs using readline() must | ||
36 | # link against. | ||
37 | # | ||
38 | # NAWK Nawk compatible awk program. Older (obsolete?) solaris | ||
39 | # systems need this to avoid using the original AT&T AWK. | ||
40 | # | ||
41 | # Once the macros above are defined, the rest of this make script will | ||
42 | # build the SQLite library and testing tools. | ||
43 | ################################################################################ | ||
44 | |||
45 | # This is how we compile | ||
46 | # | ||
47 | TCCX = $(TCC) $(OPTS) -I. -I$(TOP)/src | ||
48 | |||
49 | # Object files for the SQLite library. | ||
50 | # | ||
51 | LIBOBJ+= alter.o analyze.o attach.o auth.o btmutex.o btree.o build.o \ | ||
52 | callback.o complete.o date.o delete.o \ | ||
53 | expr.o func.o hash.o insert.o journal.o loadext.o \ | ||
54 | main.o malloc.o mem1.o mem2.o mutex.o mutex_os2.o \ | ||
55 | mutex_unix.o mutex_w32.o \ | ||
56 | opcodes.o os.o os_os2.o os_unix.o os_win.o \ | ||
57 | pager.o parse.o pragma.o prepare.o printf.o random.o \ | ||
58 | select.o table.o tclsqlite.o tokenize.o trigger.o \ | ||
59 | update.o util.o vacuum.o \ | ||
60 | vdbe.o vdbeapi.o vdbeaux.o vdbeblob.o vdbefifo.o vdbemem.o \ | ||
61 | where.o utf.o legacy.o vtab.o | ||
62 | |||
63 | EXTOBJ = icu.o | ||
64 | EXTOBJ += fts1.o \ | ||
65 | fts1_hash.o \ | ||
66 | fts1_tokenizer1.o \ | ||
67 | fts1_porter.o | ||
68 | EXTOBJ += fts2.o \ | ||
69 | fts2_hash.o \ | ||
70 | fts2_icu.o \ | ||
71 | fts2_porter.o \ | ||
72 | fts2_tokenizer.o \ | ||
73 | fts2_tokenizer1.o | ||
74 | EXTOBJ += fts3.o \ | ||
75 | fts3_hash.o \ | ||
76 | fts3_icu.o \ | ||
77 | fts3_porter.o \ | ||
78 | fts3_tokenizer.o \ | ||
79 | fts3_tokenizer1.o | ||
80 | |||
81 | # All of the source code files. | ||
82 | # | ||
83 | SRC = \ | ||
84 | $(TOP)/src/alter.c \ | ||
85 | $(TOP)/src/analyze.c \ | ||
86 | $(TOP)/src/attach.c \ | ||
87 | $(TOP)/src/auth.c \ | ||
88 | $(TOP)/src/btmutex.c \ | ||
89 | $(TOP)/src/btree.c \ | ||
90 | $(TOP)/src/btree.h \ | ||
91 | $(TOP)/src/btreeInt.h \ | ||
92 | $(TOP)/src/build.c \ | ||
93 | $(TOP)/src/callback.c \ | ||
94 | $(TOP)/src/complete.c \ | ||
95 | $(TOP)/src/date.c \ | ||
96 | $(TOP)/src/delete.c \ | ||
97 | $(TOP)/src/expr.c \ | ||
98 | $(TOP)/src/func.c \ | ||
99 | $(TOP)/src/hash.c \ | ||
100 | $(TOP)/src/hash.h \ | ||
101 | $(TOP)/src/insert.c \ | ||
102 | $(TOP)/src/journal.c \ | ||
103 | $(TOP)/src/legacy.c \ | ||
104 | $(TOP)/src/loadext.c \ | ||
105 | $(TOP)/src/main.c \ | ||
106 | $(TOP)/src/malloc.c \ | ||
107 | $(TOP)/src/mem1.c \ | ||
108 | $(TOP)/src/mem2.c \ | ||
109 | $(TOP)/src/mutex.c \ | ||
110 | $(TOP)/src/mutex.h \ | ||
111 | $(TOP)/src/mutex_os2.c \ | ||
112 | $(TOP)/src/mutex_unix.c \ | ||
113 | $(TOP)/src/mutex_w32.c \ | ||
114 | $(TOP)/src/os.c \ | ||
115 | $(TOP)/src/os.h \ | ||
116 | $(TOP)/src/os_common.h \ | ||
117 | $(TOP)/src/os_os2.c \ | ||
118 | $(TOP)/src/os_unix.c \ | ||
119 | $(TOP)/src/os_win.c \ | ||
120 | $(TOP)/src/pager.c \ | ||
121 | $(TOP)/src/pager.h \ | ||
122 | $(TOP)/src/parse.y \ | ||
123 | $(TOP)/src/pragma.c \ | ||
124 | $(TOP)/src/prepare.c \ | ||
125 | $(TOP)/src/printf.c \ | ||
126 | $(TOP)/src/random.c \ | ||
127 | $(TOP)/src/select.c \ | ||
128 | $(TOP)/src/shell.c \ | ||
129 | $(TOP)/src/sqlite.h.in \ | ||
130 | $(TOP)/src/sqlite3ext.h \ | ||
131 | $(TOP)/src/sqliteInt.h \ | ||
132 | $(TOP)/src/sqliteLimit.h \ | ||
133 | $(TOP)/src/table.c \ | ||
134 | $(TOP)/src/tclsqlite.c \ | ||
135 | $(TOP)/src/tokenize.c \ | ||
136 | $(TOP)/src/trigger.c \ | ||
137 | $(TOP)/src/utf.c \ | ||
138 | $(TOP)/src/update.c \ | ||
139 | $(TOP)/src/util.c \ | ||
140 | $(TOP)/src/vacuum.c \ | ||
141 | $(TOP)/src/vdbe.c \ | ||
142 | $(TOP)/src/vdbe.h \ | ||
143 | $(TOP)/src/vdbeapi.c \ | ||
144 | $(TOP)/src/vdbeaux.c \ | ||
145 | $(TOP)/src/vdbeblob.c \ | ||
146 | $(TOP)/src/vdbefifo.c \ | ||
147 | $(TOP)/src/vdbemem.c \ | ||
148 | $(TOP)/src/vdbeInt.h \ | ||
149 | $(TOP)/src/vtab.c \ | ||
150 | $(TOP)/src/where.c | ||
151 | |||
152 | # Source code for extensions | ||
153 | # | ||
154 | SRC += \ | ||
155 | $(TOP)/ext/fts1/fts1.c \ | ||
156 | $(TOP)/ext/fts1/fts1.h \ | ||
157 | $(TOP)/ext/fts1/fts1_hash.c \ | ||
158 | $(TOP)/ext/fts1/fts1_hash.h \ | ||
159 | $(TOP)/ext/fts1/fts1_porter.c \ | ||
160 | $(TOP)/ext/fts1/fts1_tokenizer.h \ | ||
161 | $(TOP)/ext/fts1/fts1_tokenizer1.c | ||
162 | SRC += \ | ||
163 | $(TOP)/ext/fts2/fts2.c \ | ||
164 | $(TOP)/ext/fts2/fts2.h \ | ||
165 | $(TOP)/ext/fts2/fts2_hash.c \ | ||
166 | $(TOP)/ext/fts2/fts2_hash.h \ | ||
167 | $(TOP)/ext/fts2/fts2_icu.c \ | ||
168 | $(TOP)/ext/fts2/fts2_porter.c \ | ||
169 | $(TOP)/ext/fts2/fts2_tokenizer.h \ | ||
170 | $(TOP)/ext/fts2/fts2_tokenizer.c \ | ||
171 | $(TOP)/ext/fts2/fts2_tokenizer1.c | ||
172 | SRC += \ | ||
173 | $(TOP)/ext/fts3/fts3.c \ | ||
174 | $(TOP)/ext/fts3/fts3.h \ | ||
175 | $(TOP)/ext/fts3/fts3_hash.c \ | ||
176 | $(TOP)/ext/fts3/fts3_hash.h \ | ||
177 | $(TOP)/ext/fts3/fts3_icu.c \ | ||
178 | $(TOP)/ext/fts3/fts3_porter.c \ | ||
179 | $(TOP)/ext/fts3/fts3_tokenizer.h \ | ||
180 | $(TOP)/ext/fts3/fts3_tokenizer.c \ | ||
181 | $(TOP)/ext/fts3/fts3_tokenizer1.c | ||
182 | SRC += \ | ||
183 | $(TOP)/ext/icu/icu.c | ||
184 | |||
185 | |||
186 | # Generated source code files | ||
187 | # | ||
188 | SRC += \ | ||
189 | keywordhash.h \ | ||
190 | opcodes.c \ | ||
191 | opcodes.h \ | ||
192 | parse.c \ | ||
193 | parse.h \ | ||
194 | sqlite3.h | ||
195 | |||
196 | |||
197 | # Source code to the test files. | ||
198 | # | ||
199 | TESTSRC = \ | ||
200 | $(TOP)/src/test1.c \ | ||
201 | $(TOP)/src/test2.c \ | ||
202 | $(TOP)/src/test3.c \ | ||
203 | $(TOP)/src/test4.c \ | ||
204 | $(TOP)/src/test5.c \ | ||
205 | $(TOP)/src/test6.c \ | ||
206 | $(TOP)/src/test7.c \ | ||
207 | $(TOP)/src/test8.c \ | ||
208 | $(TOP)/src/test9.c \ | ||
209 | $(TOP)/src/test_autoext.c \ | ||
210 | $(TOP)/src/test_async.c \ | ||
211 | $(TOP)/src/test_btree.c \ | ||
212 | $(TOP)/src/test_config.c \ | ||
213 | $(TOP)/src/test_hexio.c \ | ||
214 | $(TOP)/src/test_malloc.c \ | ||
215 | $(TOP)/src/test_md5.c \ | ||
216 | $(TOP)/src/test_onefile.c \ | ||
217 | $(TOP)/src/test_schema.c \ | ||
218 | $(TOP)/src/test_server.c \ | ||
219 | $(TOP)/src/test_tclvar.c \ | ||
220 | $(TOP)/src/test_thread.c \ | ||
221 | |||
222 | TESTSRC += $(TOP)/ext/fts2/fts2_tokenizer.c | ||
223 | TESTSRC += $(TOP)/ext/fts3/fts3_tokenizer.c | ||
224 | |||
225 | TESTSRC2 = \ | ||
226 | $(TOP)/src/attach.c $(TOP)/src/btree.c $(TOP)/src/build.c $(TOP)/src/date.c \ | ||
227 | $(TOP)/src/expr.c $(TOP)/src/func.c $(TOP)/src/insert.c $(TOP)/src/os.c \ | ||
228 | $(TOP)/src/os_os2.c $(TOP)/src/os_unix.c $(TOP)/src/os_win.c \ | ||
229 | $(TOP)/src/pager.c $(TOP)/src/pragma.c $(TOP)/src/prepare.c \ | ||
230 | $(TOP)/src/printf.c $(TOP)/src/select.c $(TOP)/src/tokenize.c \ | ||
231 | $(TOP)/src/utf.c $(TOP)/src/util.c $(TOP)/src/vdbeapi.c $(TOP)/src/vdbeaux.c \ | ||
232 | $(TOP)/src/vdbe.c $(TOP)/src/vdbemem.c $(TOP)/src/where.c parse.c | ||
233 | |||
234 | # Header files used by all library source files. | ||
235 | # | ||
236 | HDR = \ | ||
237 | $(TOP)/src/btree.h \ | ||
238 | $(TOP)/src/btreeInt.h \ | ||
239 | $(TOP)/src/hash.h \ | ||
240 | keywordhash.h \ | ||
241 | $(TOP)/src/mutex.h \ | ||
242 | opcodes.h \ | ||
243 | $(TOP)/src/os.h \ | ||
244 | $(TOP)/src/os_common.h \ | ||
245 | $(TOP)/src/pager.h \ | ||
246 | parse.h \ | ||
247 | sqlite3.h \ | ||
248 | $(TOP)/src/sqlite3ext.h \ | ||
249 | $(TOP)/src/sqliteInt.h \ | ||
250 | $(TOP)/src/sqliteLimit.h \ | ||
251 | $(TOP)/src/vdbe.h \ | ||
252 | $(TOP)/src/vdbeInt.h | ||
253 | |||
254 | # Header files used by extensions | ||
255 | # | ||
256 | EXTHDR += \ | ||
257 | $(TOP)/ext/fts1/fts1.h \ | ||
258 | $(TOP)/ext/fts1/fts1_hash.h \ | ||
259 | $(TOP)/ext/fts1/fts1_tokenizer.h | ||
260 | EXTHDR += \ | ||
261 | $(TOP)/ext/fts2/fts2.h \ | ||
262 | $(TOP)/ext/fts2/fts2_hash.h \ | ||
263 | $(TOP)/ext/fts2/fts2_tokenizer.h | ||
264 | EXTHDR += \ | ||
265 | $(TOP)/ext/fts3/fts3.h \ | ||
266 | $(TOP)/ext/fts3/fts3_hash.h \ | ||
267 | $(TOP)/ext/fts3/fts3_tokenizer.h | ||
268 | |||
269 | # This is the default Makefile target. The objects listed here | ||
270 | # are what get build when you type just "make" with no arguments. | ||
271 | # | ||
272 | all: sqlite3.h libsqlite3.a sqlite3$(EXE) | ||
273 | |||
274 | # Generate the file "last_change" which contains the date of change | ||
275 | # of the most recently modified source code file | ||
276 | # | ||
277 | last_change: $(SRC) | ||
278 | cat $(SRC) | grep '$$Id: ' | sort -k 5 | tail -1 \ | ||
279 | | $(NAWK) '{print $$5,$$6}' >last_change | ||
280 | |||
281 | libsqlite3.a: $(LIBOBJ) | ||
282 | $(AR) libsqlite3.a $(LIBOBJ) | ||
283 | $(RANLIB) libsqlite3.a | ||
284 | |||
285 | sqlite3$(EXE): $(TOP)/src/shell.c libsqlite3.a sqlite3.h | ||
286 | $(TCCX) $(READLINE_FLAGS) -o sqlite3$(EXE) \ | ||
287 | $(TOP)/src/shell.c \ | ||
288 | libsqlite3.a $(LIBREADLINE) $(TLIBS) $(THREADLIB) | ||
289 | |||
290 | objects: $(LIBOBJ_ORIG) | ||
291 | |||
292 | # This target creates a directory named "tsrc" and fills it with | ||
293 | # copies of all of the C source code and header files needed to | ||
294 | # build on the target system. Some of the C source code and header | ||
295 | # files are automatically generated. This target takes care of | ||
296 | # all that automatic generation. | ||
297 | # | ||
298 | target_source: $(SRC) | ||
299 | rm -rf tsrc | ||
300 | mkdir tsrc | ||
301 | cp -f $(SRC) tsrc | ||
302 | rm tsrc/sqlite.h.in tsrc/parse.y | ||
303 | |||
304 | sqlite3.c: target_source $(TOP)/tool/mksqlite3c.tcl | ||
305 | tclsh $(TOP)/tool/mksqlite3c.tcl | ||
306 | cp sqlite3.c tclsqlite3.c | ||
307 | cat $(TOP)/src/tclsqlite.c >>tclsqlite3.c | ||
308 | tclsh $(TOP)/tool/mksqlite3internalh.tcl | ||
309 | |||
310 | fts2amal.c: target_source $(TOP)/ext/fts2/mkfts2amal.tcl | ||
311 | tclsh $(TOP)/ext/fts2/mkfts2amal.tcl | ||
312 | |||
313 | fts3amal.c: target_source $(TOP)/ext/fts3/mkfts3amal.tcl | ||
314 | tclsh $(TOP)/ext/fts3/mkfts3amal.tcl | ||
315 | |||
316 | # Rules to build the LEMON compiler generator | ||
317 | # | ||
318 | lemon: $(TOP)/tool/lemon.c $(TOP)/tool/lempar.c | ||
319 | $(BCC) -o lemon $(TOP)/tool/lemon.c | ||
320 | cp $(TOP)/tool/lempar.c . | ||
321 | |||
322 | # Rules to build individual *.o files from files in the src directory. | ||
323 | # | ||
324 | %.o: %.c $(HDR) | ||
325 | $(TCCX) -c $< | ||
326 | |||
327 | # Rules to build individual *.o files from generated *.c files. This | ||
328 | # applies to: | ||
329 | # | ||
330 | # parse.o | ||
331 | # opcodes.o | ||
332 | # | ||
333 | %.o: $(TOP)/src/%.c $(HDR) | ||
334 | $(TCCX) -c $< | ||
335 | |||
336 | tclsqlite.o: $(TOP)/src/tclsqlite.c $(HDR) | ||
337 | $(TCCX) $(TCL_FLAGS) -c $(TOP)/src/tclsqlite.c | ||
338 | |||
339 | |||
340 | |||
341 | # Rules to build opcodes.c and opcodes.h | ||
342 | # | ||
343 | opcodes.c: opcodes.h $(TOP)/mkopcodec.awk | ||
344 | sort -n -b -k 3 opcodes.h | $(NAWK) -f $(TOP)/mkopcodec.awk >opcodes.c | ||
345 | |||
346 | opcodes.h: parse.h $(TOP)/src/vdbe.c $(TOP)/mkopcodeh.awk | ||
347 | cat parse.h $(TOP)/src/vdbe.c |$(NAWK) -f $(TOP)/mkopcodeh.awk >opcodes.h | ||
348 | |||
349 | |||
350 | # Rules to build parse.c and parse.h - the outputs of lemon. | ||
351 | # | ||
352 | parse.h: parse.c | ||
353 | |||
354 | parse.c: $(TOP)/src/parse.y lemon $(TOP)/addopcodes.awk | ||
355 | cp $(TOP)/src/parse.y . | ||
356 | ./lemon $(OPTS) parse.y | ||
357 | mv parse.h parse.h.temp | ||
358 | awk -f $(TOP)/addopcodes.awk parse.h.temp >parse.h | ||
359 | |||
360 | sqlite3.h: $(TOP)/src/sqlite.h.in | ||
361 | sed -e s/--VERS--/`cat ${TOP}/VERSION`/ \ | ||
362 | -e s/--VERSION-NUMBER--/`cat ${TOP}/VERSION | sed 's/[^0-9]/ /g' | $(NAWK) '{printf "%d%03d%03d",$$1,$$2,$$3}'`/ \ | ||
363 | $(TOP)/src/sqlite.h.in >sqlite3.h | ||
364 | |||
365 | keywordhash.h: $(TOP)/tool/mkkeywordhash.c | ||
366 | $(BCC) -o mkkeywordhash $(OPTS) $(TOP)/tool/mkkeywordhash.c | ||
367 | ./mkkeywordhash >keywordhash.h | ||
368 | |||
369 | |||
370 | |||
371 | # Rules to build the extension objects. | ||
372 | # | ||
373 | icu.o: $(TOP)/ext/icu/icu.c $(HDR) $(EXTHDR) | ||
374 | $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/icu/icu.c | ||
375 | |||
376 | fts2.o: $(TOP)/ext/fts2/fts2.c $(HDR) $(EXTHDR) | ||
377 | $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2.c | ||
378 | |||
379 | fts2_hash.o: $(TOP)/ext/fts2/fts2_hash.c $(HDR) $(EXTHDR) | ||
380 | $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_hash.c | ||
381 | |||
382 | fts2_icu.o: $(TOP)/ext/fts2/fts2_icu.c $(HDR) $(EXTHDR) | ||
383 | $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_icu.c | ||
384 | |||
385 | fts2_porter.o: $(TOP)/ext/fts2/fts2_porter.c $(HDR) $(EXTHDR) | ||
386 | $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_porter.c | ||
387 | |||
388 | fts2_tokenizer.o: $(TOP)/ext/fts2/fts2_tokenizer.c $(HDR) $(EXTHDR) | ||
389 | $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_tokenizer.c | ||
390 | |||
391 | fts2_tokenizer1.o: $(TOP)/ext/fts2/fts2_tokenizer1.c $(HDR) $(EXTHDR) | ||
392 | $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_tokenizer1.c | ||
393 | |||
394 | fts3.o: $(TOP)/ext/fts3/fts3.c $(HDR) $(EXTHDR) | ||
395 | $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3.c | ||
396 | |||
397 | fts3_hash.o: $(TOP)/ext/fts3/fts3_hash.c $(HDR) $(EXTHDR) | ||
398 | $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_hash.c | ||
399 | |||
400 | fts3_icu.o: $(TOP)/ext/fts3/fts3_icu.c $(HDR) $(EXTHDR) | ||
401 | $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_icu.c | ||
402 | |||
403 | fts3_porter.o: $(TOP)/ext/fts3/fts3_porter.c $(HDR) $(EXTHDR) | ||
404 | $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_porter.c | ||
405 | |||
406 | fts3_tokenizer.o: $(TOP)/ext/fts3/fts3_tokenizer.c $(HDR) $(EXTHDR) | ||
407 | $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_tokenizer.c | ||
408 | |||
409 | fts3_tokenizer1.o: $(TOP)/ext/fts3/fts3_tokenizer1.c $(HDR) $(EXTHDR) | ||
410 | $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_tokenizer1.c | ||
411 | |||
412 | |||
413 | # Rules for building test programs and for running tests | ||
414 | # | ||
415 | tclsqlite3: $(TOP)/src/tclsqlite.c libsqlite3.a | ||
416 | $(TCCX) $(TCL_FLAGS) -DTCLSH=1 -o tclsqlite3 \ | ||
417 | $(TOP)/src/tclsqlite.c libsqlite3.a $(LIBTCL) $(THREADLIB) | ||
418 | |||
419 | |||
420 | # Rules to build the 'testfixture' application. | ||
421 | # | ||
422 | TESTFIXTURE_FLAGS = -DTCLSH=1 -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1 | ||
423 | TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE | ||
424 | |||
425 | testfixture$(EXE): $(TESTSRC2) libsqlite3.a $(TESTSRC) $(TOP)/src/tclsqlite.c | ||
426 | $(TCCX) $(TCL_FLAGS) $(TESTFIXTURE_FLAGS) \ | ||
427 | $(TESTSRC) $(TESTSRC2) $(TOP)/src/tclsqlite.c \ | ||
428 | -o testfixture$(EXE) $(LIBTCL) $(THREADLIB) libsqlite3.a | ||
429 | |||
430 | amalgamation-testfixture$(EXE): sqlite3.c $(TESTSRC) $(TOP)/src/tclsqlite.c | ||
431 | $(TCCX) $(TCL_FLAGS) $(TESTFIXTURE_FLAGS) \ | ||
432 | $(TESTSRC) $(TOP)/src/tclsqlite.c sqlite3.c \ | ||
433 | -o testfixture$(EXE) $(LIBTCL) $(THREADLIB) | ||
434 | |||
435 | fulltest: testfixture$(EXE) sqlite3$(EXE) | ||
436 | ./testfixture$(EXE) $(TOP)/test/all.test | ||
437 | |||
438 | soaktest: testfixture$(EXE) sqlite3$(EXE) | ||
439 | ./testfixture$(EXE) $(TOP)/test/all.test -soak 1 | ||
440 | |||
441 | test: testfixture$(EXE) sqlite3$(EXE) | ||
442 | ./testfixture$(EXE) $(TOP)/test/quick.test | ||
443 | |||
444 | sqlite3_analyzer$(EXE): $(TOP)/src/tclsqlite.c sqlite3.c $(TESTSRC) \ | ||
445 | $(TOP)/tool/spaceanal.tcl | ||
446 | sed \ | ||
447 | -e '/^#/d' \ | ||
448 | -e 's,\\,\\\\,g' \ | ||
449 | -e 's,",\\",g' \ | ||
450 | -e 's,^,",' \ | ||
451 | -e 's,$$,\\n",' \ | ||
452 | $(TOP)/tool/spaceanal.tcl >spaceanal_tcl.h | ||
453 | $(TCCX) $(TCL_FLAGS) \ | ||
454 | -DTCLSH=2 -DSQLITE_TEST=1 -DSQLITE_DEBUG=1 -DSQLITE_PRIVATE="" \ | ||
455 | $(TESTSRC) $(TOP)/src/tclsqlite.c sqlite3.c \ | ||
456 | -o sqlite3_analyzer$(EXE) \ | ||
457 | $(LIBTCL) $(THREADLIB) | ||
458 | |||
459 | TEST_EXTENSION = $(SHPREFIX)testloadext.$(SO) | ||
460 | $(TEST_EXTENSION): $(TOP)/src/test_loadext.c | ||
461 | $(MKSHLIB) $(TOP)/src/test_loadext.c -o $(TEST_EXTENSION) | ||
462 | |||
463 | extensiontest: testfixture$(EXE) $(TEST_EXTENSION) | ||
464 | ./testfixture$(EXE) $(TOP)/test/loadext.test | ||
465 | |||
466 | |||
467 | # Rules used to build documentation | ||
468 | # | ||
469 | %.html: $(TOP)/www/%.tcl docdir last_change common.tcl | ||
470 | tclsh $< > $@ | ||
471 | |||
472 | lang.html: $(TOP)/www/lang.tcl docdir | ||
473 | tclsh $(TOP)/www/lang.tcl doc >lang.html | ||
474 | |||
475 | opcode.html: $(TOP)/www/opcode.tcl $(TOP)/src/vdbe.c | ||
476 | tclsh $(TOP)/www/opcode.tcl $(TOP)/src/vdbe.c >opcode.html | ||
477 | |||
478 | capi3ref.html: $(TOP)/www/mkapidoc.tcl sqlite3.h | ||
479 | tclsh $(TOP)/www/mkapidoc.tcl <sqlite3.h >capi3ref.html | ||
480 | |||
481 | copyright-release.html: $(TOP)/www/copyright-release.html | ||
482 | cp $(TOP)/www/copyright-release.html . | ||
483 | |||
484 | %: $(TOP)/www/% | ||
485 | cp $< $@ | ||
486 | |||
487 | # Files to be published on the website. | ||
488 | # | ||
489 | DOC = \ | ||
490 | arch.html \ | ||
491 | autoinc.html \ | ||
492 | c_interface.html \ | ||
493 | capi3.html \ | ||
494 | capi3ref.html \ | ||
495 | changes.html \ | ||
496 | compile.html \ | ||
497 | copyright.html \ | ||
498 | copyright-release.html \ | ||
499 | copyright-release.pdf \ | ||
500 | conflict.html \ | ||
501 | datatypes.html \ | ||
502 | datatype3.html \ | ||
503 | different.html \ | ||
504 | docs.html \ | ||
505 | download.html \ | ||
506 | faq.html \ | ||
507 | fileformat.html \ | ||
508 | formatchng.html \ | ||
509 | index.html \ | ||
510 | limits.html \ | ||
511 | lang.html \ | ||
512 | lockingv3.html \ | ||
513 | mingw.html \ | ||
514 | nulls.html \ | ||
515 | oldnews.html \ | ||
516 | omitted.html \ | ||
517 | opcode.html \ | ||
518 | optimizer.html \ | ||
519 | optoverview.html \ | ||
520 | pragma.html \ | ||
521 | quickstart.html \ | ||
522 | sharedcache.html \ | ||
523 | speed.html \ | ||
524 | sqlite.html \ | ||
525 | support.html \ | ||
526 | tclsqlite.html \ | ||
527 | vdbe.html \ | ||
528 | version3.html \ | ||
529 | whentouse.html \ | ||
530 | 34to35.html | ||
531 | |||
532 | docdir: | ||
533 | mkdir -p doc | ||
534 | |||
535 | doc: common.tcl $(DOC) docdir | ||
536 | mv $(DOC) doc | ||
537 | cp $(TOP)/www/*.gif $(TOP)/art/*.gif doc | ||
538 | |||
539 | # Standard install and cleanup targets | ||
540 | # | ||
541 | install: sqlite3 libsqlite3.a sqlite3.h | ||
542 | mv sqlite3 /usr/bin | ||
543 | mv libsqlite3.a /usr/lib | ||
544 | mv sqlite3.h /usr/include | ||
545 | |||
546 | clean: | ||
547 | rm -f *.o sqlite3 libsqlite3.a sqlite3.h opcodes.* | ||
548 | rm -f lemon lempar.c parse.* sqlite*.tar.gz mkkeywordhash keywordhash.h | ||
549 | rm -f $(PUBLISH) | ||
550 | rm -f *.da *.bb *.bbg gmon.out | ||
551 | rm -rf tsrc | ||
552 | rm -f testloadext.dll libtestloadext.so | ||