Annotation of embedaddon/sqlite3/Makefile.msc, revision 1.1.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>