Annotation of embedaddon/sqlite3/Makefile.msc, revision 1.1
1.1 ! misho 1: #
! 2: # nmake Makefile for SQLite
! 3: #
! 4:
! 5: # The toplevel directory of the source tree. This is the directory
! 6: # that contains this "Makefile.msc".
! 7: #
! 8: TOP = .
! 9:
! 10: # Set this non-0 to create and use the SQLite amalgamation file.
! 11: #
! 12: USE_AMALGAMATION = 1
! 13:
! 14: # Set this non-0 to use the International Components for Unicode (ICU).
! 15: #
! 16: USE_ICU = 0
! 17:
! 18: # Set this to non-0 to create and use PDBs.
! 19: #
! 20: SYMBOLS = 1
! 21:
! 22: # Set this to one of the following values to enable various debugging
! 23: # features. Each level includes the debugging options from the previous
! 24: # levels. Currently, the recognized values for DEBUG are:
! 25: #
! 26: # 0 == NDEBUG: Disables assert() and other runtime diagnostics.
! 27: # 1 == Disables NDEBUG and all optimizations and then enables PDBs.
! 28: # 2 == SQLITE_DEBUG: Enables various diagnostics messages and code.
! 29: # 3 == SQLITE_WIN32_MALLOC_VALIDATE: Validate the Win32 native heap per call.
! 30: # 4 == SQLITE_DEBUG_OS_TRACE: Enables output from the OSTRACE() macros.
! 31: # 5 == SQLITE_ENABLE_IOTRACE: Enables output from the IOTRACE() macros.
! 32: #
! 33: DEBUG = 0
! 34:
! 35: # Version numbers and release number for the SQLite being compiled.
! 36: #
! 37: VERSION = 3.7
! 38: VERSION_NUMBER = 3007009
! 39: RELEASE = 3.7.9
! 40:
! 41: # C Compiler and options for use in building executables that
! 42: # will run on the platform that is doing the build.
! 43: #
! 44: BCC = cl.exe
! 45:
! 46: # C Compile and options for use in building executables that
! 47: # will run on the target platform. (BCC and TCC are usually the
! 48: # same unless your are cross-compiling.)
! 49: #
! 50: TCC = cl.exe -W3 -DSQLITE_OS_WIN=1 -I. -I$(TOP)\src -fp:precise
! 51:
! 52: # The mksqlite3c.tcl and mksqlite3h.tcl scripts will pull in
! 53: # any extension header files by default. For non-amalgamation
! 54: # builds, we need to make sure the compiler can find these.
! 55: #
! 56: !IF $(USE_AMALGAMATION)==0
! 57: TCC = $(TCC) -I$(TOP)\ext\fts3
! 58: TCC = $(TCC) -I$(TOP)\ext\rtree
! 59: !ENDIF
! 60:
! 61: # Define -DNDEBUG to compile without debugging (i.e., for production usage)
! 62: # Omitting the define will cause extra debugging code to be inserted and
! 63: # includes extra comments when "EXPLAIN stmt" is used.
! 64: #
! 65: !IF $(DEBUG)==0
! 66: TCC = $(TCC) -DNDEBUG
! 67: !ENDIF
! 68:
! 69: !IF $(DEBUG)>1
! 70: TCC = $(TCC) -DSQLITE_DEBUG
! 71: !ENDIF
! 72:
! 73: !IF $(DEBUG)>3
! 74: TCC = $(TCC) -DSQLITE_DEBUG_OS_TRACE=1
! 75: !ENDIF
! 76:
! 77: !IF $(DEBUG)>4
! 78: TCC = $(TCC) -DSQLITE_ENABLE_IOTRACE
! 79: !ENDIF
! 80:
! 81: #
! 82: # Prevent warnings about "insecure" runtime library functions being used.
! 83: #
! 84: TCC = $(TCC) -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS
! 85:
! 86: #
! 87: # Use native Win32 heap instead of malloc/free?
! 88: #
! 89: # TCC = $(TCC) -DSQLITE_WIN32_MALLOC=1
! 90:
! 91: #
! 92: # Validate the heap on every call into the native Win32 heap subsystem?
! 93: #
! 94: !IF $(DEBUG)>2
! 95: TCC = $(TCC) -DSQLITE_WIN32_MALLOC_VALIDATE=1
! 96: !ENDIF
! 97:
! 98: # The locations of the Tcl header and library files. Also, the library that
! 99: # non-stubs enabled programs using Tcl must link against. These variables
! 100: # (TCLINCDIR, TCLLIBDIR, and LIBTCL) may be overridden via the environment
! 101: # prior to running nmake in order to match the actual installed location and
! 102: # version on this machine.
! 103: #
! 104: !if "$(TCLINCDIR)" == ""
! 105: TCLINCDIR = c:\tcl\include
! 106: !endif
! 107:
! 108: !if "$(TCLLIBDIR)" == ""
! 109: TCLLIBDIR = c:\tcl\lib
! 110: !endif
! 111:
! 112: !if "$(LIBTCL)" == ""
! 113: LIBTCL = tcl85.lib
! 114: !endif
! 115:
! 116: # The locations of the ICU header and library files. These variables
! 117: # (ICUINCDIR, ICULIBDIR, and LIBICU) may be overridden via the environment
! 118: # prior to running nmake in order to match the actual installed location on
! 119: # this machine.
! 120: #
! 121: !if "$(ICUINCDIR)" == ""
! 122: ICUINCDIR = c:\icu\include
! 123: !endif
! 124:
! 125: !if "$(ICULIBDIR)" == ""
! 126: ICULIBDIR = c:\icu\lib
! 127: !endif
! 128:
! 129: !if "$(LIBICU)" == ""
! 130: LIBICU = icuuc.lib icuin.lib
! 131: !endif
! 132:
! 133: # This is the command to use for tclsh - normally just "tclsh", but we may
! 134: # know the specific version we want to use. This variable (TCLSH_CMD) may be
! 135: # overridden via the environment prior to running nmake in order to select a
! 136: # specific Tcl shell to use.
! 137: #
! 138: !if "$(TCLSH_CMD)" == ""
! 139: TCLSH_CMD = tclsh85
! 140: !endif
! 141:
! 142: # Compiler options needed for programs that use the readline() library.
! 143: #
! 144: READLINE_FLAGS = -DHAVE_READLINE=0
! 145:
! 146: # The library that programs using readline() must link against.
! 147: #
! 148: LIBREADLINE =
! 149:
! 150: # Should the database engine be compiled threadsafe
! 151: #
! 152: TCC = $(TCC) -DSQLITE_THREADSAFE=1
! 153:
! 154: # Do threads override each others locks by default (1), or do we test (-1)
! 155: #
! 156: TCC = $(TCC) -DSQLITE_THREAD_OVERRIDE_LOCK=-1
! 157:
! 158: # Any target libraries which libsqlite must be linked against
! 159: #
! 160: !if "$(TLIBS)" == ""
! 161: TLIBS =
! 162: !endif
! 163:
! 164: # Flags controlling use of the in memory btree implementation
! 165: #
! 166: # SQLITE_TEMP_STORE is 0 to force temporary tables to be in a file, 1 to
! 167: # default to file, 2 to default to memory, and 3 to force temporary
! 168: # tables to always be in memory.
! 169: #
! 170: TCC = $(TCC) -DSQLITE_TEMP_STORE=1
! 171:
! 172: # Enable/disable loadable extensions, and other optional features
! 173: # based on configuration. (-DSQLITE_OMIT*, -DSQLITE_ENABLE*).
! 174: # The same set of OMIT and ENABLE flags should be passed to the
! 175: # LEMON parser generator and the mkkeywordhash tool as well.
! 176:
! 177: # BEGIN standard options
! 178: OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_FTS3=1
! 179: OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_RTREE=1
! 180: OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_COLUMN_METADATA=1
! 181: # END standard options
! 182:
! 183: # BEGIN required Windows option
! 184: OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_MAX_TRIGGER_DEPTH=100
! 185: # END required Windows option
! 186:
! 187: TCC = $(TCC) $(OPT_FEATURE_FLAGS)
! 188:
! 189: # Add in any optional parameters specified on the make commane line
! 190: # ie. make "OPTS=-DSQLITE_ENABLE_FOO=1 -DSQLITE_OMIT_FOO=1".
! 191: TCC = $(TCC) $(OPTS)
! 192:
! 193: # If symbols are enabled, enable PDBs.
! 194: # If debugging is enabled, disable all optimizations and enable PDBs.
! 195: !IF $(DEBUG)>0
! 196: TCC = $(TCC) -Od -D_DEBUG
! 197: !ELSE
! 198: TCC = $(TCC) -O2
! 199: !ENDIF
! 200:
! 201: !IF $(DEBUG)>0 || $(SYMBOLS)!=0
! 202: TCC = $(TCC) -Zi
! 203: !ENDIF
! 204:
! 205: # If ICU support is enabled, add the compiler options for it.
! 206: !IF $(USE_ICU)!=0
! 207: TCC = $(TCC) -DSQLITE_ENABLE_ICU=1
! 208: TCC = $(TCC) -I$(TOP)\ext\icu
! 209: TCC = $(TCC) -I$(ICUINCDIR)
! 210: !ENDIF
! 211:
! 212: # libtool compile/link
! 213: LTCOMPILE = $(TCC) -Fo$@
! 214: LTLIB = lib.exe
! 215: LTLINK = $(TCC) -Fe$@
! 216:
! 217: # If a platform was set, force the linker to target that.
! 218: # Note that the vcvars*.bat family of batch files typically
! 219: # set this for you. Otherwise, the linker will attempt
! 220: # to deduce the binary type based on the object files.
! 221: !IF "$(PLATFORM)"!=""
! 222: LTLINKOPTS = /MACHINE:$(PLATFORM)
! 223: LTLIBOPTS = /MACHINE:$(PLATFORM)
! 224: !ENDIF
! 225:
! 226: # If debugging is enabled, enable PDBs.
! 227: !IF $(DEBUG)>0 || $(SYMBOLS)!=0
! 228: LTLINKOPTS = $(LTLINKOPTS) /DEBUG
! 229: !ENDIF
! 230:
! 231: # Start with the Tcl related linker options.
! 232: LTLIBPATHS = /LIBPATH:$(TCLLIBDIR)
! 233: LTLIBS = $(LIBTCL)
! 234:
! 235: # If ICU support is enabled, add the linker options for it.
! 236: !IF $(USE_ICU)!=0
! 237: LTLIBPATHS = $(LTLIBPATHS) /LIBPATH:$(ICULIBDIR)
! 238: LTLIBS = $(LTLIBS) $(LIBICU)
! 239: !ENDIF
! 240:
! 241: # nawk compatible awk.
! 242: NAWK = gawk.exe
! 243:
! 244: # You should not have to change anything below this line
! 245: ###############################################################################
! 246:
! 247: # Object files for the SQLite library (non-amalgamation).
! 248: #
! 249: LIBOBJS0 = alter.lo analyze.lo attach.lo auth.lo \
! 250: backup.lo bitvec.lo btmutex.lo btree.lo build.lo \
! 251: callback.lo complete.lo ctime.lo date.lo delete.lo \
! 252: expr.lo fault.lo fkey.lo \
! 253: fts3.lo fts3_aux.lo fts3_expr.lo fts3_hash.lo fts3_icu.lo fts3_porter.lo \
! 254: fts3_snippet.lo fts3_tokenizer.lo fts3_tokenizer1.lo fts3_write.lo \
! 255: func.lo global.lo hash.lo \
! 256: icu.lo insert.lo journal.lo legacy.lo loadext.lo \
! 257: main.lo malloc.lo mem0.lo mem1.lo mem2.lo mem3.lo mem5.lo \
! 258: memjournal.lo \
! 259: mutex.lo mutex_noop.lo mutex_os2.lo mutex_unix.lo mutex_w32.lo \
! 260: notify.lo opcodes.lo os.lo os_os2.lo os_unix.lo os_win.lo \
! 261: pager.lo parse.lo pcache.lo pcache1.lo pragma.lo prepare.lo printf.lo \
! 262: random.lo resolve.lo rowset.lo rtree.lo select.lo status.lo \
! 263: table.lo tokenize.lo trigger.lo \
! 264: update.lo util.lo vacuum.lo \
! 265: vdbe.lo vdbeapi.lo vdbeaux.lo vdbeblob.lo vdbemem.lo vdbesort.lo \
! 266: vdbetrace.lo wal.lo walker.lo where.lo utf.lo vtab.lo
! 267:
! 268: # Object files for the amalgamation.
! 269: #
! 270: LIBOBJS1 = sqlite3.lo
! 271:
! 272: # Determine the real value of LIBOBJ based on the 'configure' script
! 273: #
! 274: !IF $(USE_AMALGAMATION)==0
! 275: LIBOBJ = $(LIBOBJS0)
! 276: !ELSE
! 277: LIBOBJ = $(LIBOBJS1)
! 278: !ENDIF
! 279:
! 280: # All of the source code files.
! 281: #
! 282: SRC = \
! 283: $(TOP)\src\alter.c \
! 284: $(TOP)\src\analyze.c \
! 285: $(TOP)\src\attach.c \
! 286: $(TOP)\src\auth.c \
! 287: $(TOP)\src\backup.c \
! 288: $(TOP)\src\bitvec.c \
! 289: $(TOP)\src\btmutex.c \
! 290: $(TOP)\src\btree.c \
! 291: $(TOP)\src\btree.h \
! 292: $(TOP)\src\btreeInt.h \
! 293: $(TOP)\src\build.c \
! 294: $(TOP)\src\callback.c \
! 295: $(TOP)\src\complete.c \
! 296: $(TOP)\src\ctime.c \
! 297: $(TOP)\src\date.c \
! 298: $(TOP)\src\delete.c \
! 299: $(TOP)\src\expr.c \
! 300: $(TOP)\src\fault.c \
! 301: $(TOP)\src\fkey.c \
! 302: $(TOP)\src\func.c \
! 303: $(TOP)\src\global.c \
! 304: $(TOP)\src\hash.c \
! 305: $(TOP)\src\hash.h \
! 306: $(TOP)\src\hwtime.h \
! 307: $(TOP)\src\insert.c \
! 308: $(TOP)\src\journal.c \
! 309: $(TOP)\src\legacy.c \
! 310: $(TOP)\src\loadext.c \
! 311: $(TOP)\src\main.c \
! 312: $(TOP)\src\malloc.c \
! 313: $(TOP)\src\mem0.c \
! 314: $(TOP)\src\mem1.c \
! 315: $(TOP)\src\mem2.c \
! 316: $(TOP)\src\mem3.c \
! 317: $(TOP)\src\mem5.c \
! 318: $(TOP)\src\memjournal.c \
! 319: $(TOP)\src\mutex.c \
! 320: $(TOP)\src\mutex.h \
! 321: $(TOP)\src\mutex_noop.c \
! 322: $(TOP)\src\mutex_os2.c \
! 323: $(TOP)\src\mutex_unix.c \
! 324: $(TOP)\src\mutex_w32.c \
! 325: $(TOP)\src\notify.c \
! 326: $(TOP)\src\os.c \
! 327: $(TOP)\src\os.h \
! 328: $(TOP)\src\os_common.h \
! 329: $(TOP)\src\os_os2.c \
! 330: $(TOP)\src\os_unix.c \
! 331: $(TOP)\src\os_win.c \
! 332: $(TOP)\src\pager.c \
! 333: $(TOP)\src\pager.h \
! 334: $(TOP)\src\parse.y \
! 335: $(TOP)\src\pcache.c \
! 336: $(TOP)\src\pcache.h \
! 337: $(TOP)\src\pcache1.c \
! 338: $(TOP)\src\pragma.c \
! 339: $(TOP)\src\prepare.c \
! 340: $(TOP)\src\printf.c \
! 341: $(TOP)\src\random.c \
! 342: $(TOP)\src\resolve.c \
! 343: $(TOP)\src\rowset.c \
! 344: $(TOP)\src\select.c \
! 345: $(TOP)\src\status.c \
! 346: $(TOP)\src\shell.c \
! 347: $(TOP)\src\sqlite.h.in \
! 348: $(TOP)\src\sqlite3ext.h \
! 349: $(TOP)\src\sqliteInt.h \
! 350: $(TOP)\src\sqliteLimit.h \
! 351: $(TOP)\src\table.c \
! 352: $(TOP)\src\tclsqlite.c \
! 353: $(TOP)\src\tokenize.c \
! 354: $(TOP)\src\trigger.c \
! 355: $(TOP)\src\utf.c \
! 356: $(TOP)\src\update.c \
! 357: $(TOP)\src\util.c \
! 358: $(TOP)\src\vacuum.c \
! 359: $(TOP)\src\vdbe.c \
! 360: $(TOP)\src\vdbe.h \
! 361: $(TOP)\src\vdbeapi.c \
! 362: $(TOP)\src\vdbeaux.c \
! 363: $(TOP)\src\vdbeblob.c \
! 364: $(TOP)\src\vdbemem.c \
! 365: $(TOP)\src\vdbesort.c \
! 366: $(TOP)\src\vdbetrace.c \
! 367: $(TOP)\src\vdbeInt.h \
! 368: $(TOP)\src\vtab.c \
! 369: $(TOP)\src\wal.c \
! 370: $(TOP)\src\wal.h \
! 371: $(TOP)\src\walker.c \
! 372: $(TOP)\src\where.c
! 373:
! 374: # Source code for extensions
! 375: #
! 376: SRC = $(SRC) \
! 377: $(TOP)\ext\fts1\fts1.c \
! 378: $(TOP)\ext\fts1\fts1.h \
! 379: $(TOP)\ext\fts1\fts1_hash.c \
! 380: $(TOP)\ext\fts1\fts1_hash.h \
! 381: $(TOP)\ext\fts1\fts1_porter.c \
! 382: $(TOP)\ext\fts1\fts1_tokenizer.h \
! 383: $(TOP)\ext\fts1\fts1_tokenizer1.c
! 384: SRC = $(SRC) \
! 385: $(TOP)\ext\fts2\fts2.c \
! 386: $(TOP)\ext\fts2\fts2.h \
! 387: $(TOP)\ext\fts2\fts2_hash.c \
! 388: $(TOP)\ext\fts2\fts2_hash.h \
! 389: $(TOP)\ext\fts2\fts2_icu.c \
! 390: $(TOP)\ext\fts2\fts2_porter.c \
! 391: $(TOP)\ext\fts2\fts2_tokenizer.h \
! 392: $(TOP)\ext\fts2\fts2_tokenizer.c \
! 393: $(TOP)\ext\fts2\fts2_tokenizer1.c
! 394: SRC = $(SRC) \
! 395: $(TOP)\ext\fts3\fts3.c \
! 396: $(TOP)\ext\fts3\fts3.h \
! 397: $(TOP)\ext\fts3\fts3Int.h \
! 398: $(TOP)\ext\fts3\fts3_aux.c \
! 399: $(TOP)\ext\fts3\fts3_expr.c \
! 400: $(TOP)\ext\fts3\fts3_hash.c \
! 401: $(TOP)\ext\fts3\fts3_hash.h \
! 402: $(TOP)\ext\fts3\fts3_icu.c \
! 403: $(TOP)\ext\fts3\fts3_porter.c \
! 404: $(TOP)\ext\fts3\fts3_snippet.c \
! 405: $(TOP)\ext\fts3\fts3_tokenizer.h \
! 406: $(TOP)\ext\fts3\fts3_tokenizer.c \
! 407: $(TOP)\ext\fts3\fts3_tokenizer1.c \
! 408: $(TOP)\ext\fts3\fts3_write.c
! 409: SRC = $(SRC) \
! 410: $(TOP)\ext\icu\sqliteicu.h \
! 411: $(TOP)\ext\icu\icu.c
! 412: SRC = $(SRC) \
! 413: $(TOP)\ext\rtree\rtree.h \
! 414: $(TOP)\ext\rtree\rtree.c
! 415:
! 416:
! 417: # Generated source code files
! 418: #
! 419: SRC = $(SRC) \
! 420: keywordhash.h \
! 421: opcodes.c \
! 422: opcodes.h \
! 423: parse.c \
! 424: parse.h \
! 425: sqlite3.h
! 426:
! 427: # Source code to the test files.
! 428: #
! 429: TESTSRC = \
! 430: $(TOP)\src\test1.c \
! 431: $(TOP)\src\test2.c \
! 432: $(TOP)\src\test3.c \
! 433: $(TOP)\src\test4.c \
! 434: $(TOP)\src\test5.c \
! 435: $(TOP)\src\test6.c \
! 436: $(TOP)\src\test7.c \
! 437: $(TOP)\src\test8.c \
! 438: $(TOP)\src\test9.c \
! 439: $(TOP)\src\test_autoext.c \
! 440: $(TOP)\src\test_async.c \
! 441: $(TOP)\src\test_backup.c \
! 442: $(TOP)\src\test_btree.c \
! 443: $(TOP)\src\test_config.c \
! 444: $(TOP)\src\test_demovfs.c \
! 445: $(TOP)\src\test_devsym.c \
! 446: $(TOP)\src\test_func.c \
! 447: $(TOP)\src\test_fuzzer.c \
! 448: $(TOP)\src\test_hexio.c \
! 449: $(TOP)\src\test_init.c \
! 450: $(TOP)\src\test_intarray.c \
! 451: $(TOP)\src\test_journal.c \
! 452: $(TOP)\src\test_malloc.c \
! 453: $(TOP)\src\test_multiplex.c \
! 454: $(TOP)\src\test_mutex.c \
! 455: $(TOP)\src\test_onefile.c \
! 456: $(TOP)\src\test_osinst.c \
! 457: $(TOP)\src\test_pcache.c \
! 458: $(TOP)\src\test_quota.c \
! 459: $(TOP)\src\test_rtree.c \
! 460: $(TOP)\src\test_schema.c \
! 461: $(TOP)\src\test_server.c \
! 462: $(TOP)\src\test_superlock.c \
! 463: $(TOP)\src\test_syscall.c \
! 464: $(TOP)\src\test_stat.c \
! 465: $(TOP)\src\test_tclvar.c \
! 466: $(TOP)\src\test_thread.c \
! 467: $(TOP)\src\test_vfs.c \
! 468: $(TOP)\src\test_wholenumber.c \
! 469: $(TOP)\src\test_wsd.c \
! 470: $(TOP)\ext\fts3\fts3_term.c \
! 471: $(TOP)\ext\fts3\fts3_test.c
! 472:
! 473: # Source code to the library files needed by the test fixture
! 474: #
! 475: TESTSRC2 = \
! 476: $(TOP)\src\attach.c \
! 477: $(TOP)\src\backup.c \
! 478: $(TOP)\src\bitvec.c \
! 479: $(TOP)\src\btree.c \
! 480: $(TOP)\src\build.c \
! 481: $(TOP)\src\ctime.c \
! 482: $(TOP)\src\date.c \
! 483: $(TOP)\src\expr.c \
! 484: $(TOP)\src\func.c \
! 485: $(TOP)\src\insert.c \
! 486: $(TOP)\src\wal.c \
! 487: $(TOP)\src\mem5.c \
! 488: $(TOP)\src\os.c \
! 489: $(TOP)\src\os_os2.c \
! 490: $(TOP)\src\os_unix.c \
! 491: $(TOP)\src\os_win.c \
! 492: $(TOP)\src\pager.c \
! 493: $(TOP)\src\pragma.c \
! 494: $(TOP)\src\prepare.c \
! 495: $(TOP)\src\printf.c \
! 496: $(TOP)\src\random.c \
! 497: $(TOP)\src\pcache.c \
! 498: $(TOP)\src\pcache1.c \
! 499: $(TOP)\src\select.c \
! 500: $(TOP)\src\tokenize.c \
! 501: $(TOP)\src\utf.c \
! 502: $(TOP)\src\util.c \
! 503: $(TOP)\src\vdbeapi.c \
! 504: $(TOP)\src\vdbeaux.c \
! 505: $(TOP)\src\vdbe.c \
! 506: $(TOP)\src\vdbemem.c \
! 507: $(TOP)\src\vdbesort.c \
! 508: $(TOP)\src\vdbetrace.c \
! 509: $(TOP)\src\where.c \
! 510: parse.c \
! 511: $(TOP)\ext\fts3\fts3.c \
! 512: $(TOP)\ext\fts3\fts3_aux.c \
! 513: $(TOP)\ext\fts3\fts3_expr.c \
! 514: $(TOP)\ext\fts3\fts3_tokenizer.c \
! 515: $(TOP)\ext\fts3\fts3_write.c \
! 516: $(TOP)\ext\async\sqlite3async.c
! 517:
! 518: # Header files used by all library source files.
! 519: #
! 520: HDR = \
! 521: $(TOP)\src\btree.h \
! 522: $(TOP)\src\btreeInt.h \
! 523: $(TOP)\src\hash.h \
! 524: $(TOP)\src\hwtime.h \
! 525: keywordhash.h \
! 526: $(TOP)\src\mutex.h \
! 527: opcodes.h \
! 528: $(TOP)\src\os.h \
! 529: $(TOP)\src\os_common.h \
! 530: $(TOP)\src\pager.h \
! 531: $(TOP)\src\pcache.h \
! 532: parse.h \
! 533: sqlite3.h \
! 534: $(TOP)\src\sqlite3ext.h \
! 535: $(TOP)\src\sqliteInt.h \
! 536: $(TOP)\src\sqliteLimit.h \
! 537: $(TOP)\src\vdbe.h \
! 538: $(TOP)\src\vdbeInt.h
! 539:
! 540: # Header files used by extensions
! 541: #
! 542: EXTHDR = $(EXTHDR) \
! 543: $(TOP)\ext\fts1\fts1.h \
! 544: $(TOP)\ext\fts1\fts1_hash.h \
! 545: $(TOP)\ext\fts1\fts1_tokenizer.h
! 546: EXTHDR = $(EXTHDR) \
! 547: $(TOP)\ext\fts2\fts2.h \
! 548: $(TOP)\ext\fts2\fts2_hash.h \
! 549: $(TOP)\ext\fts2\fts2_tokenizer.h
! 550: EXTHDR = $(EXTHDR) \
! 551: $(TOP)\ext\fts3\fts3.h \
! 552: $(TOP)\ext\fts3\fts3Int.h \
! 553: $(TOP)\ext\fts3\fts3_hash.h \
! 554: $(TOP)\ext\fts3\fts3_tokenizer.h
! 555: EXTHDR = $(EXTHDR) \
! 556: $(TOP)\ext\rtree\rtree.h
! 557: EXTHDR = $(EXTHDR) \
! 558: $(TOP)\ext\icu\sqliteicu.h
! 559: EXTHDR = $(EXTHDR) \
! 560: $(TOP)\ext\rtree\sqlite3rtree.h
! 561:
! 562: # This is the default Makefile target. The objects listed here
! 563: # are what get build when you type just "make" with no arguments.
! 564: #
! 565: all: dll libsqlite3.lib sqlite3.exe libtclsqlite3.lib
! 566:
! 567: libsqlite3.lib: $(LIBOBJ)
! 568: $(LTLIB) $(LTLIBOPTS) /OUT:$@ $(LIBOBJ) $(TLIBS)
! 569:
! 570: libtclsqlite3.lib: tclsqlite.lo libsqlite3.lib
! 571: $(LTLIB) $(LTLIBOPTS) $(LTLIBPATHS) /OUT:$@ tclsqlite.lo libsqlite3.lib $(LIBTCL:tcl=tclstub) $(TLIBS)
! 572:
! 573: sqlite3.exe: $(TOP)\src\shell.c libsqlite3.lib sqlite3.h
! 574: $(LTLINK) $(READLINE_FLAGS) \
! 575: $(TOP)\src\shell.c \
! 576: /link $(LTLINKOPTS) $(LTLIBPATHS) libsqlite3.lib $(LIBREADLINE) $(LTLIBS) $(TLIBS)
! 577:
! 578: # This target creates a directory named "tsrc" and fills it with
! 579: # copies of all of the C source code and header files needed to
! 580: # build on the target system. Some of the C source code and header
! 581: # files are automatically generated. This target takes care of
! 582: # all that automatic generation.
! 583: #
! 584: .target_source: $(SRC) $(TOP)\tool\vdbe-compress.tcl
! 585: -rmdir /S/Q tsrc
! 586: -mkdir tsrc
! 587: for %i in ($(SRC)) do copy /Y %i tsrc
! 588: del /Q tsrc\sqlite.h.in tsrc\parse.y
! 589: $(TCLSH_CMD) $(TOP)\tool\vdbe-compress.tcl < tsrc\vdbe.c > vdbe.new
! 590: move vdbe.new tsrc\vdbe.c
! 591: echo > .target_source
! 592:
! 593: sqlite3.c: .target_source $(TOP)\tool\mksqlite3c.tcl
! 594: $(TCLSH_CMD) $(TOP)\tool\mksqlite3c.tcl
! 595:
! 596: sqlite3-all.c: sqlite3.c $(TOP)/tool/split-sqlite3c.tcl
! 597: $(TCLSH_CMD) $(TOP)/tool/split-sqlite3c.tcl
! 598:
! 599: # Rule to build the amalgamation
! 600: #
! 601: sqlite3.lo: sqlite3.c
! 602: $(LTCOMPILE) -c sqlite3.c
! 603:
! 604: # Rules to build the LEMON compiler generator
! 605: #
! 606: lempar.c: $(TOP)\src\lempar.c
! 607: copy $(TOP)\src\lempar.c .
! 608:
! 609: lemon.exe: $(TOP)\tool\lemon.c lempar.c
! 610: $(BCC) -Fe$@ $(TOP)\tool\lemon.c
! 611:
! 612: # Rules to build individual *.lo files from generated *.c files. This
! 613: # applies to:
! 614: #
! 615: # parse.lo
! 616: # opcodes.lo
! 617: #
! 618: parse.lo: parse.c $(HDR)
! 619: $(LTCOMPILE) -c parse.c
! 620:
! 621: opcodes.lo: opcodes.c
! 622: $(LTCOMPILE) -c opcodes.c
! 623:
! 624: # Rules to build individual *.lo files from files in the src directory.
! 625: #
! 626: alter.lo: $(TOP)\src\alter.c $(HDR)
! 627: $(LTCOMPILE) -c $(TOP)\src\alter.c
! 628:
! 629: analyze.lo: $(TOP)\src\analyze.c $(HDR)
! 630: $(LTCOMPILE) -c $(TOP)\src\analyze.c
! 631:
! 632: attach.lo: $(TOP)\src\attach.c $(HDR)
! 633: $(LTCOMPILE) -c $(TOP)\src\attach.c
! 634:
! 635: auth.lo: $(TOP)\src\auth.c $(HDR)
! 636: $(LTCOMPILE) -c $(TOP)\src\auth.c
! 637:
! 638: backup.lo: $(TOP)\src\backup.c $(HDR)
! 639: $(LTCOMPILE) -c $(TOP)\src\backup.c
! 640:
! 641: bitvec.lo: $(TOP)\src\bitvec.c $(HDR)
! 642: $(LTCOMPILE) -c $(TOP)\src\bitvec.c
! 643:
! 644: btmutex.lo: $(TOP)\src\btmutex.c $(HDR)
! 645: $(LTCOMPILE) -c $(TOP)\src\btmutex.c
! 646:
! 647: btree.lo: $(TOP)\src\btree.c $(HDR) $(TOP)\src\pager.h
! 648: $(LTCOMPILE) -c $(TOP)\src\btree.c
! 649:
! 650: build.lo: $(TOP)\src\build.c $(HDR)
! 651: $(LTCOMPILE) -c $(TOP)\src\build.c
! 652:
! 653: callback.lo: $(TOP)\src\callback.c $(HDR)
! 654: $(LTCOMPILE) -c $(TOP)\src\callback.c
! 655:
! 656: complete.lo: $(TOP)\src\complete.c $(HDR)
! 657: $(LTCOMPILE) -c $(TOP)\src\complete.c
! 658:
! 659: ctime.lo: $(TOP)\src\ctime.c $(HDR)
! 660: $(LTCOMPILE) -c $(TOP)\src\ctime.c
! 661:
! 662: date.lo: $(TOP)\src\date.c $(HDR)
! 663: $(LTCOMPILE) -c $(TOP)\src\date.c
! 664:
! 665: delete.lo: $(TOP)\src\delete.c $(HDR)
! 666: $(LTCOMPILE) -c $(TOP)\src\delete.c
! 667:
! 668: expr.lo: $(TOP)\src\expr.c $(HDR)
! 669: $(LTCOMPILE) -c $(TOP)\src\expr.c
! 670:
! 671: fault.lo: $(TOP)\src\fault.c $(HDR)
! 672: $(LTCOMPILE) -c $(TOP)\src\fault.c
! 673:
! 674: fkey.lo: $(TOP)\src\fkey.c $(HDR)
! 675: $(LTCOMPILE) -c $(TOP)\src\fkey.c
! 676:
! 677: func.lo: $(TOP)\src\func.c $(HDR)
! 678: $(LTCOMPILE) -c $(TOP)\src\func.c
! 679:
! 680: global.lo: $(TOP)\src\global.c $(HDR)
! 681: $(LTCOMPILE) -c $(TOP)\src\global.c
! 682:
! 683: hash.lo: $(TOP)\src\hash.c $(HDR)
! 684: $(LTCOMPILE) -c $(TOP)\src\hash.c
! 685:
! 686: insert.lo: $(TOP)\src\insert.c $(HDR)
! 687: $(LTCOMPILE) -c $(TOP)\src\insert.c
! 688:
! 689: journal.lo: $(TOP)\src\journal.c $(HDR)
! 690: $(LTCOMPILE) -c $(TOP)\src\journal.c
! 691:
! 692: legacy.lo: $(TOP)\src\legacy.c $(HDR)
! 693: $(LTCOMPILE) -c $(TOP)\src\legacy.c
! 694:
! 695: loadext.lo: $(TOP)\src\loadext.c $(HDR)
! 696: $(LTCOMPILE) -c $(TOP)\src\loadext.c
! 697:
! 698: main.lo: $(TOP)\src\main.c $(HDR)
! 699: $(LTCOMPILE) -c $(TOP)\src\main.c
! 700:
! 701: malloc.lo: $(TOP)\src\malloc.c $(HDR)
! 702: $(LTCOMPILE) -c $(TOP)\src\malloc.c
! 703:
! 704: mem0.lo: $(TOP)\src\mem0.c $(HDR)
! 705: $(LTCOMPILE) -c $(TOP)\src\mem0.c
! 706:
! 707: mem1.lo: $(TOP)\src\mem1.c $(HDR)
! 708: $(LTCOMPILE) -c $(TOP)\src\mem1.c
! 709:
! 710: mem2.lo: $(TOP)\src\mem2.c $(HDR)
! 711: $(LTCOMPILE) -c $(TOP)\src\mem2.c
! 712:
! 713: mem3.lo: $(TOP)\src\mem3.c $(HDR)
! 714: $(LTCOMPILE) -c $(TOP)\src\mem3.c
! 715:
! 716: mem5.lo: $(TOP)\src\mem5.c $(HDR)
! 717: $(LTCOMPILE) -c $(TOP)\src\mem5.c
! 718:
! 719: memjournal.lo: $(TOP)\src\memjournal.c $(HDR)
! 720: $(LTCOMPILE) -c $(TOP)\src\memjournal.c
! 721:
! 722: mutex.lo: $(TOP)\src\mutex.c $(HDR)
! 723: $(LTCOMPILE) -c $(TOP)\src\mutex.c
! 724:
! 725: mutex_noop.lo: $(TOP)\src\mutex_noop.c $(HDR)
! 726: $(LTCOMPILE) -c $(TOP)\src\mutex_noop.c
! 727:
! 728: mutex_os2.lo: $(TOP)\src\mutex_os2.c $(HDR)
! 729: $(LTCOMPILE) -c $(TOP)\src\mutex_os2.c
! 730:
! 731: mutex_unix.lo: $(TOP)\src\mutex_unix.c $(HDR)
! 732: $(LTCOMPILE) -c $(TOP)\src\mutex_unix.c
! 733:
! 734: mutex_w32.lo: $(TOP)\src\mutex_w32.c $(HDR)
! 735: $(LTCOMPILE) -c $(TOP)\src\mutex_w32.c
! 736:
! 737: notify.lo: $(TOP)\src\notify.c $(HDR)
! 738: $(LTCOMPILE) -c $(TOP)\src\notify.c
! 739:
! 740: pager.lo: $(TOP)\src\pager.c $(HDR) $(TOP)\src\pager.h
! 741: $(LTCOMPILE) -c $(TOP)\src\pager.c
! 742:
! 743: pcache.lo: $(TOP)\src\pcache.c $(HDR) $(TOP)\src\pcache.h
! 744: $(LTCOMPILE) -c $(TOP)\src\pcache.c
! 745:
! 746: pcache1.lo: $(TOP)\src\pcache1.c $(HDR) $(TOP)\src\pcache.h
! 747: $(LTCOMPILE) -c $(TOP)\src\pcache1.c
! 748:
! 749: os.lo: $(TOP)\src\os.c $(HDR)
! 750: $(LTCOMPILE) -c $(TOP)\src\os.c
! 751:
! 752: os_unix.lo: $(TOP)\src\os_unix.c $(HDR)
! 753: $(LTCOMPILE) -c $(TOP)\src\os_unix.c
! 754:
! 755: os_win.lo: $(TOP)\src\os_win.c $(HDR)
! 756: $(LTCOMPILE) -c $(TOP)\src\os_win.c
! 757:
! 758: os_os2.lo: $(TOP)\src\os_os2.c $(HDR)
! 759: $(LTCOMPILE) -c $(TOP)\src\os_os2.c
! 760:
! 761: pragma.lo: $(TOP)\src\pragma.c $(HDR)
! 762: $(LTCOMPILE) -c $(TOP)\src\pragma.c
! 763:
! 764: prepare.lo: $(TOP)\src\prepare.c $(HDR)
! 765: $(LTCOMPILE) -c $(TOP)\src\prepare.c
! 766:
! 767: printf.lo: $(TOP)\src\printf.c $(HDR)
! 768: $(LTCOMPILE) -c $(TOP)\src\printf.c
! 769:
! 770: random.lo: $(TOP)\src\random.c $(HDR)
! 771: $(LTCOMPILE) -c $(TOP)\src\random.c
! 772:
! 773: resolve.lo: $(TOP)\src\resolve.c $(HDR)
! 774: $(LTCOMPILE) -c $(TOP)\src\resolve.c
! 775:
! 776: rowset.lo: $(TOP)\src\rowset.c $(HDR)
! 777: $(LTCOMPILE) -c $(TOP)\src\rowset.c
! 778:
! 779: select.lo: $(TOP)\src\select.c $(HDR)
! 780: $(LTCOMPILE) -c $(TOP)\src\select.c
! 781:
! 782: status.lo: $(TOP)\src\status.c $(HDR)
! 783: $(LTCOMPILE) -c $(TOP)\src\status.c
! 784:
! 785: table.lo: $(TOP)\src\table.c $(HDR)
! 786: $(LTCOMPILE) -c $(TOP)\src\table.c
! 787:
! 788: tokenize.lo: $(TOP)\src\tokenize.c keywordhash.h $(HDR)
! 789: $(LTCOMPILE) -c $(TOP)\src\tokenize.c
! 790:
! 791: trigger.lo: $(TOP)\src\trigger.c $(HDR)
! 792: $(LTCOMPILE) -c $(TOP)\src\trigger.c
! 793:
! 794: update.lo: $(TOP)\src\update.c $(HDR)
! 795: $(LTCOMPILE) -c $(TOP)\src\update.c
! 796:
! 797: utf.lo: $(TOP)\src\utf.c $(HDR)
! 798: $(LTCOMPILE) -c $(TOP)\src\utf.c
! 799:
! 800: util.lo: $(TOP)\src\util.c $(HDR)
! 801: $(LTCOMPILE) -c $(TOP)\src\util.c
! 802:
! 803: vacuum.lo: $(TOP)\src\vacuum.c $(HDR)
! 804: $(LTCOMPILE) -c $(TOP)\src\vacuum.c
! 805:
! 806: vdbe.lo: $(TOP)\src\vdbe.c $(HDR)
! 807: $(LTCOMPILE) -c $(TOP)\src\vdbe.c
! 808:
! 809: vdbeapi.lo: $(TOP)\src\vdbeapi.c $(HDR)
! 810: $(LTCOMPILE) -c $(TOP)\src\vdbeapi.c
! 811:
! 812: vdbeaux.lo: $(TOP)\src\vdbeaux.c $(HDR)
! 813: $(LTCOMPILE) -c $(TOP)\src\vdbeaux.c
! 814:
! 815: vdbeblob.lo: $(TOP)\src\vdbeblob.c $(HDR)
! 816: $(LTCOMPILE) -c $(TOP)\src\vdbeblob.c
! 817:
! 818: vdbemem.lo: $(TOP)\src\vdbemem.c $(HDR)
! 819: $(LTCOMPILE) -c $(TOP)\src\vdbemem.c
! 820:
! 821: vdbesort.lo: $(TOP)\src\vdbesort.c $(HDR)
! 822: $(LTCOMPILE) -c $(TOP)\src\vdbesort.c
! 823:
! 824: vdbetrace.lo: $(TOP)\src\vdbetrace.c $(HDR)
! 825: $(LTCOMPILE) -c $(TOP)\src\vdbetrace.c
! 826:
! 827: vtab.lo: $(TOP)\src\vtab.c $(HDR)
! 828: $(LTCOMPILE) -c $(TOP)\src\vtab.c
! 829:
! 830: wal.lo: $(TOP)\src\wal.c $(HDR)
! 831: $(LTCOMPILE) -c $(TOP)\src\wal.c
! 832:
! 833: walker.lo: $(TOP)\src\walker.c $(HDR)
! 834: $(LTCOMPILE) -c $(TOP)\src\walker.c
! 835:
! 836: where.lo: $(TOP)\src\where.c $(HDR)
! 837: $(LTCOMPILE) -c $(TOP)\src\where.c
! 838:
! 839: tclsqlite.lo: $(TOP)\src\tclsqlite.c $(HDR)
! 840: $(LTCOMPILE) -DUSE_TCL_STUBS=1 -DBUILD_sqlite -I$(TCLINCDIR) -c $(TOP)\src\tclsqlite.c
! 841:
! 842: tclsqlite-shell.lo: $(TOP)\src\tclsqlite.c $(HDR)
! 843: $(LTCOMPILE) -DTCLSH=1 -DBUILD_sqlite -I$(TCLINCDIR) -c $(TOP)\src\tclsqlite.c
! 844:
! 845: tclsqlite3.exe: tclsqlite-shell.lo libsqlite3.lib
! 846: $(LTLINK) tclsqlite-shell.lo \
! 847: /link $(LTLINKOPTS) $(LTLIBPATHS) libsqlite3.lib $(LTLIBS) $(TLIBS)
! 848:
! 849: # Rules to build opcodes.c and opcodes.h
! 850: #
! 851: opcodes.c: opcodes.h $(TOP)\mkopcodec.awk
! 852: $(NAWK) -f $(TOP)\mkopcodec.awk opcodes.h > opcodes.c
! 853:
! 854: opcodes.h: parse.h $(TOP)\src\vdbe.c $(TOP)\mkopcodeh.awk
! 855: type parse.h $(TOP)\src\vdbe.c | $(NAWK) -f $(TOP)\mkopcodeh.awk > opcodes.h
! 856:
! 857: # Rules to build parse.c and parse.h - the outputs of lemon.
! 858: #
! 859: parse.h: parse.c
! 860:
! 861: parse.c: $(TOP)\src\parse.y lemon.exe $(TOP)\addopcodes.awk
! 862: del /Q parse.y parse.h parse.h.temp
! 863: copy $(TOP)\src\parse.y .
! 864: .\lemon.exe $(OPT_FEATURE_FLAGS) $(OPTS) parse.y
! 865: move parse.h parse.h.temp
! 866: $(NAWK) -f $(TOP)\addopcodes.awk parse.h.temp > parse.h
! 867:
! 868: sqlite3.h: $(TOP)\src\sqlite.h.in $(TOP)\manifest.uuid $(TOP)\VERSION
! 869: $(TCLSH_CMD) $(TOP)\tool\mksqlite3h.tcl $(TOP) > sqlite3.h
! 870:
! 871: mkkeywordhash.exe: $(TOP)\tool\mkkeywordhash.c
! 872: $(BCC) -Femkkeywordhash.exe $(OPT_FEATURE_FLAGS) $(OPTS) $(TOP)\tool\mkkeywordhash.c
! 873:
! 874: keywordhash.h: $(TOP)\tool\mkkeywordhash.c mkkeywordhash.exe
! 875: .\mkkeywordhash.exe > keywordhash.h
! 876:
! 877:
! 878:
! 879: # Rules to build the extension objects.
! 880: #
! 881: icu.lo: $(TOP)\ext\icu\icu.c $(HDR) $(EXTHDR)
! 882: $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\icu\icu.c
! 883:
! 884: fts2.lo: $(TOP)\ext\fts2\fts2.c $(HDR) $(EXTHDR)
! 885: $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts2\fts2.c
! 886:
! 887: fts2_hash.lo: $(TOP)\ext\fts2\fts2_hash.c $(HDR) $(EXTHDR)
! 888: $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts2\fts2_hash.c
! 889:
! 890: fts2_icu.lo: $(TOP)\ext\fts2\fts2_icu.c $(HDR) $(EXTHDR)
! 891: $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts2\fts2_icu.c
! 892:
! 893: fts2_porter.lo: $(TOP)\ext\fts2\fts2_porter.c $(HDR) $(EXTHDR)
! 894: $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts2\fts2_porter.c
! 895:
! 896: fts2_tokenizer.lo: $(TOP)\ext\fts2\fts2_tokenizer.c $(HDR) $(EXTHDR)
! 897: $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts2\fts2_tokenizer.c
! 898:
! 899: fts2_tokenizer1.lo: $(TOP)\ext\fts2\fts2_tokenizer1.c $(HDR) $(EXTHDR)
! 900: $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts2\fts2_tokenizer1.c
! 901:
! 902: fts3.lo: $(TOP)\ext\fts3\fts3.c $(HDR) $(EXTHDR)
! 903: $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3.c
! 904:
! 905: fts3_aux.lo: $(TOP)\ext\fts3\fts3_aux.c $(HDR) $(EXTHDR)
! 906: $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_aux.c
! 907:
! 908: fts3_expr.lo: $(TOP)\ext\fts3\fts3_expr.c $(HDR) $(EXTHDR)
! 909: $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_expr.c
! 910:
! 911: fts3_hash.lo: $(TOP)\ext\fts3\fts3_hash.c $(HDR) $(EXTHDR)
! 912: $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_hash.c
! 913:
! 914: fts3_icu.lo: $(TOP)\ext\fts3\fts3_icu.c $(HDR) $(EXTHDR)
! 915: $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_icu.c
! 916:
! 917: fts3_snippet.lo: $(TOP)\ext\fts3\fts3_snippet.c $(HDR) $(EXTHDR)
! 918: $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_snippet.c
! 919:
! 920: fts3_porter.lo: $(TOP)\ext\fts3\fts3_porter.c $(HDR) $(EXTHDR)
! 921: $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_porter.c
! 922:
! 923: fts3_tokenizer.lo: $(TOP)\ext\fts3\fts3_tokenizer.c $(HDR) $(EXTHDR)
! 924: $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_tokenizer.c
! 925:
! 926: fts3_tokenizer1.lo: $(TOP)\ext\fts3\fts3_tokenizer1.c $(HDR) $(EXTHDR)
! 927: $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_tokenizer1.c
! 928:
! 929: fts3_write.lo: $(TOP)\ext\fts3\fts3_write.c $(HDR) $(EXTHDR)
! 930: $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_write.c
! 931:
! 932: rtree.lo: $(TOP)\ext\rtree\rtree.c $(HDR) $(EXTHDR)
! 933: $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\rtree\rtree.c
! 934:
! 935:
! 936: # Rules to build the 'testfixture' application.
! 937: #
! 938: # If using the amalgamation, use sqlite3.c directly to build the test
! 939: # fixture. Otherwise link against libsqlite3.lib. (This distinction is
! 940: # necessary because the test fixture requires non-API symbols which are
! 941: # hidden when the library is built via the amalgamation).
! 942: #
! 943: TESTFIXTURE_FLAGS = -DTCLSH=1 -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1
! 944: TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE
! 945:
! 946: TESTFIXTURE_SRC0 = $(TESTSRC2) libsqlite3.lib
! 947: TESTFIXTURE_SRC1 = sqlite3.c
! 948: !IF $(USE_AMALGAMATION)==0
! 949: TESTFIXTURE_SRC = $(TESTSRC) $(TOP)\src\tclsqlite.c $(TESTFIXTURE_SRC0)
! 950: !ELSE
! 951: TESTFIXTURE_SRC = $(TESTSRC) $(TOP)\src\tclsqlite.c $(TESTFIXTURE_SRC1)
! 952: !ENDIF
! 953:
! 954: testfixture.exe: $(TESTFIXTURE_SRC) $(HDR)
! 955: $(LTLINK) -DSQLITE_NO_SYNC=1 $(TESTFIXTURE_FLAGS) \
! 956: -DBUILD_sqlite -I$(TCLINCDIR) \
! 957: $(TESTFIXTURE_SRC) \
! 958: /link $(LTLINKOPTS) $(LTLIBPATHS) $(LTLIBS) $(TLIBS)
! 959:
! 960: fulltest: testfixture.exe sqlite3.exe
! 961: .\testfixture.exe $(TOP)\test\all.test
! 962:
! 963: soaktest: testfixture.exe sqlite3.exe
! 964: .\testfixture.exe $(TOP)\test\all.test -soak=1
! 965:
! 966: test: testfixture.exe sqlite3.exe
! 967: .\testfixture.exe $(TOP)\test\veryquick.test
! 968:
! 969: sqlite3_analyzer.c: sqlite3.c $(TOP)\src\test_stat.c $(TOP)\src\tclsqlite.c $(TOP)\tool\spaceanal.tcl
! 970: copy sqlite3.c + $(TOP)\src\test_stat.c + $(TOP)\src\tclsqlite.c $@
! 971: echo static const char *tclsh_main_loop(void){ >> $@
! 972: echo static const char *zMainloop = >> $@
! 973: $(NAWK) -f $(TOP)\tool\tostr.awk $(TOP)\tool\spaceanal.tcl >> $@
! 974: echo ; return zMainloop; } >> $@
! 975:
! 976: sqlite3_analyzer.exe: sqlite3_analyzer.c
! 977: $(LTLINK) -DBUILD_sqlite -DTCLSH=2 -I$(TCLINCDIR) sqlite3_analyzer.c \
! 978: /link $(LTLINKOPTS) $(LTLIBPATHS) $(LTLIBS) $(TLIBS)
! 979:
! 980: clean:
! 981: del /Q *.lo *.ilk *.lib *.obj *.pdb sqlite3.exe libsqlite3.lib
! 982: del /Q sqlite3.h opcodes.c opcodes.h
! 983: del /Q lemon.exe lempar.c parse.*
! 984: del /Q mkkeywordhash.exe keywordhash.h
! 985: -rmdir /Q/S tsrc
! 986: del /Q .target_source
! 987: del /Q tclsqlite3.exe
! 988: del /Q testfixture.exe testfixture.exp test.db
! 989: del /Q sqlite3.dll sqlite3.lib sqlite3.exp sqlite3.def
! 990: del /Q sqlite3.c
! 991: del /Q sqlite3_analyzer.exe sqlite3_analyzer.exp sqlite3_analyzer.c
! 992:
! 993: #
! 994: # Windows section
! 995: #
! 996: dll: sqlite3.dll
! 997:
! 998: sqlite3.def: libsqlite3.lib
! 999: echo EXPORTS > sqlite3.def
! 1000: dumpbin /all libsqlite3.lib \
! 1001: | $(NAWK) "/ 1 _?sqlite3_/ { sub(/^.* _?/,\"\");print }" \
! 1002: | sort >> sqlite3.def
! 1003:
! 1004: sqlite3.dll: $(LIBOBJ) sqlite3.def
! 1005: link $(LTLINKOPTS) $(LTLIBPATHS) /DLL /DEF:sqlite3.def /OUT:$@ $(LIBOBJ) $(LTLIBS) $(TLIBS)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>