chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 1 | #!/usr/make |
| 2 | # |
| 3 | # Makefile for SQLITE on VxWorks |
| 4 | |
| 5 | ifeq ($(FORCPU),) |
| 6 | FORCPU = SH32gnule |
| 7 | endif |
| 8 | |
| 9 | TOOL_FAMILY = gnu |
| 10 | |
| 11 | include $(WIND_USR)/tool/gnu/make.$(FORCPU) |
| 12 | |
| 13 | #### The toplevel directory of the source tree. This is the directory |
| 14 | # that contains this "Makefile.in" and the "configure.in" script. |
| 15 | # |
chw | 6de061a | 2009-04-13 08:14:03 +0000 | [diff] [blame] | 16 | TOP = . |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 17 | |
| 18 | #### C Compiler and options for use in building executables that |
| 19 | # will run on the platform that is doing the build. |
| 20 | # |
| 21 | BCC = gcc -g -O2 |
| 22 | #BCC = /opt/ancic/bin/c89 -0 |
| 23 | |
| 24 | #### If the target operating system supports the "usleep()" system |
| 25 | # call, then define the HAVE_USLEEP macro for all C modules. |
| 26 | # |
| 27 | USLEEP = |
| 28 | #USLEEP = -DHAVE_USLEEP=1 |
| 29 | |
| 30 | #### If you want the SQLite library to be safe for use within a |
| 31 | # multi-threaded program, then define the following macro |
| 32 | # appropriately: |
| 33 | # |
| 34 | THREADSAFE = -DSQLITE_THREADSAFE=1 |
| 35 | #THREADSAFE = -DSQLITE_THREADSAFE=0 |
| 36 | |
| 37 | #### Specify any extra linker options needed to make the library |
| 38 | # thread safe |
| 39 | # |
| 40 | #THREADLIB = -lpthread |
| 41 | THREADLIB = |
| 42 | |
| 43 | #### Specify any extra libraries needed to access required functions. |
| 44 | # |
chw | 6de061a | 2009-04-13 08:14:03 +0000 | [diff] [blame] | 45 | ifeq ($(CPU),SH32) |
| 46 | # for SH4 shared library |
| 47 | TLIBS_SHARED += -L$(WIND_USR)/lib/sh/SH32/commonle/PIC |
| 48 | else |
| 49 | # for all other CPUs shared library |
| 50 | TLIBS_SHARED += $(LD_LINK_PATH_ATEND) $(LD_PARTIAL_LAST_FLAGS) |
| 51 | endif |
| 52 | # for static library |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 53 | TLIBS += $(LD_LINK_PATH_ATEND) $(LD_PARTIAL_LAST_FLAGS) |
| 54 | |
| 55 | #### Leave SQLITE_DEBUG undefined for maximum speed. Use SQLITE_DEBUG=1 |
| 56 | # to check for memory leaks. Use SQLITE_DEBUG=2 to print a log of all |
| 57 | # malloc()s and free()s in order to track down memory leaks. |
| 58 | # |
| 59 | # SQLite uses some expensive assert() statements in the inner loop. |
| 60 | # You can make the library go almost twice as fast if you compile |
| 61 | # with -DNDEBUG=1 |
| 62 | # |
| 63 | #OPTS = -DSQLITE_DEBUG=2 |
| 64 | #OPTS = -DSQLITE_DEBUG=1 |
| 65 | #OPTS = |
| 66 | OPTS = -DNDEBUG=1 -DSQLITE_OS_UNIX=1 $(THREADSAFE) |
| 67 | OPTS += -DSQLITE_OMIT_LOAD_EXTENSION=1 |
| 68 | OPTS += -DSQLITE_ENABLE_LOCKING_STYLE=1 |
| 69 | OPTS += -DSQLITE_THREAD_OVERRIDE_LOCK=0 |
| 70 | OPTS += -DSQLITE_ENABLE_COLUMN_METADATA=1 |
| 71 | OPTS += -DHAVE_FDATASYNC=1 |
| 72 | |
| 73 | #### The suffix to add to executable files. ".exe" for windows. |
| 74 | # Nothing for unix. |
| 75 | # |
| 76 | EXE = .vxe |
| 77 | #EXE = |
| 78 | |
| 79 | #### C Compile and options for use in building executables that |
| 80 | # will run on the target platform. This is usually the same |
| 81 | # as BCC, unless you are cross-compiling. |
| 82 | # |
| 83 | #TCC = gcc -O6 |
| 84 | #TCC = gcc -g -O0 -Wall |
| 85 | #TCC = gcc -g -O0 -Wall -fprofile-arcs -ftest-coverage |
| 86 | #TCC = /opt/mingw/bin/i386-mingw32-gcc -O6 |
| 87 | TCC = $(CC) $(DEFINE_CC) -O2 -g -mrtp $(CC_ARCH_SPEC) -D_REENTRANT=1 -D_VX_CPU=_VX_$(CPU) -D_VX_TOOL_FAMILY=$(TOOL_FAMILY) -D_VX_TOOL=$(TOOL) |
| 88 | TCC += -I$(WIND_USR)/h -I$(WIND_USR)/h/wrn/coreip |
| 89 | #TCC = /opt/ansic/bin/c89 -O +z -Wl,-a,archive |
| 90 | |
| 91 | #TCC_SHARED = $(TCC) -fPIC |
| 92 | TCC_SHARED = $(TCC) |
| 93 | |
| 94 | #### Tools used to build a static library. |
| 95 | # |
| 96 | #ARX = ar cr |
| 97 | #ARX = /opt/mingw/bin/i386-mingw32-ar cr |
| 98 | AR += cr |
| 99 | #RANLIB = ranlib |
| 100 | #RANLIB = /opt/mingw/bin/i386-mingw32-ranlib |
| 101 | |
| 102 | #MKSHLIB = gcc -shared |
| 103 | #SO = so |
| 104 | #SHPREFIX = lib |
| 105 | MKSHLIB = $(CC) $(DEFINE_CC) -mrtp -shared $(CC_ARCH_SPEC) -D_VX_CPU=_VX_$(CPU) -D_VX_TOOL_FAMILY=$(TOOL_FAMILY) -D_VX_TOOL=$(TOOL) |
| 106 | SO = so |
| 107 | SHPREFIX = lib |
| 108 | |
| 109 | #### Extra compiler options needed for programs that use the TCL library. |
| 110 | # |
| 111 | #TCL_FLAGS = |
| 112 | #TCL_FLAGS = -DSTATIC_BUILD=1 |
drh | d7ceb37 | 2010-07-27 16:42:22 +0000 | [diff] [blame] | 113 | TCL_FLAGS = -I/home/drh/tcltk/8.5linux |
| 114 | #TCL_FLAGS = -I/home/drh/tcltk/8.5win -DSTATIC_BUILD=1 |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 115 | #TCL_FLAGS = -I/home/drh/tcltk/8.3hpux |
| 116 | |
| 117 | #### Linker options needed to link against the TCL library. |
| 118 | # |
| 119 | #LIBTCL = -ltcl -lm -ldl |
drh | d7ceb37 | 2010-07-27 16:42:22 +0000 | [diff] [blame] | 120 | LIBTCL = /home/drh/tcltk/8.5linux/libtcl8.5g.a -lm -ldl |
| 121 | #LIBTCL = /home/drh/tcltk/8.5win/libtcl85s.a -lmsvcrt |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 122 | #LIBTCL = /home/drh/tcltk/8.3hpux/libtcl8.3.a -ldld -lm -lc |
| 123 | |
| 124 | #### Additional objects for SQLite library when TCL support is enabled. |
| 125 | TCLOBJ = |
| 126 | #TCLOBJ = tclsqlite.o |
| 127 | |
| 128 | #### Compiler options needed for programs that use the readline() library. |
| 129 | # |
| 130 | READLINE_FLAGS = |
| 131 | #READLINE_FLAGS = -DHAVE_READLINE=1 -I/usr/include/readline |
| 132 | |
| 133 | #### Linker options needed by programs using readline() must link against. |
| 134 | # |
| 135 | LIBREADLINE = |
| 136 | #LIBREADLINE = -static -lreadline -ltermcap |
| 137 | |
| 138 | #### Which "awk" program provides nawk compatibilty |
| 139 | # |
| 140 | # NAWK = nawk |
| 141 | NAWK = awk |
| 142 | |
| 143 | |
| 144 | #### Pasted and adapted main.mk file |
| 145 | ############################################################################### |
| 146 | # The following macros should be defined before this script is |
| 147 | # invoked: |
| 148 | # |
| 149 | # TOP The toplevel directory of the source tree. This is the |
| 150 | # directory that contains this "Makefile.in" and the |
| 151 | # "configure.in" script. |
| 152 | # |
| 153 | # BCC C Compiler and options for use in building executables that |
| 154 | # will run on the platform that is doing the build. |
| 155 | # |
| 156 | # THREADLIB Specify any extra linker options needed to make the library |
| 157 | # thread safe |
| 158 | # |
| 159 | # OPTS Extra compiler command-line options. |
| 160 | # |
| 161 | # EXE The suffix to add to executable files. ".exe" for windows |
| 162 | # and "" for Unix. |
| 163 | # |
| 164 | # TCC C Compiler and options for use in building executables that |
| 165 | # will run on the target platform. This is usually the same |
| 166 | # as BCC, unless you are cross-compiling. |
| 167 | # |
| 168 | # AR Tools used to build a static library. |
| 169 | # RANLIB |
| 170 | # |
| 171 | # TCL_FLAGS Extra compiler options needed for programs that use the |
| 172 | # TCL library. |
| 173 | # |
| 174 | # LIBTCL Linker options needed to link against the TCL library. |
| 175 | # |
| 176 | # READLINE_FLAGS Compiler options needed for programs that use the |
| 177 | # readline() library. |
| 178 | # |
| 179 | # LIBREADLINE Linker options needed by programs using readline() must |
| 180 | # link against. |
| 181 | # |
| 182 | # NAWK Nawk compatible awk program. Older (obsolete?) solaris |
| 183 | # systems need this to avoid using the original AT&T AWK. |
| 184 | # |
| 185 | # Once the macros above are defined, the rest of this make script will |
| 186 | # build the SQLite library and testing tools. |
| 187 | ################################################################################ |
| 188 | |
| 189 | # This is how we compile |
| 190 | # |
chw | 73ccf01 | 2009-05-06 15:24:04 +0000 | [diff] [blame] | 191 | TCCX = $(TCC) $(OPTS) -I. -I$(TOP)/src -I$(TOP) |
| 192 | TCCX_SHARED = $(TCC_SHARED) $(OPTS) -I. -I$(TOP)/src -I$(TOP) \ |
| 193 | -I$(TOP)/ext/rtree -I$(TOP)/ext/icu -I$(TOP)/ext/fts3 \ |
| 194 | -I$(TOP)/ext/async |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 195 | |
| 196 | # Object files for the SQLite library. |
| 197 | # |
| 198 | LIBOBJ+= alter.o analyze.o attach.o auth.o \ |
chw | 6de061a | 2009-04-13 08:14:03 +0000 | [diff] [blame] | 199 | backup.o bitvec.o btmutex.o btree.o build.o \ |
chw | 73ccf01 | 2009-05-06 15:24:04 +0000 | [diff] [blame] | 200 | callback.o complete.o date.o delete.o expr.o fault.o \ |
| 201 | fts3.o fts3_expr.o fts3_hash.o fts3_icu.o fts3_porter.o \ |
| 202 | fts3_tokenizer.o fts3_tokenizer1.o \ |
| 203 | func.o global.o hash.o \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 204 | icu.o insert.o journal.o legacy.o loadext.o \ |
chw | 73ccf01 | 2009-05-06 15:24:04 +0000 | [diff] [blame] | 205 | main.o malloc.o mem0.o mem1.o mem2.o mem3.o mem5.o \ |
| 206 | memjournal.o \ |
mistachkin | f1c6bc5 | 2012-06-21 15:09:20 +0000 | [diff] [blame] | 207 | mutex.o mutex_noop.o mutex_unix.o mutex_w32.o \ |
| 208 | notify.o opcodes.o os.o os_unix.o os_win.o \ |
chw | 6de061a | 2009-04-13 08:14:03 +0000 | [diff] [blame] | 209 | pager.o parse.o pcache.o pcache1.o pragma.o prepare.o printf.o \ |
| 210 | random.o resolve.o rowset.o rtree.o select.o status.o \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 211 | table.o tokenize.o trigger.o \ |
| 212 | update.o util.o vacuum.o \ |
chw | 6de061a | 2009-04-13 08:14:03 +0000 | [diff] [blame] | 213 | vdbe.o vdbeapi.o vdbeaux.o vdbeblob.o vdbemem.o \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 214 | walker.o where.o utf.o vtab.o |
| 215 | |
| 216 | |
chw | 73ccf01 | 2009-05-06 15:24:04 +0000 | [diff] [blame] | 217 | |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 218 | # All of the source code files. |
| 219 | # |
| 220 | SRC = \ |
| 221 | $(TOP)/src/alter.c \ |
| 222 | $(TOP)/src/analyze.c \ |
| 223 | $(TOP)/src/attach.c \ |
| 224 | $(TOP)/src/auth.c \ |
chw | 6de061a | 2009-04-13 08:14:03 +0000 | [diff] [blame] | 225 | $(TOP)/src/backup.c \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 226 | $(TOP)/src/bitvec.c \ |
| 227 | $(TOP)/src/btmutex.c \ |
| 228 | $(TOP)/src/btree.c \ |
| 229 | $(TOP)/src/btree.h \ |
| 230 | $(TOP)/src/btreeInt.h \ |
| 231 | $(TOP)/src/build.c \ |
| 232 | $(TOP)/src/callback.c \ |
| 233 | $(TOP)/src/complete.c \ |
shaneh | dc97a8c | 2010-02-23 20:08:35 +0000 | [diff] [blame] | 234 | $(TOP)/src/ctime.c \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 235 | $(TOP)/src/date.c \ |
| 236 | $(TOP)/src/delete.c \ |
| 237 | $(TOP)/src/expr.c \ |
| 238 | $(TOP)/src/fault.c \ |
| 239 | $(TOP)/src/func.c \ |
| 240 | $(TOP)/src/global.c \ |
| 241 | $(TOP)/src/hash.c \ |
| 242 | $(TOP)/src/hash.h \ |
| 243 | $(TOP)/src/hwtime.h \ |
| 244 | $(TOP)/src/insert.c \ |
| 245 | $(TOP)/src/journal.c \ |
| 246 | $(TOP)/src/legacy.c \ |
| 247 | $(TOP)/src/loadext.c \ |
| 248 | $(TOP)/src/main.c \ |
| 249 | $(TOP)/src/malloc.c \ |
| 250 | $(TOP)/src/mem0.c \ |
| 251 | $(TOP)/src/mem1.c \ |
| 252 | $(TOP)/src/mem2.c \ |
| 253 | $(TOP)/src/mem3.c \ |
| 254 | $(TOP)/src/mem5.c \ |
| 255 | $(TOP)/src/memjournal.c \ |
mistachkin | 2318d33 | 2015-01-12 18:02:52 +0000 | [diff] [blame] | 256 | $(TOP)/src/msvc.h \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 257 | $(TOP)/src/mutex.c \ |
| 258 | $(TOP)/src/mutex.h \ |
chw | 73ccf01 | 2009-05-06 15:24:04 +0000 | [diff] [blame] | 259 | $(TOP)/src/mutex_noop.c \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 260 | $(TOP)/src/mutex_unix.c \ |
| 261 | $(TOP)/src/mutex_w32.c \ |
chw | 73ccf01 | 2009-05-06 15:24:04 +0000 | [diff] [blame] | 262 | $(TOP)/src/notify.c \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 263 | $(TOP)/src/os.c \ |
| 264 | $(TOP)/src/os.h \ |
| 265 | $(TOP)/src/os_common.h \ |
mistachkin | f74b9e0 | 2013-11-26 01:00:31 +0000 | [diff] [blame] | 266 | $(TOP)/src/os_setup.h \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 267 | $(TOP)/src/os_unix.c \ |
| 268 | $(TOP)/src/os_win.c \ |
mistachkin | 8bc5262 | 2013-11-25 09:36:07 +0000 | [diff] [blame] | 269 | $(TOP)/src/os_win.h \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 270 | $(TOP)/src/pager.c \ |
| 271 | $(TOP)/src/pager.h \ |
| 272 | $(TOP)/src/parse.y \ |
| 273 | $(TOP)/src/pcache.c \ |
| 274 | $(TOP)/src/pcache.h \ |
chw | 73ccf01 | 2009-05-06 15:24:04 +0000 | [diff] [blame] | 275 | $(TOP)/src/pcache1.c \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 276 | $(TOP)/src/pragma.c \ |
| 277 | $(TOP)/src/prepare.c \ |
| 278 | $(TOP)/src/printf.c \ |
| 279 | $(TOP)/src/random.c \ |
| 280 | $(TOP)/src/resolve.c \ |
chw | 6de061a | 2009-04-13 08:14:03 +0000 | [diff] [blame] | 281 | $(TOP)/src/rowset.c \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 282 | $(TOP)/src/select.c \ |
| 283 | $(TOP)/src/status.c \ |
| 284 | $(TOP)/src/shell.c \ |
| 285 | $(TOP)/src/sqlite.h.in \ |
| 286 | $(TOP)/src/sqlite3ext.h \ |
| 287 | $(TOP)/src/sqliteInt.h \ |
| 288 | $(TOP)/src/sqliteLimit.h \ |
| 289 | $(TOP)/src/table.c \ |
| 290 | $(TOP)/src/tclsqlite.c \ |
| 291 | $(TOP)/src/tokenize.c \ |
| 292 | $(TOP)/src/trigger.c \ |
| 293 | $(TOP)/src/utf.c \ |
| 294 | $(TOP)/src/update.c \ |
| 295 | $(TOP)/src/util.c \ |
| 296 | $(TOP)/src/vacuum.c \ |
| 297 | $(TOP)/src/vdbe.c \ |
| 298 | $(TOP)/src/vdbe.h \ |
| 299 | $(TOP)/src/vdbeapi.c \ |
| 300 | $(TOP)/src/vdbeaux.c \ |
| 301 | $(TOP)/src/vdbeblob.c \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 302 | $(TOP)/src/vdbemem.c \ |
| 303 | $(TOP)/src/vdbeInt.h \ |
| 304 | $(TOP)/src/vtab.c \ |
| 305 | $(TOP)/src/walker.c \ |
| 306 | $(TOP)/src/where.c |
| 307 | |
| 308 | # Source code for extensions |
| 309 | # |
| 310 | SRC += \ |
| 311 | $(TOP)/ext/fts1/fts1.c \ |
| 312 | $(TOP)/ext/fts1/fts1.h \ |
| 313 | $(TOP)/ext/fts1/fts1_hash.c \ |
| 314 | $(TOP)/ext/fts1/fts1_hash.h \ |
| 315 | $(TOP)/ext/fts1/fts1_porter.c \ |
| 316 | $(TOP)/ext/fts1/fts1_tokenizer.h \ |
| 317 | $(TOP)/ext/fts1/fts1_tokenizer1.c |
| 318 | SRC += \ |
| 319 | $(TOP)/ext/fts2/fts2.c \ |
| 320 | $(TOP)/ext/fts2/fts2.h \ |
| 321 | $(TOP)/ext/fts2/fts2_hash.c \ |
| 322 | $(TOP)/ext/fts2/fts2_hash.h \ |
| 323 | $(TOP)/ext/fts2/fts2_icu.c \ |
| 324 | $(TOP)/ext/fts2/fts2_porter.c \ |
| 325 | $(TOP)/ext/fts2/fts2_tokenizer.h \ |
| 326 | $(TOP)/ext/fts2/fts2_tokenizer.c \ |
| 327 | $(TOP)/ext/fts2/fts2_tokenizer1.c |
| 328 | SRC += \ |
| 329 | $(TOP)/ext/fts3/fts3.c \ |
| 330 | $(TOP)/ext/fts3/fts3.h \ |
chw | 6de061a | 2009-04-13 08:14:03 +0000 | [diff] [blame] | 331 | $(TOP)/ext/fts3/fts3_expr.c \ |
| 332 | $(TOP)/ext/fts3/fts3_expr.h \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 333 | $(TOP)/ext/fts3/fts3_hash.c \ |
| 334 | $(TOP)/ext/fts3/fts3_hash.h \ |
| 335 | $(TOP)/ext/fts3/fts3_icu.c \ |
| 336 | $(TOP)/ext/fts3/fts3_porter.c \ |
| 337 | $(TOP)/ext/fts3/fts3_tokenizer.h \ |
| 338 | $(TOP)/ext/fts3/fts3_tokenizer.c \ |
| 339 | $(TOP)/ext/fts3/fts3_tokenizer1.c |
| 340 | SRC += \ |
chw | 73ccf01 | 2009-05-06 15:24:04 +0000 | [diff] [blame] | 341 | $(TOP)/ext/icu/sqliteicu.h \ |
| 342 | $(TOP)/ext/icu/icu.c |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 343 | SRC += \ |
| 344 | $(TOP)/ext/rtree/rtree.h \ |
| 345 | $(TOP)/ext/rtree/rtree.c |
| 346 | |
| 347 | |
| 348 | # Generated source code files |
| 349 | # |
| 350 | SRC += \ |
| 351 | keywordhash.h \ |
| 352 | opcodes.c \ |
| 353 | opcodes.h \ |
| 354 | parse.c \ |
| 355 | parse.h \ |
| 356 | sqlite3.h |
| 357 | |
| 358 | |
| 359 | # Source code to the test files. |
| 360 | # |
| 361 | TESTSRC = \ |
| 362 | $(TOP)/src/test1.c \ |
| 363 | $(TOP)/src/test2.c \ |
| 364 | $(TOP)/src/test3.c \ |
| 365 | $(TOP)/src/test4.c \ |
| 366 | $(TOP)/src/test5.c \ |
| 367 | $(TOP)/src/test6.c \ |
| 368 | $(TOP)/src/test7.c \ |
| 369 | $(TOP)/src/test8.c \ |
| 370 | $(TOP)/src/test9.c \ |
| 371 | $(TOP)/src/test_autoext.c \ |
| 372 | $(TOP)/src/test_async.c \ |
chw | 73ccf01 | 2009-05-06 15:24:04 +0000 | [diff] [blame] | 373 | $(TOP)/src/test_backup.c \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 374 | $(TOP)/src/test_btree.c \ |
| 375 | $(TOP)/src/test_config.c \ |
| 376 | $(TOP)/src/test_devsym.c \ |
| 377 | $(TOP)/src/test_func.c \ |
| 378 | $(TOP)/src/test_hexio.c \ |
chw | 73ccf01 | 2009-05-06 15:24:04 +0000 | [diff] [blame] | 379 | $(TOP)/src/test_journal.c \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 380 | $(TOP)/src/test_malloc.c \ |
| 381 | $(TOP)/src/test_md5.c \ |
| 382 | $(TOP)/src/test_mutex.c \ |
| 383 | $(TOP)/src/test_onefile.c \ |
| 384 | $(TOP)/src/test_osinst.c \ |
chw | 73ccf01 | 2009-05-06 15:24:04 +0000 | [diff] [blame] | 385 | $(TOP)/src/test_pcache.c \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 386 | $(TOP)/src/test_schema.c \ |
| 387 | $(TOP)/src/test_server.c \ |
| 388 | $(TOP)/src/test_tclvar.c \ |
| 389 | $(TOP)/src/test_thread.c \ |
shaneh | 84aab39 | 2010-05-06 15:35:59 +0000 | [diff] [blame] | 390 | $(TOP)/src/test_vfs.c \ |
chw | 73ccf01 | 2009-05-06 15:24:04 +0000 | [diff] [blame] | 391 | $(TOP)/src/test_wsd.c \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 392 | |
| 393 | #TESTSRC += $(TOP)/ext/fts2/fts2_tokenizer.c |
| 394 | #TESTSRC += $(TOP)/ext/fts3/fts3_tokenizer.c |
| 395 | |
| 396 | TESTSRC2 = \ |
chw | 73ccf01 | 2009-05-06 15:24:04 +0000 | [diff] [blame] | 397 | $(TOP)/src/attach.c $(TOP)/src/backup.c $(TOP)/src/btree.c \ |
shaneh | dc97a8c | 2010-02-23 20:08:35 +0000 | [diff] [blame] | 398 | $(TOP)/src/build.c $(TOP)/src/ctime.c $(TOP)/src/date.c \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 399 | $(TOP)/src/expr.c $(TOP)/src/func.c $(TOP)/src/insert.c $(TOP)/src/os.c \ |
mistachkin | f1c6bc5 | 2012-06-21 15:09:20 +0000 | [diff] [blame] | 400 | $(TOP)/src/os_unix.c $(TOP)/src/os_win.c \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 401 | $(TOP)/src/pager.c $(TOP)/src/pragma.c $(TOP)/src/prepare.c \ |
| 402 | $(TOP)/src/printf.c $(TOP)/src/random.c $(TOP)/src/pcache.c \ |
chw | 73ccf01 | 2009-05-06 15:24:04 +0000 | [diff] [blame] | 403 | $(TOP)/src/pcache1.c $(TOP)/src/select.c $(TOP)/src/tokenize.c \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 404 | $(TOP)/src/utf.c $(TOP)/src/util.c $(TOP)/src/vdbeapi.c $(TOP)/src/vdbeaux.c \ |
chw | 73ccf01 | 2009-05-06 15:24:04 +0000 | [diff] [blame] | 405 | $(TOP)/src/vdbe.c $(TOP)/src/vdbemem.c $(TOP)/src/where.c parse.c \ |
| 406 | $(TOP)/ext/fts3/fts3.c $(TOP)/ext/fts3/fts3_expr.c \ |
| 407 | $(TOP)/ext/fts3/fts3_tokenizer.c \ |
| 408 | $(TOP)/ext/async/sqlite3async.c |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 409 | |
| 410 | # Header files used by all library source files. |
| 411 | # |
| 412 | HDR = \ |
| 413 | $(TOP)/src/btree.h \ |
| 414 | $(TOP)/src/btreeInt.h \ |
| 415 | $(TOP)/src/hash.h \ |
| 416 | $(TOP)/src/hwtime.h \ |
| 417 | keywordhash.h \ |
mistachkin | 2318d33 | 2015-01-12 18:02:52 +0000 | [diff] [blame] | 418 | $(TOP)/src/msvc.h \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 419 | $(TOP)/src/mutex.h \ |
| 420 | opcodes.h \ |
| 421 | $(TOP)/src/os.h \ |
| 422 | $(TOP)/src/os_common.h \ |
mistachkin | f74b9e0 | 2013-11-26 01:00:31 +0000 | [diff] [blame] | 423 | $(TOP)/src/os_setup.h \ |
mistachkin | 8bc5262 | 2013-11-25 09:36:07 +0000 | [diff] [blame] | 424 | $(TOP)/src/os_win.h \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 425 | $(TOP)/src/pager.h \ |
| 426 | $(TOP)/src/pcache.h \ |
| 427 | parse.h \ |
| 428 | sqlite3.h \ |
| 429 | $(TOP)/src/sqlite3ext.h \ |
| 430 | $(TOP)/src/sqliteInt.h \ |
| 431 | $(TOP)/src/sqliteLimit.h \ |
| 432 | $(TOP)/src/vdbe.h \ |
| 433 | $(TOP)/src/vdbeInt.h |
| 434 | |
| 435 | # Header files used by extensions |
| 436 | # |
| 437 | EXTHDR += \ |
| 438 | $(TOP)/ext/fts1/fts1.h \ |
| 439 | $(TOP)/ext/fts1/fts1_hash.h \ |
| 440 | $(TOP)/ext/fts1/fts1_tokenizer.h |
| 441 | EXTHDR += \ |
| 442 | $(TOP)/ext/fts2/fts2.h \ |
| 443 | $(TOP)/ext/fts2/fts2_hash.h \ |
| 444 | $(TOP)/ext/fts2/fts2_tokenizer.h |
| 445 | EXTHDR += \ |
| 446 | $(TOP)/ext/fts3/fts3.h \ |
chw | 73ccf01 | 2009-05-06 15:24:04 +0000 | [diff] [blame] | 447 | $(TOP)/ext/fts3/fts3_expr.h \ |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 448 | $(TOP)/ext/fts3/fts3_hash.h \ |
| 449 | $(TOP)/ext/fts3/fts3_tokenizer.h |
| 450 | EXTHDR += \ |
| 451 | $(TOP)/ext/rtree/rtree.h |
chw | 73ccf01 | 2009-05-06 15:24:04 +0000 | [diff] [blame] | 452 | EXTHDR += \ |
| 453 | $(TOP)/ext/icu/sqliteicu.h |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 454 | |
| 455 | # This is the default Makefile target. The objects listed here |
| 456 | # are what get build when you type just "make" with no arguments. |
| 457 | # |
| 458 | all: sqlite3.h libsqlite3.a sqlite3$(EXE) |
| 459 | |
| 460 | libsqlite3.a: $(LIBOBJ) |
| 461 | $(AR) libsqlite3.a $(LIBOBJ) |
| 462 | $(RANLIB) libsqlite3.a |
| 463 | |
| 464 | $(SHPREFIX)sqlite3.$(SO): $(LIBOBJ) |
| 465 | $(MKSHLIB) -o $(SHPREFIX)sqlite3.$(SO) $(LIBOBJ) $(TLIBS_SHARED) |
| 466 | |
| 467 | sqlite3$(EXE): $(TOP)/src/shell.c libsqlite3.a sqlite3.h |
| 468 | $(TCCX) $(READLINE_FLAGS) -o sqlite3$(EXE) \ |
| 469 | $(TOP)/src/shell.c \ |
| 470 | $(LIBREADLINE) $(TLIBS) $(THREADLIB) -L. -lsqlite3 |
| 471 | |
| 472 | # This target creates a directory named "tsrc" and fills it with |
| 473 | # copies of all of the C source code and header files needed to |
| 474 | # build on the target system. Some of the C source code and header |
| 475 | # files are automatically generated. This target takes care of |
| 476 | # all that automatic generation. |
| 477 | # |
| 478 | target_source: $(SRC) |
| 479 | rm -rf tsrc |
| 480 | mkdir tsrc |
| 481 | cp -f $(SRC) tsrc |
| 482 | rm tsrc/sqlite.h.in tsrc/parse.y |
| 483 | touch target_source |
| 484 | |
| 485 | sqlite3.c: target_source $(TOP)/tool/mksqlite3c.tcl |
| 486 | tclsh $(TOP)/tool/mksqlite3c.tcl |
| 487 | cp sqlite3.c tclsqlite3.c |
| 488 | cat $(TOP)/src/tclsqlite.c >>tclsqlite3.c |
| 489 | |
| 490 | fts2amal.c: target_source $(TOP)/ext/fts2/mkfts2amal.tcl |
| 491 | tclsh $(TOP)/ext/fts2/mkfts2amal.tcl |
| 492 | |
| 493 | fts3amal.c: target_source $(TOP)/ext/fts3/mkfts3amal.tcl |
| 494 | tclsh $(TOP)/ext/fts3/mkfts3amal.tcl |
| 495 | |
| 496 | # Rules to build the LEMON compiler generator |
| 497 | # |
drh | 53bc21b | 2009-07-03 17:09:28 +0000 | [diff] [blame] | 498 | lemon: $(TOP)/tool/lemon.c $(TOP)/src/lempar.c |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 499 | $(BCC) -o lemon $(TOP)/tool/lemon.c |
drh | 53bc21b | 2009-07-03 17:09:28 +0000 | [diff] [blame] | 500 | cp $(TOP)/src/lempar.c . |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 501 | |
| 502 | # Rules to build individual *.o files from generated *.c files. This |
| 503 | # applies to: |
| 504 | # |
| 505 | # parse.o |
| 506 | # opcodes.o |
| 507 | # |
| 508 | %.o: %.c $(HDR) |
| 509 | $(TCCX_SHARED) -c $< |
| 510 | |
| 511 | # Rules to build individual *.o files from files in the src directory. |
| 512 | # |
| 513 | %.o: $(TOP)/src/%.c $(HDR) |
| 514 | $(TCCX_SHARED) -c $< |
| 515 | |
| 516 | tclsqlite.o: $(TOP)/src/tclsqlite.c $(HDR) |
| 517 | $(TCCX_SHARED) $(TCL_FLAGS) -c $(TOP)/src/tclsqlite.c |
| 518 | |
| 519 | |
| 520 | |
| 521 | # Rules to build opcodes.c and opcodes.h |
| 522 | # |
| 523 | opcodes.c: opcodes.h $(TOP)/mkopcodec.awk |
drh | 307ff30 | 2011-08-30 01:29:04 +0000 | [diff] [blame] | 524 | $(NAWK) -f $(TOP)/mkopcodec.awk opcodes.h >opcodes.c |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 525 | |
| 526 | opcodes.h: parse.h $(TOP)/src/vdbe.c $(TOP)/mkopcodeh.awk |
| 527 | cat parse.h $(TOP)/src/vdbe.c | \ |
| 528 | $(NAWK) -f $(TOP)/mkopcodeh.awk >opcodes.h |
| 529 | |
| 530 | # Rules to build parse.c and parse.h - the outputs of lemon. |
| 531 | # |
| 532 | parse.h: parse.c |
| 533 | |
| 534 | parse.c: $(TOP)/src/parse.y lemon $(TOP)/addopcodes.awk |
| 535 | cp $(TOP)/src/parse.y . |
| 536 | rm -f parse.h |
| 537 | ./lemon $(OPTS) parse.y |
| 538 | mv parse.h parse.h.temp |
| 539 | awk -f $(TOP)/addopcodes.awk parse.h.temp >parse.h |
| 540 | |
| 541 | sqlite3.h: $(TOP)/src/sqlite.h.in |
| 542 | sed -e s/--VERS--/`cat ${TOP}/VERSION`/ \ |
| 543 | -e s/--VERSION-NUMBER--/`cat ${TOP}/VERSION | sed 's/[^0-9]/ /g' | $(NAWK) '{printf "%d%03d%03d",$$1,$$2,$$3}'`/ \ |
| 544 | $(TOP)/src/sqlite.h.in >sqlite3.h |
| 545 | |
| 546 | keywordhash.h: $(TOP)/tool/mkkeywordhash.c |
| 547 | $(BCC) -o mkkeywordhash $(OPTS) $(TOP)/tool/mkkeywordhash.c |
| 548 | ./mkkeywordhash >keywordhash.h |
| 549 | |
| 550 | |
| 551 | |
| 552 | # Rules to build the extension objects. |
| 553 | # |
| 554 | icu.o: $(TOP)/ext/icu/icu.c $(HDR) $(EXTHDR) |
| 555 | $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/icu/icu.c |
| 556 | |
| 557 | fts2.o: $(TOP)/ext/fts2/fts2.c $(HDR) $(EXTHDR) |
| 558 | $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2.c |
| 559 | |
| 560 | fts2_hash.o: $(TOP)/ext/fts2/fts2_hash.c $(HDR) $(EXTHDR) |
| 561 | $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_hash.c |
| 562 | |
| 563 | fts2_icu.o: $(TOP)/ext/fts2/fts2_icu.c $(HDR) $(EXTHDR) |
| 564 | $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_icu.c |
| 565 | |
| 566 | fts2_porter.o: $(TOP)/ext/fts2/fts2_porter.c $(HDR) $(EXTHDR) |
| 567 | $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_porter.c |
| 568 | |
| 569 | fts2_tokenizer.o: $(TOP)/ext/fts2/fts2_tokenizer.c $(HDR) $(EXTHDR) |
| 570 | $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_tokenizer.c |
| 571 | |
| 572 | fts2_tokenizer1.o: $(TOP)/ext/fts2/fts2_tokenizer1.c $(HDR) $(EXTHDR) |
| 573 | $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_tokenizer1.c |
| 574 | |
| 575 | fts3.o: $(TOP)/ext/fts3/fts3.c $(HDR) $(EXTHDR) |
| 576 | $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3.c |
| 577 | |
chw | 73ccf01 | 2009-05-06 15:24:04 +0000 | [diff] [blame] | 578 | fts3_expr.o: $(TOP)/ext/fts3/fts3_expr.c $(HDR) $(EXTHDR) |
| 579 | $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_expr.c |
| 580 | |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 581 | fts3_hash.o: $(TOP)/ext/fts3/fts3_hash.c $(HDR) $(EXTHDR) |
| 582 | $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_hash.c |
| 583 | |
| 584 | fts3_icu.o: $(TOP)/ext/fts3/fts3_icu.c $(HDR) $(EXTHDR) |
| 585 | $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_icu.c |
| 586 | |
| 587 | fts3_porter.o: $(TOP)/ext/fts3/fts3_porter.c $(HDR) $(EXTHDR) |
| 588 | $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_porter.c |
| 589 | |
| 590 | fts3_tokenizer.o: $(TOP)/ext/fts3/fts3_tokenizer.c $(HDR) $(EXTHDR) |
| 591 | $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_tokenizer.c |
| 592 | |
| 593 | fts3_tokenizer1.o: $(TOP)/ext/fts3/fts3_tokenizer1.c $(HDR) $(EXTHDR) |
| 594 | $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_tokenizer1.c |
| 595 | |
| 596 | rtree.o: $(TOP)/ext/rtree/rtree.c $(HDR) $(EXTHDR) |
| 597 | $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/rtree/rtree.c |
| 598 | |
| 599 | |
| 600 | # Rules for building test programs and for running tests |
| 601 | # |
| 602 | tclsqlite3: $(TOP)/src/tclsqlite.c libsqlite3.a |
| 603 | $(TCCX_SHARED) $(TCL_FLAGS) -DTCLSH=1 -o tclsqlite3 \ |
| 604 | $(TOP)/src/tclsqlite.c libsqlite3.a $(LIBTCL) $(THREADLIB) |
| 605 | |
| 606 | |
| 607 | # Rules to build the 'testfixture' application. |
| 608 | # |
| 609 | TESTFIXTURE_FLAGS = -DTCLSH=1 -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1 |
| 610 | TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE |
| 611 | |
| 612 | testfixture$(EXE): $(TESTSRC2) libsqlite3.a $(TESTSRC) $(TOP)/src/tclsqlite.c |
| 613 | $(TCCX) $(TCL_FLAGS) $(TESTFIXTURE_FLAGS) \ |
| 614 | $(TESTSRC) $(TESTSRC2) $(TOP)/src/tclsqlite.c \ |
| 615 | -o testfixture$(EXE) $(LIBTCL) $(THREADLIB) libsqlite3.a |
| 616 | |
| 617 | amalgamation-testfixture$(EXE): sqlite3.c $(TESTSRC) $(TOP)/src/tclsqlite.c |
| 618 | $(TCCX) $(TCL_FLAGS) $(TESTFIXTURE_FLAGS) \ |
| 619 | $(TESTSRC) $(TOP)/src/tclsqlite.c sqlite3.c \ |
| 620 | -o testfixture$(EXE) $(LIBTCL) $(THREADLIB) |
| 621 | |
| 622 | fts3-testfixture$(EXE): sqlite3.c fts3amal.c $(TESTSRC) $(TOP)/src/tclsqlite.c |
| 623 | $(TCCX) $(TCL_FLAGS) $(TESTFIXTURE_FLAGS) \ |
| 624 | -DSQLITE_ENABLE_FTS3=1 \ |
| 625 | $(TESTSRC) $(TOP)/src/tclsqlite.c sqlite3.c fts3amal.c \ |
| 626 | -o testfixture$(EXE) $(LIBTCL) $(THREADLIB) |
| 627 | |
| 628 | fulltest: testfixture$(EXE) sqlite3$(EXE) |
| 629 | ./testfixture$(EXE) $(TOP)/test/all.test |
| 630 | |
| 631 | soaktest: testfixture$(EXE) sqlite3$(EXE) |
dan | 0626dfc | 2010-06-15 06:56:37 +0000 | [diff] [blame] | 632 | ./testfixture$(EXE) $(TOP)/test/all.test -soak=1 |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 633 | |
mistachkin | c60941f | 2012-09-13 01:51:02 +0000 | [diff] [blame] | 634 | fulltestonly: testfixture$(EXE) sqlite3$(EXE) |
| 635 | ./testfixture$(EXE) $(TOP)/test/full.test |
| 636 | |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 637 | test: testfixture$(EXE) sqlite3$(EXE) |
| 638 | ./testfixture$(EXE) $(TOP)/test/veryquick.test |
| 639 | |
| 640 | sqlite3_analyzer$(EXE): $(TOP)/src/tclsqlite.c sqlite3.c $(TESTSRC) \ |
| 641 | $(TOP)/tool/spaceanal.tcl |
| 642 | sed \ |
| 643 | -e '/^#/d' \ |
| 644 | -e 's,\\,\\\\,g' \ |
| 645 | -e 's,",\\",g' \ |
| 646 | -e 's,^,",' \ |
| 647 | -e 's,$$,\\n",' \ |
| 648 | $(TOP)/tool/spaceanal.tcl >spaceanal_tcl.h |
| 649 | $(TCCX) $(TCL_FLAGS) $(TESTFIXTURE_FLAGS) \ |
| 650 | -DTCLSH=2 -DSQLITE_TEST=1 -DSQLITE_DEBUG=1 -DSQLITE_PRIVATE="" \ |
| 651 | $(TESTSRC) $(TOP)/src/tclsqlite.c sqlite3.c \ |
| 652 | -o sqlite3_analyzer$(EXE) \ |
| 653 | $(LIBTCL) $(THREADLIB) |
| 654 | |
| 655 | TEST_EXTENSION = $(SHPREFIX)testloadext.$(SO) |
| 656 | $(TEST_EXTENSION): $(TOP)/src/test_loadext.c |
| 657 | $(MKSHLIB) $(TOP)/src/test_loadext.c -o $(TEST_EXTENSION) |
| 658 | |
| 659 | extensiontest: testfixture$(EXE) $(TEST_EXTENSION) |
| 660 | ./testfixture$(EXE) $(TOP)/test/loadext.test |
| 661 | |
| 662 | clean: |
| 663 | rm -f *.o sqlite3$(EXE) libsqlite3.a sqlite3.h opcodes.* |
| 664 | rm -f lemon lempar.c parse.* sqlite*.tar.gz mkkeywordhash keywordhash.h |
| 665 | rm -f $(PUBLISH) |
| 666 | rm -f *.da *.bb *.bbg gmon.out |
mistachkin | f8a7846 | 2012-03-08 20:00:36 +0000 | [diff] [blame] | 667 | rm -rf quota2a quota2b quota2c |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 668 | rm -rf tsrc target_source |
| 669 | rm -f testloadext.dll libtestloadext.so |
| 670 | rm -f sqlite3.c fts?amal.c tclsqlite3.c |
mistachkin | fde3b1c7 | 2013-03-29 19:52:04 +0000 | [diff] [blame] | 671 | rm -f sqlite3rc.h |
| 672 | rm -f shell.c sqlite3ext.h |
chw | 9718548 | 2008-11-17 08:05:31 +0000 | [diff] [blame] | 673 | rm -f $(SHPREFIX)sqlite3.$(SO) |