/ Hex Artifact Content
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

Artifact a463dca3c50d8a36094fe5c8c39077907f530b54edfc5388c66c85e2cfc8dc04:


0000: 23 0a 23 20 6e 6d 61 6b 65 20 4d 61 6b 65 66 69  #.# nmake Makefi
0010: 6c 65 20 66 6f 72 20 53 51 4c 69 74 65 0a 23 0a  le for SQLite.#.
0020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20 53  ############## S
0090: 54 41 52 54 20 4f 46 20 4f 50 54 49 4f 4e 53 20  TART OF OPTIONS 
00a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
00c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0110: 0a 23 20 54 68 65 20 74 6f 70 6c 65 76 65 6c 20  .# The toplevel 
0120: 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65  directory of the
0130: 20 73 6f 75 72 63 65 20 74 72 65 65 2e 20 20 54   source tree.  T
0140: 68 69 73 20 69 73 20 74 68 65 20 64 69 72 65 63  his is the direc
0150: 74 6f 72 79 0a 23 20 74 68 61 74 20 63 6f 6e 74  tory.# that cont
0160: 61 69 6e 73 20 74 68 69 73 20 22 4d 61 6b 65 66  ains this "Makef
0170: 69 6c 65 2e 6d 73 63 22 2e 0a 23 0a 54 4f 50 20  ile.msc"..#.TOP 
0180: 3d 20 2e 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  = ...# <<mark>>.
0190: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
01a0: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
01b0: 73 65 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d  se the SQLite am
01c0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 2e  algamation file.
01d0: 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 41  .#.!IFNDEF USE_A
01e0: 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 55 53 45 5f  MALGAMATION.USE_
01f0: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 20 3d 20 31  AMALGAMATION = 1
0200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this 
0220: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable 
0230: 66 75 6c 6c 20 77 61 72 6e 69 6e 67 73 20 28 2d  full warnings (-
0240: 57 34 2c 20 65 74 63 29 20 77 68 65 6e 20 63 6f  W4, etc) when co
0250: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 4e 44  mpiling..#.!IFND
0260: 45 46 20 55 53 45 5f 46 55 4c 4c 57 41 52 4e 0a  EF USE_FULLWARN.
0270: 55 53 45 5f 46 55 4c 4c 57 41 52 4e 20 3d 20 31  USE_FULLWARN = 1
0280: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0290: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61  his non-0 to ena
02a0: 62 6c 65 20 74 72 65 61 74 69 6e 67 20 77 61 72  ble treating war
02b0: 6e 69 6e 67 73 20 61 73 20 65 72 72 6f 72 73 20  nings as errors 
02c0: 28 2d 57 58 2c 20 65 74 63 29 20 77 68 65 6e 0a  (-WX, etc) when.
02d0: 23 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21  # compiling..#.!
02e0: 49 46 4e 44 45 46 20 55 53 45 5f 46 41 54 41 4c  IFNDEF USE_FATAL
02f0: 5f 57 41 52 4e 0a 55 53 45 5f 46 41 54 41 4c 5f  _WARN.USE_FATAL_
0300: 57 41 52 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  WARN = 0.!ENDIF.
0310: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0320: 30 20 74 6f 20 65 6e 61 62 6c 65 20 66 75 6c 6c  0 to enable full
0330: 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 20 63   runtime error c
0340: 68 65 63 6b 73 20 28 2d 52 54 43 31 2c 20 65 74  hecks (-RTC1, et
0350: 63 29 2e 20 20 54 68 69 73 0a 23 20 68 61 73 20  c).  This.# has 
0360: 6e 6f 20 65 66 66 65 63 74 20 69 66 20 28 61 6e  no effect if (an
0370: 79 29 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  y) optimizations
0380: 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a   are enabled..#.
0390: 21 49 46 4e 44 45 46 20 55 53 45 5f 52 55 4e 54  !IFNDEF USE_RUNT
03a0: 49 4d 45 5f 43 48 45 43 4b 53 0a 55 53 45 5f 52  IME_CHECKS.USE_R
03b0: 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 20 3d 20  UNTIME_CHECKS = 
03c0: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set 
03d0: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 72  this non-0 to cr
03e0: 65 61 74 65 20 61 20 53 51 4c 69 74 65 20 61 6d  eate a SQLite am
03f0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20  algamation file 
0400: 74 68 61 74 20 65 78 63 6c 75 64 65 73 20 74 68  that excludes th
0410: 65 0a 23 20 76 61 72 69 6f 75 73 20 62 75 69 6c  e.# various buil
0420: 74 2d 69 6e 20 65 78 74 65 6e 73 69 6f 6e 73 2e  t-in extensions.
0430: 0a 23 0a 21 49 46 4e 44 45 46 20 4d 49 4e 49 4d  .#.!IFNDEF MINIM
0440: 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a  AL_AMALGAMATION.
0450: 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41  MINIMAL_AMALGAMA
0460: 54 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  TION = 0.!ENDIF.
0470: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0480: 30 20 74 6f 20 75 73 65 20 22 73 74 64 63 61 6c  0 to use "stdcal
0490: 6c 22 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65  l" calling conve
04a0: 6e 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 6f  ntion for the co
04b0: 72 65 20 6c 69 62 72 61 72 79 0a 23 20 61 6e 64  re library.# and
04c0: 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   shell executabl
04d0: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45  e..#.!IFNDEF USE
04e0: 5f 53 54 44 43 41 4c 4c 0a 55 53 45 5f 53 54 44  _STDCALL.USE_STD
04f0: 43 41 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a  CALL = 0.!ENDIF.
0500: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0510: 30 20 74 6f 20 68 61 76 65 20 74 68 65 20 73 68  0 to have the sh
0520: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 6c  ell executable l
0530: 69 6e 6b 20 61 67 61 69 6e 73 74 20 74 68 65 20  ink against the 
0540: 63 6f 72 65 20 64 79 6e 61 6d 69 63 0a 23 20 6c  core dynamic.# l
0550: 69 6e 6b 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ink library..#.!
0560: 49 46 4e 44 45 46 20 44 59 4e 41 4d 49 43 5f 53  IFNDEF DYNAMIC_S
0570: 48 45 4c 4c 0a 44 59 4e 41 4d 49 43 5f 53 48 45  HELL.DYNAMIC_SHE
0580: 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  LL = 0.!ENDIF..#
0590: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
05a0: 74 6f 20 65 6e 61 62 6c 65 20 65 78 74 72 61 20  to enable extra 
05b0: 63 6f 64 65 20 74 68 61 74 20 61 74 74 65 6d 70  code that attemp
05c0: 74 73 20 74 6f 20 64 65 74 65 63 74 20 6d 69 73  ts to detect mis
05d0: 75 73 65 20 6f 66 20 74 68 65 0a 23 20 53 51 4c  use of the.# SQL
05e0: 69 74 65 20 41 50 49 2e 0a 23 0a 21 49 46 4e 44  ite API..#.!IFND
05f0: 45 46 20 41 50 49 5f 41 52 4d 4f 52 0a 41 50 49  EF API_ARMOR.API
0600: 5f 41 52 4d 4f 52 20 3d 20 30 0a 21 45 4e 44 49  _ARMOR = 0.!ENDI
0610: 46 0a 0a 23 20 49 66 20 6e 65 63 65 73 73 61 72  F..# If necessar
0620: 79 2c 20 63 72 65 61 74 65 20 61 20 6c 69 73 74  y, create a list
0630: 20 6f 66 20 68 61 72 6d 6c 65 73 73 20 63 6f 6d   of harmless com
0640: 70 69 6c 65 72 20 77 61 72 6e 69 6e 67 73 20 74  piler warnings t
0650: 6f 20 64 69 73 61 62 6c 65 20 77 68 65 6e 0a 23  o disable when.#
0660: 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 76   compiling the v
0670: 61 72 69 6f 75 73 20 74 6f 6f 6c 73 2e 20 20 46  arious tools.  F
0680: 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 73 6f  or the SQLite so
0690: 75 72 63 65 20 63 6f 64 65 20 69 74 73 65 6c 66  urce code itself
06a0: 2c 20 77 61 72 6e 69 6e 67 73 2c 0a 23 20 69 66  , warnings,.# if
06b0: 20 61 6e 79 2c 20 77 69 6c 6c 20 62 65 20 64 69   any, will be di
06c0: 73 61 62 6c 65 64 20 66 72 6f 6d 20 77 69 74 68  sabled from with
06d0: 69 6e 20 69 74 2e 0a 23 0a 21 49 46 4e 44 45 46  in it..#.!IFNDEF
06e0: 20 4e 4f 5f 57 41 52 4e 0a 21 49 46 20 24 28 55   NO_WARN.!IF $(U
06f0: 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a  SE_FULLWARN)!=0.
0700: 4e 4f 5f 57 41 52 4e 20 3d 20 2d 77 64 34 30 35  NO_WARN = -wd405
0710: 34 20 2d 77 64 34 30 35 35 20 2d 77 64 34 31 30  4 -wd4055 -wd410
0720: 30 20 2d 77 64 34 31 32 37 20 2d 77 64 34 31 33  0 -wd4127 -wd413
0730: 30 20 2d 77 64 34 31 35 32 20 2d 77 64 34 31 38  0 -wd4152 -wd418
0740: 39 20 2d 77 64 34 32 30 36 0a 4e 4f 5f 57 41 52  9 -wd4206.NO_WAR
0750: 4e 20 3d 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  N = $(NO_WARN) -
0760: 77 64 34 32 31 30 20 2d 77 64 34 32 33 32 20 2d  wd4210 -wd4232 -
0770: 77 64 34 32 34 34 20 2d 77 64 34 33 30 35 20 2d  wd4244 -wd4305 -
0780: 77 64 34 33 30 36 20 2d 77 64 34 37 30 32 20 2d  wd4306 -wd4702 -
0790: 77 64 34 37 30 36 0a 21 45 4e 44 49 46 0a 21 45  wd4706.!ENDIF.!E
07a0: 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73  NDIF..# Set this
07b0: 20 6e 6f 6e 2d 30 20 74 6f 20 75 73 65 20 74 68   non-0 to use th
07c0: 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 73 20  e library paths 
07d0: 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69 6f 6e  and other option
07e0: 73 20 6e 65 63 65 73 73 61 72 79 20 66 6f 72 0a  s necessary for.
07f0: 23 20 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20  # Windows Phone 
0800: 38 2e 31 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55  8.1..#.!IFNDEF U
0810: 53 45 5f 57 50 38 31 5f 4f 50 54 53 0a 55 53 45  SE_WP81_OPTS.USE
0820: 5f 57 50 38 31 5f 4f 50 54 53 20 3d 20 30 0a 21  _WP81_OPTS = 0.!
0830: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0840: 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 70 6c 69 74  s non-0 to split
0850: 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d 61 6c   the SQLite amal
0860: 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20 69 6e  gamation file in
0870: 74 6f 20 63 68 75 6e 6b 73 20 74 6f 0a 23 20 62  to chunks to.# b
0880: 65 20 75 73 65 64 20 66 6f 72 20 64 65 62 75 67  e used for debug
0890: 67 69 6e 67 20 77 69 74 68 20 56 69 73 75 61 6c  ging with Visual
08a0: 20 53 74 75 64 69 6f 2e 0a 23 0a 21 49 46 4e 44   Studio..#.!IFND
08b0: 45 46 20 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d  EF SPLIT_AMALGAM
08c0: 41 54 49 4f 4e 0a 53 50 4c 49 54 5f 41 4d 41 4c  ATION.SPLIT_AMAL
08d0: 47 41 4d 41 54 49 4f 4e 20 3d 20 30 0a 21 45 4e  GAMATION = 0.!EN
08e0: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  DIF..# <<mark>>.
08f0: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0900: 20 74 6f 20 68 61 76 65 20 74 68 69 73 20 6d 61   to have this ma
0910: 6b 65 66 69 6c 65 20 61 73 73 75 6d 65 20 74 68  kefile assume th
0920: 65 20 54 63 6c 20 73 68 65 6c 6c 20 65 78 65 63  e Tcl shell exec
0930: 75 74 61 62 6c 65 0a 23 20 28 74 63 6c 73 68 2a  utable.# (tclsh*
0940: 2e 65 78 65 29 20 69 73 20 61 76 61 69 6c 61 62  .exe) is availab
0950: 6c 65 20 69 6e 20 74 68 65 20 50 41 54 48 2e 20  le in the PATH. 
0960: 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69   By default, thi
0970: 73 20 69 73 20 64 69 73 61 62 6c 65 64 0a 23 20  s is disabled.# 
0980: 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74  for compatibilit
0990: 79 20 77 69 74 68 20 6f 6c 64 65 72 20 62 75 69  y with older bui
09a0: 6c 64 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 2e  ld environments.
09b0: 20 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 6f    This setting o
09c0: 6e 6c 79 0a 23 20 61 70 70 6c 69 65 73 20 69 66  nly.# applies if
09d0: 20 54 43 4c 53 48 5f 43 4d 44 20 69 73 20 6e 6f   TCLSH_CMD is no
09e0: 74 20 73 65 74 20 6d 61 6e 75 61 6c 6c 79 2e 0a  t set manually..
09f0: 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 54 43  #.!IFNDEF USE_TC
0a00: 4c 53 48 5f 49 4e 5f 50 41 54 48 0a 55 53 45 5f  LSH_IN_PATH.USE_
0a10: 54 43 4c 53 48 5f 49 4e 5f 50 41 54 48 20 3d 20  TCLSH_IN_PATH = 
0a20: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set 
0a30: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  this non-0 to us
0a40: 65 20 7a 6c 69 62 2c 20 70 6f 73 73 69 62 6c 79  e zlib, possibly
0a50: 20 63 6f 6d 70 69 6c 69 6e 67 20 69 74 20 66 72   compiling it fr
0a60: 6f 6d 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a  om source code..
0a70: 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 5a 4c  #.!IFNDEF USE_ZL
0a80: 49 42 0a 55 53 45 5f 5a 4c 49 42 20 3d 20 30 0a  IB.USE_ZLIB = 0.
0a90: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0aa0: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 62 75 69 6c  is non-0 to buil
0ab0: 64 20 7a 6c 69 62 20 66 72 6f 6d 20 73 6f 75 72  d zlib from sour
0ac0: 63 65 20 63 6f 64 65 2e 20 20 54 68 69 73 20 69  ce code.  This i
0ad0: 73 20 65 6e 61 62 6c 65 64 20 62 79 0a 23 20 64  s enabled by.# d
0ae0: 65 66 61 75 6c 74 20 61 6e 64 20 69 6e 20 74 68  efault and in th
0af0: 61 74 20 63 61 73 65 20 69 74 20 77 69 6c 6c 20  at case it will 
0b00: 62 65 20 61 73 73 75 6d 65 64 20 74 68 61 74 20  be assumed that 
0b10: 74 68 65 20 5a 4c 49 42 44 49 52 20 6d 61 63 72  the ZLIBDIR macr
0b20: 6f 0a 23 20 70 6f 69 6e 74 73 20 74 6f 20 74 68  o.# points to th
0b30: 65 20 74 6f 70 2d 6c 65 76 65 6c 20 73 6f 75 72  e top-level sour
0b40: 63 65 20 63 6f 64 65 20 64 69 72 65 63 74 6f 72  ce code director
0b50: 79 20 66 6f 72 20 7a 6c 69 62 2e 0a 23 0a 21 49  y for zlib..#.!I
0b60: 46 4e 44 45 46 20 42 55 49 4c 44 5f 5a 4c 49 42  FNDEF BUILD_ZLIB
0b70: 0a 42 55 49 4c 44 5f 5a 4c 49 42 20 3d 20 31 0a  .BUILD_ZLIB = 1.
0b80: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0b90: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 75 73 65 20  is non-0 to use 
0ba0: 74 68 65 20 49 6e 74 65 72 6e 61 74 69 6f 6e 61  the Internationa
0bb0: 6c 20 43 6f 6d 70 6f 6e 65 6e 74 73 20 66 6f 72  l Components for
0bc0: 20 55 6e 69 63 6f 64 65 20 28 49 43 55 29 2e 0a   Unicode (ICU)..
0bd0: 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 49 43  #.!IFNDEF USE_IC
0be0: 55 0a 55 53 45 5f 49 43 55 20 3d 20 30 0a 21 45  U.USE_ICU = 0.!E
0bf0: 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  NDIF.# <</mark>>
0c00: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0c10: 2d 30 20 74 6f 20 64 79 6e 61 6d 69 63 61 6c 6c  -0 to dynamicall
0c20: 79 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 4d 53  y link to the MS
0c30: 56 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61  VC runtime libra
0c40: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53  ry..#.!IFNDEF US
0c50: 45 5f 43 52 54 5f 44 4c 4c 0a 55 53 45 5f 43 52  E_CRT_DLL.USE_CR
0c60: 54 5f 44 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46  T_DLL = 0.!ENDIF
0c70: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0c80: 2d 30 20 74 6f 20 6c 69 6e 6b 20 74 6f 20 74 68  -0 to link to th
0c90: 65 20 52 50 43 52 54 34 20 6c 69 62 72 61 72 79  e RPCRT4 library
0ca0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f  ..#.!IFNDEF USE_
0cb0: 52 50 43 52 54 34 5f 4c 49 42 0a 55 53 45 5f 52  RPCRT4_LIB.USE_R
0cc0: 50 43 52 54 34 5f 4c 49 42 20 3d 20 30 0a 21 45  PCRT4_LIB = 0.!E
0cd0: 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73  NDIF..# Set this
0ce0: 20 6e 6f 6e 2d 30 20 74 6f 20 67 65 6e 65 72 61   non-0 to genera
0cf0: 74 65 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65  te assembly code
0d00: 20 6c 69 73 74 69 6e 67 73 20 66 6f 72 20 74 68   listings for th
0d10: 65 20 73 6f 75 72 63 65 20 63 6f 64 65 0a 23 20  e source code.# 
0d20: 66 69 6c 65 73 2e 0a 23 0a 21 49 46 4e 44 45 46  files..#.!IFNDEF
0d30: 20 55 53 45 5f 4c 49 53 54 49 4e 47 53 0a 55 53   USE_LISTINGS.US
0d40: 45 5f 4c 49 53 54 49 4e 47 53 20 3d 20 30 0a 21  E_LISTINGS = 0.!
0d50: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0d60: 73 20 6e 6f 6e 2d 30 20 74 6f 20 61 74 74 65 6d  s non-0 to attem
0d70: 70 74 20 73 65 74 74 69 6e 67 20 74 68 65 20 6e  pt setting the n
0d80: 61 74 69 76 65 20 63 6f 6d 70 69 6c 65 72 20 61  ative compiler a
0d90: 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 23 20 66  utomatically.# f
0da0: 6f 72 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69  or cross-compili
0db0: 6e 67 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c  ng the command l
0dc0: 69 6e 65 20 74 6f 6f 6c 73 20 6e 65 65 64 65 64  ine tools needed
0dd0: 20 64 75 72 69 6e 67 20 74 68 65 20 63 6f 6d 70   during the comp
0de0: 69 6c 61 74 69 6f 6e 0a 23 20 70 72 6f 63 65 73  ilation.# proces
0df0: 73 2e 0a 23 0a 21 49 46 4e 44 45 46 20 58 43 4f  s..#.!IFNDEF XCO
0e00: 4d 50 49 4c 45 0a 58 43 4f 4d 50 49 4c 45 20 3d  MPILE.XCOMPILE =
0e10: 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74   0.!ENDIF..# Set
0e20: 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 75   this non-0 to u
0e30: 73 65 20 74 68 65 20 6e 61 74 69 76 65 20 6c 69  se the native li
0e40: 62 72 61 72 69 65 73 20 70 61 74 68 73 20 66 6f  braries paths fo
0e50: 72 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e  r cross-compilin
0e60: 67 0a 23 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20  g.# the command 
0e70: 6c 69 6e 65 20 74 6f 6f 6c 73 20 6e 65 65 64 65  line tools neede
0e80: 64 20 64 75 72 69 6e 67 20 74 68 65 20 63 6f 6d  d during the com
0e90: 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73 73  pilation process
0ea0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f  ..#.!IFNDEF USE_
0eb0: 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 0a  NATIVE_LIBPATHS.
0ec0: 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41  USE_NATIVE_LIBPA
0ed0: 54 48 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  THS = 0.!ENDIF..
0ee0: 23 20 53 65 74 20 74 68 69 73 20 30 20 74 6f 20  # Set this 0 to 
0ef0: 73 6b 69 70 20 74 68 65 20 63 6f 6d 70 69 6c 69  skip the compili
0f00: 6e 67 20 61 6e 64 20 65 6d 62 65 64 64 69 6e 67  ng and embedding
0f10: 20 6f 66 20 76 65 72 73 69 6f 6e 20 72 65 73 6f   of version reso
0f20: 75 72 63 65 73 2e 0a 23 0a 21 49 46 4e 44 45 46  urces..#.!IFNDEF
0f30: 20 55 53 45 5f 52 43 0a 55 53 45 5f 52 43 20 3d   USE_RC.USE_RC =
0f40: 20 31 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74   1.!ENDIF..# Set
0f50: 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63   this non-0 to c
0f60: 6f 6d 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20  ompile binaries 
0f70: 73 75 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65  suitable for the
0f80: 20 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65   WinRT environme
0f90: 6e 74 2e 0a 23 20 54 68 69 73 20 73 65 74 74 69  nt..# This setti
0fa0: 6e 67 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 6c  ng does not appl
0fb0: 79 20 74 6f 20 61 6e 79 20 62 69 6e 61 72 69 65  y to any binarie
0fc0: 73 20 74 68 61 74 20 72 65 71 75 69 72 65 20 54  s that require T
0fd0: 63 6c 20 74 6f 20 6f 70 65 72 61 74 65 0a 23 20  cl to operate.# 
0fe0: 70 72 6f 70 65 72 6c 79 20 28 69 2e 65 2e 20 74  properly (i.e. t
0ff0: 68 65 20 74 65 78 74 20 66 69 78 74 75 72 65 2c  he text fixture,
1000: 20 65 74 63 29 2e 0a 23 0a 21 49 46 4e 44 45 46   etc)..#.!IFNDEF
1010: 20 46 4f 52 5f 57 49 4e 52 54 0a 46 4f 52 5f 57   FOR_WINRT.FOR_W
1020: 49 4e 52 54 20 3d 20 30 0a 21 45 4e 44 49 46 0a  INRT = 0.!ENDIF.
1030: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
1040: 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62 69 6e  0 to compile bin
1050: 61 72 69 65 73 20 73 75 69 74 61 62 6c 65 20 66  aries suitable f
1060: 6f 72 20 74 68 65 20 55 57 50 20 65 6e 76 69 72  or the UWP envir
1070: 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68 69 73 20 73  onment..# This s
1080: 65 74 74 69 6e 67 20 64 6f 65 73 20 6e 6f 74 20  etting does not 
1090: 61 70 70 6c 79 20 74 6f 20 61 6e 79 20 62 69 6e  apply to any bin
10a0: 61 72 69 65 73 20 74 68 61 74 20 72 65 71 75 69  aries that requi
10b0: 72 65 20 54 63 6c 20 74 6f 20 6f 70 65 72 61 74  re Tcl to operat
10c0: 65 0a 23 20 70 72 6f 70 65 72 6c 79 20 28 69 2e  e.# properly (i.
10d0: 65 2e 20 74 68 65 20 74 65 78 74 20 66 69 78 74  e. the text fixt
10e0: 75 72 65 2c 20 65 74 63 29 2e 0a 23 0a 21 49 46  ure, etc)..#.!IF
10f0: 4e 44 45 46 20 46 4f 52 5f 55 57 50 0a 46 4f 52  NDEF FOR_UWP.FOR
1100: 5f 55 57 50 20 3d 20 30 0a 21 45 4e 44 49 46 0a  _UWP = 0.!ENDIF.
1110: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
1120: 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62 69 6e  0 to compile bin
1130: 61 72 69 65 73 20 73 75 69 74 61 62 6c 65 20 66  aries suitable f
1140: 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 31  or the Windows 1
1150: 30 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49  0 platform..#.!I
1160: 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e 31 30 0a  FNDEF FOR_WIN10.
1170: 46 4f 52 5f 57 49 4e 31 30 20 3d 20 30 0a 21 45  FOR_WIN10 = 0.!E
1180: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
1190: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
11a0: 30 20 74 6f 20 73 6b 69 70 20 61 74 74 65 6d 70  0 to skip attemp
11b0: 74 69 6e 67 20 74 6f 20 6c 6f 6f 6b 20 66 6f 72  ting to look for
11c0: 20 61 6e 64 2f 6f 72 20 6c 69 6e 6b 20 77 69 74   and/or link wit
11d0: 68 20 74 68 65 20 54 63 6c 0a 23 20 72 75 6e 74  h the Tcl.# runt
11e0: 69 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ime library..#.!
11f0: 49 46 4e 44 45 46 20 4e 4f 5f 54 43 4c 0a 4e 4f  IFNDEF NO_TCL.NO
1200: 5f 54 43 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a  _TCL = 0.!ENDIF.
1210: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53  # <</mark>>..# S
1220: 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30  et this to non-0
1230: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
1240: 73 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 4e 44  se PDBs..#.!IFND
1250: 45 46 20 53 59 4d 42 4f 4c 53 0a 53 59 4d 42 4f  EF SYMBOLS.SYMBO
1260: 4c 53 20 3d 20 31 0a 21 45 4e 44 49 46 0a 0a 23  LS = 1.!ENDIF..#
1270: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
1280: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 53 51  -0 to use the SQ
1290: 4c 69 74 65 20 64 65 62 75 67 67 69 6e 67 20 68  Lite debugging h
12a0: 65 61 70 20 73 75 62 73 79 73 74 65 6d 2e 0a 23  eap subsystem..#
12b0: 0a 21 49 46 4e 44 45 46 20 4d 45 4d 44 45 42 55  .!IFNDEF MEMDEBU
12c0: 47 0a 4d 45 4d 44 45 42 55 47 20 3d 20 30 0a 21  G.MEMDEBUG = 0.!
12d0: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
12e0: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
12f0: 65 20 74 68 65 20 57 69 6e 33 32 20 6e 61 74 69  e the Win32 nati
1300: 76 65 20 68 65 61 70 20 73 75 62 73 79 73 74 65  ve heap subsyste
1310: 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 57 49 4e  m..#.!IFNDEF WIN
1320: 33 32 48 45 41 50 0a 57 49 4e 33 32 48 45 41 50  32HEAP.WIN32HEAP
1330: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53   = 0.!ENDIF..# S
1340: 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30  et this to non-0
1350: 20 74 6f 20 65 6e 61 62 6c 65 20 4f 53 54 52 41   to enable OSTRA
1360: 43 45 28 29 20 6d 61 63 72 6f 73 2c 20 77 68 69  CE() macros, whi
1370: 63 68 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c  ch can be useful
1380: 20 77 68 65 6e 0a 23 20 64 65 62 75 67 67 69 6e   when.# debuggin
1390: 67 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4f 53 54  g..#.!IFNDEF OST
13a0: 52 41 43 45 0a 4f 53 54 52 41 43 45 20 3d 20 30  RACE.OSTRACE = 0
13b0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
13c0: 68 69 73 20 74 6f 20 6f 6e 65 20 6f 66 20 74 68  his to one of th
13d0: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75  e following valu
13e0: 65 73 20 74 6f 20 65 6e 61 62 6c 65 20 76 61 72  es to enable var
13f0: 69 6f 75 73 20 64 65 62 75 67 67 69 6e 67 0a 23  ious debugging.#
1400: 20 66 65 61 74 75 72 65 73 2e 20 20 45 61 63 68   features.  Each
1410: 20 6c 65 76 65 6c 20 69 6e 63 6c 75 64 65 73 20   level includes 
1420: 74 68 65 20 64 65 62 75 67 67 69 6e 67 20 6f 70  the debugging op
1430: 74 69 6f 6e 73 20 66 72 6f 6d 20 74 68 65 20 70  tions from the p
1440: 72 65 76 69 6f 75 73 0a 23 20 6c 65 76 65 6c 73  revious.# levels
1450: 2e 20 20 43 75 72 72 65 6e 74 6c 79 2c 20 74 68  .  Currently, th
1460: 65 20 72 65 63 6f 67 6e 69 7a 65 64 20 76 61 6c  e recognized val
1470: 75 65 73 20 66 6f 72 20 44 45 42 55 47 20 61 72  ues for DEBUG ar
1480: 65 3a 0a 23 0a 23 20 30 20 3d 3d 20 4e 44 45 42  e:.#.# 0 == NDEB
1490: 55 47 3a 20 44 69 73 61 62 6c 65 73 20 61 73 73  UG: Disables ass
14a0: 65 72 74 28 29 20 61 6e 64 20 6f 74 68 65 72 20  ert() and other 
14b0: 72 75 6e 74 69 6d 65 20 64 69 61 67 6e 6f 73 74  runtime diagnost
14c0: 69 63 73 2e 0a 23 20 31 20 3d 3d 20 53 51 4c 49  ics..# 1 == SQLI
14d0: 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41 52  TE_ENABLE_API_AR
14e0: 4d 4f 52 3a 20 65 78 74 72 61 20 61 74 74 65 6d  MOR: extra attem
14f0: 70 74 73 20 74 6f 20 64 65 74 65 63 74 20 6d 69  pts to detect mi
1500: 73 75 73 65 20 6f 66 20 74 68 65 20 41 50 49 2e  suse of the API.
1510: 0a 23 20 32 20 3d 3d 20 44 69 73 61 62 6c 65 73  .# 2 == Disables
1520: 20 4e 44 45 42 55 47 20 61 6e 64 20 61 6c 6c 20   NDEBUG and all 
1530: 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 61 6e  optimizations an
1540: 64 20 74 68 65 6e 20 65 6e 61 62 6c 65 73 20 50  d then enables P
1550: 44 42 73 2e 0a 23 20 33 20 3d 3d 20 53 51 4c 49  DBs..# 3 == SQLI
1560: 54 45 5f 44 45 42 55 47 3a 20 45 6e 61 62 6c 65  TE_DEBUG: Enable
1570: 73 20 76 61 72 69 6f 75 73 20 64 69 61 67 6e 6f  s various diagno
1580: 73 74 69 63 73 20 6d 65 73 73 61 67 65 73 20 61  stics messages a
1590: 6e 64 20 63 6f 64 65 2e 0a 23 20 34 20 3d 3d 20  nd code..# 4 == 
15a0: 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c  SQLITE_WIN32_MAL
15b0: 4c 4f 43 5f 56 41 4c 49 44 41 54 45 3a 20 56 61  LOC_VALIDATE: Va
15c0: 6c 69 64 61 74 65 20 74 68 65 20 57 69 6e 33 32  lidate the Win32
15d0: 20 6e 61 74 69 76 65 20 68 65 61 70 20 70 65 72   native heap per
15e0: 20 63 61 6c 6c 2e 0a 23 20 35 20 3d 3d 20 53 51   call..# 5 == SQ
15f0: 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f 54 52  LITE_DEBUG_OS_TR
1600: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
1610: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 4f 53 54  put from the OST
1620: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
1630: 20 36 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41   6 == SQLITE_ENA
1640: 42 4c 45 5f 49 4f 54 52 41 43 45 3a 20 45 6e 61  BLE_IOTRACE: Ena
1650: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
1660: 20 74 68 65 20 49 4f 54 52 41 43 45 28 29 20 6d   the IOTRACE() m
1670: 61 63 72 6f 73 2e 0a 23 0a 21 49 46 4e 44 45 46  acros..#.!IFNDEF
1680: 20 44 45 42 55 47 0a 44 45 42 55 47 20 3d 20 30   DEBUG.DEBUG = 0
1690: 0a 21 45 4e 44 49 46 0a 0a 23 20 45 6e 61 62 6c  .!ENDIF..# Enabl
16a0: 65 20 75 73 65 20 6f 66 20 61 76 61 69 6c 61 62  e use of availab
16b0: 6c 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  le compiler opti
16c0: 6d 69 7a 61 74 69 6f 6e 73 3f 20 20 4e 6f 72 6d  mizations?  Norm
16d0: 61 6c 6c 79 2c 20 74 68 69 73 20 73 68 6f 75 6c  ally, this shoul
16e0: 64 20 62 65 0a 23 20 6e 6f 6e 2d 7a 65 72 6f 2e  d be.# non-zero.
16f0: 20 20 53 65 74 74 69 6e 67 20 74 68 69 73 20 74    Setting this t
1700: 6f 20 7a 65 72 6f 2c 20 74 68 75 73 20 64 69 73  o zero, thus dis
1710: 61 62 6c 69 6e 67 20 61 6c 6c 20 63 6f 6d 70 69  abling all compi
1720: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
1730: 73 2c 0a 23 20 63 61 6e 20 62 65 20 75 73 65 66  s,.# can be usef
1740: 75 6c 20 66 6f 72 20 74 65 73 74 69 6e 67 2e 0a  ul for testing..
1750: 23 0a 21 49 46 4e 44 45 46 20 4f 50 54 49 4d 49  #.!IFNDEF OPTIMI
1760: 5a 41 54 49 4f 4e 53 0a 4f 50 54 49 4d 49 5a 41  ZATIONS.OPTIMIZA
1770: 54 49 4f 4e 53 20 3d 20 32 0a 21 45 4e 44 49 46  TIONS = 2.!ENDIF
1780: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20  ..# Set this to 
1790: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable 
17a0: 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20  support for the 
17b0: 73 65 73 73 69 6f 6e 20 65 78 74 65 6e 73 69 6f  session extensio
17c0: 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 45 53  n..#.!IFNDEF SES
17d0: 53 49 4f 4e 0a 53 45 53 53 49 4f 4e 20 3d 20 30  SION.SESSION = 0
17e0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
17f0: 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  he source code f
1800: 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64 20 62  ile to be used b
1810: 79 20 65 78 65 63 75 74 61 62 6c 65 73 20 61 6e  y executables an
1820: 64 20 6c 69 62 72 61 72 69 65 73 20 77 68 65 6e  d libraries when
1830: 0a 23 20 74 68 65 79 20 6e 65 65 64 20 74 68 65  .# they need the
1840: 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23   amalgamation..#
1850: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33  .!IFNDEF SQLITE3
1860: 43 0a 21 49 46 20 24 28 53 50 4c 49 54 5f 41 4d  C.!IF $(SPLIT_AM
1870: 41 4c 47 41 4d 41 54 49 4f 4e 29 21 3d 30 0a 53  ALGAMATION)!=0.S
1880: 51 4c 49 54 45 33 43 20 3d 20 73 71 6c 69 74 65  QLITE3C = sqlite
1890: 33 2d 61 6c 6c 2e 63 0a 21 45 4c 53 45 0a 53 51  3-all.c.!ELSE.SQ
18a0: 4c 49 54 45 33 43 20 3d 20 73 71 6c 69 74 65 33  LITE3C = sqlite3
18b0: 2e 63 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  .c.!ENDIF.!ENDIF
18c0: 0a 0a 23 20 53 65 74 20 74 68 65 20 69 6e 63 6c  ..# Set the incl
18d0: 75 64 65 20 63 6f 64 65 20 66 69 6c 65 20 74 6f  ude code file to
18e0: 20 62 65 20 75 73 65 64 20 62 79 20 65 78 65 63   be used by exec
18f0: 75 74 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 72  utables and libr
1900: 61 72 69 65 73 20 77 68 65 6e 0a 23 20 74 68 65  aries when.# the
1910: 79 20 6e 65 65 64 20 53 51 4c 69 74 65 2e 0a 23  y need SQLite..#
1920: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33  .!IFNDEF SQLITE3
1930: 48 0a 53 51 4c 49 54 45 33 48 20 3d 20 73 71 6c  H.SQLITE3H = sql
1940: 69 74 65 33 2e 68 0a 21 45 4e 44 49 46 0a 0a 23  ite3.h.!ENDIF..#
1950: 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d   This is the nam
1960: 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65  e to use for the
1970: 20 53 51 4c 69 74 65 20 64 79 6e 61 6d 69 63 20   SQLite dynamic 
1980: 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20 28 44 4c  link library (DL
1990: 4c 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51  L)..#.!IFNDEF SQ
19a0: 4c 49 54 45 33 44 4c 4c 0a 21 49 46 20 24 28 46  LITE3DLL.!IF $(F
19b0: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c  OR_WIN10)!=0.SQL
19c0: 49 54 45 33 44 4c 4c 20 3d 20 77 69 6e 73 71 6c  ITE3DLL = winsql
19d0: 69 74 65 33 2e 64 6c 6c 0a 21 45 4c 53 45 0a 53  ite3.dll.!ELSE.S
19e0: 51 4c 49 54 45 33 44 4c 4c 20 3d 20 73 71 6c 69  QLITE3DLL = sqli
19f0: 74 65 33 2e 64 6c 6c 0a 21 45 4e 44 49 46 0a 21  te3.dll.!ENDIF.!
1a00: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73  ENDIF..# This is
1a10: 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65   the name to use
1a20: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20   for the SQLite 
1a30: 69 6d 70 6f 72 74 20 6c 69 62 72 61 72 79 20 28  import library (
1a40: 4c 49 42 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  LIB)..#.!IFNDEF 
1a50: 53 51 4c 49 54 45 33 4c 49 42 0a 21 49 46 20 24  SQLITE3LIB.!IF $
1a60: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53  (FOR_WIN10)!=0.S
1a70: 51 4c 49 54 45 33 4c 49 42 20 3d 20 77 69 6e 73  QLITE3LIB = wins
1a80: 71 6c 69 74 65 33 2e 6c 69 62 0a 21 45 4c 53 45  qlite3.lib.!ELSE
1a90: 0a 53 51 4c 49 54 45 33 4c 49 42 20 3d 20 73 71  .SQLITE3LIB = sq
1aa0: 6c 69 74 65 33 2e 6c 69 62 0a 21 45 4e 44 49 46  lite3.lib.!ENDIF
1ab0: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20  .!ENDIF..# This 
1ac0: 69 73 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75  is the name to u
1ad0: 73 65 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74  se for the SQLit
1ae0: 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62  e shell executab
1af0: 6c 65 20 28 45 58 45 29 2e 0a 23 0a 21 49 46 4e  le (EXE)..#.!IFN
1b00: 44 45 46 20 53 51 4c 49 54 45 33 45 58 45 0a 21  DEF SQLITE3EXE.!
1b10: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  IF $(FOR_WIN10)!
1b20: 3d 30 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20  =0.SQLITE3EXE = 
1b30: 77 69 6e 73 71 6c 69 74 65 33 73 68 65 6c 6c 2e  winsqlite3shell.
1b40: 65 78 65 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45  exe.!ELSE.SQLITE
1b50: 33 45 58 45 20 3d 20 73 71 6c 69 74 65 33 2e 65  3EXE = sqlite3.e
1b60: 78 65 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  xe.!ENDIF.!ENDIF
1b70: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20  ..# This is the 
1b80: 61 72 67 75 6d 65 6e 74 20 75 73 65 64 20 74 6f  argument used to
1b90: 20 73 65 74 20 74 68 65 20 70 72 6f 67 72 61 6d   set the program
1ba0: 20 64 61 74 61 62 61 73 65 20 28 50 44 42 29 20   database (PDB) 
1bb0: 66 69 6c 65 20 66 6f 72 20 74 68 65 0a 23 20 53  file for the.# S
1bc0: 51 4c 69 74 65 20 73 68 65 6c 6c 20 65 78 65 63  QLite shell exec
1bd0: 75 74 61 62 6c 65 20 28 45 58 45 29 2e 0a 23 0a  utable (EXE)..#.
1be0: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 45  !IFNDEF SQLITE3E
1bf0: 58 45 50 44 42 0a 21 49 46 20 24 28 46 4f 52 5f  XEPDB.!IF $(FOR_
1c00: 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54 45  WIN10)!=0.SQLITE
1c10: 33 45 58 45 50 44 42 20 3d 0a 21 45 4c 53 45 0a  3EXEPDB =.!ELSE.
1c20: 53 51 4c 49 54 45 33 45 58 45 50 44 42 20 3d 20  SQLITE3EXEPDB = 
1c30: 2f 70 64 62 3a 73 71 6c 69 74 65 33 73 68 2e 70  /pdb:sqlite3sh.p
1c40: 64 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  db.!ENDIF.!ENDIF
1c50: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54  ..# <<mark>>.# T
1c60: 68 65 73 65 20 61 72 65 20 74 68 65 20 6e 61 6d  hese are the nam
1c70: 65 73 20 6f 66 20 74 68 65 20 63 75 73 74 6f 6d  es of the custom
1c80: 69 7a 65 64 20 54 63 6c 20 68 65 61 64 65 72 20  ized Tcl header 
1c90: 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 76 61  files used by va
1ca0: 72 69 6f 75 73 20 70 61 72 74 73 0a 23 20 6f 66  rious parts.# of
1cb0: 20 74 68 69 73 20 6d 61 6b 65 66 69 6c 65 20 77   this makefile w
1cc0: 68 65 6e 20 74 68 65 20 73 74 64 63 61 6c 6c 20  hen the stdcall 
1cd0: 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69  calling conventi
1ce0: 6f 6e 20 69 73 20 69 6e 20 75 73 65 2e 20 20 49  on is in use.  I
1cf0: 74 20 69 73 20 6e 6f 74 0a 23 20 75 73 65 64 20  t is not.# used 
1d00: 66 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 70 75  for any other pu
1d10: 72 70 6f 73 65 2e 0a 23 0a 21 49 46 4e 44 45 46  rpose..#.!IFNDEF
1d20: 20 53 51 4c 49 54 45 54 43 4c 48 0a 53 51 4c 49   SQLITETCLH.SQLI
1d30: 54 45 54 43 4c 48 20 3d 20 73 71 6c 69 74 65 5f  TETCLH = sqlite_
1d40: 74 63 6c 2e 68 0a 21 45 4e 44 49 46 0a 0a 21 49  tcl.h.!ENDIF..!I
1d50: 46 4e 44 45 46 20 53 51 4c 49 54 45 54 43 4c 44  FNDEF SQLITETCLD
1d60: 45 43 4c 53 48 0a 53 51 4c 49 54 45 54 43 4c 44  ECLSH.SQLITETCLD
1d70: 45 43 4c 53 48 20 3d 20 73 71 6c 69 74 65 5f 74  ECLSH = sqlite_t
1d80: 63 6c 44 65 63 6c 73 2e 68 0a 21 45 4e 44 49 46  clDecls.h.!ENDIF
1d90: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20  ..# This is the 
1da0: 6e 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20  name to use for 
1db0: 74 68 65 20 64 79 6e 61 6d 69 63 20 6c 69 6e 6b  the dynamic link
1dc0: 20 6c 69 62 72 61 72 79 20 28 44 4c 4c 29 20 63   library (DLL) c
1dd0: 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 0a 23 20  ontaining the.# 
1de0: 54 63 6c 20 62 69 6e 64 69 6e 67 73 20 66 6f 72  Tcl bindings for
1df0: 20 53 51 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44   SQLite..#.!IFND
1e00: 45 46 20 53 51 4c 49 54 45 33 54 43 4c 44 4c 4c  EF SQLITE3TCLDLL
1e10: 0a 53 51 4c 49 54 45 33 54 43 4c 44 4c 4c 20 3d  .SQLITE3TCLDLL =
1e20: 20 74 63 6c 73 71 6c 69 74 65 33 2e 64 6c 6c 0a   tclsqlite3.dll.
1e30: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20  !ENDIF..# These 
1e40: 61 72 65 20 74 68 65 20 61 64 64 69 74 69 6f 6e  are the addition
1e50: 61 6c 20 74 61 72 67 65 74 73 20 74 68 61 74 20  al targets that 
1e60: 74 68 65 20 74 61 72 67 65 74 73 20 74 68 61 74  the targets that
1e70: 20 69 6e 74 65 67 72 61 74 65 20 77 69 74 68 20   integrate with 
1e80: 74 68 65 0a 23 20 54 63 6c 20 6c 69 62 72 61 72  the.# Tcl librar
1e90: 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e 64 20  y should depend 
1ea0: 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  on when compilin
1eb0: 67 2c 20 65 74 63 2e 0a 23 0a 21 49 46 4e 44 45  g, etc..#.!IFNDE
1ec0: 46 20 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50  F SQLITE_TCL_DEP
1ed0: 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41  .!IF $(USE_STDCA
1ee0: 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f  LL)!=0 || $(FOR_
1ef0: 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54 45  WIN10)!=0.SQLITE
1f00: 5f 54 43 4c 5f 44 45 50 20 3d 20 24 28 53 51 4c  _TCL_DEP = $(SQL
1f10: 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20 24 28  ITETCLDECLSH) $(
1f20: 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45 4c 53  SQLITETCLH).!ELS
1f30: 45 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50  E.SQLITE_TCL_DEP
1f40: 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46   =.!ENDIF.!ENDIF
1f50: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20  .# <</mark>>..# 
1f60: 54 68 65 73 65 20 61 72 65 20 74 68 65 20 22 73  These are the "s
1f70: 74 61 6e 64 61 72 64 22 20 53 51 4c 69 74 65 20  tandard" SQLite 
1f80: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69  compilation opti
1f90: 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20 63 6f  ons used when co
1fa0: 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74 68  mpiling for.# th
1fb0: 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f  e Windows platfo
1fc0: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4f 50  rm..#.!IFNDEF OP
1fd0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 0a  T_FEATURE_FLAGS.
1fe0: 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f 41 4d  !IF $(MINIMAL_AM
1ff0: 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 4f  ALGAMATION)==0.O
2000: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
2010: 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45   = $(OPT_FEATURE
2020: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
2030: 5f 45 4e 41 42 4c 45 5f 46 54 53 33 3d 31 0a 4f  _ENABLE_FTS3=1.O
2040: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
2050: 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45   = $(OPT_FEATURE
2060: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
2070: 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 3d 31 0a  _ENABLE_RTREE=1.
2080: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
2090: 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52  S = $(OPT_FEATUR
20a0: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
20b0: 45 5f 45 4e 41 42 4c 45 5f 47 45 4f 50 4f 4c 59  E_ENABLE_GEOPOLY
20c0: 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46  =1.OPT_FEATURE_F
20d0: 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41  LAGS = $(OPT_FEA
20e0: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
20f0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e  LITE_ENABLE_JSON
2100: 31 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f  1=1.OPT_FEATURE_
2110: 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45  FLAGS = $(OPT_FE
2120: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  ATURE_FLAGS) -DS
2130: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 4d  QLITE_ENABLE_STM
2140: 54 56 54 41 42 3d 31 0a 4f 50 54 5f 46 45 41 54  TVTAB=1.OPT_FEAT
2150: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50  URE_FLAGS = $(OP
2160: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
2170: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
2180: 5f 44 42 50 41 47 45 5f 56 54 41 42 3d 31 0a 4f  _DBPAGE_VTAB=1.O
2190: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
21a0: 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45   = $(OPT_FEATURE
21b0: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
21c0: 5f 45 4e 41 42 4c 45 5f 44 42 53 54 41 54 5f 56  _ENABLE_DBSTAT_V
21d0: 54 41 42 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52  TAB=1.OPT_FEATUR
21e0: 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f  E_FLAGS = $(OPT_
21f0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
2200: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44  DSQLITE_ENABLE_D
2210: 45 53 45 52 49 41 4c 49 5a 45 3d 31 0a 21 45 4e  ESERIALIZE=1.!EN
2220: 44 49 46 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f  DIF.OPT_FEATURE_
2230: 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45  FLAGS = $(OPT_FE
2240: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  ATURE_FLAGS) -DS
2250: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 43 4f 4c  QLITE_ENABLE_COL
2260: 55 4d 4e 5f 4d 45 54 41 44 41 54 41 3d 31 0a 21  UMN_METADATA=1.!
2270: 45 4e 44 49 46 0a 0a 23 20 53 68 6f 75 6c 64 20  ENDIF..# Should 
2280: 74 68 65 20 73 65 73 73 69 6f 6e 20 65 78 74 65  the session exte
2290: 6e 73 69 6f 6e 20 62 65 20 65 6e 61 62 6c 65 64  nsion be enabled
22a0: 3f 20 20 49 66 20 73 6f 2c 20 61 64 64 20 63 6f  ?  If so, add co
22b0: 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e  mpilation option
22c0: 73 0a 23 20 74 6f 20 65 6e 61 62 6c 65 20 69 74  s.# to enable it
22d0: 2e 0a 23 0a 21 49 46 20 24 28 53 45 53 53 49 4f  ..#.!IF $(SESSIO
22e0: 4e 29 21 3d 30 0a 4f 50 54 5f 46 45 41 54 55 52  N)!=0.OPT_FEATUR
22f0: 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f  E_FLAGS = $(OPT_
2300: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
2310: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53  DSQLITE_ENABLE_S
2320: 45 53 53 49 4f 4e 3d 31 0a 4f 50 54 5f 46 45 41  ESSION=1.OPT_FEA
2330: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f  TURE_FLAGS = $(O
2340: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
2350: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
2360: 45 5f 50 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b  E_PREUPDATE_HOOK
2370: 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65  =1.!ENDIF..# The
2380: 73 65 20 61 72 65 20 74 68 65 20 22 65 78 74 65  se are the "exte
2390: 6e 64 65 64 22 20 53 51 4c 69 74 65 20 63 6f 6d  nded" SQLite com
23a0: 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73  pilation options
23b0: 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70 69   used when compi
23c0: 6c 69 6e 67 20 66 6f 72 0a 23 20 74 68 65 20 57  ling for.# the W
23d0: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
23e0: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 45 58  rm..#.!IFNDEF EX
23f0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 0a  T_FEATURE_FLAGS.
2400: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29  !IF $(FOR_WIN10)
2410: 21 3d 30 0a 45 58 54 5f 46 45 41 54 55 52 45 5f  !=0.EXT_FEATURE_
2420: 46 4c 41 47 53 20 3d 20 24 28 45 58 54 5f 46 45  FLAGS = $(EXT_FE
2430: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  ATURE_FLAGS) -DS
2440: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53  QLITE_ENABLE_FTS
2450: 34 3d 31 0a 45 58 54 5f 46 45 41 54 55 52 45 5f  4=1.EXT_FEATURE_
2460: 46 4c 41 47 53 20 3d 20 24 28 45 58 54 5f 46 45  FLAGS = $(EXT_FE
2470: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  ATURE_FLAGS) -DS
2480: 51 4c 49 54 45 5f 53 59 53 54 45 4d 5f 4d 41 4c  QLITE_SYSTEM_MAL
2490: 4c 4f 43 3d 31 0a 45 58 54 5f 46 45 41 54 55 52  LOC=1.EXT_FEATUR
24a0: 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 58 54 5f  E_FLAGS = $(EXT_
24b0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
24c0: 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 43  DSQLITE_OMIT_LOC
24d0: 41 4c 54 49 4d 45 3d 31 0a 21 45 4c 53 45 0a 45  ALTIME=1.!ELSE.E
24e0: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
24f0: 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46   =.!ENDIF.!ENDIF
2500: 0a 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ..##############
2510: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2520: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2530: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2540: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2550: 23 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  #.##############
2560: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2570: 23 20 45 4e 44 20 4f 46 20 4f 50 54 49 4f 4e 53  # END OF OPTIONS
2580: 20 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23   ###############
2590: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
25a0: 23 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  #.##############
25b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
25c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
25d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
25e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
25f0: 23 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c  #..# When compil
2600: 69 6e 67 20 66 6f 72 20 74 68 65 20 57 69 6e 64  ing for the Wind
2610: 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 2c  ows 10 platform,
2620: 20 74 68 65 20 50 4c 41 54 46 4f 52 4d 20 6d 61   the PLATFORM ma
2630: 63 72 6f 20 6d 75 73 74 20 62 65 20 73 65 74 0a  cro must be set.
2640: 23 20 74 6f 20 61 6e 20 61 70 70 72 6f 70 72 69  # to an appropri
2650: 61 74 65 20 76 61 6c 75 65 20 28 65 2e 67 2e 20  ate value (e.g. 
2660: 78 38 36 2c 20 78 36 34 2c 20 61 72 6d 2c 20 61  x86, x64, arm, a
2670: 72 6d 36 34 2c 20 65 74 63 29 2e 0a 23 0a 21 49  rm64, etc)..#.!I
2680: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!=
2690: 30 0a 21 49 46 4e 44 45 46 20 50 4c 41 54 46 4f  0.!IFNDEF PLATFO
26a0: 52 4d 0a 21 45 52 52 4f 52 20 55 73 69 6e 67 20  RM.!ERROR Using 
26b0: 74 68 65 20 46 4f 52 5f 57 49 4e 31 30 20 6f 70  the FOR_WIN10 op
26c0: 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20 61 20  tion requires a 
26d0: 76 61 6c 75 65 20 66 6f 72 20 50 4c 41 54 46 4f  value for PLATFO
26e0: 52 4d 2e 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  RM..!ENDIF.!ENDI
26f0: 46 0a 0a 23 20 54 68 69 73 20 61 73 73 75 6d 65  F..# This assume
2700: 73 20 74 68 61 74 20 4d 53 56 43 20 69 73 20 61  s that MSVC is a
2710: 6c 77 61 79 73 20 69 6e 73 74 61 6c 6c 65 64 20  lways installed 
2720: 69 6e 20 33 32 2d 62 69 74 20 50 72 6f 67 72 61  in 32-bit Progra
2730: 6d 20 46 69 6c 65 73 20 64 69 72 65 63 74 6f 72  m Files director
2740: 79 0a 23 20 61 6e 64 20 73 65 74 73 20 74 68 65  y.# and sets the
2750: 20 76 61 72 69 61 62 6c 65 20 66 6f 72 20 75 73   variable for us
2760: 65 20 69 6e 20 6c 6f 63 61 74 69 6e 67 20 6f 74  e in locating ot
2770: 68 65 72 20 33 32 2d 62 69 74 20 69 6e 73 74 61  her 32-bit insta
2780: 6c 6c 73 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e  lls accordingly.
2790: 0a 23 0a 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f  .#.PROGRAMFILES_
27a0: 58 38 36 20 3d 20 24 28 56 43 49 4e 53 54 41 4c  X86 = $(VCINSTAL
27b0: 4c 44 49 52 29 5c 2e 2e 5c 2e 2e 0a 50 52 4f 47  LDIR)\..\...PROG
27c0: 52 41 4d 46 49 4c 45 53 5f 58 38 36 20 3d 20 24  RAMFILES_X86 = $
27d0: 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38  (PROGRAMFILES_X8
27e0: 36 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b  6:\\=\)..# Check
27f0: 20 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 69   for the predefi
2800: 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72  ned command macr
2810: 6f 20 43 43 2e 20 20 54 68 69 73 20 73 68 6f 75  o CC.  This shou
2820: 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20  ld point to the 
2830: 63 6f 6d 70 69 6c 65 72 0a 23 20 62 69 6e 61 72  compiler.# binar
2840: 79 20 66 6f 72 20 74 68 65 20 74 61 72 67 65 74  y for the target
2850: 20 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66 20 69   platform.  If i
2860: 74 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64  t is not defined
2870: 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20  , simply define 
2880: 69 74 20 74 6f 0a 23 20 74 68 65 20 6c 65 67 61  it to.# the lega
2890: 63 79 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65  cy default value
28a0: 20 27 63 6c 2e 65 78 65 27 2e 0a 23 0a 21 49 46   'cl.exe'..#.!IF
28b0: 4e 44 45 46 20 43 43 0a 43 43 20 3d 20 63 6c 2e  NDEF CC.CC = cl.
28c0: 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68  exe.!ENDIF..# Ch
28d0: 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72 65 64  eck for the pred
28e0: 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d  efined command m
28f0: 61 63 72 6f 20 43 53 43 2e 20 20 54 68 69 73 20  acro CSC.  This 
2900: 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20  should point to 
2910: 61 20 77 6f 72 6b 69 6e 67 0a 23 20 43 20 53 68  a working.# C Sh
2920: 61 72 70 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e  arp compiler bin
2930: 61 72 79 2e 20 20 49 66 20 69 74 20 69 73 20 6e  ary.  If it is n
2940: 6f 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70  ot defined, simp
2950: 6c 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20  ly define it to 
2960: 74 68 65 0a 23 20 6c 65 67 61 63 79 20 64 65 66  the.# legacy def
2970: 61 75 6c 74 20 76 61 6c 75 65 20 27 63 73 63 2e  ault value 'csc.
2980: 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20  exe'..#.!IFNDEF 
2990: 43 53 43 0a 43 53 43 20 3d 20 63 73 63 2e 65 78  CSC.CSC = csc.ex
29a0: 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63  e.!ENDIF..# Chec
29b0: 6b 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e  k for the comman
29c0: 64 20 6d 61 63 72 6f 20 4c 44 2e 20 20 54 68 69  d macro LD.  Thi
29d0: 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74  s should point t
29e0: 6f 20 74 68 65 20 6c 69 6e 6b 65 72 20 62 69 6e  o the linker bin
29f0: 61 72 79 20 66 6f 72 0a 23 20 74 68 65 20 74 61  ary for.# the ta
2a00: 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20  rget platform.  
2a10: 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66  If it is not def
2a20: 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66  ined, simply def
2a30: 69 6e 65 20 69 74 20 74 6f 20 74 68 65 20 6c 65  ine it to the le
2a40: 67 61 63 79 0a 23 20 64 65 66 61 75 6c 74 20 76  gacy.# default v
2a50: 61 6c 75 65 20 27 6c 69 6e 6b 2e 65 78 65 27 2e  alue 'link.exe'.
2a60: 0a 23 0a 21 49 46 4e 44 45 46 20 4c 44 0a 4c 44  .#.!IFNDEF LD.LD
2a70: 20 3d 20 6c 69 6e 6b 2e 65 78 65 0a 21 45 4e 44   = link.exe.!END
2a80: 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20  IF..# Check for 
2a90: 74 68 65 20 70 72 65 64 65 66 69 6e 65 64 20 63  the predefined c
2aa0: 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 52 43 2e  ommand macro RC.
2ab0: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f    This should po
2ac0: 69 6e 74 20 74 6f 20 74 68 65 20 72 65 73 6f 75  int to the resou
2ad0: 72 63 65 0a 23 20 63 6f 6d 70 69 6c 65 72 20 62  rce.# compiler b
2ae0: 69 6e 61 72 79 20 66 6f 72 20 74 68 65 20 74 61  inary for the ta
2af0: 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20  rget platform.  
2b00: 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66  If it is not def
2b10: 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66  ined, simply def
2b20: 69 6e 65 0a 23 20 69 74 20 74 6f 20 74 68 65 20  ine.# it to the 
2b30: 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74 20 76  legacy default v
2b40: 61 6c 75 65 20 27 72 63 2e 65 78 65 27 2e 0a 23  alue 'rc.exe'..#
2b50: 0a 21 49 46 4e 44 45 46 20 52 43 0a 52 43 20 3d  .!IFNDEF RC.RC =
2b60: 20 72 63 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a   rc.exe.!ENDIF..
2b70: 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20  # Check for the 
2b80: 4d 53 56 43 20 72 75 6e 74 69 6d 65 20 6c 69 62  MSVC runtime lib
2b90: 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e  rary path macro.
2ba0: 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 69    Otherwise, thi
2bb0: 73 20 76 61 6c 75 65 20 77 69 6c 6c 0a 23 20 64  s value will.# d
2bc0: 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27 6c  efault to the 'l
2bd0: 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 75 6e  ib' directory un
2be0: 64 65 72 6e 65 61 74 68 20 74 68 65 20 4d 53 56  derneath the MSV
2bf0: 43 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64  C installation d
2c00: 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46 4e  irectory..#.!IFN
2c10: 44 45 46 20 43 52 54 4c 49 42 50 41 54 48 0a 43  DEF CRTLIBPATH.C
2c20: 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 56 43  RTLIBPATH = $(VC
2c30: 49 4e 53 54 41 4c 4c 44 49 52 29 5c 6c 69 62 0a  INSTALLDIR)\lib.
2c40: 21 45 4e 44 49 46 0a 0a 43 52 54 4c 49 42 50 41  !ENDIF..CRTLIBPA
2c50: 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54  TH = $(CRTLIBPAT
2c60: 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b  H:\\=\)..# Check
2c70: 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64   for the command
2c80: 20 6d 61 63 72 6f 20 4e 43 43 2e 20 20 54 68 69   macro NCC.  Thi
2c90: 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74  s should point t
2ca0: 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 62  o the compiler b
2cb0: 69 6e 61 72 79 0a 23 20 66 6f 72 20 74 68 65 20  inary.# for the 
2cc0: 70 6c 61 74 66 6f 72 6d 20 74 68 65 20 63 6f 6d  platform the com
2cd0: 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73 73  pilation process
2ce0: 20 69 73 20 74 61 6b 69 6e 67 20 70 6c 61 63 65   is taking place
2cf0: 20 6f 6e 2e 20 20 49 66 20 69 74 20 69 73 20 6e   on.  If it is n
2d00: 6f 74 0a 23 20 64 65 66 69 6e 65 64 2c 20 73 69  ot.# defined, si
2d10: 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74 20 74  mply define it t
2d20: 6f 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20  o have the same 
2d30: 76 61 6c 75 65 20 61 73 20 74 68 65 20 43 43 20  value as the CC 
2d40: 6d 61 63 72 6f 2e 20 20 57 68 65 6e 0a 23 20 63  macro.  When.# c
2d50: 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 2c 20  ross-compiling, 
2d60: 69 74 20 69 73 20 73 75 67 67 65 73 74 65 64 20  it is suggested 
2d70: 74 68 61 74 20 74 68 69 73 20 6d 61 63 72 6f 20  that this macro 
2d80: 62 65 20 6d 6f 64 69 66 69 65 64 20 76 69 61 20  be modified via 
2d90: 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69  the command.# li
2da0: 6e 65 20 28 73 69 6e 63 65 20 6e 6d 61 6b 65 20  ne (since nmake 
2db0: 69 74 73 65 6c 66 20 64 6f 65 73 20 6e 6f 74 20  itself does not 
2dc0: 70 72 6f 76 69 64 65 20 61 20 62 75 69 6c 74 2d  provide a built-
2dd0: 69 6e 20 6d 65 74 68 6f 64 20 74 6f 20 67 75 65  in method to gue
2de0: 73 73 20 69 74 29 2e 0a 23 20 46 6f 72 20 65 78  ss it)..# For ex
2df0: 61 6d 70 6c 65 2c 20 74 6f 20 75 73 65 20 74 68  ample, to use th
2e00: 65 20 78 38 36 20 63 6f 6d 70 69 6c 65 72 20 77  e x86 compiler w
2e10: 68 65 6e 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c  hen cross-compil
2e20: 69 6e 67 20 66 6f 72 20 78 36 34 2c 20 61 20 63  ing for x64, a c
2e30: 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 20 73 69  ommand.# line si
2e40: 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 66 6f 6c  milar to the fol
2e50: 6c 6f 77 69 6e 67 20 63 6f 75 6c 64 20 62 65 20  lowing could be 
2e60: 75 73 65 64 20 28 61 6c 6c 20 6f 6e 20 6f 6e 65  used (all on one
2e70: 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20 20 20 20   line):.#.#     
2e80: 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c  nmake /f Makefil
2e90: 65 2e 6d 73 63 20 73 71 6c 69 74 65 33 2e 64 6c  e.msc sqlite3.dl
2ea0: 6c 0a 23 20 20 20 20 20 20 20 20 20 20 20 58 43  l.#           XC
2eb0: 4f 4d 50 49 4c 45 3d 31 20 55 53 45 5f 4e 41 54  OMPILE=1 USE_NAT
2ec0: 49 56 45 5f 4c 49 42 50 41 54 48 53 3d 31 0a 23  IVE_LIBPATHS=1.#
2ed0: 0a 23 20 41 6c 74 65 72 6e 61 74 69 76 65 6c 79  .# Alternatively
2ee0: 2c 20 74 68 65 20 66 75 6c 6c 20 70 61 74 68 20  , the full path 
2ef0: 61 6e 64 20 66 69 6c 65 20 6e 61 6d 65 20 74 6f  and file name to
2f00: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 62 69   the compiler bi
2f10: 6e 61 72 79 20 66 6f 72 20 74 68 65 0a 23 20 70  nary for the.# p
2f20: 6c 61 74 66 6f 72 6d 20 74 68 65 20 63 6f 6d 70  latform the comp
2f30: 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73 73 20  ilation process 
2f40: 69 73 20 74 61 6b 69 6e 67 20 70 6c 61 63 65 20  is taking place 
2f50: 6d 61 79 20 62 65 20 73 70 65 63 69 66 69 65 64  may be specified
2f60: 20 28 61 6c 6c 20 6f 6e 0a 23 20 6f 6e 65 20 6c   (all on.# one l
2f70: 69 6e 65 29 3a 0a 23 0a 23 20 20 20 20 20 6e 6d  ine):.#.#     nm
2f80: 61 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e  ake /f Makefile.
2f90: 6d 73 63 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a  msc sqlite3.dll.
2fa0: 23 20 20 20 20 20 20 20 20 20 20 20 22 4e 43 43  #           "NCC
2fb0: 3d 22 22 25 56 43 49 4e 53 54 41 4c 4c 44 49 52  =""%VCINSTALLDIR
2fc0: 25 5c 62 69 6e 5c 63 6c 2e 65 78 65 22 22 22 0a  %\bin\cl.exe""".
2fd0: 23 20 20 20 20 20 20 20 20 20 20 20 55 53 45 5f  #           USE_
2fe0: 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 3d  NATIVE_LIBPATHS=
2ff0: 31 0a 23 0a 21 49 46 44 45 46 20 4e 43 43 0a 4e  1.#.!IFDEF NCC.N
3000: 43 43 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29  CC = $(NCC:\\=\)
3010: 0a 21 45 4c 53 45 49 46 20 24 28 58 43 4f 4d 50  .!ELSEIF $(XCOMP
3020: 49 4c 45 29 21 3d 30 0a 4e 43 43 20 3d 20 22 24  ILE)!=0.NCC = "$
3030: 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c 62  (VCINSTALLDIR)\b
3040: 69 6e 5c 24 28 43 43 29 22 0a 4e 43 43 20 3d 20  in\$(CC)".NCC = 
3050: 24 28 4e 43 43 3a 5c 5c 3d 5c 29 0a 21 45 4c 53  $(NCC:\\=\).!ELS
3060: 45 0a 4e 43 43 20 3d 20 24 28 43 43 29 0a 21 45  E.NCC = $(CC).!E
3070: 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f  NDIF..# Check fo
3080: 72 20 74 68 65 20 4d 53 56 43 20 6e 61 74 69 76  r the MSVC nativ
3090: 65 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72  e runtime librar
30a0: 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f  y path macro.  O
30b0: 74 68 65 72 77 69 73 65 2c 0a 23 20 74 68 69 73  therwise,.# this
30c0: 20 76 61 6c 75 65 20 77 69 6c 6c 20 64 65 66 61   value will defa
30d0: 75 6c 74 20 74 6f 20 74 68 65 20 27 6c 69 62 27  ult to the 'lib'
30e0: 20 64 69 72 65 63 74 6f 72 79 20 75 6e 64 65 72   directory under
30f0: 6e 65 61 74 68 20 74 68 65 20 4d 53 56 43 0a 23  neath the MSVC.#
3100: 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69   installation di
3110: 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44  rectory..#.!IFND
3120: 45 46 20 4e 43 52 54 4c 49 42 50 41 54 48 0a 4e  EF NCRTLIBPATH.N
3130: 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 56  CRTLIBPATH = $(V
3140: 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c 6c 69 62  CINSTALLDIR)\lib
3150: 0a 21 45 4e 44 49 46 0a 0a 4e 43 52 54 4c 49 42  .!ENDIF..NCRTLIB
3160: 50 41 54 48 20 3d 20 24 28 4e 43 52 54 4c 49 42  PATH = $(NCRTLIB
3170: 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68  PATH:\\=\)..# Ch
3180: 65 63 6b 20 66 6f 72 20 74 68 65 20 50 6c 61 74  eck for the Plat
3190: 66 6f 72 6d 20 53 44 4b 20 6c 69 62 72 61 72 79  form SDK library
31a0: 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74   path macro.  Ot
31b0: 68 65 72 77 69 73 65 2c 20 74 68 69 73 0a 23 20  herwise, this.# 
31c0: 76 61 6c 75 65 20 77 69 6c 6c 20 64 65 66 61 75  value will defau
31d0: 6c 74 20 74 6f 20 74 68 65 20 27 6c 69 62 27 20  lt to the 'lib' 
31e0: 64 69 72 65 63 74 6f 72 79 20 75 6e 64 65 72 6e  directory undern
31f0: 65 61 74 68 20 74 68 65 20 57 69 6e 64 6f 77 73  eath the Windows
3200: 0a 23 20 53 44 4b 20 69 6e 73 74 61 6c 6c 61 74  .# SDK installat
3210: 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 20 28 74  ion directory (t
3220: 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76  he environment v
3230: 61 72 69 61 62 6c 65 20 75 73 65 64 20 61 70 70  ariable used app
3240: 65 61 72 73 0a 23 20 74 6f 20 62 65 20 61 76 61  ears.# to be ava
3250: 69 6c 61 62 6c 65 20 77 68 65 6e 20 75 73 69 6e  ilable when usin
3260: 67 20 56 69 73 75 61 6c 20 43 2b 2b 20 32 30 30  g Visual C++ 200
3270: 38 20 6f 72 20 6c 61 74 65 72 20 76 69 61 20 74  8 or later via t
3280: 68 65 0a 23 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e  he.# command lin
3290: 65 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e 53  e)..#.!IFNDEF NS
32a0: 44 4b 4c 49 42 50 41 54 48 0a 4e 53 44 4b 4c 49  DKLIBPATH.NSDKLI
32b0: 42 50 41 54 48 20 3d 20 24 28 57 49 4e 44 4f 57  BPATH = $(WINDOW
32c0: 53 53 44 4b 44 49 52 29 5c 6c 69 62 0a 21 45 4e  SSDKDIR)\lib.!EN
32d0: 44 49 46 0a 0a 4e 53 44 4b 4c 49 42 50 41 54 48  DIF..NSDKLIBPATH
32e0: 20 3d 20 24 28 4e 53 44 4b 4c 49 42 50 41 54 48   = $(NSDKLIBPATH
32f0: 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20  :\\=\)..# Check 
3300: 66 6f 72 20 74 68 65 20 55 43 52 54 20 6c 69 62  for the UCRT lib
3310: 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e  rary path macro.
3320: 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 69    Otherwise, thi
3330: 73 20 76 61 6c 75 65 20 77 69 6c 6c 0a 23 20 64  s value will.# d
3340: 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 76 65  efault to the ve
3350: 72 73 69 6f 6e 2d 73 70 65 63 69 66 69 63 2c 20  rsion-specific, 
3360: 70 6c 61 74 66 6f 72 6d 2d 73 70 65 63 69 66 69  platform-specifi
3370: 63 20 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72  c 'lib' director
3380: 79 0a 23 20 75 6e 64 65 72 6e 65 61 74 68 20 74  y.# underneath t
3390: 68 65 20 57 69 6e 64 6f 77 73 20 53 44 4b 20 69  he Windows SDK i
33a0: 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65  nstallation dire
33b0: 63 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46  ctory..#.!IFNDEF
33c0: 20 55 43 52 54 4c 49 42 50 41 54 48 0a 55 43 52   UCRTLIBPATH.UCR
33d0: 54 4c 49 42 50 41 54 48 20 3d 20 24 28 57 49 4e  TLIBPATH = $(WIN
33e0: 44 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69 62 5c  DOWSSDKDIR)\lib\
33f0: 24 28 57 49 4e 44 4f 57 53 53 44 4b 4c 49 42 56  $(WINDOWSSDKLIBV
3400: 45 52 53 49 4f 4e 29 5c 75 63 72 74 5c 24 28 50  ERSION)\ucrt\$(P
3410: 4c 41 54 46 4f 52 4d 29 0a 21 45 4e 44 49 46 0a  LATFORM).!ENDIF.
3420: 0a 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24  .UCRTLIBPATH = $
3430: 28 55 43 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d  (UCRTLIBPATH:\\=
3440: 5c 29 0a 0a 23 20 43 20 63 6f 6d 70 69 6c 65 72  \)..# C compiler
3450: 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66 6f 72   and options for
3460: 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69 6e 67   use in building
3470: 20 65 78 65 63 75 74 61 62 6c 65 73 20 74 68 61   executables tha
3480: 74 0a 23 20 77 69 6c 6c 20 72 75 6e 20 6f 6e 20  t.# will run on 
3490: 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 61  the platform tha
34a0: 74 20 69 73 20 64 6f 69 6e 67 20 74 68 65 20 62  t is doing the b
34b0: 75 69 6c 64 2e 0a 23 0a 21 49 46 20 24 28 55 53  uild..#.!IF $(US
34c0: 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 42  E_FULLWARN)!=0.B
34d0: 43 43 20 3d 20 24 28 4e 43 43 29 20 2d 6e 6f 6c  CC = $(NCC) -nol
34e0: 6f 67 6f 20 2d 57 34 20 2d 46 64 24 2a 2e 70 64  ogo -W4 -Fd$*.pd
34f0: 62 20 24 28 43 43 4f 50 54 53 29 20 24 28 42 43  b $(CCOPTS) $(BC
3500: 43 4f 50 54 53 29 0a 21 45 4c 53 45 0a 42 43 43  COPTS).!ELSE.BCC
3510: 20 3d 20 24 28 4e 43 43 29 20 2d 6e 6f 6c 6f 67   = $(NCC) -nolog
3520: 6f 20 2d 57 33 20 2d 46 64 24 2a 2e 70 64 62 20  o -W3 -Fd$*.pdb 
3530: 24 28 43 43 4f 50 54 53 29 20 24 28 42 43 43 4f  $(CCOPTS) $(BCCO
3540: 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43  PTS).!ENDIF..# C
3550: 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c 79  heck if assembly
3560: 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20 73   code listings s
3570: 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61 74  hould be generat
3580: 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63  ed for the sourc
3590: 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20 74  e.# code files t
35a0: 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a 23  o be compiled..#
35b0: 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54 49  .!IF $(USE_LISTI
35c0: 4e 47 53 29 21 3d 30 0a 42 43 43 20 3d 20 24 28  NGS)!=0.BCC = $(
35d0: 42 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44 49  BCC) -FAcs.!ENDI
35e0: 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 74 68  F..# Check if th
35f0: 65 20 6e 61 74 69 76 65 20 6c 69 62 72 61 72 79  e native library
3600: 20 70 61 74 68 73 20 73 68 6f 75 6c 64 20 62 65   paths should be
3610: 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70 69   used when compi
3620: 6c 69 6e 67 0a 23 20 74 68 65 20 63 6f 6d 6d 61  ling.# the comma
3630: 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73 20 75 73  nd line tools us
3640: 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 63 6f  ed during the co
3650: 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73  mpilation proces
3660: 73 2e 20 20 49 66 0a 23 20 73 6f 2c 20 73 65 74  s.  If.# so, set
3670: 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 6d   the necessary m
3680: 61 63 72 6f 20 6e 6f 77 2e 0a 23 0a 21 49 46 20  acro now..#.!IF 
3690: 24 28 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42  $(USE_NATIVE_LIB
36a0: 50 41 54 48 53 29 21 3d 30 0a 4e 4c 54 4c 49 42  PATHS)!=0.NLTLIB
36b0: 50 41 54 48 53 20 3d 20 22 2f 4c 49 42 50 41 54  PATHS = "/LIBPAT
36c0: 48 3a 24 28 4e 43 52 54 4c 49 42 50 41 54 48 29  H:$(NCRTLIBPATH)
36d0: 22 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e 53  " "/LIBPATH:$(NS
36e0: 44 4b 4c 49 42 50 41 54 48 29 22 0a 0a 21 49 46  DKLIBPATH)"..!IF
36f0: 44 45 46 20 4e 55 43 52 54 4c 49 42 50 41 54 48  DEF NUCRTLIBPATH
3700: 0a 4e 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20  .NUCRTLIBPATH = 
3710: 24 28 4e 55 43 52 54 4c 49 42 50 41 54 48 3a 5c  $(NUCRTLIBPATH:\
3720: 5c 3d 5c 29 0a 4e 4c 54 4c 49 42 50 41 54 48 53  \=\).NLTLIBPATHS
3730: 20 3d 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53   = $(NLTLIBPATHS
3740: 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e 55  ) "/LIBPATH:$(NU
3750: 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21 45 4e  CRTLIBPATH)".!EN
3760: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 43 20  DIF.!ENDIF..# C 
3770: 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70 74  compiler and opt
3780: 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e 20  ions for use in 
3790: 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74 61  building executa
37a0: 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69 6c 6c  bles that.# will
37b0: 20 72 75 6e 20 6f 6e 20 74 68 65 20 74 61 72 67   run on the targ
37c0: 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 28 42  et platform.  (B
37d0: 43 43 20 61 6e 64 20 54 43 43 20 61 72 65 20 75  CC and TCC are u
37e0: 73 75 61 6c 6c 79 20 74 68 65 0a 23 20 73 61 6d  sually the.# sam
37f0: 65 20 75 6e 6c 65 73 73 20 79 6f 75 72 20 61 72  e unless your ar
3800: 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e  e cross-compilin
3810: 67 2e 29 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  g.).#.!IF $(USE_
3820: 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 54 43 43  FULLWARN)!=0.TCC
3830: 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67 6f   = $(CC) -nologo
3840: 20 2d 57 34 20 2d 44 49 4e 43 4c 55 44 45 5f 4d   -W4 -DINCLUDE_M
3850: 53 56 43 5f 48 3d 31 20 24 28 43 43 4f 50 54 53  SVC_H=1 $(CCOPTS
3860: 29 20 24 28 54 43 43 4f 50 54 53 29 0a 21 45 4c  ) $(TCCOPTS).!EL
3870: 53 45 0a 54 43 43 20 3d 20 24 28 43 43 29 20 2d  SE.TCC = $(CC) -
3880: 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43 4f  nologo -W3 $(CCO
3890: 50 54 53 29 20 24 28 54 43 43 4f 50 54 53 29 0a  PTS) $(TCCOPTS).
38a0: 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20  !ENDIF..# Check 
38b0: 69 66 20 77 61 72 6e 69 6e 67 73 20 73 68 6f 75  if warnings shou
38c0: 6c 64 20 62 65 20 74 72 65 61 74 65 64 20 61 73  ld be treated as
38d0: 20 65 72 72 6f 72 73 20 77 68 65 6e 20 63 6f 6d   errors when com
38e0: 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 20 24 28  piling..#.!IF $(
38f0: 55 53 45 5f 46 41 54 41 4c 5f 57 41 52 4e 29 21  USE_FATAL_WARN)!
3900: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
3910: 2d 57 58 0a 21 45 4e 44 49 46 0a 0a 54 43 43 20  -WX.!ENDIF..TCC 
3920: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54  = $(TCC) -DSQLIT
3930: 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20 2d  E_OS_WIN=1 -I. -
3940: 49 24 28 54 4f 50 29 20 2d 49 24 28 54 4f 50 29  I$(TOP) -I$(TOP)
3950: 5c 73 72 63 20 2d 66 70 3a 70 72 65 63 69 73 65  \src -fp:precise
3960: 0a 52 43 43 20 3d 20 24 28 52 43 29 20 2d 44 53  .RCC = $(RC) -DS
3970: 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d  QLITE_OS_WIN=1 -
3980: 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49 24 28  I. -I$(TOP) -I$(
3990: 54 4f 50 29 5c 73 72 63 20 24 28 52 43 4f 50 54  TOP)\src $(RCOPT
39a0: 53 29 20 24 28 52 43 43 4f 50 54 53 29 0a 0a 23  S) $(RCCOPTS)..#
39b0: 20 43 68 65 63 6b 20 69 66 20 77 65 20 77 61 6e   Check if we wan
39c0: 74 20 74 6f 20 75 73 65 20 74 68 65 20 22 73 74  t to use the "st
39d0: 64 63 61 6c 6c 22 20 63 61 6c 6c 69 6e 67 20 63  dcall" calling c
39e0: 6f 6e 76 65 6e 74 69 6f 6e 20 77 68 65 6e 20 63  onvention when c
39f0: 6f 6d 70 69 6c 69 6e 67 2e 0a 23 20 54 68 69 73  ompiling..# This
3a00: 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65   is not supporte
3a10: 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65  d by the compile
3a20: 72 73 20 66 6f 72 20 6e 6f 6e 2d 78 38 36 20 70  rs for non-x86 p
3a30: 6c 61 74 66 6f 72 6d 73 2e 20 20 49 74 20 73 68  latforms.  It sh
3a40: 6f 75 6c 64 0a 23 20 61 6c 73 6f 20 62 65 20 6e  ould.# also be n
3a50: 6f 74 65 64 20 68 65 72 65 20 74 68 61 74 20 62  oted here that b
3a60: 75 69 6c 64 69 6e 67 20 61 6e 79 20 74 61 72 67  uilding any targ
3a70: 65 74 20 77 69 74 68 20 74 68 65 73 65 20 22 73  et with these "s
3a80: 74 64 63 61 6c 6c 22 20 6f 70 74 69 6f 6e 73 0a  tdcall" options.
3a90: 23 20 77 69 6c 6c 20 6d 6f 73 74 20 6c 69 6b 65  # will most like
3aa0: 6c 79 20 66 61 69 6c 20 69 66 20 74 68 65 20 54  ly fail if the T
3ab0: 63 6c 20 6c 69 62 72 61 72 79 20 69 73 20 61 6c  cl library is al
3ac0: 73 6f 20 72 65 71 75 69 72 65 64 2e 20 20 54 68  so required.  Th
3ad0: 69 73 20 69 73 20 64 75 65 0a 23 20 74 6f 20 68  is is due.# to h
3ae0: 6f 77 20 74 68 65 20 54 63 6c 20 6c 69 62 72 61  ow the Tcl libra
3af0: 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65  ry functions are
3b00: 20 64 65 63 6c 61 72 65 64 20 61 6e 64 20 65 78   declared and ex
3b10: 70 6f 72 74 65 64 20 28 69 2e 65 2e 20 77 69 74  ported (i.e. wit
3b20: 68 6f 75 74 0a 23 20 61 6e 20 65 78 70 6c 69 63  hout.# an explic
3b30: 69 74 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65  it calling conve
3b40: 6e 74 69 6f 6e 2c 20 77 68 69 63 68 20 72 65 73  ntion, which res
3b50: 75 6c 74 73 20 69 6e 20 22 63 64 65 63 6c 22 29  ults in "cdecl")
3b60: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 53 54  ..#.!IF $(USE_ST
3b70: 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46  DCALL)!=0 || $(F
3b80: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21 49 46  OR_WIN10)!=0.!IF
3b90: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d   "$(PLATFORM)"==
3ba0: 22 78 38 36 22 0a 43 4f 52 45 5f 43 43 4f 4e 56  "x86".CORE_CCONV
3bb0: 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51  _OPTS = -Gz -DSQ
3bc0: 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65  LITE_CDECL=__cde
3bd0: 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43  cl -DSQLITE_APIC
3be0: 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  ALL=__stdcall -D
3bf0: 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d  SQLITE_CALLBACK=
3c00: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
3c10: 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63  TE_SYSAPI=__stdc
3c20: 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f  all.SHELL_CCONV_
3c30: 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c  OPTS = -Gz -DSQL
3c40: 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63  ITE_CDECL=__cdec
3c50: 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43 41  l -DSQLITE_APICA
3c60: 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  LL=__stdcall -DS
3c70: 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f  QLITE_CALLBACK=_
3c80: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
3c90: 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63 61  E_SYSAPI=__stdca
3ca0: 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45  ll.# <<mark>>.TE
3cb0: 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20  ST_CCONV_OPTS = 
3cc0: 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 45  -Gz -DSQLITE_CDE
3cd0: 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c  CL=__cdecl -DSQL
3ce0: 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74  ITE_APICALL=__st
3cf0: 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43  dcall -DSQLITE_C
3d00: 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c  ALLBACK=__stdcal
3d10: 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41 50  l -DSQLITE_SYSAP
3d20: 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 49 4e  I=__stdcall -DIN
3d30: 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f 54 43 4c  CLUDE_SQLITE_TCL
3d40: 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f 54 43  _H=1 -DSQLITE_TC
3d50: 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a 23 20 3c  LAPI=__cdecl.# <
3d60: 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 21  </mark>>.!ELSE.!
3d70: 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a  IFNDEF PLATFORM.
3d80: 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 20  CORE_CCONV_OPTS 
3d90: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43  = -Gz -DSQLITE_C
3da0: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53  DECL=__cdecl -DS
3db0: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f  QLITE_APICALL=__
3dc0: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45  stdcall -DSQLITE
3dd0: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63  _CALLBACK=__stdc
3de0: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53  all -DSQLITE_SYS
3df0: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53 48  API=__stdcall.SH
3e00: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  ELL_CCONV_OPTS =
3e10: 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44   -Gz -DSQLITE_CD
3e20: 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51  ECL=__cdecl -DSQ
3e30: 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73  LITE_APICALL=__s
3e40: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f  tdcall -DSQLITE_
3e50: 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61  CALLBACK=__stdca
3e60: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41  ll -DSQLITE_SYSA
3e70: 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 20 3c  PI=__stdcall.# <
3e80: 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f  <mark>>.TEST_CCO
3e90: 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44  NV_OPTS = -Gz -D
3ea0: 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63  SQLITE_CDECL=__c
3eb0: 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50  decl -DSQLITE_AP
3ec0: 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20  ICALL=__stdcall 
3ed0: 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43  -DSQLITE_CALLBAC
3ee0: 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51  K=__stdcall -DSQ
3ef0: 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74  LITE_SYSAPI=__st
3f00: 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 45 5f  dcall -DINCLUDE_
3f10: 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 20 2d  SQLITE_TCL_H=1 -
3f20: 44 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 3d 5f  DSQLITE_TCLAPI=_
3f30: 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b  _cdecl.# <</mark
3f40: 3e 3e 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43 43  >>.!ELSE.CORE_CC
3f50: 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45 4c 4c  ONV_OPTS =.SHELL
3f60: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20  _CCONV_OPTS =.# 
3f70: 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43  <<mark>>.TEST_CC
3f80: 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 2f  ONV_OPTS =.# <</
3f90: 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 21 45  mark>>.!ENDIF.!E
3fa0: 4e 44 49 46 0a 21 45 4c 53 45 0a 43 4f 52 45 5f  NDIF.!ELSE.CORE_
3fb0: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45  CCONV_OPTS =.SHE
3fc0: 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a  LL_CCONV_OPTS =.
3fd0: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f  # <<mark>>.TEST_
3fe0: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c  CCONV_OPTS =.# <
3ff0: 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a  </mark>>.!ENDIF.
4000: 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64 64  .# These are add
4010: 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72  itional compiler
4020: 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66 6f   options used fo
4030: 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61  r the core libra
4040: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 4f  ry..#.!IFNDEF CO
4050: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a  RE_COMPILE_OPTS.
4060: 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48  !IF $(DYNAMIC_SH
4070: 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ELL)!=0 || $(FOR
4080: 5f 57 49 4e 31 30 29 21 3d 30 0a 43 4f 52 45 5f  _WIN10)!=0.CORE_
4090: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24  COMPILE_OPTS = $
40a0: 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  (CORE_CCONV_OPTS
40b0: 29 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f  ) -DSQLITE_API=_
40c0: 5f 64 65 63 6c 73 70 65 63 28 64 6c 6c 65 78 70  _declspec(dllexp
40d0: 6f 72 74 29 0a 21 45 4c 53 45 0a 43 4f 52 45 5f  ort).!ELSE.CORE_
40e0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24  COMPILE_OPTS = $
40f0: 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  (CORE_CCONV_OPTS
4100: 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  ).!ENDIF.!ENDIF.
4110: 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65  .# These are the
4120: 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 61 72 67   additional targ
4130: 65 74 73 20 74 68 61 74 20 74 68 65 20 63 6f 72  ets that the cor
4140: 65 20 6c 69 62 72 61 72 79 20 73 68 6f 75 6c 64  e library should
4150: 20 64 65 70 65 6e 64 20 6f 6e 0a 23 20 77 68 65   depend on.# whe
4160: 6e 20 6c 69 6e 6b 69 6e 67 2e 0a 23 0a 21 49 46  n linking..#.!IF
4170: 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f 44  NDEF CORE_LINK_D
4180: 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  EP.!IF $(DYNAMIC
4190: 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f  _SHELL)!=0.CORE_
41a0: 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4c 53 45  LINK_DEP =.!ELSE
41b0: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d  IF $(FOR_WIN10)=
41c0: 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f 52  =0 || "$(PLATFOR
41d0: 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f  M)"=="x86".CORE_
41e0: 4c 49 4e 4b 5f 44 45 50 20 3d 20 73 71 6c 69 74  LINK_DEP = sqlit
41f0: 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a 43 4f 52  e3.def.!ELSE.COR
4200: 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4e  E_LINK_DEP =.!EN
4210: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  DIF.!ENDIF..# Th
4220: 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f 6e  ese are addition
4230: 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e  al linker option
4240: 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 63  s used for the c
4250: 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ore library..#.!
4260: 49 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b  IFNDEF CORE_LINK
4270: 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e 41  _OPTS.!IF $(DYNA
4280: 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f  MIC_SHELL)!=0.CO
4290: 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a 21  RE_LINK_OPTS =.!
42a0: 45 4c 53 45 49 46 20 24 28 46 4f 52 5f 57 49 4e  ELSEIF $(FOR_WIN
42b0: 31 30 29 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41  10)==0 || "$(PLA
42c0: 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43  TFORM)"=="x86".C
42d0: 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20  ORE_LINK_OPTS = 
42e0: 2f 44 45 46 3a 73 71 6c 69 74 65 33 2e 64 65 66  /DEF:sqlite3.def
42f0: 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e 4b  .!ELSE.CORE_LINK
4300: 5f 4f 50 54 53 20 3d 0a 21 45 4e 44 49 46 0a 21  _OPTS =.!ENDIF.!
4310: 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61  ENDIF..# These a
4320: 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 63 6f  re additional co
4330: 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 75  mpiler options u
4340: 73 65 64 20 66 6f 72 20 74 68 65 20 73 68 65 6c  sed for the shel
4350: 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a  l executable..#.
4360: 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f  !IFNDEF SHELL_CO
4370: 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46 20 24  MPILE_OPTS.!IF $
4380: 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21  (DYNAMIC_SHELL)!
4390: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1
43a0: 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50  0)!=0.SHELL_COMP
43b0: 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45  ILE_OPTS = $(SHE
43c0: 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 20 2d  LL_CCONV_OPTS) -
43d0: 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 65  DSQLITE_API=__de
43e0: 63 6c 73 70 65 63 28 64 6c 6c 69 6d 70 6f 72 74  clspec(dllimport
43f0: 29 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f  ).!ELSE.SHELL_CO
4400: 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53  MPILE_OPTS = $(S
4410: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29  HELL_CCONV_OPTS)
4420: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
4430: 23 20 54 68 69 73 20 69 73 20 74 68 65 20 73 6f  # This is the so
4440: 75 72 63 65 20 63 6f 64 65 20 74 68 61 74 20 74  urce code that t
4450: 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61  he shell executa
4460: 62 6c 65 20 73 68 6f 75 6c 64 20 62 65 20 63 6f  ble should be co
4470: 6d 70 69 6c 65 64 0a 23 20 77 69 74 68 2e 0a 23  mpiled.# with..#
4480: 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43  .!IFNDEF SHELL_C
4490: 4f 52 45 5f 53 52 43 0a 21 49 46 20 24 28 44 59  ORE_SRC.!IF $(DY
44a0: 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20  NAMIC_SHELL)!=0 
44b0: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  || $(FOR_WIN10)!
44c0: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52  =0.SHELL_CORE_SR
44d0: 43 20 3d 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21  C =.# <<mark>>.!
44e0: 45 4c 53 45 49 46 20 24 28 55 53 45 5f 41 4d 41  ELSEIF $(USE_AMA
44f0: 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 53 48  LGAMATION)==0.SH
4500: 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d 0a 23  ELL_CORE_SRC =.#
4510: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45   <</mark>>.!ELSE
4520: 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20  .SHELL_CORE_SRC 
4530: 3d 20 24 28 53 51 4c 49 54 45 33 43 29 0a 21 45  = $(SQLITE3C).!E
4540: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54  NDIF.!ENDIF..# T
4550: 68 69 73 20 69 73 20 74 68 65 20 63 6f 72 65 20  his is the core 
4560: 6c 69 62 72 61 72 79 20 74 68 61 74 20 74 68 65  library that the
4570: 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   shell executabl
4580: 65 20 73 68 6f 75 6c 64 20 64 65 70 65 6e 64 20  e should depend 
4590: 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 48  on..#.!IFNDEF SH
45a0: 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 0a 21 49 46  ELL_CORE_DEP.!IF
45b0: 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c   $(DYNAMIC_SHELL
45c0: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49  )!=0 || $(FOR_WI
45d0: 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f  N10)!=0.SHELL_CO
45e0: 52 45 5f 44 45 50 20 3d 20 24 28 53 51 4c 49 54  RE_DEP = $(SQLIT
45f0: 45 33 44 4c 4c 29 0a 23 20 3c 3c 6d 61 72 6b 3e  E3DLL).# <<mark>
4600: 3e 0a 21 45 4c 53 45 49 46 20 24 28 55 53 45 5f  >.!ELSEIF $(USE_
4610: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30  AMALGAMATION)==0
4620: 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 20  .SHELL_CORE_DEP 
4630: 3d 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62  = libsqlite3.lib
4640: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c  .# <</mark>>.!EL
4650: 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45  SE.SHELL_CORE_DE
4660: 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  P =.!ENDIF.!ENDI
4670: 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20  F..# <<mark>>.# 
4680: 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 74 20  If zlib support 
4690: 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20  is enabled, add 
46a0: 74 68 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73  the dependencies
46b0: 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24   for it..#.!IF $
46c0: 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 20 26 26  (USE_ZLIB)!=0 &&
46d0: 20 24 28 42 55 49 4c 44 5f 5a 4c 49 42 29 21 3d   $(BUILD_ZLIB)!=
46e0: 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50  0.SHELL_CORE_DEP
46f0: 20 3d 20 7a 6c 69 62 20 24 28 53 48 45 4c 4c 5f   = zlib $(SHELL_
4700: 43 4f 52 45 5f 44 45 50 29 0a 54 45 53 54 46 49  CORE_DEP).TESTFI
4710: 58 54 55 52 45 5f 44 45 50 20 3d 20 7a 6c 69 62  XTURE_DEP = zlib
4720: 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 44   $(TESTFIXTURE_D
4730: 45 50 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f  EP).!ENDIF.# <</
4740: 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 73 20 69  mark>>..# This i
4750: 73 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61  s the core libra
4760: 72 79 20 74 68 61 74 20 74 68 65 20 73 68 65 6c  ry that the shel
4770: 6c 20 65 78 65 63 75 74 61 62 6c 65 20 73 68 6f  l executable sho
4780: 75 6c 64 20 6c 69 6e 6b 20 77 69 74 68 2e 0a 23  uld link with..#
4790: 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43  .!IFNDEF SHELL_C
47a0: 4f 52 45 5f 4c 49 42 0a 21 49 46 20 24 28 44 59  ORE_LIB.!IF $(DY
47b0: 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20  NAMIC_SHELL)!=0 
47c0: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  || $(FOR_WIN10)!
47d0: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49  =0.SHELL_CORE_LI
47e0: 42 20 3d 20 24 28 53 51 4c 49 54 45 33 4c 49 42  B = $(SQLITE3LIB
47f0: 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4c  ).# <<mark>>.!EL
4800: 53 45 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47  SEIF $(USE_AMALG
4810: 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 53 48 45 4c  AMATION)==0.SHEL
4820: 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 6c 69 62  L_CORE_LIB = lib
4830: 73 71 6c 69 74 65 33 2e 6c 69 62 0a 23 20 3c 3c  sqlite3.lib.# <<
4840: 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 53 48  /mark>>.!ELSE.SH
4850: 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 0a 21  ELL_CORE_LIB =.!
4860: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
4870: 54 68 65 73 65 20 61 72 65 20 61 64 64 69 74 69  These are additi
4880: 6f 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69  onal linker opti
4890: 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68 65  ons used for the
48a0: 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   shell executabl
48b0: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45  e..#.!IFNDEF SHE
48c0: 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 53 48 45  LL_LINK_OPTS.SHE
48d0: 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20 24  LL_LINK_OPTS = $
48e0: 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 29  (SHELL_CORE_LIB)
48f0: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b  .!ENDIF..# Check
4900: 20 69 66 20 61 73 73 65 6d 62 6c 79 20 63 6f 64   if assembly cod
4910: 65 20 6c 69 73 74 69 6e 67 73 20 73 68 6f 75 6c  e listings shoul
4920: 64 20 62 65 20 67 65 6e 65 72 61 74 65 64 20 66  d be generated f
4930: 6f 72 20 74 68 65 20 73 6f 75 72 63 65 0a 23 20  or the source.# 
4940: 63 6f 64 65 20 66 69 6c 65 73 20 74 6f 20 62 65  code files to be
4950: 20 63 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21 49 46   compiled..#.!IF
4960: 20 24 28 55 53 45 5f 4c 49 53 54 49 4e 47 53 29   $(USE_LISTINGS)
4970: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC)
4980: 20 2d 46 41 63 73 0a 21 45 4e 44 49 46 0a 0a 23   -FAcs.!ENDIF..#
4990: 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20   When compiling 
49a0: 74 68 65 20 6c 69 62 72 61 72 79 20 66 6f 72 20  the library for 
49b0: 75 73 65 20 69 6e 20 74 68 65 20 57 69 6e 52 54  use in the WinRT
49c0: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0a 23 20   environment,.# 
49d0: 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f  the following co
49e0: 6d 70 69 6c 65 2d 74 69 6d 65 20 6f 70 74 69 6f  mpile-time optio
49f0: 6e 73 20 6d 75 73 74 20 62 65 20 75 73 65 64 20  ns must be used 
4a00: 61 73 20 77 65 6c 6c 20 74 6f 0a 23 20 64 69 73  as well to.# dis
4a10: 61 62 6c 65 20 75 73 65 20 6f 66 20 57 69 6e 33  able use of Win3
4a20: 32 20 41 50 49 73 20 74 68 61 74 20 61 72 65 20  2 APIs that are 
4a30: 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 61 6e  not available an
4a40: 64 20 74 6f 20 65 6e 61 62 6c 65 0a 23 20 75 73  d to enable.# us
4a50: 65 20 6f 66 20 57 69 6e 33 32 20 41 50 49 73 20  e of Win32 APIs 
4a60: 74 68 61 74 20 61 72 65 20 73 70 65 63 69 66 69  that are specifi
4a70: 63 20 74 6f 20 57 69 6e 64 6f 77 73 20 38 20 61  c to Windows 8 a
4a80: 6e 64 2f 6f 72 20 57 69 6e 52 54 2e 0a 23 0a 21  nd/or WinRT..#.!
4a90: 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 21  IF $(FOR_WINRT)!
4aa0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
4ab0: 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 52  -DSQLITE_OS_WINR
4ac0: 54 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29  T=1.RCC = $(RCC)
4ad0: 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e   -DSQLITE_OS_WIN
4ae0: 52 54 3d 31 0a 54 43 43 20 3d 20 24 28 54 43 43  RT=1.TCC = $(TCC
4af0: 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49 4c  ) -DWINAPI_FAMIL
4b00: 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 5f  Y=WINAPI_FAMILY_
4b10: 41 50 50 0a 52 43 43 20 3d 20 24 28 52 43 43 29  APP.RCC = $(RCC)
4b20: 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59   -DWINAPI_FAMILY
4b30: 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 5f 41  =WINAPI_FAMILY_A
4b40: 50 50 0a 21 45 4e 44 49 46 0a 0a 23 20 43 20 63  PP.!ENDIF..# C c
4b50: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options 
4b60: 66 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20  for the Windows 
4b70: 31 30 20 70 6c 61 74 66 6f 72 6d 20 28 6e 65 65  10 platform (nee
4b80: 64 73 20 4d 53 56 43 20 32 30 31 35 29 2e 0a 23  ds MSVC 2015)..#
4b90: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30  .!IF $(FOR_WIN10
4ba0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC
4bb0: 29 20 2f 64 32 67 75 61 72 64 34 20 2d 44 5f 41  ) /d2guard4 -D_A
4bc0: 52 4d 5f 57 49 4e 41 50 49 5f 50 41 52 54 49 54  RM_WINAPI_PARTIT
4bd0: 49 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53 44 4b 5f  ION_DESKTOP_SDK_
4be0: 41 56 41 49 4c 41 42 4c 45 0a 42 43 43 20 3d 20  AVAILABLE.BCC = 
4bf0: 24 28 42 43 43 29 20 2f 64 32 67 75 61 72 64 34  $(BCC) /d2guard4
4c00: 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 49 5f 50   -D_ARM_WINAPI_P
4c10: 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b 54 4f 50  ARTITION_DESKTOP
4c20: 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c 45 0a 21  _SDK_AVAILABLE.!
4c30: 45 4e 44 49 46 0a 0a 23 20 41 6c 73 6f 2c 20 77  ENDIF..# Also, w
4c40: 65 20 6e 65 65 64 20 74 6f 20 64 79 6e 61 6d 69  e need to dynami
4c50: 63 61 6c 6c 79 20 6c 69 6e 6b 20 74 6f 20 74 68  cally link to th
4c60: 65 20 63 6f 72 72 65 63 74 20 4d 53 56 43 20 72  e correct MSVC r
4c70: 75 6e 74 69 6d 65 0a 23 20 77 68 65 6e 20 63 6f  untime.# when co
4c80: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 52  mpiling for WinR
4c90: 54 20 28 65 2e 67 2e 20 64 65 62 75 67 20 6f 72  T (e.g. debug or
4ca0: 20 72 65 6c 65 61 73 65 29 20 4f 52 20 69 66 20   release) OR if 
4cb0: 74 68 65 0a 23 20 55 53 45 5f 43 52 54 5f 44 4c  the.# USE_CRT_DL
4cc0: 4c 20 6f 70 74 69 6f 6e 20 69 73 20 73 65 74 20  L option is set 
4cd0: 74 6f 20 66 6f 72 63 65 20 64 79 6e 61 6d 69 63  to force dynamic
4ce0: 61 6c 6c 79 20 6c 69 6e 6b 69 6e 67 20 74 6f 20  ally linking to 
4cf0: 74 68 65 0a 23 20 4d 53 56 43 20 72 75 6e 74 69  the.# MSVC runti
4d00: 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  me library..#.!I
4d10: 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 21 3d  F $(FOR_WINRT)!=
4d20: 30 20 7c 7c 20 24 28 55 53 45 5f 43 52 54 5f 44  0 || $(USE_CRT_D
4d30: 4c 4c 29 21 3d 30 0a 21 49 46 20 24 28 44 45 42  LL)!=0.!IF $(DEB
4d40: 55 47 29 3e 31 0a 54 43 43 20 3d 20 24 28 54 43  UG)>1.TCC = $(TC
4d50: 43 29 20 2d 4d 44 64 0a 42 43 43 20 3d 20 24 28  C) -MDd.BCC = $(
4d60: 42 43 43 29 20 2d 4d 44 64 0a 21 45 4c 53 45 0a  BCC) -MDd.!ELSE.
4d70: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 44  TCC = $(TCC) -MD
4d80: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d  .BCC = $(BCC) -M
4d90: 44 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45 0a 21  D.!ENDIF.!ELSE.!
4da0: 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a 54 43  IF $(DEBUG)>1.TC
4db0: 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 54 64 0a  C = $(TCC) -MTd.
4dc0: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 54  BCC = $(BCC) -MT
4dd0: 64 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20 24 28  d.!ELSE.TCC = $(
4de0: 54 43 43 29 20 2d 4d 54 0a 42 43 43 20 3d 20 24  TCC) -MT.BCC = $
4df0: 28 42 43 43 29 20 2d 4d 54 0a 21 45 4e 44 49 46  (BCC) -MT.!ENDIF
4e00: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72  .!ENDIF..# <<mar
4e10: 6b 3e 3e 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69  k>>.# The mksqli
4e20: 74 65 33 63 2e 74 63 6c 20 61 6e 64 20 6d 6b 73  te3c.tcl and mks
4e30: 71 6c 69 74 65 33 68 2e 74 63 6c 20 73 63 72 69  qlite3h.tcl scri
4e40: 70 74 73 20 77 69 6c 6c 20 70 75 6c 6c 20 69 6e  pts will pull in
4e50: 0a 23 20 61 6e 79 20 65 78 74 65 6e 73 69 6f 6e  .# any extension
4e60: 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 62 79   header files by
4e70: 20 64 65 66 61 75 6c 74 2e 20 20 46 6f 72 20 6e   default.  For n
4e80: 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a  on-amalgamation.
4e90: 23 20 62 75 69 6c 64 73 2c 20 77 65 20 6e 65 65  # builds, we nee
4ea0: 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74  d to make sure t
4eb0: 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61 6e 20  he compiler can 
4ec0: 66 69 6e 64 20 74 68 65 73 65 2e 0a 23 0a 21 49  find these..#.!I
4ed0: 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41  F $(USE_AMALGAMA
4ee0: 54 49 4f 4e 29 3d 3d 30 0a 54 43 43 20 3d 20 24  TION)==0.TCC = $
4ef0: 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65  (TCC) -I$(TOP)\e
4f00: 78 74 5c 66 74 73 33 0a 52 43 43 20 3d 20 24 28  xt\fts3.RCC = $(
4f10: 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78  RCC) -I$(TOP)\ex
4f20: 74 5c 66 74 73 33 0a 54 43 43 20 3d 20 24 28 54  t\fts3.TCC = $(T
4f30: 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74  CC) -I$(TOP)\ext
4f40: 5c 72 74 72 65 65 0a 52 43 43 20 3d 20 24 28 52  \rtree.RCC = $(R
4f50: 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74  CC) -I$(TOP)\ext
4f60: 5c 72 74 72 65 65 0a 54 43 43 20 3d 20 24 28 54  \rtree.TCC = $(T
4f70: 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74  CC) -I$(TOP)\ext
4f80: 5c 73 65 73 73 69 6f 6e 0a 52 43 43 20 3d 20 24  \session.RCC = $
4f90: 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65  (RCC) -I$(TOP)\e
4fa0: 78 74 5c 73 65 73 73 69 6f 6e 0a 21 45 4e 44 49  xt\session.!ENDI
4fb0: 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69 74  F..# The mksqlit
4fc0: 65 33 63 2e 74 63 6c 20 73 63 72 69 70 74 20 61  e3c.tcl script a
4fd0: 63 63 65 70 74 73 20 73 6f 6d 65 20 6f 70 74 69  ccepts some opti
4fe0: 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61  ons on the comma
4ff0: 6e 64 0a 23 20 6c 69 6e 65 2e 20 20 57 68 65 6e  nd.# line.  When
5000: 20 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68 20   compiling with 
5010: 64 65 62 75 67 67 69 6e 67 20 65 6e 61 62 6c 65  debugging enable
5020: 64 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 73 65  d, some of these
5030: 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 6e  .# options are n
5040: 65 63 65 73 73 61 72 79 20 69 6e 20 6f 72 64 65  ecessary in orde
5050: 72 20 74 6f 20 61 6c 6c 6f 77 20 64 65 62 75 67  r to allow debug
5060: 67 69 6e 67 20 73 79 6d 62 6f 6c 73 20 74 6f 0a  ging symbols to.
5070: 23 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c 79  # work correctly
5080: 20 77 69 74 68 20 56 69 73 75 61 6c 20 53 74 75   with Visual Stu
5090: 64 69 6f 20 77 68 65 6e 20 75 73 69 6e 67 20 74  dio when using t
50a0: 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e  he amalgamation.
50b0: 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c  .#.!IFNDEF MKSQL
50c0: 49 54 45 33 43 5f 54 4f 4f 4c 0a 21 49 46 20 24  ITE3C_TOOL.!IF $
50d0: 28 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d  (MINIMAL_AMALGAM
50e0: 41 54 49 4f 4e 29 21 3d 30 0a 4d 4b 53 51 4c 49  ATION)!=0.MKSQLI
50f0: 54 45 33 43 5f 54 4f 4f 4c 20 3d 20 24 28 54 4f  TE3C_TOOL = $(TO
5100: 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65  P)\tool\mksqlite
5110: 33 63 2d 6e 6f 65 78 74 2e 74 63 6c 0a 21 45 4c  3c-noext.tcl.!EL
5120: 53 45 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f  SE.MKSQLITE3C_TO
5130: 4f 4c 20 3d 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  OL = $(TOP)\tool
5140: 5c 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a  \mksqlite3c.tcl.
5150: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 21  !ENDIF.!ENDIF..!
5160: 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54 45 33  IFNDEF MKSQLITE3
5170: 43 5f 41 52 47 53 0a 21 49 46 20 24 28 44 45 42  C_ARGS.!IF $(DEB
5180: 55 47 29 3e 31 0a 4d 4b 53 51 4c 49 54 45 33 43  UG)>1.MKSQLITE3C
5190: 5f 41 52 47 53 20 3d 20 2d 2d 6c 69 6e 65 6d 61  _ARGS = --linema
51a0: 63 72 6f 73 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c  cros.!ELSE.MKSQL
51b0: 49 54 45 33 43 5f 41 52 47 53 20 3d 0a 21 45 4e  ITE3C_ARGS =.!EN
51c0: 44 49 46 0a 21 49 46 20 24 28 55 53 45 5f 53 54  DIF.!IF $(USE_ST
51d0: 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46  DCALL)!=0 || $(F
51e0: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4d 4b 53  OR_WIN10)!=0.MKS
51f0: 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 20 24  QLITE3C_ARGS = $
5200: 28 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53  (MKSQLITE3C_ARGS
5210: 29 20 2d 2d 75 73 65 61 70 69 63 61 6c 6c 0a 21  ) --useapicall.!
5220: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
5230: 54 68 65 20 6d 6b 73 71 6c 69 74 65 33 68 2e 74  The mksqlite3h.t
5240: 63 6c 20 73 63 72 69 70 74 20 61 63 63 65 70 74  cl script accept
5250: 73 20 73 6f 6d 65 20 6f 70 74 69 6f 6e 73 20 6f  s some options o
5260: 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69  n the command li
5270: 6e 65 2e 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69  ne..# When compi
5280: 6c 69 6e 67 20 77 69 74 68 20 73 74 64 63 61 6c  ling with stdcal
5290: 6c 20 73 75 70 70 6f 72 74 2c 20 73 6f 6d 65 20  l support, some 
52a0: 6f 66 20 74 68 65 73 65 20 6f 70 74 69 6f 6e 73  of these options
52b0: 20 61 72 65 0a 23 20 6e 65 63 65 73 73 61 72 79   are.# necessary
52c0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51  ..#.!IFNDEF MKSQ
52d0: 4c 49 54 45 33 48 5f 41 52 47 53 0a 21 49 46 20  LITE3H_ARGS.!IF 
52e0: 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d  $(USE_STDCALL)!=
52f0: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10
5300: 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 48 5f  )!=0.MKSQLITE3H_
5310: 41 52 47 53 20 3d 20 2d 2d 75 73 65 61 70 69 63  ARGS = --useapic
5320: 61 6c 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c 49  all.!ELSE.MKSQLI
5330: 54 45 33 48 5f 41 52 47 53 20 3d 0a 21 45 4e 44  TE3H_ARGS =.!END
5340: 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d  IF.!ENDIF.# <</m
5350: 61 72 6b 3e 3e 0a 0a 23 20 44 65 66 69 6e 65 20  ark>>..# Define 
5360: 2d 44 4e 44 45 42 55 47 20 74 6f 20 63 6f 6d 70  -DNDEBUG to comp
5370: 69 6c 65 20 77 69 74 68 6f 75 74 20 64 65 62 75  ile without debu
5380: 67 67 69 6e 67 20 28 69 2e 65 2e 2c 20 66 6f 72  gging (i.e., for
5390: 20 70 72 6f 64 75 63 74 69 6f 6e 20 75 73 61 67   production usag
53a0: 65 29 0a 23 20 4f 6d 69 74 74 69 6e 67 20 74 68  e).# Omitting th
53b0: 65 20 64 65 66 69 6e 65 20 77 69 6c 6c 20 63 61  e define will ca
53c0: 75 73 65 20 65 78 74 72 61 20 64 65 62 75 67 67  use extra debugg
53d0: 69 6e 67 20 63 6f 64 65 20 74 6f 20 62 65 20 69  ing code to be i
53e0: 6e 73 65 72 74 65 64 20 61 6e 64 0a 23 20 69 6e  nserted and.# in
53f0: 63 6c 75 64 65 73 20 65 78 74 72 61 20 63 6f 6d  cludes extra com
5400: 6d 65 6e 74 73 20 77 68 65 6e 20 22 45 58 50 4c  ments when "EXPL
5410: 41 49 4e 20 73 74 6d 74 22 20 69 73 20 75 73 65  AIN stmt" is use
5420: 64 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47  d..#.!IF $(DEBUG
5430: 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )==0.TCC = $(TCC
5440: 29 20 2d 44 4e 44 45 42 55 47 0a 42 43 43 20 3d  ) -DNDEBUG.BCC =
5450: 20 24 28 42 43 43 29 20 2d 44 4e 44 45 42 55 47   $(BCC) -DNDEBUG
5460: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44  .RCC = $(RCC) -D
5470: 4e 44 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a 21  NDEBUG.!ENDIF..!
5480: 49 46 20 24 28 44 45 42 55 47 29 3e 30 20 7c 7c  IF $(DEBUG)>0 ||
5490: 20 24 28 41 50 49 5f 41 52 4d 4f 52 29 21 3d 30   $(API_ARMOR)!=0
54a0: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10)
54b0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC)
54c0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
54d0: 5f 41 50 49 5f 41 52 4d 4f 52 3d 31 0a 52 43 43  _API_ARMOR=1.RCC
54e0: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49   = $(RCC) -DSQLI
54f0: 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41 52  TE_ENABLE_API_AR
5500: 4d 4f 52 3d 31 0a 21 45 4e 44 49 46 0a 0a 21 49  MOR=1.!ENDIF..!I
5510: 46 20 24 28 44 45 42 55 47 29 3e 32 0a 54 43 43  F $(DEBUG)>2.TCC
5520: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49   = $(TCC) -DSQLI
5530: 54 45 5f 44 45 42 55 47 3d 31 0a 52 43 43 20 3d  TE_DEBUG=1.RCC =
5540: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45   $(RCC) -DSQLITE
5550: 5f 44 45 42 55 47 3d 31 0a 21 49 46 20 24 28 44  _DEBUG=1.!IF $(D
5560: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d 30  YNAMIC_SHELL)==0
5570: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D
5580: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 57 48  SQLITE_ENABLE_WH
5590: 45 52 45 54 52 41 43 45 20 2d 44 53 51 4c 49 54  ERETRACE -DSQLIT
55a0: 45 5f 45 4e 41 42 4c 45 5f 53 45 4c 45 43 54 54  E_ENABLE_SELECTT
55b0: 52 41 43 45 0a 52 43 43 20 3d 20 24 28 52 43 43  RACE.RCC = $(RCC
55c0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
55d0: 45 5f 57 48 45 52 45 54 52 41 43 45 20 2d 44 53  E_WHERETRACE -DS
55e0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 4c  QLITE_ENABLE_SEL
55f0: 45 43 54 54 52 41 43 45 0a 21 45 4e 44 49 46 0a  ECTTRACE.!ENDIF.
5600: 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 45  !ENDIF..!IF $(DE
5610: 42 55 47 29 3e 34 20 7c 7c 20 24 28 4f 53 54 52  BUG)>4 || $(OSTR
5620: 41 43 45 29 21 3d 30 0a 54 43 43 20 3d 20 24 28  ACE)!=0.TCC = $(
5630: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 4f  TCC) -DSQLITE_FO
5640: 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 2d  RCE_OS_TRACE=1 -
5650: 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53  DSQLITE_DEBUG_OS
5660: 5f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24  _TRACE=1.RCC = $
5670: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46  (RCC) -DSQLITE_F
5680: 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20  ORCE_OS_TRACE=1 
5690: 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f  -DSQLITE_DEBUG_O
56a0: 53 5f 54 52 41 43 45 3d 31 0a 21 45 4e 44 49 46  S_TRACE=1.!ENDIF
56b0: 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 35  ..!IF $(DEBUG)>5
56c0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D
56d0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f  SQLITE_ENABLE_IO
56e0: 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 28  TRACE=1.RCC = $(
56f0: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  RCC) -DSQLITE_EN
5700: 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a 21  ABLE_IOTRACE=1.!
5710: 45 4e 44 49 46 0a 0a 23 20 50 72 65 76 65 6e 74  ENDIF..# Prevent
5720: 20 77 61 72 6e 69 6e 67 73 20 61 62 6f 75 74 20   warnings about 
5730: 22 69 6e 73 65 63 75 72 65 22 20 4d 53 56 43 20  "insecure" MSVC 
5740: 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20  runtime library 
5750: 66 75 6e 63 74 69 6f 6e 73 0a 23 20 62 65 69 6e  functions.# bein
5760: 67 20 75 73 65 64 2e 0a 23 0a 54 43 43 20 3d 20  g used..#.TCC = 
5770: 24 28 54 43 43 29 20 2d 44 5f 43 52 54 5f 53 45  $(TCC) -D_CRT_SE
5780: 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54  CURE_NO_DEPRECAT
5790: 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f  E -D_CRT_SECURE_
57a0: 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20  NO_WARNINGS.BCC 
57b0: 3d 20 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f  = $(BCC) -D_CRT_
57c0: 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43  SECURE_NO_DEPREC
57d0: 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52  ATE -D_CRT_SECUR
57e0: 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43  E_NO_WARNINGS.RC
57f0: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52  C = $(RCC) -D_CR
5800: 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52  T_SECURE_NO_DEPR
5810: 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43  ECATE -D_CRT_SEC
5820: 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a  URE_NO_WARNINGS.
5830: 0a 23 20 50 72 65 76 65 6e 74 20 77 61 72 6e 69  .# Prevent warni
5840: 6e 67 73 20 61 62 6f 75 74 20 22 64 65 70 72 65  ngs about "depre
5850: 63 61 74 65 64 22 20 50 4f 53 49 58 20 66 75 6e  cated" POSIX fun
5860: 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 75 73 65  ctions being use
5870: 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43  d..#.TCC = $(TCC
5880: 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43  ) -D_CRT_NONSTDC
5890: 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44  _NO_DEPRECATE -D
58a0: 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f  _CRT_NONSTDC_NO_
58b0: 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20 24  WARNINGS.BCC = $
58c0: 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e  (BCC) -D_CRT_NON
58d0: 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54  STDC_NO_DEPRECAT
58e0: 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43  E -D_CRT_NONSTDC
58f0: 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 43  _NO_WARNINGS.RCC
5900: 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52 54   = $(RCC) -D_CRT
5910: 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52  _NONSTDC_NO_DEPR
5920: 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e  ECATE -D_CRT_NON
5930: 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53  STDC_NO_WARNINGS
5940: 0a 0a 23 20 55 73 65 20 74 68 65 20 53 51 4c 69  ..# Use the SQLi
5950: 74 65 20 64 65 62 75 67 67 69 6e 67 20 68 65 61  te debugging hea
5960: 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21  p subsystem?.#.!
5970: 49 46 20 24 28 4d 45 4d 44 45 42 55 47 29 21 3d  IF $(MEMDEBUG)!=
5980: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) -
5990: 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 47  DSQLITE_MEMDEBUG
59a0: 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  =1.RCC = $(RCC) 
59b0: 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55  -DSQLITE_MEMDEBU
59c0: 47 3d 31 0a 0a 23 20 55 73 65 20 6e 61 74 69 76  G=1..# Use nativ
59d0: 65 20 57 69 6e 33 32 20 68 65 61 70 20 73 75 62  e Win32 heap sub
59e0: 73 79 73 74 65 6d 20 69 6e 73 74 65 61 64 20 6f  system instead o
59f0: 66 20 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f 0a 23  f malloc/free?.#
5a00: 0a 21 45 4c 53 45 49 46 20 24 28 57 49 4e 33 32  .!ELSEIF $(WIN32
5a10: 48 45 41 50 29 21 3d 30 0a 54 43 43 20 3d 20 24  HEAP)!=0.TCC = $
5a20: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57  (TCC) -DSQLITE_W
5a30: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 52 43  IN32_MALLOC=1.RC
5a40: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c  C = $(RCC) -DSQL
5a50: 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43  ITE_WIN32_MALLOC
5a60: 3d 31 0a 0a 23 20 56 61 6c 69 64 61 74 65 20 74  =1..# Validate t
5a70: 68 65 20 68 65 61 70 20 6f 6e 20 65 76 65 72 79  he heap on every
5a80: 20 63 61 6c 6c 20 69 6e 74 6f 20 74 68 65 20 6e   call into the n
5a90: 61 74 69 76 65 20 57 69 6e 33 32 20 68 65 61 70  ative Win32 heap
5aa0: 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 49   subsystem?.#.!I
5ab0: 46 20 24 28 44 45 42 55 47 29 3e 33 0a 54 43 43  F $(DEBUG)>3.TCC
5ac0: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49   = $(TCC) -DSQLI
5ad0: 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f  TE_WIN32_MALLOC_
5ae0: 56 41 4c 49 44 41 54 45 3d 31 0a 52 43 43 20 3d  VALIDATE=1.RCC =
5af0: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45   $(RCC) -DSQLITE
5b00: 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41  _WIN32_MALLOC_VA
5b10: 4c 49 44 41 54 45 3d 31 0a 21 45 4e 44 49 46 0a  LIDATE=1.!ENDIF.
5b20: 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b  !ENDIF..# <<mark
5b30: 3e 3e 0a 23 20 54 68 65 20 6c 6f 63 61 74 69 6f  >>.# The locatio
5b40: 6e 73 20 6f 66 20 74 68 65 20 54 63 6c 20 68 65  ns of the Tcl he
5b50: 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61 72 79  ader and library
5b60: 20 66 69 6c 65 73 2e 20 20 41 6c 73 6f 2c 20 74   files.  Also, t
5b70: 68 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 0a  he library that.
5b80: 23 20 6e 6f 6e 2d 73 74 75 62 73 20 65 6e 61 62  # non-stubs enab
5b90: 6c 65 64 20 70 72 6f 67 72 61 6d 73 20 75 73 69  led programs usi
5ba0: 6e 67 20 54 63 6c 20 6d 75 73 74 20 6c 69 6e 6b  ng Tcl must link
5bb0: 20 61 67 61 69 6e 73 74 2e 20 20 54 68 65 73 65   against.  These
5bc0: 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 54 43   variables.# (TC
5bd0: 4c 49 4e 43 44 49 52 2c 20 54 43 4c 4c 49 42 44  LINCDIR, TCLLIBD
5be0: 49 52 2c 20 61 6e 64 20 4c 49 42 54 43 4c 29 20  IR, and LIBTCL) 
5bf0: 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64 64 65  may be overridde
5c00: 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69 72 6f  n via the enviro
5c10: 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 74 6f  nment.# prior to
5c20: 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 69   running nmake i
5c30: 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 63 68  n order to match
5c40: 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e 73 74   the actual inst
5c50: 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20 61  alled location a
5c60: 6e 64 0a 23 20 76 65 72 73 69 6f 6e 20 6f 6e 20  nd.# version on 
5c70: 74 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a  this machine..#.
5c80: 21 49 46 4e 44 45 46 20 54 43 4c 56 45 52 53 49  !IFNDEF TCLVERSI
5c90: 4f 4e 0a 54 43 4c 56 45 52 53 49 4f 4e 20 3d 20  ON.TCLVERSION = 
5ca0: 38 36 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44  86.!ENDIF..!IFND
5cb0: 45 46 20 54 43 4c 53 55 46 46 49 58 0a 54 43 4c  EF TCLSUFFIX.TCL
5cc0: 53 55 46 46 49 58 20 3d 0a 21 45 4e 44 49 46 0a  SUFFIX =.!ENDIF.
5cd0: 0a 21 49 46 4e 44 45 46 20 54 43 4c 44 49 52 0a  .!IFNDEF TCLDIR.
5ce0: 54 43 4c 44 49 52 20 3d 20 24 28 54 4f 50 29 5c  TCLDIR = $(TOP)\
5cf0: 63 6f 6d 70 61 74 5c 74 63 6c 0a 21 45 4e 44 49  compat\tcl.!ENDI
5d00: 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c 49 4e  F..!IFNDEF TCLIN
5d10: 43 44 49 52 0a 54 43 4c 49 4e 43 44 49 52 20 3d  CDIR.TCLINCDIR =
5d20: 20 24 28 54 43 4c 44 49 52 29 5c 69 6e 63 6c 75   $(TCLDIR)\inclu
5d30: 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44  de.!ENDIF..!IFND
5d40: 45 46 20 54 43 4c 4c 49 42 44 49 52 0a 54 43 4c  EF TCLLIBDIR.TCL
5d50: 4c 49 42 44 49 52 20 3d 20 24 28 54 43 4c 44 49  LIBDIR = $(TCLDI
5d60: 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21  R)\lib.!ENDIF..!
5d70: 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 0a 4c 49  IFNDEF LIBTCL.LI
5d80: 42 54 43 4c 20 3d 20 74 63 6c 24 28 54 43 4c 56  BTCL = tcl$(TCLV
5d90: 45 52 53 49 4f 4e 29 24 28 54 43 4c 53 55 46 46  ERSION)$(TCLSUFF
5da0: 49 58 29 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a  IX).lib.!ENDIF..
5db0: 21 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 53 54  !IFNDEF LIBTCLST
5dc0: 55 42 0a 4c 49 42 54 43 4c 53 54 55 42 20 3d 20  UB.LIBTCLSTUB = 
5dd0: 74 63 6c 73 74 75 62 24 28 54 43 4c 56 45 52 53  tclstub$(TCLVERS
5de0: 49 4f 4e 29 24 28 54 43 4c 53 55 46 46 49 58 29  ION)$(TCLSUFFIX)
5df0: 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46  .lib.!ENDIF..!IF
5e00: 4e 44 45 46 20 4c 49 42 54 43 4c 50 41 54 48 0a  NDEF LIBTCLPATH.
5e10: 4c 49 42 54 43 4c 50 41 54 48 20 3d 20 24 28 54  LIBTCLPATH = $(T
5e20: 43 4c 44 49 52 29 5c 62 69 6e 0a 21 45 4e 44 49  CLDIR)\bin.!ENDI
5e30: 46 0a 0a 23 20 54 68 65 20 6c 6f 63 61 74 69 6f  F..# The locatio
5e40: 6e 73 20 6f 66 20 74 68 65 20 7a 6c 69 62 20 68  ns of the zlib h
5e50: 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61 72  eader and librar
5e60: 79 20 66 69 6c 65 73 2e 20 20 54 68 65 73 65 20  y files.  These 
5e70: 76 61 72 69 61 62 6c 65 73 0a 23 20 28 5a 4c 49  variables.# (ZLI
5e80: 42 49 4e 43 44 49 52 2c 20 5a 4c 49 42 4c 49 42  BINCDIR, ZLIBLIB
5e90: 44 49 52 2c 20 61 6e 64 20 5a 4c 49 42 4c 49 42  DIR, and ZLIBLIB
5ea0: 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64  ) may be overrid
5eb0: 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69  den via the envi
5ec0: 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20  ronment.# prior 
5ed0: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65  to running nmake
5ee0: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74   in order to mat
5ef0: 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e  ch the actual in
5f00: 73 74 61 6c 6c 65 64 20 28 6f 72 20 73 6f 75 72  stalled (or sour
5f10: 63 65 0a 23 20 63 6f 64 65 29 20 6c 6f 63 61 74  ce.# code) locat
5f20: 69 6f 6e 20 6f 6e 20 74 68 69 73 20 6d 61 63 68  ion on this mach
5f30: 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 5a  ine..#.!IFNDEF Z
5f40: 4c 49 42 44 49 52 0a 5a 4c 49 42 44 49 52 20 3d  LIBDIR.ZLIBDIR =
5f50: 20 24 28 54 4f 50 29 5c 63 6f 6d 70 61 74 5c 7a   $(TOP)\compat\z
5f60: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e  lib.!ENDIF..!IFN
5f70: 44 45 46 20 5a 4c 49 42 49 4e 43 44 49 52 0a 5a  DEF ZLIBINCDIR.Z
5f80: 4c 49 42 49 4e 43 44 49 52 20 3d 20 24 28 5a 4c  LIBINCDIR = $(ZL
5f90: 49 42 44 49 52 29 0a 21 45 4e 44 49 46 0a 0a 21  IBDIR).!ENDIF..!
5fa0: 49 46 4e 44 45 46 20 5a 4c 49 42 4c 49 42 44 49  IFNDEF ZLIBLIBDI
5fb0: 52 0a 5a 4c 49 42 4c 49 42 44 49 52 20 3d 20 24  R.ZLIBLIBDIR = $
5fc0: 28 5a 4c 49 42 44 49 52 29 0a 21 45 4e 44 49 46  (ZLIBDIR).!ENDIF
5fd0: 0a 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42 4c 49  ..!IFNDEF ZLIBLI
5fe0: 42 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f  B.!IF $(DYNAMIC_
5ff0: 53 48 45 4c 4c 29 21 3d 30 0a 5a 4c 49 42 4c 49  SHELL)!=0.ZLIBLI
6000: 42 20 3d 20 7a 64 6c 6c 2e 6c 69 62 0a 21 45 4c  B = zdll.lib.!EL
6010: 53 45 0a 5a 4c 49 42 4c 49 42 20 3d 20 7a 6c 69  SE.ZLIBLIB = zli
6020: 62 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21 45 4e  b.lib.!ENDIF.!EN
6030: 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63 61 74  DIF..# The locat
6040: 69 6f 6e 73 20 6f 66 20 74 68 65 20 49 43 55 20  ions of the ICU 
6050: 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61  header and libra
6060: 72 79 20 66 69 6c 65 73 2e 20 20 54 68 65 73 65  ry files.  These
6070: 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 49 43   variables.# (IC
6080: 55 49 4e 43 44 49 52 2c 20 49 43 55 4c 49 42 44  UINCDIR, ICULIBD
6090: 49 52 2c 20 61 6e 64 20 4c 49 42 49 43 55 29 20  IR, and LIBICU) 
60a0: 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64 64 65  may be overridde
60b0: 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69 72 6f  n via the enviro
60c0: 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 74 6f  nment.# prior to
60d0: 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 69   running nmake i
60e0: 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 63 68  n order to match
60f0: 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e 73 74   the actual inst
6100: 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20 6f  alled location o
6110: 6e 0a 23 20 74 68 69 73 20 6d 61 63 68 69 6e 65  n.# this machine
6120: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 49 43 55 44  ..#.!IFNDEF ICUD
6130: 49 52 0a 49 43 55 44 49 52 20 3d 20 24 28 54 4f  IR.ICUDIR = $(TO
6140: 50 29 5c 63 6f 6d 70 61 74 5c 69 63 75 0a 21 45  P)\compat\icu.!E
6150: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 49 43  NDIF..!IFNDEF IC
6160: 55 49 4e 43 44 49 52 0a 49 43 55 49 4e 43 44 49  UINCDIR.ICUINCDI
6170: 52 20 3d 20 24 28 49 43 55 44 49 52 29 5c 69 6e  R = $(ICUDIR)\in
6180: 63 6c 75 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49  clude.!ENDIF..!I
6190: 46 4e 44 45 46 20 49 43 55 4c 49 42 44 49 52 0a  FNDEF ICULIBDIR.
61a0: 49 43 55 4c 49 42 44 49 52 20 3d 20 24 28 49 43  ICULIBDIR = $(IC
61b0: 55 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46  UDIR)\lib.!ENDIF
61c0: 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 49 43 55  ..!IFNDEF LIBICU
61d0: 0a 4c 49 42 49 43 55 20 3d 20 69 63 75 75 63 2e  .LIBICU = icuuc.
61e0: 6c 69 62 20 69 63 75 69 6e 2e 6c 69 62 0a 21 45  lib icuin.lib.!E
61f0: 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 20  NDIF..# This is 
6200: 74 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 75  the command to u
6210: 73 65 20 66 6f 72 20 74 63 6c 73 68 20 2d 20 6e  se for tclsh - n
6220: 6f 72 6d 61 6c 6c 79 20 6a 75 73 74 20 22 74 63  ormally just "tc
6230: 6c 73 68 22 2c 20 62 75 74 20 77 65 20 6d 61 79  lsh", but we may
6240: 0a 23 20 6b 6e 6f 77 20 74 68 65 20 73 70 65 63  .# know the spec
6250: 69 66 69 63 20 76 65 72 73 69 6f 6e 20 77 65 20  ific version we 
6260: 77 61 6e 74 20 74 6f 20 75 73 65 2e 20 20 54 68  want to use.  Th
6270: 69 73 20 76 61 72 69 61 62 6c 65 20 28 54 43 4c  is variable (TCL
6280: 53 48 5f 43 4d 44 29 20 6d 61 79 20 62 65 0a 23  SH_CMD) may be.#
6290: 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69 61 20   overridden via 
62a0: 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20  the environment 
62b0: 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67  prior to running
62c0: 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65 72 20   nmake in order 
62d0: 74 6f 20 73 65 6c 65 63 74 20 61 0a 23 20 73 70  to select a.# sp
62e0: 65 63 69 66 69 63 20 54 63 6c 20 73 68 65 6c 6c  ecific Tcl shell
62f0: 20 74 6f 20 75 73 65 2e 0a 23 0a 21 49 46 4e 44   to use..#.!IFND
6300: 45 46 20 54 43 4c 53 48 5f 43 4d 44 0a 21 49 46  EF TCLSH_CMD.!IF
6310: 20 24 28 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f   $(USE_TCLSH_IN_
6320: 50 41 54 48 29 21 3d 30 20 7c 7c 20 21 45 58 49  PATH)!=0 || !EXI
6330: 53 54 28 22 24 28 54 43 4c 44 49 52 29 5c 62 69  ST("$(TCLDIR)\bi
6340: 6e 5c 74 63 6c 73 68 2e 65 78 65 22 29 0a 54 43  n\tclsh.exe").TC
6350: 4c 53 48 5f 43 4d 44 20 3d 20 74 63 6c 73 68 0a  LSH_CMD = tclsh.
6360: 21 45 4c 53 45 0a 54 43 4c 53 48 5f 43 4d 44 20  !ELSE.TCLSH_CMD 
6370: 3d 20 24 28 54 43 4c 44 49 52 29 5c 62 69 6e 5c  = $(TCLDIR)\bin\
6380: 74 63 6c 73 68 2e 65 78 65 0a 21 45 4e 44 49 46  tclsh.exe.!ENDIF
6390: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
63a0: 6b 3e 3e 0a 0a 23 20 43 6f 6d 70 69 6c 65 72 20  k>>..# Compiler 
63b0: 6f 70 74 69 6f 6e 73 20 6e 65 65 64 65 64 20 66  options needed f
63c0: 6f 72 20 70 72 6f 67 72 61 6d 73 20 74 68 61 74  or programs that
63d0: 20 75 73 65 20 74 68 65 20 72 65 61 64 6c 69 6e   use the readlin
63e0: 65 28 29 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  e() library..#.!
63f0: 49 46 4e 44 45 46 20 52 45 41 44 4c 49 4e 45 5f  IFNDEF READLINE_
6400: 46 4c 41 47 53 0a 52 45 41 44 4c 49 4e 45 5f 46  FLAGS.READLINE_F
6410: 4c 41 47 53 20 3d 20 2d 44 48 41 56 45 5f 52 45  LAGS = -DHAVE_RE
6420: 41 44 4c 49 4e 45 3d 30 0a 21 45 4e 44 49 46 0a  ADLINE=0.!ENDIF.
6430: 0a 23 20 54 68 65 20 6c 69 62 72 61 72 79 20 74  .# The library t
6440: 68 61 74 20 70 72 6f 67 72 61 6d 73 20 75 73 69  hat programs usi
6450: 6e 67 20 72 65 61 64 6c 69 6e 65 28 29 20 6d 75  ng readline() mu
6460: 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 2e  st link against.
6470: 0a 23 0a 21 49 46 4e 44 45 46 20 4c 49 42 52 45  .#.!IFNDEF LIBRE
6480: 41 44 4c 49 4e 45 0a 4c 49 42 52 45 41 44 4c 49  ADLINE.LIBREADLI
6490: 4e 45 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 53  NE =.!ENDIF..# S
64a0: 68 6f 75 6c 64 20 74 68 65 20 64 61 74 61 62 61  hould the databa
64b0: 73 65 20 65 6e 67 69 6e 65 20 62 65 20 63 6f 6d  se engine be com
64c0: 70 69 6c 65 64 20 74 68 72 65 61 64 73 61 66 65  piled threadsafe
64d0: 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  .#.TCC = $(TCC) 
64e0: 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
64f0: 41 46 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43  AFE=1.RCC = $(RC
6500: 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45  C) -DSQLITE_THRE
6510: 41 44 53 41 46 45 3d 31 0a 0a 23 20 44 6f 20 74  ADSAFE=1..# Do t
6520: 68 72 65 61 64 73 20 6f 76 65 72 72 69 64 65 20  hreads override 
6530: 65 61 63 68 20 6f 74 68 65 72 73 20 6c 6f 63 6b  each others lock
6540: 73 20 62 79 20 64 65 66 61 75 6c 74 20 28 31 29  s by default (1)
6550: 2c 20 6f 72 20 64 6f 20 77 65 20 74 65 73 74 20  , or do we test 
6560: 28 2d 31 29 0a 23 0a 54 43 43 20 3d 20 24 28 54  (-1).#.TCC = $(T
6570: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  CC) -DSQLITE_THR
6580: 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c 4f 43  EAD_OVERRIDE_LOC
6590: 4b 3d 2d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  K=-1.RCC = $(RCC
65a0: 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
65b0: 44 5f 4f 56 45 52 52 49 44 45 5f 4c 4f 43 4b 3d  D_OVERRIDE_LOCK=
65c0: 2d 31 0a 0a 23 20 41 6e 79 20 74 61 72 67 65 74  -1..# Any target
65d0: 20 6c 69 62 72 61 72 69 65 73 20 77 68 69 63 68   libraries which
65e0: 20 6c 69 62 73 71 6c 69 74 65 20 6d 75 73 74 20   libsqlite must 
65f0: 62 65 20 6c 69 6e 6b 65 64 20 61 67 61 69 6e 73  be linked agains
6600: 74 0a 23 0a 21 49 46 4e 44 45 46 20 54 4c 49 42  t.#.!IFNDEF TLIB
6610: 53 0a 54 4c 49 42 53 20 3d 0a 21 45 4e 44 49 46  S.TLIBS =.!ENDIF
6620: 0a 0a 23 20 46 6c 61 67 73 20 63 6f 6e 74 72 6f  ..# Flags contro
6630: 6c 6c 69 6e 67 20 75 73 65 20 6f 66 20 74 68 65  lling use of the
6640: 20 69 6e 20 6d 65 6d 6f 72 79 20 62 74 72 65 65   in memory btree
6650: 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 0a   implementation.
6660: 23 0a 23 20 53 51 4c 49 54 45 5f 54 45 4d 50 5f  #.# SQLITE_TEMP_
6670: 53 54 4f 52 45 20 69 73 20 30 20 74 6f 20 66 6f  STORE is 0 to fo
6680: 72 63 65 20 74 65 6d 70 6f 72 61 72 79 20 74 61  rce temporary ta
6690: 62 6c 65 73 20 74 6f 20 62 65 20 69 6e 20 61 20  bles to be in a 
66a0: 66 69 6c 65 2c 20 31 20 74 6f 0a 23 20 64 65 66  file, 1 to.# def
66b0: 61 75 6c 74 20 74 6f 20 66 69 6c 65 2c 20 32 20  ault to file, 2 
66c0: 74 6f 20 64 65 66 61 75 6c 74 20 74 6f 20 6d 65  to default to me
66d0: 6d 6f 72 79 2c 20 61 6e 64 20 33 20 74 6f 20 66  mory, and 3 to f
66e0: 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79 0a 23  orce temporary.#
66f0: 20 74 61 62 6c 65 73 20 74 6f 20 61 6c 77 61 79   tables to alway
6700: 73 20 62 65 20 69 6e 20 6d 65 6d 6f 72 79 2e 0a  s be in memory..
6710: 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  #.TCC = $(TCC) -
6720: 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f  DSQLITE_TEMP_STO
6730: 52 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  RE=1.RCC = $(RCC
6740: 29 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f  ) -DSQLITE_TEMP_
6750: 53 54 4f 52 45 3d 31 0a 0a 23 20 45 6e 61 62 6c  STORE=1..# Enabl
6760: 65 2f 64 69 73 61 62 6c 65 20 6c 6f 61 64 61 62  e/disable loadab
6770: 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 2c 20 61  le extensions, a
6780: 6e 64 20 6f 74 68 65 72 20 6f 70 74 69 6f 6e 61  nd other optiona
6790: 6c 20 66 65 61 74 75 72 65 73 0a 23 20 62 61 73  l features.# bas
67a0: 65 64 20 6f 6e 20 63 6f 6e 66 69 67 75 72 61 74  ed on configurat
67b0: 69 6f 6e 2e 20 28 2d 44 53 51 4c 49 54 45 5f 4f  ion. (-DSQLITE_O
67c0: 4d 49 54 2a 2c 20 2d 44 53 51 4c 49 54 45 5f 45  MIT*, -DSQLITE_E
67d0: 4e 41 42 4c 45 2a 29 2e 0a 23 20 54 68 65 20 73  NABLE*)..# The s
67e0: 61 6d 65 20 73 65 74 20 6f 66 20 4f 4d 49 54 20  ame set of OMIT 
67f0: 61 6e 64 20 45 4e 41 42 4c 45 20 66 6c 61 67 73  and ENABLE flags
6800: 20 73 68 6f 75 6c 64 20 62 65 20 70 61 73 73 65   should be passe
6810: 64 20 74 6f 20 74 68 65 0a 23 20 4c 45 4d 4f 4e  d to the.# LEMON
6820: 20 70 61 72 73 65 72 20 67 65 6e 65 72 61 74 6f   parser generato
6830: 72 20 61 6e 64 20 74 68 65 20 6d 6b 6b 65 79 77  r and the mkkeyw
6840: 6f 72 64 68 61 73 68 20 74 6f 6f 6c 20 61 73 20  ordhash tool as 
6850: 77 65 6c 6c 2e 0a 0a 23 20 54 68 65 73 65 20 61  well...# These a
6860: 72 65 20 74 68 65 20 72 65 71 75 69 72 65 64 20  re the required 
6870: 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 69  SQLite compilati
6880: 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20  on options used 
6890: 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66  when compiling f
68a0: 6f 72 0a 23 20 74 68 65 20 57 69 6e 64 6f 77 73  or.# the Windows
68b0: 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 52 45 51   platform..#.REQ
68c0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d  _FEATURE_FLAGS =
68d0: 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46   $(REQ_FEATURE_F
68e0: 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 4d  LAGS) -DSQLITE_M
68f0: 41 58 5f 54 52 49 47 47 45 52 5f 44 45 50 54 48  AX_TRIGGER_DEPTH
6900: 3d 31 30 30 0a 0a 23 20 49 66 20 77 65 20 61 72  =100..# If we ar
6910: 65 20 6c 69 6e 6b 69 6e 67 20 74 6f 20 74 68 65  e linking to the
6920: 20 52 50 43 52 54 34 20 6c 69 62 72 61 72 79 2c   RPCRT4 library,
6930: 20 65 6e 61 62 6c 65 20 66 65 61 74 75 72 65 73   enable features
6940: 20 74 68 61 74 20 6e 65 65 64 20 69 74 2e 0a 23   that need it..#
6950: 0a 21 49 46 20 24 28 55 53 45 5f 52 50 43 52 54  .!IF $(USE_RPCRT
6960: 34 5f 4c 49 42 29 21 3d 30 0a 52 45 51 5f 46 45  4_LIB)!=0.REQ_FE
6970: 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  ATURE_FLAGS = $(
6980: 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  REQ_FEATURE_FLAG
6990: 53 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33  S) -DSQLITE_WIN3
69a0: 32 5f 55 53 45 5f 55 55 49 44 3d 31 0a 21 45 4e  2_USE_UUID=1.!EN
69b0: 44 49 46 0a 0a 23 20 41 64 64 20 74 68 65 20 72  DIF..# Add the r
69c0: 65 71 75 69 72 65 64 20 61 6e 64 20 6f 70 74 69  equired and opti
69d0: 6f 6e 61 6c 20 53 51 4c 69 74 65 20 63 6f 6d 70  onal SQLite comp
69e0: 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20  ilation options 
69f0: 69 6e 74 6f 20 74 68 65 20 63 6f 6d 6d 61 6e 64  into the command
6a00: 0a 23 20 6c 69 6e 65 73 20 75 73 65 64 20 74 6f  .# lines used to
6a10: 20 69 6e 76 6f 6b 65 20 74 68 65 20 4d 53 56 43   invoke the MSVC
6a20: 20 63 6f 64 65 20 61 6e 64 20 72 65 73 6f 75 72   code and resour
6a30: 63 65 20 63 6f 6d 70 69 6c 65 72 73 2e 0a 23 0a  ce compilers..#.
6a40: 54 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 52  TCC = $(TCC) $(R
6a50: 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  EQ_FEATURE_FLAGS
6a60: 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f  ) $(OPT_FEATURE_
6a70: 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41  FLAGS) $(EXT_FEA
6a80: 54 55 52 45 5f 46 4c 41 47 53 29 0a 52 43 43 20  TURE_FLAGS).RCC 
6a90: 3d 20 24 28 52 43 43 29 20 24 28 52 45 51 5f 46  = $(RCC) $(REQ_F
6aa0: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  EATURE_FLAGS) $(
6ab0: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
6ac0: 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45  S) $(EXT_FEATURE
6ad0: 5f 46 4c 41 47 53 29 0a 0a 23 20 41 64 64 20 69  _FLAGS)..# Add i
6ae0: 6e 20 61 6e 79 20 6f 70 74 69 6f 6e 61 6c 20 70  n any optional p
6af0: 61 72 61 6d 65 74 65 72 73 20 73 70 65 63 69 66  arameters specif
6b00: 69 65 64 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61  ied on the comma
6b10: 6e 65 20 6c 69 6e 65 2c 20 65 2e 67 2e 0a 23 20  ne line, e.g..# 
6b20: 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c  nmake /f Makefil
6b30: 65 2e 6d 73 63 20 61 6c 6c 20 22 4f 50 54 53 3d  e.msc all "OPTS=
6b40: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
6b50: 46 4f 4f 3d 31 20 2d 44 53 51 4c 49 54 45 5f 4f  FOO=1 -DSQLITE_O
6b60: 4d 49 54 5f 46 4f 4f 3d 31 22 0a 23 0a 54 43 43  MIT_FOO=1".#.TCC
6b70: 20 3d 20 24 28 54 43 43 29 20 24 28 4f 50 54 53   = $(TCC) $(OPTS
6b80: 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 24  ).RCC = $(RCC) $
6b90: 28 4f 50 54 53 29 0a 0a 23 20 49 66 20 63 6f 6d  (OPTS)..# If com
6ba0: 70 69 6c 69 6e 67 20 66 6f 72 20 64 65 62 75 67  piling for debug
6bb0: 67 69 6e 67 2c 20 61 64 64 20 73 6f 6d 65 20 64  ging, add some d
6bc0: 65 66 69 6e 65 73 2e 0a 23 0a 21 49 46 20 24 28  efines..#.!IF $(
6bd0: 44 45 42 55 47 29 3e 31 0a 54 43 43 20 3d 20 24  DEBUG)>1.TCC = $
6be0: 28 54 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 42  (TCC) -D_DEBUG.B
6bf0: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44 5f 44  CC = $(BCC) -D_D
6c00: 45 42 55 47 0a 52 43 43 20 3d 20 24 28 52 43 43  EBUG.RCC = $(RCC
6c10: 29 20 2d 44 5f 44 45 42 55 47 0a 21 45 4e 44 49  ) -D_DEBUG.!ENDI
6c20: 46 0a 0a 23 20 49 66 20 6f 70 74 69 6d 69 7a 61  F..# If optimiza
6c30: 74 69 6f 6e 73 20 61 72 65 20 65 6e 61 62 6c 65  tions are enable
6c40: 64 20 6f 72 20 64 69 73 61 62 6c 65 64 20 28 65  d or disabled (e
6c50: 69 74 68 65 72 20 69 6d 70 6c 69 63 69 74 6c 79  ither implicitly
6c60: 20 6f 72 0a 23 20 65 78 70 6c 69 63 69 74 6c 79   or.# explicitly
6c70: 29 2c 20 61 64 64 20 74 68 65 20 6e 65 63 65 73  ), add the neces
6c80: 73 61 72 79 20 66 6c 61 67 73 2e 0a 23 0a 21 49  sary flags..#.!I
6c90: 46 20 24 28 44 45 42 55 47 29 3e 31 20 7c 7c 20  F $(DEBUG)>1 || 
6ca0: 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29  $(OPTIMIZATIONS)
6cb0: 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  ==0.TCC = $(TCC)
6cc0: 20 2d 4f 64 0a 42 43 43 20 3d 20 24 28 42 43 43   -Od.BCC = $(BCC
6cd0: 29 20 2d 4f 64 0a 21 49 46 20 24 28 55 53 45 5f  ) -Od.!IF $(USE_
6ce0: 52 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 29 21  RUNTIME_CHECKS)!
6cf0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
6d00: 2d 52 54 43 31 0a 42 43 43 20 3d 20 24 28 42 43  -RTC1.BCC = $(BC
6d10: 43 29 20 2d 52 54 43 31 0a 21 45 4e 44 49 46 0a  C) -RTC1.!ENDIF.
6d20: 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49  !ELSEIF $(OPTIMI
6d30: 5a 41 54 49 4f 4e 53 29 3e 3d 33 0a 54 43 43 20  ZATIONS)>=3.TCC 
6d40: 3d 20 24 28 54 43 43 29 20 2d 4f 78 0a 42 43 43  = $(TCC) -Ox.BCC
6d50: 20 3d 20 24 28 42 43 43 29 20 2d 4f 78 0a 21 45   = $(BCC) -Ox.!E
6d60: 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41  LSEIF $(OPTIMIZA
6d70: 54 49 4f 4e 53 29 3d 3d 32 0a 54 43 43 20 3d 20  TIONS)==2.TCC = 
6d80: 24 28 54 43 43 29 20 2d 4f 32 0a 42 43 43 20 3d  $(TCC) -O2.BCC =
6d90: 20 24 28 42 43 43 29 20 2d 4f 32 0a 21 45 4c 53   $(BCC) -O2.!ELS
6da0: 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41 54 49  EIF $(OPTIMIZATI
6db0: 4f 4e 53 29 3d 3d 31 0a 54 43 43 20 3d 20 24 28  ONS)==1.TCC = $(
6dc0: 54 43 43 29 20 2d 4f 31 0a 42 43 43 20 3d 20 24  TCC) -O1.BCC = $
6dd0: 28 42 43 43 29 20 2d 4f 31 0a 21 45 4e 44 49 46  (BCC) -O1.!ENDIF
6de0: 0a 0a 23 20 49 66 20 73 79 6d 62 6f 6c 73 20 61  ..# If symbols a
6df0: 72 65 20 65 6e 61 62 6c 65 64 20 28 6f 72 20 63  re enabled (or c
6e00: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65 62  ompiling for deb
6e10: 75 67 67 69 6e 67 29 2c 20 65 6e 61 62 6c 65 20  ugging), enable 
6e20: 50 44 42 73 2e 0a 23 0a 21 49 46 20 24 28 44 45  PDBs..#.!IF $(DE
6e30: 42 55 47 29 3e 31 20 7c 7c 20 24 28 53 59 4d 42  BUG)>1 || $(SYMB
6e40: 4f 4c 53 29 21 3d 30 0a 54 43 43 20 3d 20 24 28  OLS)!=0.TCC = $(
6e50: 54 43 43 29 20 2d 5a 69 0a 42 43 43 20 3d 20 24  TCC) -Zi.BCC = $
6e60: 28 42 43 43 29 20 2d 5a 69 0a 21 45 4e 44 49 46  (BCC) -Zi.!ENDIF
6e70: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 49  ..# <<mark>>.# I
6e80: 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 74 20 69  f zlib support i
6e90: 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74  s enabled, add t
6ea0: 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  he compiler opti
6eb0: 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49  ons for it..#.!I
6ec0: 46 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30  F $(USE_ZLIB)!=0
6ed0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D
6ee0: 53 51 4c 49 54 45 5f 48 41 56 45 5f 5a 4c 49 42  SQLITE_HAVE_ZLIB
6ef0: 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  =1.RCC = $(RCC) 
6f00: 2d 44 53 51 4c 49 54 45 5f 48 41 56 45 5f 5a 4c  -DSQLITE_HAVE_ZL
6f10: 49 42 3d 31 0a 54 43 43 20 3d 20 24 28 54 43 43  IB=1.TCC = $(TCC
6f20: 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49 52  ) -I$(ZLIBINCDIR
6f30: 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  ).RCC = $(RCC) -
6f40: 49 24 28 5a 4c 49 42 49 4e 43 44 49 52 29 0a 21  I$(ZLIBINCDIR).!
6f50: 45 4e 44 49 46 0a 0a 23 20 49 66 20 49 43 55 20  ENDIF..# If ICU 
6f60: 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c  support is enabl
6f70: 65 64 2c 20 61 64 64 20 74 68 65 20 63 6f 6d 70  ed, add the comp
6f80: 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72  iler options for
6f90: 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45   it..#.!IF $(USE
6fa0: 5f 49 43 55 29 21 3d 30 0a 54 43 43 20 3d 20 24  _ICU)!=0.TCC = $
6fb0: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45  (TCC) -DSQLITE_E
6fc0: 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 52 43 43 20  NABLE_ICU=1.RCC 
6fd0: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT
6fe0: 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 54  E_ENABLE_ICU=1.T
6ff0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28  CC = $(TCC) -I$(
7000: 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 52 43 43  TOP)\ext\icu.RCC
7010: 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f   = $(RCC) -I$(TO
7020: 50 29 5c 65 78 74 5c 69 63 75 0a 54 43 43 20 3d  P)\ext\icu.TCC =
7030: 20 24 28 54 43 43 29 20 2d 49 24 28 49 43 55 49   $(TCC) -I$(ICUI
7040: 4e 43 44 49 52 29 0a 52 43 43 20 3d 20 24 28 52  NCDIR).RCC = $(R
7050: 43 43 29 20 2d 49 24 28 49 43 55 49 4e 43 44 49  CC) -I$(ICUINCDI
7060: 52 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d  R).!ENDIF.# <</m
7070: 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d 61 6e 64  ark>>..# Command
7080: 20 6c 69 6e 65 20 70 72 65 66 69 78 65 73 20 66   line prefixes f
7090: 6f 72 20 63 6f 6d 70 69 6c 69 6e 67 20 63 6f 64  or compiling cod
70a0: 65 2c 20 63 6f 6d 70 69 6c 69 6e 67 20 72 65 73  e, compiling res
70b0: 6f 75 72 63 65 73 2c 0a 23 20 6c 69 6e 6b 69 6e  ources,.# linkin
70c0: 67 2c 20 65 74 63 2e 0a 23 0a 4c 54 43 4f 4d 50  g, etc..#.LTCOMP
70d0: 49 4c 45 20 3d 20 24 28 54 43 43 29 20 2d 46 6f  ILE = $(TCC) -Fo
70e0: 24 40 20 2d 46 64 24 2a 2e 70 64 62 0a 4c 54 52  $@ -Fd$*.pdb.LTR
70f0: 43 4f 4d 50 49 4c 45 20 3d 20 24 28 52 43 43 29  COMPILE = $(RCC)
7100: 20 2d 72 0a 4c 54 4c 49 42 20 3d 20 6c 69 62 2e   -r.LTLIB = lib.
7110: 65 78 65 0a 4c 54 4c 49 4e 4b 20 3d 20 24 28 54  exe.LTLINK = $(T
7120: 43 43 29 20 2d 46 65 24 40 0a 0a 23 20 49 66 20  CC) -Fe$@..# If 
7130: 72 65 71 75 65 73 74 65 64 2c 20 6c 69 6e 6b 20  requested, link 
7140: 74 6f 20 74 68 65 20 52 50 43 52 54 34 20 6c 69  to the RPCRT4 li
7150: 62 72 61 72 79 2e 0a 23 0a 21 49 46 20 24 28 55  brary..#.!IF $(U
7160: 53 45 5f 52 50 43 52 54 34 5f 4c 49 42 29 21 3d  SE_RPCRT4_LIB)!=
7170: 30 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c  0.LTLIBS = $(LTL
7180: 49 42 53 29 20 72 70 63 72 74 34 2e 6c 69 62 0a  IBS) rpcrt4.lib.
7190: 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 61 20 70  !ENDIF..# If a p
71a0: 6c 61 74 66 6f 72 6d 20 77 61 73 20 73 65 74 2c  latform was set,
71b0: 20 66 6f 72 63 65 20 74 68 65 20 6c 69 6e 6b 65   force the linke
71c0: 72 20 74 6f 20 74 61 72 67 65 74 20 74 68 61 74  r to target that
71d0: 2e 0a 23 20 4e 6f 74 65 20 74 68 61 74 20 74 68  ..# Note that th
71e0: 65 20 76 63 76 61 72 73 2a 2e 62 61 74 20 66 61  e vcvars*.bat fa
71f0: 6d 69 6c 79 20 6f 66 20 62 61 74 63 68 20 66 69  mily of batch fi
7200: 6c 65 73 20 74 79 70 69 63 61 6c 6c 79 0a 23 20  les typically.# 
7210: 73 65 74 20 74 68 69 73 20 66 6f 72 20 79 6f 75  set this for you
7220: 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68  .  Otherwise, th
7230: 65 20 6c 69 6e 6b 65 72 20 77 69 6c 6c 20 61 74  e linker will at
7240: 74 65 6d 70 74 0a 23 20 74 6f 20 64 65 64 75 63  tempt.# to deduc
7250: 65 20 74 68 65 20 62 69 6e 61 72 79 20 74 79 70  e the binary typ
7260: 65 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 6f  e based on the o
7270: 62 6a 65 63 74 20 66 69 6c 65 73 2e 0a 21 49 46  bject files..!IF
7280: 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a 4c 54 4c  DEF PLATFORM.LTL
7290: 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47  INKOPTS = /NOLOG
72a0: 4f 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50 4c 41  O /MACHINE:$(PLA
72b0: 54 46 4f 52 4d 29 0a 4c 54 4c 49 42 4f 50 54 53  TFORM).LTLIBOPTS
72c0: 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48   = /NOLOGO /MACH
72d0: 49 4e 45 3a 24 28 50 4c 41 54 46 4f 52 4d 29 0a  INE:$(PLATFORM).
72e0: 21 45 4c 53 45 49 46 20 22 24 28 56 49 53 55 41  !ELSEIF "$(VISUA
72f0: 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22  LSTUDIOVERSION)"
7300: 3d 3d 22 31 32 2e 30 22 20 7c 7c 20 5c 0a 20 20  =="12.0" || \.  
7310: 20 20 20 20 20 20 22 24 28 56 49 53 55 41 4c 53        "$(VISUALS
7320: 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d  TUDIOVERSION)"==
7330: 22 31 34 2e 30 22 20 7c 7c 20 5c 0a 20 20 20 20  "14.0" || \.    
7340: 20 20 20 20 22 24 28 56 49 53 55 41 4c 53 54 55      "$(VISUALSTU
7350: 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d 22 31  DIOVERSION)"=="1
7360: 35 2e 30 22 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  5.0".LTLINKOPTS 
7370: 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49  = /NOLOGO /MACHI
7380: 4e 45 3a 78 38 36 0a 4c 54 4c 49 42 4f 50 54 53  NE:x86.LTLIBOPTS
7390: 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48   = /NOLOGO /MACH
73a0: 49 4e 45 3a 78 38 36 0a 21 45 4c 53 45 0a 4c 54  INE:x86.!ELSE.LT
73b0: 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f  LINKOPTS = /NOLO
73c0: 47 4f 0a 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f  GO.LTLIBOPTS = /
73d0: 4e 4f 4c 4f 47 4f 0a 21 45 4e 44 49 46 0a 0a 23  NOLOGO.!ENDIF..#
73e0: 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20   When compiling 
73f0: 66 6f 72 20 75 73 65 20 69 6e 20 74 68 65 20 57  for use in the W
7400: 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74  inRT environment
7410: 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a  , the following.
7420: 23 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 20  # linker option 
7430: 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 6f 20  must be used to 
7440: 6d 61 72 6b 20 74 68 65 20 65 78 65 63 75 74 61  mark the executa
7450: 62 6c 65 20 61 73 20 72 75 6e 6e 61 62 6c 65 0a  ble as runnable.
7460: 23 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 63 6f  # only in the co
7470: 6e 74 65 78 74 20 6f 66 20 61 6e 20 61 70 70 6c  ntext of an appl
7480: 69 63 61 74 69 6f 6e 20 63 6f 6e 74 61 69 6e 65  ication containe
7490: 72 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57  r..#.!IF $(FOR_W
74a0: 49 4e 52 54 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f  INRT)!=0.LTLINKO
74b0: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50  PTS = $(LTLINKOP
74c0: 54 53 29 20 2f 41 50 50 43 4f 4e 54 41 49 4e 45  TS) /APPCONTAINE
74d0: 52 0a 21 49 46 20 22 24 28 56 49 53 55 41 4c 53  R.!IF "$(VISUALS
74e0: 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d  TUDIOVERSION)"==
74f0: 22 31 32 2e 30 22 20 7c 7c 20 22 24 28 56 49 53  "12.0" || "$(VIS
7500: 55 41 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e  UALSTUDIOVERSION
7510: 29 22 3d 3d 22 31 34 2e 30 22 0a 21 49 46 4e 44  )"=="14.0".!IFND
7520: 45 46 20 53 54 4f 52 45 4c 49 42 50 41 54 48 0a  EF STORELIBPATH.
7530: 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  !IF "$(PLATFORM)
7540: 22 3d 3d 22 78 38 36 22 0a 53 54 4f 52 45 4c 49  "=="x86".STORELI
7550: 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42  BPATH = $(CRTLIB
7560: 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 4c 53  PATH)\store.!ELS
7570: 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  EIF "$(PLATFORM)
7580: 22 3d 3d 22 78 36 34 22 0a 53 54 4f 52 45 4c 49  "=="x64".STORELI
7590: 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42  BPATH = $(CRTLIB
75a0: 50 41 54 48 29 5c 73 74 6f 72 65 5c 61 6d 64 36  PATH)\store\amd6
75b0: 34 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c 41  4.!ELSEIF "$(PLA
75c0: 54 46 4f 52 4d 29 22 3d 3d 22 41 52 4d 22 0a 53  TFORM)"=="ARM".S
75d0: 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28  TORELIBPATH = $(
75e0: 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72  CRTLIBPATH)\stor
75f0: 65 5c 61 72 6d 0a 21 45 4c 53 45 0a 53 54 4f 52  e\arm.!ELSE.STOR
7600: 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54  ELIBPATH = $(CRT
7610: 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65 0a 21  LIBPATH)\store.!
7620: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 53 54 4f  ENDIF.!ENDIF.STO
7630: 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 53 54  RELIBPATH = $(ST
7640: 4f 52 45 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29  ORELIBPATH:\\=\)
7650: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $(
7660: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49  LTLINKOPTS) "/LI
7670: 42 50 41 54 48 3a 24 28 53 54 4f 52 45 4c 49 42  BPATH:$(STORELIB
7680: 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45  PATH)".!ENDIF.!E
7690: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d  NDIF..# When com
76a0: 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f  piling for Windo
76b0: 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 61 6e  ws Phone 8.1, an
76c0: 20 65 78 74 72 61 20 6c 69 62 72 61 72 79 20 70   extra library p
76d0: 61 74 68 20 69 73 0a 23 20 72 65 71 75 69 72 65  ath is.# require
76e0: 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 57  d..#.!IF $(USE_W
76f0: 50 38 31 5f 4f 50 54 53 29 21 3d 30 0a 21 49 46  P81_OPTS)!=0.!IF
7700: 4e 44 45 46 20 57 50 38 31 4c 49 42 50 41 54 48  NDEF WP81LIBPATH
7710: 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d  .!IF "$(PLATFORM
7720: 29 22 3d 3d 22 78 38 36 22 0a 57 50 38 31 4c 49  )"=="x86".WP81LI
7730: 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41  BPATH = $(PROGRA
7740: 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64  MFILES_X86)\Wind
7750: 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38  ows Phone Kits\8
7760: 2e 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4c 53 45  .1\lib\x86.!ELSE
7770: 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22  IF "$(PLATFORM)"
7780: 3d 3d 22 41 52 4d 22 0a 57 50 38 31 4c 49 42 50  =="ARM".WP81LIBP
7790: 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d 46  ATH = $(PROGRAMF
77a0: 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77  ILES_X86)\Window
77b0: 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31  s Phone Kits\8.1
77c0: 5c 6c 69 62 5c 41 52 4d 0a 21 45 4c 53 45 0a 57  \lib\ARM.!ELSE.W
77d0: 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24 28 50  P81LIBPATH = $(P
77e0: 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 29  ROGRAMFILES_X86)
77f0: 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b  \Windows Phone K
7800: 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38 36 0a  its\8.1\lib\x86.
7810: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 21 45  !ENDIF.!ENDIF.!E
7820: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d  NDIF..# When com
7830: 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f  piling for Windo
7840: 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 73 6f  ws Phone 8.1, so
7850: 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b 65 72 20  me extra linker 
7860: 6f 70 74 69 6f 6e 73 0a 23 20 61 72 65 20 61 6c  options.# are al
7870: 73 6f 20 72 65 71 75 69 72 65 64 2e 0a 23 0a 21  so required..#.!
7880: 49 46 20 24 28 55 53 45 5f 57 50 38 31 5f 4f 50  IF $(USE_WP81_OP
7890: 54 53 29 21 3d 30 0a 21 49 46 44 45 46 20 57 50  TS)!=0.!IFDEF WP
78a0: 38 31 4c 49 42 50 41 54 48 0a 4c 54 4c 49 4e 4b  81LIBPATH.LTLINK
78b0: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO
78c0: 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24  PTS) "/LIBPATH:$
78d0: 28 57 50 38 31 4c 49 42 50 41 54 48 29 22 0a 21  (WP81LIBPATH)".!
78e0: 45 4e 44 49 46 0a 4c 54 4c 49 4e 4b 4f 50 54 53  ENDIF.LTLINKOPTS
78f0: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS)
7900: 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 0a 4c 54   /DYNAMICBASE.LT
7910: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL
7920: 49 4e 4b 4f 50 54 53 29 20 57 69 6e 64 6f 77 73  INKOPTS) Windows
7930: 50 68 6f 6e 65 43 6f 72 65 2e 6c 69 62 20 52 75  PhoneCore.lib Ru
7940: 6e 74 69 6d 65 4f 62 6a 65 63 74 2e 6c 69 62 20  ntimeObject.lib 
7950: 50 68 6f 6e 65 41 70 70 4d 6f 64 65 6c 48 6f 73  PhoneAppModelHos
7960: 74 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53  t.lib.LTLINKOPTS
7970: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS)
7980: 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b   /NODEFAULTLIB:k
7990: 65 72 6e 65 6c 33 32 2e 6c 69 62 20 2f 4e 4f 44  ernel32.lib /NOD
79a0: 45 46 41 55 4c 54 4c 49 42 3a 6f 6c 65 33 32 2e  EFAULTLIB:ole32.
79b0: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68  lib.!ENDIF..# Wh
79c0: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72  en compiling for
79d0: 20 55 57 50 20 6f 72 20 74 68 65 20 57 69 6e 64   UWP or the Wind
79e0: 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 2c  ows 10 platform,
79f0: 20 73 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b   some extra link
7a00: 65 72 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65  er.# options are
7a10: 20 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 0a   also required..
7a20: 23 0a 21 49 46 20 24 28 46 4f 52 5f 55 57 50 29  #.!IF $(FOR_UWP)
7a30: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e  !=0 || $(FOR_WIN
7a40: 31 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54  10)!=0.LTLINKOPT
7a50: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS
7a60: 29 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 20 2f  ) /DYNAMICBASE /
7a70: 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65 72  NODEFAULTLIB:ker
7a80: 6e 65 6c 33 32 2e 6c 69 62 0a 4c 54 4c 49 4e 4b  nel32.lib.LTLINK
7a90: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO
7aa0: 50 54 53 29 20 6d 69 6e 63 6f 72 65 2e 6c 69 62  PTS) mincore.lib
7ab0: 0a 21 49 46 44 45 46 20 50 53 44 4b 4c 49 42 50  .!IFDEF PSDKLIBP
7ac0: 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  ATH.LTLINKOPTS =
7ad0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22   $(LTLINKOPTS) "
7ae0: 2f 4c 49 42 50 41 54 48 3a 24 28 50 53 44 4b 4c  /LIBPATH:$(PSDKL
7af0: 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a  IBPATH)".!ENDIF.
7b00: 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 46 4f  !ENDIF..!IF $(FO
7b10: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54 4c 49  R_WIN10)!=0.LTLI
7b20: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e  NKOPTS = $(LTLIN
7b30: 4b 4f 50 54 53 29 20 2f 67 75 61 72 64 3a 63 66  KOPTS) /guard:cf
7b40: 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 55 43 52   "/LIBPATH:$(UCR
7b50: 54 4c 49 42 50 41 54 48 29 22 0a 21 49 46 20 24  TLIBPATH)".!IF $
7b60: 28 44 45 42 55 47 29 3e 31 0a 4c 54 4c 49 4e 4b  (DEBUG)>1.LTLINK
7b70: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO
7b80: 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c  PTS) /NODEFAULTL
7b90: 49 42 3a 6c 69 62 75 63 72 74 64 2e 6c 69 62 20  IB:libucrtd.lib 
7ba0: 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 72 74  /DEFAULTLIB:ucrt
7bb0: 64 2e 6c 69 62 0a 21 45 4c 53 45 0a 4c 54 4c 49  d.lib.!ELSE.LTLI
7bc0: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e  NKOPTS = $(LTLIN
7bd0: 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c  KOPTS) /NODEFAUL
7be0: 54 4c 49 42 3a 6c 69 62 75 63 72 74 2e 6c 69 62  TLIB:libucrt.lib
7bf0: 20 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 72   /DEFAULTLIB:ucr
7c00: 74 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21 45 4e  t.lib.!ENDIF.!EN
7c10: 44 49 46 0a 0a 23 20 49 66 20 65 69 74 68 65 72  DIF..# If either
7c20: 20 64 65 62 75 67 67 69 6e 67 20 6f 72 20 73 79   debugging or sy
7c30: 6d 62 6f 6c 73 20 61 72 65 20 65 6e 61 62 6c 65  mbols are enable
7c40: 64 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 2e 0a  d, enable PDBs..
7c50: 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31  #.!IF $(DEBUG)>1
7c60: 20 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21 3d   || $(SYMBOLS)!=
7c70: 30 0a 4c 44 46 4c 41 47 53 20 3d 20 2f 44 45 42  0.LDFLAGS = /DEB
7c80: 55 47 20 24 28 4c 44 4f 50 54 53 29 0a 21 45 4c  UG $(LDOPTS).!EL
7c90: 53 45 0a 4c 44 46 4c 41 47 53 20 3d 20 24 28 4c  SE.LDFLAGS = $(L
7ca0: 44 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23  DOPTS).!ENDIF..#
7cb0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 74 61 72   <<mark>>.# Star
7cc0: 74 20 77 69 74 68 20 74 68 65 20 54 63 6c 20 72  t with the Tcl r
7cd0: 65 6c 61 74 65 64 20 6c 69 6e 6b 65 72 20 6f 70  elated linker op
7ce0: 74 69 6f 6e 73 2e 0a 23 0a 21 49 46 20 24 28 4e  tions..#.!IF $(N
7cf0: 4f 5f 54 43 4c 29 3d 3d 30 0a 54 43 4c 4c 49 42  O_TCL)==0.TCLLIB
7d00: 50 41 54 48 53 20 3d 20 24 28 54 43 4c 4c 49 42  PATHS = $(TCLLIB
7d10: 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54 48 3a  PATHS) /LIBPATH:
7d20: 24 28 54 43 4c 4c 49 42 44 49 52 29 0a 54 43 4c  $(TCLLIBDIR).TCL
7d30: 4c 49 42 53 20 3d 20 24 28 54 43 4c 4c 49 42 53  LIBS = $(TCLLIBS
7d40: 29 20 24 28 4c 49 42 54 43 4c 29 0a 21 45 4e 44  ) $(LIBTCL).!END
7d50: 49 46 0a 0a 23 20 49 66 20 7a 6c 69 62 20 73 75  IF..# If zlib su
7d60: 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64  pport is enabled
7d70: 2c 20 61 64 64 20 74 68 65 20 6c 69 6e 6b 65 72  , add the linker
7d80: 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e   options for it.
7d90: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49  .#.!IF $(USE_ZLI
7da0: 42 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54 48 53  B)!=0.LTLIBPATHS
7db0: 20 3d 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29   = $(LTLIBPATHS)
7dc0: 20 2f 4c 49 42 50 41 54 48 3a 24 28 5a 4c 49 42   /LIBPATH:$(ZLIB
7dd0: 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d  LIBDIR).LTLIBS =
7de0: 20 24 28 4c 54 4c 49 42 53 29 20 24 28 5a 4c 49   $(LTLIBS) $(ZLI
7df0: 42 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20  BLIB).!ENDIF..# 
7e00: 49 66 20 49 43 55 20 73 75 70 70 6f 72 74 20 69  If ICU support i
7e10: 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74  s enabled, add t
7e20: 68 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e  he linker option
7e30: 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20  s for it..#.!IF 
7e40: 24 28 55 53 45 5f 49 43 55 29 21 3d 30 0a 4c 54  $(USE_ICU)!=0.LT
7e50: 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4c 54 4c  LIBPATHS = $(LTL
7e60: 49 42 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54  IBPATHS) /LIBPAT
7e70: 48 3a 24 28 49 43 55 4c 49 42 44 49 52 29 0a 4c  H:$(ICULIBDIR).L
7e80: 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49 42 53  TLIBS = $(LTLIBS
7e90: 29 20 24 28 4c 49 42 49 43 55 29 0a 21 45 4e 44  ) $(LIBICU).!END
7ea0: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  IF.# <</mark>>..
7eb0: 23 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74  # You should not
7ec0: 20 68 61 76 65 20 74 6f 20 63 68 61 6e 67 65 20   have to change 
7ed0: 61 6e 79 74 68 69 6e 67 20 62 65 6c 6f 77 20 74  anything below t
7ee0: 68 69 73 20 6c 69 6e 65 0a 23 23 23 23 23 23 23  his line.#######
7ef0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7f00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7f10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7f20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7f30: 23 23 23 23 23 23 23 23 0a 0a 23 20 3c 3c 6d 61  ########..# <<ma
7f40: 72 6b 3e 3e 0a 23 20 4f 62 6a 65 63 74 20 66 69  rk>>.# Object fi
7f50: 6c 65 73 20 66 6f 72 20 74 68 65 20 53 51 4c 69  les for the SQLi
7f60: 74 65 20 6c 69 62 72 61 72 79 20 28 6e 6f 6e 2d  te library (non-
7f70: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23  amalgamation)..#
7f80: 0a 4c 49 42 4f 42 4a 53 30 20 3d 20 76 64 62 65  .LIBOBJS0 = vdbe
7f90: 2e 6c 6f 20 70 61 72 73 65 2e 6c 6f 20 61 6c 74  .lo parse.lo alt
7fa0: 65 72 2e 6c 6f 20 61 6e 61 6c 79 7a 65 2e 6c 6f  er.lo analyze.lo
7fb0: 20 61 74 74 61 63 68 2e 6c 6f 20 61 75 74 68 2e   attach.lo auth.
7fc0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 62 61  lo \.         ba
7fd0: 63 6b 75 70 2e 6c 6f 20 62 69 74 76 65 63 2e 6c  ckup.lo bitvec.l
7fe0: 6f 20 62 74 6d 75 74 65 78 2e 6c 6f 20 62 74 72  o btmutex.lo btr
7ff0: 65 65 2e 6c 6f 20 62 75 69 6c 64 2e 6c 6f 20 5c  ee.lo build.lo \
8000: 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 61  .         callba
8010: 63 6b 2e 6c 6f 20 63 6f 6d 70 6c 65 74 65 2e 6c  ck.lo complete.l
8020: 6f 20 63 74 69 6d 65 2e 6c 6f 20 5c 0a 20 20 20  o ctime.lo \.   
8030: 20 20 20 20 20 20 64 61 74 65 2e 6c 6f 20 64 62        date.lo db
8040: 70 61 67 65 2e 6c 6f 20 64 62 73 74 61 74 2e 6c  page.lo dbstat.l
8050: 6f 20 64 65 6c 65 74 65 2e 6c 6f 20 5c 0a 20 20  o delete.lo \.  
8060: 20 20 20 20 20 20 20 65 78 70 72 2e 6c 6f 20 66         expr.lo f
8070: 61 75 6c 74 2e 6c 6f 20 66 6b 65 79 2e 6c 6f 20  ault.lo fkey.lo 
8080: 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 2e  \.         fts3.
8090: 6c 6f 20 66 74 73 33 5f 61 75 78 2e 6c 6f 20 66  lo fts3_aux.lo f
80a0: 74 73 33 5f 65 78 70 72 2e 6c 6f 20 66 74 73 33  ts3_expr.lo fts3
80b0: 5f 68 61 73 68 2e 6c 6f 20 66 74 73 33 5f 69 63  _hash.lo fts3_ic
80c0: 75 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  u.lo \.         
80d0: 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f 20 66  fts3_porter.lo f
80e0: 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 20 66  ts3_snippet.lo f
80f0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f  ts3_tokenizer.lo
8100: 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31   fts3_tokenizer1
8110: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66  .lo \.         f
8120: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61  ts3_tokenize_vta
8130: 62 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64  b.lo fts3_unicod
8140: 65 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64  e.lo fts3_unicod
8150: 65 32 2e 6c 6f 20 66 74 73 33 5f 77 72 69 74 65  e2.lo fts3_write
8160: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66  .lo \.         f
8170: 74 73 35 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ts5.lo \.       
8180: 20 20 66 75 6e 63 2e 6c 6f 20 67 6c 6f 62 61 6c    func.lo global
8190: 2e 6c 6f 20 68 61 73 68 2e 6c 6f 20 5c 0a 20 20  .lo hash.lo \.  
81a0: 20 20 20 20 20 20 20 69 63 75 2e 6c 6f 20 69 6e         icu.lo in
81b0: 73 65 72 74 2e 6c 6f 20 6a 73 6f 6e 31 2e 6c 6f  sert.lo json1.lo
81c0: 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f 61 64 65   legacy.lo loade
81d0: 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  xt.lo \.        
81e0: 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c 6f 63 2e   main.lo malloc.
81f0: 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65 6d 31 2e  lo mem0.lo mem1.
8200: 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65 6d 33 2e  lo mem2.lo mem3.
8210: 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a 20 20 20  lo mem5.lo \.   
8220: 20 20 20 20 20 20 6d 65 6d 64 62 2e 6c 6f 20 6d        memdb.lo m
8230: 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 20 5c 0a 20  emjournal.lo \. 
8240: 20 20 20 20 20 20 20 20 6d 75 74 65 78 2e 6c 6f          mutex.lo
8250: 20 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 20 6d   mutex_noop.lo m
8260: 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 20 6d 75 74  utex_unix.lo mut
8270: 65 78 5f 77 33 32 2e 6c 6f 20 5c 0a 20 20 20 20  ex_w32.lo \.    
8280: 20 20 20 20 20 6e 6f 74 69 66 79 2e 6c 6f 20 6f       notify.lo o
8290: 70 63 6f 64 65 73 2e 6c 6f 20 6f 73 2e 6c 6f 20  pcodes.lo os.lo 
82a0: 6f 73 5f 75 6e 69 78 2e 6c 6f 20 6f 73 5f 77 69  os_unix.lo os_wi
82b0: 6e 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  n.lo \.         
82c0: 70 61 67 65 72 2e 6c 6f 20 70 63 61 63 68 65 2e  pager.lo pcache.
82d0: 6c 6f 20 70 63 61 63 68 65 31 2e 6c 6f 20 70 72  lo pcache1.lo pr
82e0: 61 67 6d 61 2e 6c 6f 20 70 72 65 70 61 72 65 2e  agma.lo prepare.
82f0: 6c 6f 20 70 72 69 6e 74 66 2e 6c 6f 20 5c 0a 20  lo printf.lo \. 
8300: 20 20 20 20 20 20 20 20 72 61 6e 64 6f 6d 2e 6c          random.l
8310: 6f 20 72 65 73 6f 6c 76 65 2e 6c 6f 20 72 6f 77  o resolve.lo row
8320: 73 65 74 2e 6c 6f 20 72 74 72 65 65 2e 6c 6f 20  set.lo rtree.lo 
8330: 5c 0a 20 20 20 20 20 20 20 20 20 73 71 6c 69 74  \.         sqlit
8340: 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 20 73 65 6c  e3session.lo sel
8350: 65 63 74 2e 6c 6f 20 73 71 6c 69 74 65 33 72 62  ect.lo sqlite3rb
8360: 75 2e 6c 6f 20 73 74 61 74 75 73 2e 6c 6f 20 73  u.lo status.lo s
8370: 74 6d 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  tmt.lo \.       
8380: 20 20 74 61 62 6c 65 2e 6c 6f 20 74 68 72 65 61    table.lo threa
8390: 64 73 2e 6c 6f 20 74 6f 6b 65 6e 69 7a 65 2e 6c  ds.lo tokenize.l
83a0: 6f 20 74 72 65 65 76 69 65 77 2e 6c 6f 20 74 72  o treeview.lo tr
83b0: 69 67 67 65 72 2e 6c 6f 20 5c 0a 20 20 20 20 20  igger.lo \.     
83c0: 20 20 20 20 75 70 64 61 74 65 2e 6c 6f 20 75 70      update.lo up
83d0: 73 65 72 74 2e 6c 6f 20 75 74 69 6c 2e 6c 6f 20  sert.lo util.lo 
83e0: 76 61 63 75 75 6d 2e 6c 6f 20 5c 0a 20 20 20 20  vacuum.lo \.    
83f0: 20 20 20 20 20 76 64 62 65 61 70 69 2e 6c 6f 20       vdbeapi.lo 
8400: 76 64 62 65 61 75 78 2e 6c 6f 20 76 64 62 65 62  vdbeaux.lo vdbeb
8410: 6c 6f 62 2e 6c 6f 20 76 64 62 65 6d 65 6d 2e 6c  lob.lo vdbemem.l
8420: 6f 20 76 64 62 65 73 6f 72 74 2e 6c 6f 20 5c 0a  o vdbesort.lo \.
8430: 20 20 20 20 20 20 20 20 20 76 64 62 65 74 72 61           vdbetra
8440: 63 65 2e 6c 6f 20 77 61 6c 2e 6c 6f 20 77 61 6c  ce.lo wal.lo wal
8450: 6b 65 72 2e 6c 6f 20 77 68 65 72 65 2e 6c 6f 20  ker.lo where.lo 
8460: 77 68 65 72 65 63 6f 64 65 2e 6c 6f 20 77 68 65  wherecode.lo whe
8470: 72 65 65 78 70 72 2e 6c 6f 20 5c 0a 20 20 20 20  reexpr.lo \.    
8480: 20 20 20 20 20 77 69 6e 64 6f 77 2e 6c 6f 20 75       window.lo u
8490: 74 66 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a 23 20  tf.lo vtab.lo.# 
84a0: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f 62 6a  <</mark>>..# Obj
84b0: 65 63 74 20 66 69 6c 65 73 20 66 6f 72 20 74 68  ect files for th
84c0: 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a  e amalgamation..
84d0: 23 0a 4c 49 42 4f 42 4a 53 31 20 3d 20 73 71 6c  #.LIBOBJS1 = sql
84e0: 69 74 65 33 2e 6c 6f 0a 0a 23 20 44 65 74 65 72  ite3.lo..# Deter
84f0: 6d 69 6e 65 20 74 68 65 20 72 65 61 6c 20 76 61  mine the real va
8500: 6c 75 65 20 6f 66 20 4c 49 42 4f 42 4a 20 62 61  lue of LIBOBJ ba
8510: 73 65 64 20 6f 6e 20 74 68 65 20 27 63 6f 6e 66  sed on the 'conf
8520: 69 67 75 72 65 27 20 73 63 72 69 70 74 0a 23 0a  igure' script.#.
8530: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46 20 24  # <<mark>>.!IF $
8540: 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f  (USE_AMALGAMATIO
8550: 4e 29 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d 20 24  N)==0.LIBOBJ = $
8560: 28 4c 49 42 4f 42 4a 53 30 29 0a 21 45 4c 53 45  (LIBOBJS0).!ELSE
8570: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c 49 42  .# <</mark>>.LIB
8580: 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53 31  OBJ = $(LIBOBJS1
8590: 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4e  ).# <<mark>>.!EN
85a0: 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  DIF.# <</mark>>.
85b0: 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 69 66 20  .# Determine if 
85c0: 65 6d 62 65 64 64 65 64 20 72 65 73 6f 75 72 63  embedded resourc
85d0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e  e compilation an
85e0: 64 20 75 73 61 67 65 20 61 72 65 20 65 6e 61 62  d usage are enab
85f0: 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45  led..#.!IF $(USE
8600: 5f 52 43 29 21 3d 30 0a 4c 49 42 52 45 53 4f 42  _RC)!=0.LIBRESOB
8610: 4a 53 20 3d 20 73 71 6c 69 74 65 33 72 65 73 2e  JS = sqlite3res.
8620: 6c 6f 0a 21 45 4c 53 45 0a 4c 49 42 52 45 53 4f  lo.!ELSE.LIBRESO
8630: 42 4a 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20  BJS =.!ENDIF..# 
8640: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 43 6f 72 65 20  <<mark>>.# Core 
8650: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65  source code file
8660: 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43  s, part 1..#.SRC
8670: 30 30 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c  00 = \.  $(TOP)\
8680: 73 72 63 5c 61 6c 74 65 72 2e 63 20 5c 0a 20 20  src\alter.c \.  
8690: 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79  $(TOP)\src\analy
86a0: 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ze.c \.  $(TOP)\
86b0: 73 72 63 5c 61 74 74 61 63 68 2e 63 20 5c 0a 20  src\attach.c \. 
86c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68   $(TOP)\src\auth
86d0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
86e0: 63 5c 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24  c\backup.c \.  $
86f0: 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63  (TOP)\src\bitvec
8700: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8710: 63 5c 62 74 6d 75 74 65 78 2e 63 20 5c 0a 20 20  c\btmutex.c \.  
8720: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree
8730: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8740: 63 5c 62 75 69 6c 64 2e 63 20 5c 0a 20 20 24 28  c\build.c \.  $(
8750: 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63  TOP)\src\callbac
8760: 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  k.c \.  $(TOP)\s
8770: 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 5c 0a  rc\complete.c \.
8780: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69    $(TOP)\src\cti
8790: 6d 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  me.c \.  $(TOP)\
87a0: 73 72 63 5c 64 61 74 65 2e 63 20 5c 0a 20 20 24  src\date.c \.  $
87b0: 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67 65  (TOP)\src\dbpage
87c0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
87d0: 63 5c 64 62 73 74 61 74 2e 63 20 5c 0a 20 20 24  c\dbstat.c \.  $
87e0: 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65  (TOP)\src\delete
87f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8800: 63 5c 65 78 70 72 2e 63 20 5c 0a 20 20 24 28 54  c\expr.c \.  $(T
8810: 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20  OP)\src\fault.c 
8820: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66  \.  $(TOP)\src\f
8830: 6b 65 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  key.c \.  $(TOP)
8840: 5c 73 72 63 5c 66 75 6e 63 2e 63 20 5c 0a 20 20  \src\func.c \.  
8850: 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61  $(TOP)\src\globa
8860: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  l.c \.  $(TOP)\s
8870: 72 63 5c 68 61 73 68 2e 63 20 5c 0a 20 20 24 28  rc\hash.c \.  $(
8880: 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e  TOP)\src\insert.
8890: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
88a0: 5c 6c 65 67 61 63 79 2e 63 20 5c 0a 20 20 24 28  \legacy.c \.  $(
88b0: 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74  TOP)\src\loadext
88c0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
88d0: 63 5c 6d 61 69 6e 2e 63 20 5c 0a 20 20 24 28 54  c\main.c \.  $(T
88e0: 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63  OP)\src\malloc.c
88f0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8900: 6d 65 6d 30 2e 63 20 5c 0a 20 20 24 28 54 4f 50  mem0.c \.  $(TOP
8910: 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 5c 0a 20  )\src\mem1.c \. 
8920: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32   $(TOP)\src\mem2
8930: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8940: 63 5c 6d 65 6d 33 2e 63 20 5c 0a 20 20 24 28 54  c\mem3.c \.  $(T
8950: 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 5c  OP)\src\mem5.c \
8960: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  .  $(TOP)\src\me
8970: 6d 64 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  mdb.c \.  $(TOP)
8980: 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e  \src\memjournal.
8990: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
89a0: 5c 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 54  \mutex.c \.  $(T
89b0: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f  OP)\src\mutex_no
89c0: 6f 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  op.c \.  $(TOP)\
89d0: 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63  src\mutex_unix.c
89e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
89f0: 6d 75 74 65 78 5f 77 33 32 2e 63 20 5c 0a 20 20  mutex_w32.c \.  
8a00: 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66  $(TOP)\src\notif
8a10: 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  y.c \.  $(TOP)\s
8a20: 72 63 5c 6f 73 2e 63 20 5c 0a 20 20 24 28 54 4f  rc\os.c \.  $(TO
8a30: 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63  P)\src\os_unix.c
8a40: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8a50: 6f 73 5f 77 69 6e 2e 63 0a 0a 23 20 43 6f 72 65  os_win.c..# Core
8a60: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c   source code fil
8a70: 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52  es, part 2..#.SR
8a80: 43 30 31 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C01 = \.  $(TOP)
8a90: 5c 73 72 63 5c 70 61 67 65 72 2e 63 20 5c 0a 20  \src\pager.c \. 
8aa0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63   $(TOP)\src\pcac
8ab0: 68 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  he.c \.  $(TOP)\
8ac0: 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20 5c 0a  src\pcache1.c \.
8ad0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61    $(TOP)\src\pra
8ae0: 67 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  gma.c \.  $(TOP)
8af0: 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 20 5c  \src\prepare.c \
8b00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  .  $(TOP)\src\pr
8b10: 69 6e 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50  intf.c \.  $(TOP
8b20: 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 5c  )\src\random.c \
8b30: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 65  .  $(TOP)\src\re
8b40: 73 6f 6c 76 65 2e 63 20 5c 0a 20 20 24 28 54 4f  solve.c \.  $(TO
8b50: 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20  P)\src\rowset.c 
8b60: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s
8b70: 65 6c 65 63 74 2e 63 20 5c 0a 20 20 24 28 54 4f  elect.c \.  $(TO
8b80: 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20  P)\src\status.c 
8b90: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8ba0: 61 62 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  able.c \.  $(TOP
8bb0: 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20  )\src\threads.c 
8bc0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8bd0: 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24  clsqlite.c \.  $
8be0: 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69  (TOP)\src\tokeni
8bf0: 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ze.c \.  $(TOP)\
8c00: 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63 20 5c  src\treeview.c \
8c10: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72  .  $(TOP)\src\tr
8c20: 69 67 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  igger.c \.  $(TO
8c30: 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 5c 0a 20  P)\src\utf.c \. 
8c40: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61   $(TOP)\src\upda
8c50: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\
8c60: 73 72 63 5c 75 70 73 65 72 74 2e 63 20 5c 0a 20  src\upsert.c \. 
8c70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c   $(TOP)\src\util
8c80: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8c90: 63 5c 76 61 63 75 75 6d 2e 63 20 5c 0a 20 20 24  c\vacuum.c \.  $
8ca0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
8cb0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8cc0: 76 64 62 65 61 70 69 2e 63 20 5c 0a 20 20 24 28  vdbeapi.c \.  $(
8cd0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78  TOP)\src\vdbeaux
8ce0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8cf0: 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 5c 0a 20  c\vdbeblob.c \. 
8d00: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
8d10: 6d 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  mem.c \.  $(TOP)
8d20: 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 20  \src\vdbesort.c 
8d30: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  \.  $(TOP)\src\v
8d40: 64 62 65 74 72 61 63 65 2e 63 20 5c 0a 20 20 24  dbetrace.c \.  $
8d50: 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63  (TOP)\src\vtab.c
8d60: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8d70: 77 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  wal.c \.  $(TOP)
8d80: 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20 5c 0a  \src\walker.c \.
8d90: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65    $(TOP)\src\whe
8da0: 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  re.c \.  $(TOP)\
8db0: 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 20  src\wherecode.c 
8dc0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77  \.  $(TOP)\src\w
8dd0: 68 65 72 65 65 78 70 72 2e 63 20 5c 0a 20 20 24  hereexpr.c \.  $
8de0: 28 54 4f 50 29 5c 73 72 63 5c 77 69 6e 64 6f 77  (TOP)\src\window
8df0: 2e 63 0a 0a 23 20 43 6f 72 65 20 6d 69 73 63 65  .c..# Core misce
8e00: 6c 6c 61 6e 65 6f 75 73 20 66 69 6c 65 73 2e 0a  llaneous files..
8e10: 23 0a 53 52 43 30 33 20 3d 20 5c 0a 20 20 24 28  #.SRC03 = \.  $(
8e20: 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e 79  TOP)\src\parse.y
8e30: 0a 0a 23 20 43 6f 72 65 20 68 65 61 64 65 72 20  ..# Core header 
8e40: 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23  files, part 1..#
8e50: 0a 53 52 43 30 34 20 3d 20 5c 0a 20 20 24 28 54  .SRC04 = \.  $(T
8e60: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 68 20  OP)\src\btree.h 
8e70: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62  \.  $(TOP)\src\b
8e80: 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28  treeInt.h \.  $(
8e90: 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 68 20  TOP)\src\hash.h 
8ea0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68  \.  $(TOP)\src\h
8eb0: 77 74 69 6d 65 2e 68 20 5c 0a 20 20 24 28 54 4f  wtime.h \.  $(TO
8ec0: 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c 0a  P)\src\msvc.h \.
8ed0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74    $(TOP)\src\mut
8ee0: 65 78 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ex.h \.  $(TOP)\
8ef0: 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 24 28 54  src\os.h \.  $(T
8f00: 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f  OP)\src\os_commo
8f10: 6e 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  n.h \.  $(TOP)\s
8f20: 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20 5c 0a  rc\os_setup.h \.
8f30: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f    $(TOP)\src\os_
8f40: 77 69 6e 2e 68 0a 0a 23 20 43 6f 72 65 20 68 65  win.h..# Core he
8f50: 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74  ader files, part
8f60: 20 32 2e 0a 23 0a 53 52 43 30 35 20 3d 20 5c 0a   2..#.SRC05 = \.
8f70: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67    $(TOP)\src\pag
8f80: 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.h \.  $(TOP)\
8f90: 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20  src\pcache.h \. 
8fa0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67   $(TOP)\src\prag
8fb0: 6d 61 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ma.h \.  $(TOP)\
8fc0: 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20  src\sqlite.h.in 
8fd0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s
8fe0: 71 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a 20 20  qlite3ext.h \.  
8ff0: 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74  $(TOP)\src\sqlit
9000: 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50  eInt.h \.  $(TOP
9010: 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c 69 6d 69  )\src\sqliteLimi
9020: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.h \.  $(TOP)\s
9030: 72 63 5c 76 64 62 65 2e 68 20 5c 0a 20 20 24 28  rc\vdbe.h \.  $(
9040: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 49 6e 74  TOP)\src\vdbeInt
9050: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
9060: 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20  c\vxworks.h \.  
9070: 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 68  $(TOP)\src\wal.h
9080: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9090: 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20 45 78  whereInt.h..# Ex
90a0: 74 65 6e 73 69 6f 6e 20 73 6f 75 72 63 65 20 63  tension source c
90b0: 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20  ode files, part 
90c0: 31 2e 0a 23 0a 53 52 43 30 36 20 3d 20 5c 0a 20  1..#.SRC06 = \. 
90d0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31   $(TOP)\ext\fts1
90e0: 5c 66 74 73 31 2e 63 20 5c 0a 20 20 24 28 54 4f  \fts1.c \.  $(TO
90f0: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
9100: 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f  _hash.c \.  $(TO
9110: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
9120: 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24 28  _porter.c \.  $(
9130: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
9140: 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20  s1_tokenizer1.c 
9150: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9160: 74 73 32 5c 66 74 73 32 2e 63 20 5c 0a 20 20 24  ts2\fts2.c \.  $
9170: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
9180: 74 73 32 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24  ts2_hash.c \.  $
9190: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
91a0: 74 73 32 5f 69 63 75 2e 63 20 5c 0a 20 20 24 28  ts2_icu.c \.  $(
91b0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
91c0: 73 32 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20  s2_porter.c \.  
91d0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
91e0: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63  fts2_tokenizer.c
91f0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9200: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69  fts2\fts2_tokeni
9210: 7a 65 72 31 2e 63 0a 0a 23 20 45 78 74 65 6e 73  zer1.c..# Extens
9220: 69 6f 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20  ion source code 
9230: 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23  files, part 2..#
9240: 0a 53 52 43 30 37 20 3d 20 5c 0a 20 20 24 28 54  .SRC07 = \.  $(T
9250: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
9260: 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  3.c \.  $(TOP)\e
9270: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 78  xt\fts3\fts3_aux
9280: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9290: 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70 72  t\fts3\fts3_expr
92a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
92b0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68  t\fts3\fts3_hash
92c0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
92d0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e  t\fts3\fts3_icu.
92e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
92f0: 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65  \fts3\fts3_porte
9300: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e
9310: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69  xt\fts3\fts3_sni
9320: 70 70 65 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ppet.c \.  $(TOP
9330: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
9340: 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20  tokenizer.c \.  
9350: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
9360: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts3_tokenizer1.
9370: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9380: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e  \fts3\fts3_token
9390: 69 7a 65 5f 76 74 61 62 2e 63 20 5c 0a 20 20 24  ize_vtab.c \.  $
93a0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
93b0: 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20 5c 0a  ts3_unicode.c \.
93c0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
93d0: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e  3\fts3_unicode2.
93e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
93f0: 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65  \fts3\fts3_write
9400: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9410: 74 5c 69 63 75 5c 69 63 75 2e 63 20 5c 0a 20 20  t\icu\icu.c \.  
9420: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65  $(TOP)\ext\rtree
9430: 5c 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 54  \rtree.c \.  $(T
9440: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
9450: 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 63  sqlite3session.c
9460: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9470: 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63  rbu\sqlite3rbu.c
9480: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9490: 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 20 5c 0a 20  misc\json1.c \. 
94a0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
94b0: 5c 73 74 6d 74 2e 63 0a 0a 23 20 45 78 74 65 6e  \stmt.c..# Exten
94c0: 73 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65  sion header file
94d0: 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43  s, part 1..#.SRC
94e0: 30 38 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c  08 = \.  $(TOP)\
94f0: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 68 20  ext\fts1\fts1.h 
9500: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9510: 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 68 20  ts1\fts1_hash.h 
9520: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9530: 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69 7a  ts1\fts1_tokeniz
9540: 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.h \.  $(TOP)\
9550: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 68 20  ext\fts2\fts2.h 
9560: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9570: 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 68 20  ts2\fts2_hash.h 
9580: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9590: 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a  ts2\fts2_tokeniz
95a0: 65 72 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f  er.h..# Extensio
95b0: 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20  n header files, 
95c0: 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 39 20  part 2..#.SRC09 
95d0: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  = \.  $(TOP)\ext
95e0: 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a 20  \fts3\fts3.h \. 
95f0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
9600: 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20 24  \fts3Int.h \.  $
9610: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
9620: 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24  ts3_hash.h \.  $
9630: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
9640: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20  ts3_tokenizer.h 
9650: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69  \.  $(TOP)\ext\i
9660: 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 20 5c  cu\sqliteicu.h \
9670: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74  .  $(TOP)\ext\rt
9680: 72 65 65 5c 72 74 72 65 65 2e 68 20 5c 0a 20 20  ree\rtree.h \.  
9690: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65  $(TOP)\ext\rtree
96a0: 5c 67 65 6f 70 6f 6c 79 2e 63 20 5c 0a 20 20 24  \geopoly.c \.  $
96b0: 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71  (TOP)\ext\rbu\sq
96c0: 6c 69 74 65 33 72 62 75 2e 68 20 5c 0a 20 20 24  lite3rbu.h \.  $
96d0: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
96e0: 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  n\sqlite3session
96f0: 2e 68 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20  .h..# Generated 
9700: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65  source code file
9710: 73 0a 23 0a 53 52 43 31 30 20 3d 20 5c 0a 20 20  s.#.SRC10 = \.  
9720: 6f 70 63 6f 64 65 73 2e 63 20 5c 0a 20 20 70 61  opcodes.c \.  pa
9730: 72 73 65 2e 63 0a 0a 23 20 47 65 6e 65 72 61 74  rse.c..# Generat
9740: 65 64 20 68 65 61 64 65 72 20 66 69 6c 65 73 0a  ed header files.
9750: 23 0a 53 52 43 31 31 20 3d 20 5c 0a 20 20 6b 65  #.SRC11 = \.  ke
9760: 79 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a 20 20  ywordhash.h \.  
9770: 6f 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20 70 61  opcodes.h \.  pa
9780: 72 73 65 2e 68 20 5c 0a 20 20 73 68 65 6c 6c 2e  rse.h \.  shell.
9790: 63 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 33 48  c \.  $(SQLITE3H
97a0: 29 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20 54  )..# Generated T
97b0: 63 6c 20 68 65 61 64 65 72 20 66 69 6c 65 73 0a  cl header files.
97c0: 23 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43  #.!IF $(USE_STDC
97d0: 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ALL)!=0 || $(FOR
97e0: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 52 43 31 32  _WIN10)!=0.SRC12
97f0: 20 3d 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 54   = \.  $(SQLITET
9800: 43 4c 48 29 20 5c 0a 20 20 24 28 53 51 4c 49 54  CLH) \.  $(SQLIT
9810: 45 54 43 4c 44 45 43 4c 53 48 29 0a 21 45 4c 53  ETCLDECLSH).!ELS
9820: 45 0a 53 52 43 31 32 20 3d 0a 21 45 4e 44 49 46  E.SRC12 =.!ENDIF
9830: 0a 0a 23 20 41 6c 6c 20 73 6f 75 72 63 65 20 63  ..# All source c
9840: 6f 64 65 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43  ode files..#.SRC
9850: 20 3d 20 24 28 53 52 43 30 30 29 20 24 28 53 52   = $(SRC00) $(SR
9860: 43 30 31 29 20 24 28 53 52 43 30 33 29 20 24 28  C01) $(SRC03) $(
9870: 53 52 43 30 34 29 20 24 28 53 52 43 30 35 29 20  SRC04) $(SRC05) 
9880: 24 28 53 52 43 30 36 29 20 24 28 53 52 43 30 37  $(SRC06) $(SRC07
9890: 29 20 24 28 53 52 43 30 38 29 20 24 28 53 52 43  ) $(SRC08) $(SRC
98a0: 30 39 29 20 24 28 53 52 43 31 30 29 20 24 28 53  09) $(SRC10) $(S
98b0: 52 43 31 31 29 0a 0a 23 20 53 6f 75 72 63 65 20  RC11)..# Source 
98c0: 63 6f 64 65 20 74 6f 20 74 68 65 20 74 65 73 74  code to the test
98d0: 20 66 69 6c 65 73 2e 0a 23 0a 54 45 53 54 53 52   files..#.TESTSR
98e0: 43 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  C = \.  $(TOP)\s
98f0: 72 63 5c 74 65 73 74 31 2e 63 20 5c 0a 20 20 24  rc\test1.c \.  $
9900: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 32 2e  (TOP)\src\test2.
9910: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9920: 5c 74 65 73 74 33 2e 63 20 5c 0a 20 20 24 28 54  \test3.c \.  $(T
9930: 4f 50 29 5c 73 72 63 5c 74 65 73 74 34 2e 63 20  OP)\src\test4.c 
9940: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9950: 65 73 74 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est5.c \.  $(TOP
9960: 29 5c 73 72 63 5c 74 65 73 74 36 2e 63 20 5c 0a  )\src\test6.c \.
9970: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9980: 74 37 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  t7.c \.  $(TOP)\
9990: 73 72 63 5c 74 65 73 74 38 2e 63 20 5c 0a 20 20  src\test8.c \.  
99a0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 39  $(TOP)\src\test9
99b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
99c0: 63 5c 74 65 73 74 5f 61 75 74 6f 65 78 74 2e 63  c\test_autoext.c
99d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
99e0: 74 65 73 74 5f 61 73 79 6e 63 2e 63 20 5c 0a 20  test_async.c \. 
99f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
9a00: 5f 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24 28  _backup.c \.  $(
9a10: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 65  TOP)\src\test_be
9a20: 73 74 69 6e 64 65 78 2e 63 20 5c 0a 20 20 24 28  stindex.c \.  $(
9a30: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 6c  TOP)\src\test_bl
9a40: 6f 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ob.c \.  $(TOP)\
9a50: 73 72 63 5c 74 65 73 74 5f 62 74 72 65 65 2e 63  src\test_btree.c
9a60: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9a70: 74 65 73 74 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a  test_config.c \.
9a80: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9a90: 74 5f 64 65 6c 65 74 65 2e 63 20 5c 0a 20 20 24  t_delete.c \.  $
9aa0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64  (TOP)\src\test_d
9ab0: 65 6d 6f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54  emovfs.c \.  $(T
9ac0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 76  OP)\src\test_dev
9ad0: 73 79 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  sym.c \.  $(TOP)
9ae0: 5c 73 72 63 5c 74 65 73 74 5f 66 73 2e 63 20 5c  \src\test_fs.c \
9af0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9b00: 73 74 5f 66 75 6e 63 2e 63 20 5c 0a 20 20 24 28  st_func.c \.  $(
9b10: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 68 65  TOP)\src\test_he
9b20: 78 69 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  xio.c \.  $(TOP)
9b30: 5c 73 72 63 5c 74 65 73 74 5f 69 6e 69 74 2e 63  \src\test_init.c
9b40: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9b50: 74 65 73 74 5f 69 6e 74 61 72 72 61 79 2e 63 20  test_intarray.c 
9b60: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9b70: 65 73 74 5f 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a  est_journal.c \.
9b80: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9b90: 74 5f 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24  t_malloc.c \.  $
9ba0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6d  (TOP)\src\test_m
9bb0: 64 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  d5.c \.  $(TOP)\
9bc0: 73 72 63 5c 74 65 73 74 5f 6d 75 6c 74 69 70 6c  src\test_multipl
9bd0: 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ex.c \.  $(TOP)\
9be0: 73 72 63 5c 74 65 73 74 5f 6d 75 74 65 78 2e 63  src\test_mutex.c
9bf0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9c00: 74 65 73 74 5f 6f 6e 65 66 69 6c 65 2e 63 20 5c  test_onefile.c \
9c10: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9c20: 73 74 5f 6f 73 69 6e 73 74 2e 63 20 5c 0a 20 20  st_osinst.c \.  
9c30: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9c40: 70 63 61 63 68 65 2e 63 20 5c 0a 20 20 24 28 54  pcache.c \.  $(T
9c50: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 71 75 6f  OP)\src\test_quo
9c60: 74 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ta.c \.  $(TOP)\
9c70: 73 72 63 5c 74 65 73 74 5f 72 74 72 65 65 2e 63  src\test_rtree.c
9c80: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9c90: 74 65 73 74 5f 73 63 68 65 6d 61 2e 63 20 5c 0a  test_schema.c \.
9ca0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9cb0: 74 5f 73 65 72 76 65 72 2e 63 20 5c 0a 20 20 24  t_server.c \.  $
9cc0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73  (TOP)\src\test_s
9cd0: 75 70 65 72 6c 6f 63 6b 2e 63 20 5c 0a 20 20 24  uperlock.c \.  $
9ce0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73  (TOP)\src\test_s
9cf0: 79 73 63 61 6c 6c 2e 63 20 5c 0a 20 20 24 28 54  yscall.c \.  $(T
9d00: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 74 63 6c  OP)\src\test_tcl
9d10: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.c \.  $(TOP)\
9d20: 73 72 63 5c 74 65 73 74 5f 74 63 6c 76 61 72 2e  src\test_tclvar.
9d30: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9d40: 5c 74 65 73 74 5f 74 68 72 65 61 64 2e 63 20 5c  \test_thread.c \
9d50: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9d60: 73 74 5f 76 64 62 65 63 6f 76 2e 63 20 5c 0a 20  st_vdbecov.c \. 
9d70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
9d80: 5f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50  _vfs.c \.  $(TOP
9d90: 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e 64 69  )\src\test_windi
9da0: 72 65 6e 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  rent.c \.  $(TOP
9db0: 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e 64 6f  )\src\test_windo
9dc0: 77 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  w.c \.  $(TOP)\s
9dd0: 72 63 5c 74 65 73 74 5f 77 73 64 2e 63 20 5c 0a  rc\test_wsd.c \.
9de0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
9df0: 33 5c 66 74 73 33 5f 74 65 72 6d 2e 63 20 5c 0a  3\fts3_term.c \.
9e00: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
9e10: 33 5c 66 74 73 33 5f 74 65 73 74 2e 63 20 5c 0a  3\fts3_test.c \.
9e20: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75    $(TOP)\ext\rbu
9e30: 5c 74 65 73 74 5f 72 62 75 2e 63 20 5c 0a 20 20  \test_rbu.c \.  
9e40: 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69  $(TOP)\ext\sessi
9e50: 6f 6e 5c 74 65 73 74 5f 73 65 73 73 69 6f 6e 2e  on\test_session.
9e60: 63 0a 0a 23 20 53 74 61 74 69 63 61 6c 6c 79 20  c..# Statically 
9e70: 6c 69 6e 6b 65 64 20 65 78 74 65 6e 73 69 6f 6e  linked extension
9e80: 73 2e 0a 23 0a 54 45 53 54 45 58 54 20 3d 20 5c  s..#.TESTEXT = \
9e90: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78  .  $(TOP)\ext\ex
9ea0: 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65  pert\sqlite3expe
9eb0: 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  rt.c \.  $(TOP)\
9ec0: 65 78 74 5c 65 78 70 65 72 74 5c 74 65 73 74 5f  ext\expert\test_
9ed0: 65 78 70 65 72 74 2e 63 20 5c 0a 20 20 24 28 54  expert.c \.  $(T
9ee0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61 6d 61  OP)\ext\misc\ama
9ef0: 74 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tch.c \.  $(TOP)
9f00: 5c 65 78 74 5c 6d 69 73 63 5c 63 61 72 72 61 79  \ext\misc\carray
9f10: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9f20: 74 5c 6d 69 73 63 5c 63 6c 6f 73 75 72 65 2e 63  t\misc\closure.c
9f30: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9f40: 6d 69 73 63 5c 63 73 76 2e 63 20 5c 0a 20 20 24  misc\csv.c \.  $
9f50: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 65  (TOP)\ext\misc\e
9f60: 76 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  val.c \.  $(TOP)
9f70: 5c 65 78 74 5c 6d 69 73 63 5c 65 78 70 6c 61 69  \ext\misc\explai
9f80: 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  n.c \.  $(TOP)\e
9f90: 78 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f 2e 63  xt\misc\fileio.c
9fa0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9fb0: 6d 69 73 63 5c 66 75 7a 7a 65 72 2e 63 20 5c 0a  misc\fuzzer.c \.
9fc0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
9fd0: 35 5c 66 74 73 35 5f 74 63 6c 2e 63 20 5c 0a 20  5\fts5_tcl.c \. 
9fe0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
9ff0: 5c 66 74 73 35 5f 74 65 73 74 5f 6d 69 2e 63 20  \fts5_test_mi.c 
a000: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
a010: 74 73 35 5c 66 74 73 35 5f 74 65 73 74 5f 74 6f  ts5\fts5_test_to
a020: 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  k.c \.  $(TOP)\e
a030: 78 74 5c 6d 69 73 63 5c 69 65 65 65 37 35 34 2e  xt\misc\ieee754.
a040: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
a050: 5c 6d 69 73 63 5c 6d 6d 61 70 77 61 72 6d 2e 63  \misc\mmapwarm.c
a060: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
a070: 6d 69 73 63 5c 6e 65 78 74 63 68 61 72 2e 63 20  misc\nextchar.c 
a080: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
a090: 69 73 63 5c 6e 6f 72 6d 61 6c 69 7a 65 2e 63 20  isc\normalize.c 
a0a0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
a0b0: 69 73 63 5c 70 65 72 63 65 6e 74 69 6c 65 2e 63  isc\percentile.c
a0c0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
a0d0: 6d 69 73 63 5c 70 72 65 66 69 78 65 73 2e 63 20  misc\prefixes.c 
a0e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
a0f0: 69 73 63 5c 72 65 67 65 78 70 2e 63 20 5c 0a 20  isc\regexp.c \. 
a100: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
a110: 5c 72 65 6d 65 6d 62 65 72 2e 63 20 5c 0a 20 20  \remember.c \.  
a120: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
a130: 73 65 72 69 65 73 2e 63 20 5c 0a 20 20 24 28 54  series.c \.  $(T
a140: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 70 65  OP)\ext\misc\spe
a150: 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f  llfix.c \.  $(TO
a160: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 74 6f 74 79  P)\ext\misc\toty
a170: 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  pe.c \.  $(TOP)\
a180: 65 78 74 5c 6d 69 73 63 5c 75 6e 69 6f 6e 76 74  ext\misc\unionvt
a190: 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ab.c \.  $(TOP)\
a1a0: 65 78 74 5c 6d 69 73 63 5c 77 68 6f 6c 65 6e 75  ext\misc\wholenu
a1b0: 6d 62 65 72 2e 63 0a 0a 23 20 49 66 20 75 73 65  mber.c..# If use
a1c0: 20 6f 66 20 7a 6c 69 62 20 69 73 20 65 6e 61 62   of zlib is enab
a1d0: 6c 65 64 2c 20 61 64 64 20 74 68 65 20 22 7a 69  led, add the "zi
a1e0: 70 66 69 6c 65 2e 63 22 20 73 6f 75 72 63 65 20  pfile.c" source 
a1f0: 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55 53  file..#.!IF $(US
a200: 45 5f 5a 4c 49 42 29 21 3d 30 0a 54 45 53 54 45  E_ZLIB)!=0.TESTE
a210: 58 54 20 3d 20 24 28 54 45 53 54 45 58 54 29 20  XT = $(TESTEXT) 
a220: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
a230: 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e 44 49 46  zipfile.c.!ENDIF
a240: 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f 64 65 20  ..# Source code 
a250: 74 6f 20 74 68 65 20 6c 69 62 72 61 72 79 20 66  to the library f
a260: 69 6c 65 73 20 6e 65 65 64 65 64 20 62 79 20 74  iles needed by t
a270: 68 65 20 74 65 73 74 20 66 69 78 74 75 72 65 0a  he test fixture.
a280: 23 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74  # (non-amalgamat
a290: 69 6f 6e 29 0a 23 0a 54 45 53 54 53 52 43 32 20  ion).#.TESTSRC2 
a2a0: 3d 20 5c 0a 20 20 24 28 53 52 43 30 30 29 20 5c  = \.  $(SRC00) \
a2b0: 0a 20 20 24 28 53 52 43 30 31 29 20 5c 0a 20 20  .  $(SRC01) \.  
a2c0: 24 28 53 52 43 30 36 29 20 5c 0a 20 20 24 28 53  $(SRC06) \.  $(S
a2d0: 52 43 30 37 29 20 5c 0a 20 20 24 28 53 52 43 31  RC07) \.  $(SRC1
a2e0: 30 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  0) \.  $(TOP)\ex
a2f0: 74 5c 61 73 79 6e 63 5c 73 71 6c 69 74 65 33 61  t\async\sqlite3a
a300: 73 79 6e 63 2e 63 0a 0a 23 20 48 65 61 64 65 72  sync.c..# Header
a310: 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 61   files used by a
a320: 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f 75 72 63  ll library sourc
a330: 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44 52 20 3d  e files..#.HDR =
a340: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
a350: 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 20 24 28  \btree.h \.   $(
a360: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 49 6e  TOP)\src\btreeIn
a370: 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  t.h \.   $(TOP)\
a380: 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20 20  src\hash.h \.   
a390: 24 28 54 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d  $(TOP)\src\hwtim
a3a0: 65 2e 68 20 5c 0a 20 20 20 6b 65 79 77 6f 72 64  e.h \.   keyword
a3b0: 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 28 54 4f  hash.h \.   $(TO
a3c0: 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c 0a  P)\src\msvc.h \.
a3d0: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75     $(TOP)\src\mu
a3e0: 74 65 78 2e 68 20 5c 0a 20 20 20 6f 70 63 6f 64  tex.h \.   opcod
a3f0: 65 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  es.h \.   $(TOP)
a400: 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 20 24  \src\os.h \.   $
a410: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d  (TOP)\src\os_com
a420: 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  mon.h \.   $(TOP
a430: 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68  )\src\os_setup.h
a440: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
a450: 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20 20 20 24  \os_win.h \.   $
a460: 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e  (TOP)\src\pager.
a470: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
a480: 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20 20 20  c\pcache.h \.   
a490: 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 24 28 54  parse.h \.   $(T
a4a0: 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68  OP)\src\pragma.h
a4b0: 20 5c 0a 20 20 20 24 28 53 51 4c 49 54 45 33 48   \.   $(SQLITE3H
a4c0: 29 20 5c 0a 20 20 20 73 71 6c 69 74 65 33 65 78  ) \.   sqlite3ex
a4d0: 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  t.h \.   $(TOP)\
a4e0: 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68 20  src\sqliteInt.h 
a4f0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\
a500: 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a  sqliteLimit.h \.
a510: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64     $(TOP)\src\vd
a520: 62 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  be.h \.   $(TOP)
a530: 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c  \src\vdbeInt.h \
a540: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  .   $(TOP)\src\v
a550: 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20 20 24 28  xworks.h \.   $(
a560: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49 6e  TOP)\src\whereIn
a570: 74 2e 68 0a 0a 23 20 48 65 61 64 65 72 20 66 69  t.h..# Header fi
a580: 6c 65 73 20 75 73 65 64 20 62 79 20 65 78 74 65  les used by exte
a590: 6e 73 69 6f 6e 73 0a 23 0a 45 58 54 48 44 52 20  nsions.#.EXTHDR 
a5a0: 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20  = $(EXTHDR) \.  
a5b0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c  $(TOP)\ext\fts1\
a5c0: 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f 50  fts1.h \.  $(TOP
a5d0: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f  )\ext\fts1\fts1_
a5e0: 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50  hash.h \.  $(TOP
a5f0: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f  )\ext\fts1\fts1_
a600: 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48  tokenizer.h.EXTH
a610: 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c  DR = $(EXTHDR) \
a620: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
a630: 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28  s2\fts2.h \.  $(
a640: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
a650: 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s2_hash.h \.  $(
a660: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
a670: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45  s2_tokenizer.h.E
a680: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52  XTHDR = $(EXTHDR
a690: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext
a6a0: 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a 20  \fts3\fts3.h \. 
a6b0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
a6c0: 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20 24  \fts3Int.h \.  $
a6d0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
a6e0: 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24  ts3_hash.h \.  $
a6f0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
a700: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a  ts3_tokenizer.h.
a710: 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44  EXTHDR = $(EXTHD
a720: 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  R) \.  $(TOP)\ex
a730: 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 68 20  t\rtree\rtree.h 
a740: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  \.  $(TOP)\ext\r
a750: 74 72 65 65 5c 67 65 6f 70 6f 6c 79 2e 63 0a 45  tree\geopoly.c.E
a760: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52  XTHDR = $(EXTHDR
a770: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext
a780: 5c 69 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68  \icu\sqliteicu.h
a790: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48  .EXTHDR = $(EXTH
a7a0: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  DR) \.  $(TOP)\e
a7b0: 78 74 5c 72 74 72 65 65 5c 73 71 6c 69 74 65 33  xt\rtree\sqlite3
a7c0: 72 74 72 65 65 2e 68 0a 45 58 54 48 44 52 20 3d  rtree.h.EXTHDR =
a7d0: 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24   $(EXTHDR) \.  $
a7e0: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
a7f0: 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  n\sqlite3session
a800: 2e 68 0a 0a 23 20 65 78 65 63 75 74 61 62 6c 65  .h..# executable
a810: 73 20 6e 65 65 64 65 64 20 66 6f 72 20 74 65 73  s needed for tes
a820: 74 69 6e 67 0a 23 0a 54 45 53 54 50 52 4f 47 53  ting.#.TESTPROGS
a830: 20 3d 20 5c 0a 20 20 74 65 73 74 66 69 78 74 75   = \.  testfixtu
a840: 72 65 2e 65 78 65 20 5c 0a 20 20 24 28 53 51 4c  re.exe \.  $(SQL
a850: 49 54 45 33 45 58 45 29 20 5c 0a 20 20 73 71 6c  ITE3EXE) \.  sql
a860: 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78  ite3_analyzer.ex
a870: 65 20 5c 0a 20 20 73 71 6c 69 74 65 33 5f 63 68  e \.  sqlite3_ch
a880: 65 63 6b 65 72 2e 65 78 65 20 5c 0a 20 20 73 71  ecker.exe \.  sq
a890: 6c 64 69 66 66 2e 65 78 65 20 5c 0a 20 20 64 62  ldiff.exe \.  db
a8a0: 68 61 73 68 2e 65 78 65 20 5c 0a 20 20 73 71 6c  hash.exe \.  sql
a8b0: 74 63 6c 73 68 2e 65 78 65 0a 0a 23 20 44 61 74  tclsh.exe..# Dat
a8c0: 61 62 61 73 65 73 20 63 6f 6e 74 61 69 6e 69 6e  abases containin
a8d0: 67 20 66 75 7a 7a 65 72 20 74 65 73 74 20 63 61  g fuzzer test ca
a8e0: 73 65 73 0a 23 0a 46 55 5a 5a 44 41 54 41 20 3d  ses.#.FUZZDATA =
a8f0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74   \.  $(TOP)\test
a900: 5c 66 75 7a 7a 64 61 74 61 31 2e 64 62 20 5c 0a  \fuzzdata1.db \.
a910: 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75    $(TOP)\test\fu
a920: 7a 7a 64 61 74 61 32 2e 64 62 20 5c 0a 20 20 24  zzdata2.db \.  $
a930: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64  (TOP)\test\fuzzd
a940: 61 74 61 33 2e 64 62 20 5c 0a 20 20 24 28 54 4f  ata3.db \.  $(TO
a950: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61  P)\test\fuzzdata
a960: 34 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c  4.db \.  $(TOP)\
a970: 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 35 2e 64  test\fuzzdata5.d
a980: 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73  b \.  $(TOP)\tes
a990: 74 5c 66 75 7a 7a 64 61 74 61 36 2e 64 62 20 5c  t\fuzzdata6.db \
a9a0: 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66  .  $(TOP)\test\f
a9b0: 75 7a 7a 64 61 74 61 37 2e 64 62 20 5c 0a 20 20  uzzdata7.db \.  
a9c0: 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a  $(TOP)\test\fuzz
a9d0: 64 61 74 61 38 2e 64 62 0a 23 20 3c 3c 2f 6d 61  data8.db.# <</ma
a9e0: 72 6b 3e 3e 0a 0a 23 20 41 64 64 69 74 69 6f 6e  rk>>..# Addition
a9f0: 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  al compiler opti
aa00: 6f 6e 73 20 66 6f 72 20 74 68 65 20 73 68 65 6c  ons for the shel
aa10: 6c 2e 20 20 54 68 65 73 65 20 61 72 65 20 6f 6e  l.  These are on
aa20: 6c 79 20 65 66 66 65 63 74 69 76 65 0a 23 20 77  ly effective.# w
aa30: 68 65 6e 20 74 68 65 20 73 68 65 6c 6c 20 69 73  hen the shell is
aa40: 20 6e 6f 74 20 62 65 69 6e 67 20 64 79 6e 61 6d   not being dynam
aa50: 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 2e 0a 23  ically linked..#
aa60: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S
aa70: 48 45 4c 4c 29 3d 3d 30 20 26 26 20 24 28 46 4f  HELL)==0 && $(FO
aa80: 52 5f 57 49 4e 31 30 29 3d 3d 30 0a 53 48 45 4c  R_WIN10)==0.SHEL
aa90: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d  L_COMPILE_OPTS =
aaa0: 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45   $(SHELL_COMPILE
aab0: 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f  _OPTS) -DSQLITE_
aac0: 45 4e 41 42 4c 45 5f 46 54 53 34 3d 31 0a 53 48  ENABLE_FTS4=1.SH
aad0: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
aae0: 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49   = $(SHELL_COMPI
aaf0: 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54  LE_OPTS) -DSQLIT
ab00: 45 5f 45 4e 41 42 4c 45 5f 45 58 50 4c 41 49 4e  E_ENABLE_EXPLAIN
ab10: 5f 43 4f 4d 4d 45 4e 54 53 3d 31 0a 53 48 45 4c  _COMMENTS=1.SHEL
ab20: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d  L_COMPILE_OPTS =
ab30: 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45   $(SHELL_COMPILE
ab40: 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f  _OPTS) -DSQLITE_
ab50: 45 4e 41 42 4c 45 5f 4f 46 46 53 45 54 5f 53 51  ENABLE_OFFSET_SQ
ab60: 4c 5f 46 55 4e 43 3d 31 0a 53 48 45 4c 4c 5f 43  L_FUNC=1.SHELL_C
ab70: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28  OMPILE_OPTS = $(
ab80: 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50  SHELL_COMPILE_OP
ab90: 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  TS) -DSQLITE_ENA
aba0: 42 4c 45 5f 44 45 53 45 52 49 41 4c 49 5a 45 3d  BLE_DESERIALIZE=
abb0: 31 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  1.!ENDIF..# <<ma
abc0: 72 6b 3e 3e 0a 23 20 45 78 74 72 61 20 63 6f 6d  rk>>.# Extra com
abd0: 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f  piler options fo
abe0: 72 20 76 61 72 69 6f 75 73 20 74 65 73 74 20 74  r various test t
abf0: 6f 6f 6c 73 2e 0a 23 0a 4d 50 54 45 53 54 45 52  ools..#.MPTESTER
ac00: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS = 
ac10: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
ac20: 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45  JSON1 -DSQLITE_E
ac30: 4e 41 42 4c 45 5f 46 54 53 35 0a 46 55 5a 5a 45  NABLE_FTS5.FUZZE
ac40: 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f  RSHELL_COMPILE_O
ac50: 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 45  PTS = -DSQLITE_E
ac60: 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a 46 55 5a 5a  NABLE_JSON1.FUZZ
ac70: 43 48 45 43 4b 5f 4f 50 54 53 20 3d 20 2d 44 53  CHECK_OPTS = -DS
ac80: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f  QLITE_ENABLE_JSO
ac90: 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  N1 -DSQLITE_ENAB
aca0: 4c 45 5f 4d 45 4d 53 59 53 35 20 2d 44 53 51 4c  LE_MEMSYS5 -DSQL
acb0: 49 54 45 5f 4f 53 53 5f 46 55 5a 5a 20 2d 44 53  ITE_OSS_FUZZ -DS
acc0: 51 4c 49 54 45 5f 4d 41 58 5f 4d 45 4d 4f 52 59  QLITE_MAX_MEMORY
acd0: 3d 35 30 30 30 30 30 30 30 20 2d 44 53 51 4c 49  =50000000 -DSQLI
ace0: 54 45 5f 50 52 49 4e 54 46 5f 50 52 45 43 49 53  TE_PRINTF_PRECIS
acf0: 49 4f 4e 5f 4c 49 4d 49 54 3d 31 30 30 30 0a 46  ION_LIMIT=1000.F
ad00: 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 20 3d 20  UZZCHECK_OPTS = 
ad10: 24 28 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53  $(FUZZCHECK_OPTS
ad20: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
ad30: 45 5f 44 45 53 45 52 49 41 4c 49 5a 45 0a 46 55  E_DESERIALIZE.FU
ad40: 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 20 3d 20 24  ZZCHECK_OPTS = $
ad50: 28 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 29  (FUZZCHECK_OPTS)
ad60: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
ad70: 5f 46 54 53 34 0a 46 55 5a 5a 43 48 45 43 4b 5f  _FTS4.FUZZCHECK_
ad80: 4f 50 54 53 20 3d 20 24 28 46 55 5a 5a 43 48 45  OPTS = $(FUZZCHE
ad90: 43 4b 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54  CK_OPTS) -DSQLIT
ada0: 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 0a 46  E_ENABLE_RTREE.F
adb0: 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 20 3d 20  UZZCHECK_OPTS = 
adc0: 24 28 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53  $(FUZZCHECK_OPTS
add0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
ade0: 45 5f 47 45 4f 50 4f 4c 59 0a 46 55 5a 5a 43 48  E_GEOPOLY.FUZZCH
adf0: 45 43 4b 5f 4f 50 54 53 20 3d 20 24 28 46 55 5a  ECK_OPTS = $(FUZ
ae00: 5a 43 48 45 43 4b 5f 4f 50 54 53 29 20 2d 44 53  ZCHECK_OPTS) -DS
ae10: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42 53  QLITE_ENABLE_DBS
ae20: 54 41 54 5f 56 54 41 42 0a 0a 46 55 5a 5a 43 48  TAT_VTAB..FUZZCH
ae30: 45 43 4b 5f 53 52 43 20 3d 20 24 28 54 4f 50 29  ECK_SRC = $(TOP)
ae40: 5c 74 65 73 74 5c 66 75 7a 7a 63 68 65 63 6b 2e  \test\fuzzcheck.
ae50: 63 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73  c $(TOP)\test\os
ae60: 73 66 75 7a 7a 2e 63 0a 4f 53 53 53 48 45 4c 4c  sfuzz.c.OSSSHELL
ae70: 5f 53 52 43 20 3d 20 24 28 54 4f 50 29 5c 74 65  _SRC = $(TOP)\te
ae80: 73 74 5c 6f 73 73 73 68 65 6c 6c 2e 63 20 24 28  st\ossshell.c $(
ae90: 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73 66 75 7a  TOP)\test\ossfuz
aea0: 7a 2e 63 0a 44 42 46 55 5a 5a 5f 43 4f 4d 50 49  z.c.DBFUZZ_COMPI
aeb0: 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49  LE_OPTS = -DSQLI
aec0: 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20  TE_THREADSAFE=0 
aed0: 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f  -DSQLITE_OMIT_LO
aee0: 41 44 5f 45 58 54 45 4e 53 49 4f 4e 0a 4b 56 5f  AD_EXTENSION.KV_
aef0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d  COMPILE_OPTS = -
af00: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
af10: 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 44 49  FE=0 -DSQLITE_DI
af20: 52 45 43 54 5f 4f 56 45 52 46 4c 4f 57 5f 52 45  RECT_OVERFLOW_RE
af30: 41 44 0a 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50  AD.ST_COMPILE_OP
af40: 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48  TS = -DSQLITE_TH
af50: 52 45 41 44 53 41 46 45 3d 30 0a 0a 23 20 53 74  READSAFE=0..# St
af60: 61 6e 64 61 72 64 20 6f 70 74 69 6f 6e 73 20 74  andard options t
af70: 6f 20 74 65 73 74 66 69 78 74 75 72 65 2e 0a 23  o testfixture..#
af80: 0a 54 45 53 54 4f 50 54 53 20 3d 20 2d 2d 76 65  .TESTOPTS = --ve
af90: 72 62 6f 73 65 3d 66 69 6c 65 20 2d 2d 6f 75 74  rbose=file --out
afa0: 70 75 74 3d 74 65 73 74 2d 6f 75 74 2e 74 78 74  put=test-out.txt
afb0: 0a 0a 23 20 45 78 74 72 61 20 74 61 72 67 65 74  ..# Extra target
afc0: 73 20 66 6f 72 20 74 68 65 20 22 61 6c 6c 22 20  s for the "all" 
afd0: 74 61 72 67 65 74 20 74 68 61 74 20 72 65 71 75  target that requ
afe0: 69 72 65 20 54 63 6c 2e 0a 23 0a 21 49 46 20 24  ire Tcl..#.!IF $
aff0: 28 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 41 4c 4c 5f  (NO_TCL)==0.ALL_
b000: 54 43 4c 5f 54 41 52 47 45 54 53 20 3d 20 24 28  TCL_TARGETS = $(
b010: 53 51 4c 49 54 45 33 54 43 4c 44 4c 4c 29 0a 21  SQLITE3TCLDLL).!
b020: 45 4c 53 45 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52  ELSE.ALL_TCL_TAR
b030: 47 45 54 53 20 3d 0a 21 45 4e 44 49 46 0a 23 20  GETS =.!ENDIF.# 
b040: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69  <</mark>>..# Thi
b050: 73 20 69 73 20 74 68 65 20 64 65 66 61 75 6c 74  s is the default
b060: 20 4d 61 6b 65 66 69 6c 65 20 74 61 72 67 65 74   Makefile target
b070: 2e 20 20 54 68 65 20 6f 62 6a 65 63 74 73 20 6c  .  The objects l
b080: 69 73 74 65 64 20 68 65 72 65 0a 23 20 61 72 65  isted here.# are
b090: 20 77 68 61 74 20 67 65 74 20 62 75 69 6c 64 20   what get build 
b0a0: 77 68 65 6e 20 79 6f 75 20 74 79 70 65 20 6a 75  when you type ju
b0b0: 73 74 20 22 6d 61 6b 65 22 20 77 69 74 68 20 6e  st "make" with n
b0c0: 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a 23 0a 63  o arguments..#.c
b0d0: 6f 72 65 3a 09 64 6c 6c 20 6c 69 62 73 71 6c 69  ore:.dll libsqli
b0e0: 74 65 33 2e 6c 69 62 20 73 68 65 6c 6c 0a 0a 23  te3.lib shell..#
b0f0: 20 54 61 72 67 65 74 73 20 74 68 61 74 20 72 65   Targets that re
b100: 71 75 69 72 65 20 74 68 65 20 54 63 6c 20 6c 69  quire the Tcl li
b110: 62 72 61 72 79 2e 0a 23 0a 74 63 6c 3a 09 24 28  brary..#.tcl:.$(
b120: 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 29  ALL_TCL_TARGETS)
b130: 0a 0a 23 20 54 68 69 73 20 4d 61 6b 65 66 69 6c  ..# This Makefil
b140: 65 20 74 61 72 67 65 74 20 62 75 69 6c 64 73 20  e target builds 
b150: 61 6c 6c 20 6f 66 20 74 68 65 20 73 74 61 6e 64  all of the stand
b160: 61 72 64 20 62 69 6e 61 72 69 65 73 2e 0a 23 0a  ard binaries..#.
b170: 61 6c 6c 3a 09 63 6f 72 65 20 74 63 6c 0a 0a 23  all:.core tcl..#
b180: 20 44 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69   Dynamic link li
b190: 62 72 61 72 79 20 73 65 63 74 69 6f 6e 2e 0a 23  brary section..#
b1a0: 0a 64 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33 44  .dll:.$(SQLITE3D
b1b0: 4c 4c 29 0a 0a 23 20 53 68 65 6c 6c 20 65 78 65  LL)..# Shell exe
b1c0: 63 75 74 61 62 6c 65 2e 0a 23 0a 73 68 65 6c 6c  cutable..#.shell
b1d0: 3a 09 24 28 53 51 4c 49 54 45 33 45 58 45 29 0a  :.$(SQLITE3EXE).
b1e0: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 6c 69 62 73  .# <<mark>>.libs
b1f0: 71 6c 69 74 65 33 2e 6c 69 62 3a 09 24 28 4c 49  qlite3.lib:.$(LI
b200: 42 4f 42 4a 29 0a 09 24 28 4c 54 4c 49 42 29 20  BOBJ)..$(LTLIB) 
b210: 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 2f 4f 55  $(LTLIBOPTS) /OU
b220: 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 24  T:$@ $(LIBOBJ) $
b230: 28 54 4c 49 42 53 29 0a 0a 6c 69 62 74 63 6c 73  (TLIBS)..libtcls
b240: 71 6c 69 74 65 33 2e 6c 69 62 3a 09 74 63 6c 73  qlite3.lib:.tcls
b250: 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c 69  qlite.lo libsqli
b260: 74 65 33 2e 6c 69 62 0a 09 24 28 4c 54 4c 49 42  te3.lib..$(LTLIB
b270: 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 24  ) $(LTLIBOPTS) $
b280: 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28  (TCLLIBPATHS) $(
b290: 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f 55 54  LTLIBPATHS) /OUT
b2a0: 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2e 6c 6f  :$@ tclsqlite.lo
b2b0: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20   libsqlite3.lib 
b2c0: 24 28 4c 49 42 54 43 4c 53 54 55 42 29 20 24 28  $(LIBTCLSTUB) $(
b2d0: 54 4c 49 42 53 29 0a 0a 74 63 6c 73 71 6c 69 74  TLIBS)..tclsqlit
b2e0: 65 33 2e 64 65 66 3a 09 74 63 6c 73 71 6c 69 74  e3.def:.tclsqlit
b2f0: 65 2e 6c 6f 0a 09 65 63 68 6f 20 45 58 50 4f 52  e.lo..echo EXPOR
b300: 54 53 20 3e 20 74 63 6c 73 71 6c 69 74 65 33 2e  TS > tclsqlite3.
b310: 64 65 66 0a 09 64 75 6d 70 62 69 6e 20 2f 61 6c  def..dumpbin /al
b320: 6c 20 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 5c  l tclsqlite.lo \
b330: 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  ...| $(TCLSH_CMD
b340: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re
b350: 70 6c 61 63 65 2e 74 63 6c 20 69 6e 63 6c 75 64  place.tcl includ
b360: 65 20 22 5e 5c 73 2b 2f 45 58 50 4f 52 54 3a 5f  e "^\s+/EXPORT:_
b370: 3f 28 28 3f 3a 53 71 6c 69 74 65 33 7c 54 63 6c  ?((?:Sqlite3|Tcl
b380: 73 71 6c 69 74 65 33 29 5f 5b 5e 40 5d 2a 29 28  sqlite3)_[^@]*)(
b390: 3f 3a 40 5c 64 2b 29 3f 24 24 22 20 5c 31 20 5c  ?:@\d+)?$$" \1 \
b3a0: 0a 09 09 7c 20 73 6f 72 74 20 3e 3e 20 74 63 6c  ...| sort >> tcl
b3b0: 73 71 6c 69 74 65 33 2e 64 65 66 0a 0a 70 6b 67  sqlite3.def..pkg
b3c0: 49 6e 64 65 78 2e 74 63 6c 3a 09 24 28 54 4f 50  Index.tcl:.$(TOP
b3d0: 29 5c 56 45 52 53 49 4f 4e 0a 09 66 6f 72 20 2f  )\VERSION..for /
b3e0: 46 20 25 25 56 20 69 6e 20 28 27 74 79 70 65 20  F %%V in ('type 
b3f0: 22 24 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 22  "$(TOP)\VERSION"
b400: 27 29 20 64 6f 20 28 20 5c 0a 09 09 65 63 68 6f  ') do ( \...echo
b410: 20 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65   package ifneede
b420: 64 20 73 71 6c 69 74 65 33 20 40 76 65 72 73 69  d sqlite3 @versi
b430: 6f 6e 40 20 5b 6c 69 73 74 20 6c 6f 61 64 20 5b  on@ [list load [
b440: 66 69 6c 65 20 6a 6f 69 6e 20 24 24 64 69 72 20  file join $$dir 
b450: 24 28 53 51 4c 49 54 45 33 54 43 4c 44 4c 4c 29  $(SQLITE3TCLDLL)
b460: 5d 20 73 71 6c 69 74 65 33 5d 20 5c 0a 09 09 09  ] sqlite3] \....
b470: 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
b480: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
b490: 63 65 2e 74 63 6c 20 65 78 61 63 74 20 40 76 65  ce.tcl exact @ve
b4a0: 72 73 69 6f 6e 40 20 25 25 56 20 3e 20 70 6b 67  rsion@ %%V > pkg
b4b0: 49 6e 64 65 78 2e 74 63 6c 20 5c 0a 09 29 0a 0a  Index.tcl \..)..
b4c0: 24 28 53 51 4c 49 54 45 33 54 43 4c 44 4c 4c 29  $(SQLITE3TCLDLL)
b4d0: 3a 09 6c 69 62 74 63 6c 73 71 6c 69 74 65 33 2e  :.libtclsqlite3.
b4e0: 6c 69 62 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  lib $(LIBRESOBJS
b4f0: 29 20 74 63 6c 73 71 6c 69 74 65 33 2e 64 65 66  ) tclsqlite3.def
b500: 20 70 6b 67 49 6e 64 65 78 2e 74 63 6c 0a 09 24   pkgIndex.tcl..$
b510: 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20  (LD) $(LDFLAGS) 
b520: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS) $(
b530: 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c  LTLIBPATHS) /DLL
b540: 20 2f 44 45 46 3a 74 63 6c 73 71 6c 69 74 65 33   /DEF:tclsqlite3
b550: 2e 64 65 66 20 2f 4f 55 54 3a 24 40 20 6c 69 62  .def /OUT:$@ lib
b560: 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 20 24  tclsqlite3.lib $
b570: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c  (LIBRESOBJS) $(L
b580: 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a  TLIBS) $(TLIBS).
b590: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 24 28 53  # <</mark>>..$(S
b5a0: 51 4c 49 54 45 33 44 4c 4c 29 3a 09 24 28 4c 49  QLITE3DLL):.$(LI
b5b0: 42 4f 42 4a 29 20 24 28 4c 49 42 52 45 53 4f 42  BOBJ) $(LIBRESOB
b5c0: 4a 53 29 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f  JS) $(CORE_LINK_
b5d0: 44 45 50 29 0a 09 24 28 4c 44 29 20 24 28 4c 44  DEP)..$(LD) $(LD
b5e0: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
b5f0: 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48  PTS) $(LTLIBPATH
b600: 53 29 20 2f 44 4c 4c 20 24 28 43 4f 52 45 5f 4c  S) /DLL $(CORE_L
b610: 49 4e 4b 5f 4f 50 54 53 29 20 2f 4f 55 54 3a 24  INK_OPTS) /OUT:$
b620: 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 28 4c 49  @ $(LIBOBJ) $(LI
b630: 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49  BRESOBJS) $(LTLI
b640: 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 23 20  BS) $(TLIBS)..# 
b650: 3c 3c 62 6c 6f 63 6b 32 3e 3e 0a 73 71 6c 69 74  <<block2>>.sqlit
b660: 65 33 2e 64 65 66 3a 09 6c 69 62 73 71 6c 69 74  e3.def:.libsqlit
b670: 65 33 2e 6c 69 62 0a 09 65 63 68 6f 20 45 58 50  e3.lib..echo EXP
b680: 4f 52 54 53 20 3e 20 73 71 6c 69 74 65 33 2e 64  ORTS > sqlite3.d
b690: 65 66 0a 09 64 75 6d 70 62 69 6e 20 2f 61 6c 6c  ef..dumpbin /all
b6a0: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20   libsqlite3.lib 
b6b0: 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM
b6c0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r
b6d0: 65 70 6c 61 63 65 2e 74 63 6c 20 69 6e 63 6c 75  eplace.tcl inclu
b6e0: 64 65 20 22 5e 5c 73 2b 31 20 5f 3f 28 73 71 6c  de "^\s+1 _?(sql
b6f0: 69 74 65 33 28 3f 3a 73 65 73 73 69 6f 6e 7c 63  ite3(?:session|c
b700: 68 61 6e 67 65 73 65 74 7c 63 68 61 6e 67 65 67  hangeset|changeg
b710: 72 6f 75 70 7c 72 65 62 61 73 65 72 29 3f 5f 5b  roup|rebaser)?_[
b720: 5e 40 5d 2a 29 28 3f 3a 40 5c 64 2b 29 3f 24 24  ^@]*)(?:@\d+)?$$
b730: 22 20 5c 31 20 5c 0a 09 09 7c 20 73 6f 72 74 20  " \1 \...| sort 
b740: 3e 3e 20 73 71 6c 69 74 65 33 2e 64 65 66 0a 23  >> sqlite3.def.#
b750: 20 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a 0a 24 28   <</block2>>..$(
b760: 53 51 4c 49 54 45 33 45 58 45 29 3a 09 73 68 65  SQLITE3EXE):.she
b770: 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f 52  ll.c $(SHELL_COR
b780: 45 5f 44 45 50 29 20 24 28 4c 49 42 52 45 53 4f  E_DEP) $(LIBRESO
b790: 42 4a 53 29 20 24 28 53 48 45 4c 4c 5f 43 4f 52  BJS) $(SHELL_COR
b7a0: 45 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33  E_SRC) $(SQLITE3
b7b0: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
b7c0: 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50  SHELL_COMPILE_OP
b7d0: 54 53 29 20 24 28 52 45 41 44 4c 49 4e 45 5f 46  TS) $(READLINE_F
b7e0: 4c 41 47 53 29 20 73 68 65 6c 6c 2e 63 20 24 28  LAGS) shell.c $(
b7f0: 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29 20  SHELL_CORE_SRC) 
b800: 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 53 51 4c 49  \.../link $(SQLI
b810: 54 45 33 45 58 45 50 44 42 29 20 24 28 4c 44 46  TE3EXEPDB) $(LDF
b820: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
b830: 54 53 29 20 24 28 53 48 45 4c 4c 5f 4c 49 4e 4b  TS) $(SHELL_LINK
b840: 5f 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41  _OPTS) $(LTLIBPA
b850: 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a  THS) $(LIBRESOBJ
b860: 53 29 20 24 28 4c 49 42 52 45 41 44 4c 49 4e 45  S) $(LIBREADLINE
b870: 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c  ) $(LTLIBS) $(TL
b880: 49 42 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  IBS)..# <<mark>>
b890: 0a 73 71 6c 64 69 66 66 2e 65 78 65 3a 09 24 28  .sqldiff.exe:.$(
b8a0: 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66  TOP)\tool\sqldif
b8b0: 66 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  f.c $(SQLITE3C) 
b8c0: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
b8d0: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
b8e0: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71  ) $(TOP)\tool\sq
b8f0: 6c 64 69 66 66 2e 63 20 24 28 53 51 4c 49 54 45  ldiff.c $(SQLITE
b900: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
b910: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
b920: 53 29 0a 0a 64 62 68 61 73 68 2e 65 78 65 3a 09  S)..dbhash.exe:.
b930: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62 68 61  $(TOP)\tool\dbha
b940: 73 68 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  sh.c $(SQLITE3C)
b950: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
b960: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
b970: 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64  N) $(TOP)\tool\d
b980: 62 68 61 73 68 2e 63 20 24 28 53 51 4c 49 54 45  bhash.c $(SQLITE
b990: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
b9a0: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
b9b0: 53 29 0a 0a 73 63 72 75 62 2e 65 78 65 3a 09 24  S)..scrub.exe:.$
b9c0: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73  (TOP)\ext\misc\s
b9d0: 63 72 75 62 2e 63 20 24 28 53 51 4c 49 54 45 33  crub.c $(SQLITE3
b9e0: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
b9f0: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
ba00: 41 52 4e 29 20 2d 44 53 43 52 55 42 5f 53 54 41  ARN) -DSCRUB_STA
ba10: 4e 44 41 4c 4f 4e 45 3d 31 20 24 28 54 4f 50 29  NDALONE=1 $(TOP)
ba20: 5c 65 78 74 5c 6d 69 73 63 5c 73 63 72 75 62 2e  \ext\misc\scrub.
ba30: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
ba40: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
ba50: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 72  (LTLINKOPTS)..sr
ba60: 63 63 6b 31 2e 65 78 65 3a 09 24 28 54 4f 50 29  cck1.exe:.$(TOP)
ba70: 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 09  \tool\srcck1.c..
ba80: 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e  $(BCC) $(NO_WARN
ba90: 29 20 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74  ) -Fe$@ $(TOP)\t
baa0: 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 0a 73 6f  ool\srcck1.c..so
bab0: 75 72 63 65 74 65 73 74 3a 09 73 72 63 63 6b 31  urcetest:.srcck1
bac0: 2e 65 78 65 20 24 28 53 51 4c 49 54 45 33 43 29  .exe $(SQLITE3C)
bad0: 0a 09 73 72 63 63 6b 31 2e 65 78 65 20 24 28 53  ..srcck1.exe $(S
bae0: 51 4c 49 54 45 33 43 29 0a 0a 66 75 7a 7a 65 72  QLITE3C)..fuzzer
baf0: 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28 54 4f 50  shell.exe:.$(TOP
bb00: 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 65  )\tool\fuzzershe
bb10: 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  ll.c $(SQLITE3C)
bb20: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
bb30: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
bb40: 4e 29 20 24 28 46 55 5a 5a 45 52 53 48 45 4c 4c  N) $(FUZZERSHELL
bb50: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
bb60: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65  (TOP)\tool\fuzze
bb70: 72 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54  rshell.c $(SQLIT
bb80: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
bb90: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
bba0: 54 53 29 0a 0a 64 62 66 75 7a 7a 2e 65 78 65 3a  TS)..dbfuzz.exe:
bbb0: 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 64 62 66  .$(TOP)\test\dbf
bbc0: 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45 33 43  uzz.c $(SQLITE3C
bbd0: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
bbe0: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
bbf0: 52 4e 29 20 24 28 44 42 46 55 5a 5a 5f 43 4f 4d  RN) $(DBFUZZ_COM
bc00: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50  PILE_OPTS) $(TOP
bc10: 29 5c 74 65 73 74 5c 64 62 66 75 7a 7a 2e 63 20  )\test\dbfuzz.c 
bc20: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
bc30: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
bc40: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 75 7a 7a  TLINKOPTS)..fuzz
bc50: 63 68 65 63 6b 2e 65 78 65 3a 09 24 28 46 55 5a  check.exe:.$(FUZ
bc60: 5a 43 48 45 43 4b 5f 53 52 43 29 20 24 28 53 51  ZCHECK_SRC) $(SQ
bc70: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
bc80: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
bc90: 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a  (NO_WARN) $(FUZZ
bca0: 43 48 45 43 4b 5f 4f 50 54 53 29 20 24 28 46 55  CHECK_OPTS) $(FU
bcb0: 5a 5a 43 48 45 43 4b 5f 53 52 43 29 20 24 28 53  ZZCHECK_SRC) $(S
bcc0: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
bcd0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
bce0: 4e 4b 4f 50 54 53 29 0a 0a 6f 73 73 73 68 65 6c  NKOPTS)..ossshel
bcf0: 6c 2e 65 78 65 3a 09 24 28 4f 53 53 53 48 45 4c  l.exe:.$(OSSSHEL
bd00: 4c 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33  L_SRC) $(SQLITE3
bd10: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
bd20: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
bd30: 41 52 4e 29 20 24 28 46 55 5a 5a 43 48 45 43 4b  ARN) $(FUZZCHECK
bd40: 5f 4f 50 54 53 29 20 24 28 4f 53 53 53 48 45 4c  _OPTS) $(OSSSHEL
bd50: 4c 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33  L_SRC) $(SQLITE3
bd60: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
bd70: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
bd80: 29 0a 0a 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 65  )..sessionfuzz.e
bd90: 78 65 3a 09 7a 6c 69 62 20 24 28 54 4f 50 29 5c  xe:.zlib $(TOP)\
bda0: 74 65 73 74 5c 73 65 73 73 69 6f 6e 66 75 7a 7a  test\sessionfuzz
bdb0: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
bdc0: 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
bdd0: 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
bde0: 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49 52 29   -I$(ZLIBINCDIR)
bdf0: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 65 73   $(TOP)\test\ses
be00: 73 69 6f 6e 66 75 7a 7a 2e 63 20 2f 6c 69 6e 6b  sionfuzz.c /link
be10: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
be20: 4c 49 4e 4b 4f 50 54 53 29 20 2f 4c 49 42 50 41  LINKOPTS) /LIBPA
be30: 54 48 3a 24 28 5a 4c 49 42 4c 49 42 44 49 52 29  TH:$(ZLIBLIBDIR)
be40: 20 24 28 5a 4c 49 42 4c 49 42 29 0a 0a 6d 70 74   $(ZLIBLIB)..mpt
be50: 65 73 74 65 72 2e 65 78 65 3a 09 24 28 54 4f 50  ester.exe:.$(TOP
be60: 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73 74 2e  )\mptest\mptest.
be70: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
be80: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
be90: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
bea0: 24 28 4d 50 54 45 53 54 45 52 5f 43 4f 4d 50 49  $(MPTESTER_COMPI
beb0: 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 5c  LE_OPTS) $(TOP)\
bec0: 6d 70 74 65 73 74 5c 6d 70 74 65 73 74 2e 63 20  mptest\mptest.c 
bed0: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
bee0: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
bef0: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4d 50 54 45  TLINKOPTS)..MPTE
bf00: 53 54 31 20 3d 20 6d 70 74 65 73 74 65 72 20 6d  ST1 = mptester m
bf10: 70 74 65 73 74 2e 64 62 20 24 28 54 4f 50 29 5c  ptest.db $(TOP)\
bf20: 6d 70 74 65 73 74 5c 63 72 61 73 68 30 31 2e 74  mptest\crash01.t
bf30: 65 73 74 20 2d 2d 72 65 70 65 61 74 20 32 30 0a  est --repeat 20.
bf40: 4d 50 54 45 53 54 32 20 3d 20 6d 70 74 65 73 74  MPTEST2 = mptest
bf50: 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24 28 54  er mptest.db $(T
bf60: 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 75 6c 74 69  OP)\mptest\multi
bf70: 77 72 69 74 65 30 31 2e 74 65 73 74 20 2d 2d 72  write01.test --r
bf80: 65 70 65 61 74 20 32 30 0a 0a 6d 70 74 65 73 74  epeat 20..mptest
bf90: 3a 09 6d 70 74 65 73 74 65 72 2e 65 78 65 0a 09  :.mptester.exe..
bfa0: 64 65 6c 20 2f 51 20 6d 70 74 65 73 74 2e 64 62  del /Q mptest.db
bfb0: 20 32 3e 4e 55 4c 0a 09 24 28 4d 50 54 45 53 54   2>NUL..$(MPTEST
bfc0: 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65  1) --journalmode
bfd0: 20 44 45 4c 45 54 45 0a 09 24 28 4d 50 54 45 53   DELETE..$(MPTES
bfe0: 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T2) --journalmod
bff0: 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53 54 31  e WAL..$(MPTEST1
c000: 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20  ) --journalmode 
c010: 57 41 4c 0a 09 24 28 4d 50 54 45 53 54 32 29 20  WAL..$(MPTEST2) 
c020: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45  --journalmode PE
c030: 52 53 49 53 54 0a 09 24 28 4d 50 54 45 53 54 31  RSIST..$(MPTEST1
c040: 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20  ) --journalmode 
c050: 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54 45 53  PERSIST..$(MPTES
c060: 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T2) --journalmod
c070: 65 20 54 52 55 4e 43 41 54 45 0a 09 24 28 4d 50  e TRUNCATE..$(MP
c080: 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c  TEST1) --journal
c090: 6d 6f 64 65 20 54 52 55 4e 43 41 54 45 0a 09 24  mode TRUNCATE..$
c0a0: 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72  (MPTEST2) --jour
c0b0: 6e 61 6c 6d 6f 64 65 20 44 45 4c 45 54 45 0a 0a  nalmode DELETE..
c0c0: 23 20 54 68 69 73 20 74 61 72 67 65 74 20 63 72  # This target cr
c0d0: 65 61 74 65 73 20 61 20 64 69 72 65 63 74 6f 72  eates a director
c0e0: 79 20 6e 61 6d 65 64 20 22 74 73 72 63 22 20 61  y named "tsrc" a
c0f0: 6e 64 20 66 69 6c 6c 73 20 69 74 20 77 69 74 68  nd fills it with
c100: 0a 23 20 63 6f 70 69 65 73 20 6f 66 20 61 6c 6c  .# copies of all
c110: 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72 63 65   of the C source
c120: 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64 65 72   code and header
c130: 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20 74 6f   files needed to
c140: 0a 23 20 62 75 69 6c 64 20 6f 6e 20 74 68 65 20  .# build on the 
c150: 74 61 72 67 65 74 20 73 79 73 74 65 6d 2e 20 20  target system.  
c160: 53 6f 6d 65 20 6f 66 20 74 68 65 20 43 20 73 6f  Some of the C so
c170: 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20 68 65  urce code and he
c180: 61 64 65 72 0a 23 20 66 69 6c 65 73 20 61 72 65  ader.# files are
c190: 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67   automatically g
c1a0: 65 6e 65 72 61 74 65 64 2e 20 20 54 68 69 73 20  enerated.  This 
c1b0: 74 61 72 67 65 74 20 74 61 6b 65 73 20 63 61 72  target takes car
c1c0: 65 20 6f 66 0a 23 20 61 6c 6c 20 74 68 61 74 20  e of.# all that 
c1d0: 61 75 74 6f 6d 61 74 69 63 20 67 65 6e 65 72 61  automatic genera
c1e0: 74 69 6f 6e 2e 0a 23 0a 2e 74 61 72 67 65 74 5f  tion..#..target_
c1f0: 73 6f 75 72 63 65 3a 09 24 28 53 52 43 29 20 24  source:.$(SRC) $
c200: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d  (TOP)\tool\vdbe-
c210: 63 6f 6d 70 72 65 73 73 2e 74 63 6c 20 66 74 73  compress.tcl fts
c220: 35 2e 63 20 24 28 53 51 4c 49 54 45 5f 54 43 4c  5.c $(SQLITE_TCL
c230: 5f 44 45 50 29 0a 09 2d 72 6d 64 69 72 20 2f 51  _DEP)..-rmdir /Q
c240: 2f 53 20 74 73 72 63 20 32 3e 4e 55 4c 0a 09 2d  /S tsrc 2>NUL..-
c250: 6d 6b 64 69 72 20 74 73 72 63 0a 09 66 6f 72 20  mkdir tsrc..for 
c260: 25 69 20 69 6e 20 28 24 28 53 52 43 30 30 29 29  %i in ($(SRC00))
c270: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
c280: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
c290: 24 28 53 52 43 30 31 29 29 20 64 6f 20 63 6f 70  $(SRC01)) do cop
c2a0: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f  y /Y %i tsrc..fo
c2b0: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 33  r %i in ($(SRC03
c2c0: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
c2d0: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
c2e0: 20 28 24 28 53 52 43 30 34 29 29 20 64 6f 20 63   ($(SRC04)) do c
c2f0: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09  opy /Y %i tsrc..
c300: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC
c310: 30 35 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  05)) do copy /Y 
c320: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i 
c330: 69 6e 20 28 24 28 53 52 43 30 36 29 29 20 64 6f  in ($(SRC06)) do
c340: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
c350: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S
c360: 52 43 30 37 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC07)) do copy /
c370: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
c380: 69 20 69 6e 20 28 24 28 53 52 43 30 38 29 29 20  i in ($(SRC08)) 
c390: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
c3a0: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($
c3b0: 28 53 52 43 30 39 29 29 20 64 6f 20 63 6f 70 79  (SRC09)) do copy
c3c0: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
c3d0: 20 25 69 20 69 6e 20 28 24 28 53 52 43 31 30 29   %i in ($(SRC10)
c3e0: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i 
c3f0: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in 
c400: 28 24 28 53 52 43 31 31 29 29 20 64 6f 20 63 6f  ($(SRC11)) do co
c410: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
c420: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 31  or %i in ($(SRC1
c430: 32 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  2)) do copy /Y %
c440: 69 20 74 73 72 63 0a 09 63 6f 70 79 20 2f 59 20  i tsrc..copy /Y 
c450: 66 74 73 35 2e 63 20 74 73 72 63 0a 09 63 6f 70  fts5.c tsrc..cop
c460: 79 20 2f 59 20 66 74 73 35 2e 68 20 74 73 72 63  y /Y fts5.h tsrc
c470: 0a 09 64 65 6c 20 2f 51 20 74 73 72 63 5c 73 71  ..del /Q tsrc\sq
c480: 6c 69 74 65 2e 68 2e 69 6e 20 74 73 72 63 5c 70  lite.h.in tsrc\p
c490: 61 72 73 65 2e 79 20 32 3e 4e 55 4c 0a 09 24 28  arse.y 2>NUL..$(
c4a0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
c4b0: 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70  )\tool\vdbe-comp
c4c0: 72 65 73 73 2e 74 63 6c 20 24 28 4f 50 54 53 29  ress.tcl $(OPTS)
c4d0: 20 3c 20 74 73 72 63 5c 76 64 62 65 2e 63 20 3e   < tsrc\vdbe.c >
c4e0: 20 76 64 62 65 2e 6e 65 77 0a 09 6d 6f 76 65 20   vdbe.new..move 
c4f0: 76 64 62 65 2e 6e 65 77 20 74 73 72 63 5c 76 64  vdbe.new tsrc\vd
c500: 62 65 2e 63 0a 09 65 63 68 6f 20 3e 20 2e 74 61  be.c..echo > .ta
c510: 72 67 65 74 5f 73 6f 75 72 63 65 0a 0a 73 71 6c  rget_source..sql
c520: 69 74 65 33 2e 63 3a 09 2e 74 61 72 67 65 74 5f  ite3.c:..target_
c530: 73 6f 75 72 63 65 20 73 71 6c 69 74 65 33 65 78  source sqlite3ex
c540: 74 2e 68 20 24 28 4d 4b 53 51 4c 49 54 45 33 43  t.h $(MKSQLITE3C
c550: 5f 54 4f 4f 4c 29 0a 09 24 28 54 43 4c 53 48 5f  _TOOL)..$(TCLSH_
c560: 43 4d 44 29 20 24 28 4d 4b 53 51 4c 49 54 45 33  CMD) $(MKSQLITE3
c570: 43 5f 54 4f 4f 4c 29 20 24 28 4d 4b 53 51 4c 49  C_TOOL) $(MKSQLI
c580: 54 45 33 43 5f 41 52 47 53 29 0a 09 63 6f 70 79  TE3C_ARGS)..copy
c590: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73   $(TOP)\ext\sess
c5a0: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69  ion\sqlite3sessi
c5b0: 6f 6e 2e 68 20 2e 0a 0a 73 71 6c 69 74 65 33 2d  on.h ...sqlite3-
c5c0: 61 6c 6c 2e 63 3a 09 73 71 6c 69 74 65 33 2e 63  all.c:.sqlite3.c
c5d0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c   $(TOP)\tool\spl
c5e0: 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a  it-sqlite3c.tcl.
c5f0: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD) $(
c600: 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d  TOP)\tool\split-
c610: 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 23 20 3c  sqlite3c.tcl.# <
c620: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65  </mark>>..# Rule
c630: 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 61 6d   to build the am
c640: 61 6c 67 61 6d 61 74 69 6f 6e 0a 23 0a 73 71 6c  algamation.#.sql
c650: 69 74 65 33 2e 6c 6f 3a 09 24 28 53 51 4c 49 54  ite3.lo:.$(SQLIT
c660: 45 33 43 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  E3C)..$(LTCOMPIL
c670: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
c680: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 53 51 4c  E_OPTS) -c $(SQL
c690: 49 54 45 33 43 29 0a 0a 23 20 3c 3c 6d 61 72 6b  ITE3C)..# <<mark
c6a0: 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75  >>.# Rules to bu
c6b0: 69 6c 64 20 74 68 65 20 4c 45 4d 4f 4e 20 63 6f  ild the LEMON co
c6c0: 6d 70 69 6c 65 72 20 67 65 6e 65 72 61 74 6f 72  mpiler generator
c6d0: 0a 23 0a 6c 65 6d 70 61 72 2e 63 3a 09 24 28 54  .#.lempar.c:.$(T
c6e0: 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e  OP)\tool\lempar.
c6f0: 63 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 74  c..copy $(TOP)\t
c700: 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 20 2e 0a 0a  ool\lempar.c ...
c710: 6c 65 6d 6f 6e 2e 65 78 65 3a 09 24 28 54 4f 50  lemon.exe:.$(TOP
c720: 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 6c  )\tool\lemon.c l
c730: 65 6d 70 61 72 2e 63 0a 09 24 28 42 43 43 29 20  empar.c..$(BCC) 
c740: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 61 63 63  $(NO_WARN) -Dacc
c750: 65 73 73 3d 5f 61 63 63 65 73 73 20 5c 0a 09 09  ess=_access \...
c760: 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f  -Fe$@ $(TOP)\too
c770: 6c 5c 6c 65 6d 6f 6e 2e 63 20 2f 6c 69 6e 6b 20  l\lemon.c /link 
c780: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c 54  $(LDFLAGS) $(NLT
c790: 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c  LINKOPTS) $(NLTL
c7a0: 49 42 50 41 54 48 53 29 0a 0a 23 20 3c 3c 6d 61  IBPATHS)..# <<ma
c7b0: 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20  rk>>.# Rules to 
c7c0: 62 75 69 6c 64 20 74 68 65 20 73 6f 75 72 63 65  build the source
c7d0: 2d 69 64 20 67 65 6e 65 72 61 74 6f 72 20 74 6f  -id generator to
c7e0: 6f 6c 0a 23 0a 6d 6b 73 6f 75 72 63 65 69 64 2e  ol.#.mksourceid.
c7f0: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool
c800: 5c 6d 6b 73 6f 75 72 63 65 69 64 2e 63 0a 09 24  \mksourceid.c..$
c810: 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29  (BCC) $(NO_WARN)
c820: 20 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f   -Fe$@ $(TOP)\to
c830: 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 64 2e 63 20  ol\mksourceid.c 
c840: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
c850: 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20   $(NLTLINKOPTS) 
c860: 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a  $(NLTLIBPATHS)..
c870: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64  # Rules to build
c880: 20 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f   individual *.lo
c890: 20 66 69 6c 65 73 20 66 72 6f 6d 20 67 65 6e 65   files from gene
c8a0: 72 61 74 65 64 20 2a 2e 63 20 66 69 6c 65 73 2e  rated *.c files.
c8b0: 20 54 68 69 73 0a 23 20 61 70 70 6c 69 65 73 20   This.# applies 
c8c0: 74 6f 3a 0a 23 0a 23 20 20 20 20 20 70 61 72 73  to:.#.#     pars
c8d0: 65 2e 6c 6f 0a 23 20 20 20 20 20 6f 70 63 6f 64  e.lo.#     opcod
c8e0: 65 73 2e 6c 6f 0a 23 0a 70 61 72 73 65 2e 6c 6f  es.lo.#.parse.lo
c8f0: 3a 09 70 61 72 73 65 2e 63 20 24 28 48 44 52 29  :.parse.c $(HDR)
c900: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c910: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c920: 54 53 29 20 2d 63 20 70 61 72 73 65 2e 63 0a 0a  TS) -c parse.c..
c930: 6f 70 63 6f 64 65 73 2e 6c 6f 3a 09 6f 70 63 6f  opcodes.lo:.opco
c940: 64 65 73 2e 63 0a 09 24 28 4c 54 43 4f 4d 50 49  des.c..$(LTCOMPI
c950: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
c960: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 6f 70 63 6f  LE_OPTS) -c opco
c970: 64 65 73 2e 63 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  des.c.# <</mark>
c980: 3e 0a 0a 23 20 52 75 6c 65 20 74 6f 20 62 75 69  >..# Rule to bui
c990: 6c 64 20 74 68 65 20 57 69 6e 33 32 20 72 65 73  ld the Win32 res
c9a0: 6f 75 72 63 65 73 20 6f 62 6a 65 63 74 20 66 69  ources object fi
c9b0: 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  le..#.!IF $(USE_
c9c0: 52 43 29 21 3d 30 0a 23 20 3c 3c 62 6c 6f 63 6b  RC)!=0.# <<block
c9d0: 31 3e 3e 0a 24 28 4c 49 42 52 45 53 4f 42 4a 53  1>>.$(LIBRESOBJS
c9e0: 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71  ):.$(TOP)\src\sq
c9f0: 6c 69 74 65 33 2e 72 63 20 24 28 53 51 4c 49 54  lite3.rc $(SQLIT
ca00: 45 33 48 29 20 24 28 54 4f 50 29 5c 56 45 52 53  E3H) $(TOP)\VERS
ca10: 49 4f 4e 0a 09 65 63 68 6f 20 23 69 66 6e 64 65  ION..echo #ifnde
ca20: 66 20 53 51 4c 49 54 45 5f 52 45 53 4f 55 52 43  f SQLITE_RESOURC
ca30: 45 5f 56 45 52 53 49 4f 4e 20 3e 20 73 71 6c 69  E_VERSION > sqli
ca40: 74 65 33 72 63 2e 68 0a 09 66 6f 72 20 2f 46 20  te3rc.h..for /F 
ca50: 25 25 56 20 69 6e 20 28 27 74 79 70 65 20 22 24  %%V in ('type "$
ca60: 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 22 27 29  (TOP)\VERSION"')
ca70: 20 64 6f 20 28 20 5c 0a 09 09 65 63 68 6f 20 23   do ( \...echo #
ca80: 64 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 52 45  define SQLITE_RE
ca90: 53 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 25  SOURCE_VERSION %
caa0: 25 56 20 5c 0a 09 09 09 7c 20 24 28 54 43 4c 53  %V \....| $(TCLS
cab0: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
cac0: 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65  ol\replace.tcl e
cad0: 78 61 63 74 20 2e 20 5e 2c 20 3e 3e 20 73 71 6c  xact . ^, >> sql
cae0: 69 74 65 33 72 63 2e 68 20 5c 0a 09 29 0a 09 65  ite3rc.h \..)..e
caf0: 63 68 6f 20 23 65 6e 64 69 66 20 3e 3e 20 73 71  cho #endif >> sq
cb00: 6c 69 74 65 33 72 63 2e 68 0a 09 24 28 4c 54 52  lite3rc.h..$(LTR
cb10: 43 4f 4d 50 49 4c 45 29 20 2d 66 6f 20 24 28 4c  COMPILE) -fo $(L
cb20: 49 42 52 45 53 4f 42 4a 53 29 20 24 28 54 4f 50  IBRESOBJS) $(TOP
cb30: 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 2e 72 63  )\src\sqlite3.rc
cb40: 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 31 3e 3e 0a 21  .# <</block1>>.!
cb50: 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  ENDIF..# <<mark>
cb60: 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69  >.# Rules to bui
cb70: 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e  ld individual *.
cb80: 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20 66 69  lo files from fi
cb90: 6c 65 73 20 69 6e 20 74 68 65 20 73 72 63 20 64  les in the src d
cba0: 69 72 65 63 74 6f 72 79 2e 0a 23 0a 61 6c 74 65  irectory..#.alte
cbb0: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  r.lo:.$(TOP)\src
cbc0: 5c 61 6c 74 65 72 2e 63 20 24 28 48 44 52 29 0a  \alter.c $(HDR).
cbd0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
cbe0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
cbf0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
cc00: 5c 61 6c 74 65 72 2e 63 0a 0a 61 6e 61 6c 79 7a  \alter.c..analyz
cc10: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
cc20: 5c 61 6e 61 6c 79 7a 65 2e 63 20 24 28 48 44 52  \analyze.c $(HDR
cc30: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
cc40: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
cc50: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
cc60: 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 0a 0a 61 74  rc\analyze.c..at
cc70: 74 61 63 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  tach.lo:.$(TOP)\
cc80: 73 72 63 5c 61 74 74 61 63 68 2e 63 20 24 28 48  src\attach.c $(H
cc90: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
cca0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
ccb0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
ccc0: 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 0a 0a 61  \src\attach.c..a
ccd0: 75 74 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  uth.lo:.$(TOP)\s
cce0: 72 63 5c 61 75 74 68 2e 63 20 24 28 48 44 52 29  rc\auth.c $(HDR)
ccf0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cd00: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cd10: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cd20: 63 5c 61 75 74 68 2e 63 0a 0a 62 61 63 6b 75 70  c\auth.c..backup
cd30: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
cd40: 62 61 63 6b 75 70 2e 63 20 24 28 48 44 52 29 0a  backup.c $(HDR).
cd50: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
cd60: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
cd70: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
cd80: 5c 62 61 63 6b 75 70 2e 63 0a 0a 62 69 74 76 65  \backup.c..bitve
cd90: 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  c.lo:.$(TOP)\src
cda0: 5c 62 69 74 76 65 63 2e 63 20 24 28 48 44 52 29  \bitvec.c $(HDR)
cdb0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cdc0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cdd0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cde0: 63 5c 62 69 74 76 65 63 2e 63 0a 0a 62 74 6d 75  c\bitvec.c..btmu
cdf0: 74 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  tex.lo:.$(TOP)\s
ce00: 72 63 5c 62 74 6d 75 74 65 78 2e 63 20 24 28 48  rc\btmutex.c $(H
ce10: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
ce20: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
ce30: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
ce40: 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 0a 0a  \src\btmutex.c..
ce50: 62 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  btree.lo:.$(TOP)
ce60: 5c 73 72 63 5c 62 74 72 65 65 2e 63 20 24 28 48  \src\btree.c $(H
ce70: 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  DR) $(TOP)\src\p
ce80: 61 67 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50  ager.h..$(LTCOMP
ce90: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
cea0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
ceb0: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 0a  OP)\src\btree.c.
cec0: 0a 62 75 69 6c 64 2e 6c 6f 3a 09 24 28 54 4f 50  .build.lo:.$(TOP
ced0: 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 20 24 28  )\src\build.c $(
cee0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
cef0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
cf00: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
cf10: 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 0a 0a 63  )\src\build.c..c
cf20: 61 6c 6c 62 61 63 6b 2e 6c 6f 3a 09 24 28 54 4f  allback.lo:.$(TO
cf30: 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e  P)\src\callback.
cf40: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
cf50: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
cf60: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
cf70: 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61  (TOP)\src\callba
cf80: 63 6b 2e 63 0a 0a 63 6f 6d 70 6c 65 74 65 2e 6c  ck.c..complete.l
cf90: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f  o:.$(TOP)\src\co
cfa0: 6d 70 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a  mplete.c $(HDR).
cfb0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
cfc0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
cfd0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
cfe0: 5c 63 6f 6d 70 6c 65 74 65 2e 63 0a 0a 63 74 69  \complete.c..cti
cff0: 6d 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  me.lo:.$(TOP)\sr
d000: 63 5c 63 74 69 6d 65 2e 63 20 24 28 48 44 52 29  c\ctime.c $(HDR)
d010: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d020: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d030: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d040: 63 5c 63 74 69 6d 65 2e 63 0a 0a 64 61 74 65 2e  c\ctime.c..date.
d050: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64  lo:.$(TOP)\src\d
d060: 61 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ate.c $(HDR)..$(
d070: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d080: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d090: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 61  -c $(TOP)\src\da
d0a0: 74 65 2e 63 0a 0a 64 62 70 61 67 65 2e 6c 6f 3a  te.c..dbpage.lo:
d0b0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61  .$(TOP)\src\dbpa
d0c0: 67 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ge.c $(HDR)..$(L
d0d0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d0e0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d0f0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70  c $(TOP)\src\dbp
d100: 61 67 65 2e 63 0a 0a 64 62 73 74 61 74 2e 6c 6f  age.c..dbstat.lo
d110: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73  :.$(TOP)\src\dbs
d120: 74 61 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28  tat.c $(HDR)..$(
d130: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d140: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d150: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62  -c $(TOP)\src\db
d160: 73 74 61 74 2e 63 0a 0a 64 65 6c 65 74 65 2e 6c  stat.c..delete.l
d170: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 65  o:.$(TOP)\src\de
d180: 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24  lete.c $(HDR)..$
d190: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d1a0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d1b0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64   -c $(TOP)\src\d
d1c0: 65 6c 65 74 65 2e 63 0a 0a 65 78 70 72 2e 6c 6f  elete.c..expr.lo
d1d0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70  :.$(TOP)\src\exp
d1e0: 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  r.c $(HDR)..$(LT
d1f0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d200: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d210: 20 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72   $(TOP)\src\expr
d220: 2e 63 0a 0a 66 61 75 6c 74 2e 6c 6f 3a 09 24 28  .c..fault.lo:.$(
d230: 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63  TOP)\src\fault.c
d240: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d250: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d260: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
d270: 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63  TOP)\src\fault.c
d280: 0a 0a 66 6b 65 79 2e 6c 6f 3a 09 24 28 54 4f 50  ..fkey.lo:.$(TOP
d290: 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20 24 28 48  )\src\fkey.c $(H
d2a0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d2b0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d2c0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d2d0: 5c 73 72 63 5c 66 6b 65 79 2e 63 0a 0a 66 75 6e  \src\fkey.c..fun
d2e0: 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  c.lo:.$(TOP)\src
d2f0: 5c 66 75 6e 63 2e 63 20 24 28 48 44 52 29 0a 09  \func.c $(HDR)..
d300: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d310: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d320: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d330: 66 75 6e 63 2e 63 0a 0a 67 6c 6f 62 61 6c 2e 6c  func.c..global.l
d340: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c  o:.$(TOP)\src\gl
d350: 6f 62 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24  obal.c $(HDR)..$
d360: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d370: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d380: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 67   -c $(TOP)\src\g
d390: 6c 6f 62 61 6c 2e 63 0a 0a 68 61 73 68 2e 6c 6f  lobal.c..hash.lo
d3a0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73  :.$(TOP)\src\has
d3b0: 68 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  h.c $(HDR)..$(LT
d3c0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d3d0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d3e0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68   $(TOP)\src\hash
d3f0: 2e 63 0a 0a 69 6e 73 65 72 74 2e 6c 6f 3a 09 24  .c..insert.lo:.$
d400: 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74  (TOP)\src\insert
d410: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d420: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d430: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d440: 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72  $(TOP)\src\inser
d450: 74 2e 63 0a 0a 6c 65 67 61 63 79 2e 6c 6f 3a 09  t.c..legacy.lo:.
d460: 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63  $(TOP)\src\legac
d470: 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  y.c $(HDR)..$(LT
d480: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d490: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d4a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61   $(TOP)\src\lega
d4b0: 63 79 2e 63 0a 0a 6c 6f 61 64 65 78 74 2e 6c 6f  cy.c..loadext.lo
d4c0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61  :.$(TOP)\src\loa
d4d0: 64 65 78 74 2e 63 20 24 28 48 44 52 29 0a 09 24  dext.c $(HDR)..$
d4e0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d4f0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d500: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c   -c $(TOP)\src\l
d510: 6f 61 64 65 78 74 2e 63 0a 0a 6d 61 69 6e 2e 6c  oadext.c..main.l
d520: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61  o:.$(TOP)\src\ma
d530: 69 6e 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  in.c $(HDR)..$(L
d540: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d550: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d560: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69  c $(TOP)\src\mai
d570: 6e 2e 63 0a 0a 6d 61 6c 6c 6f 63 2e 6c 6f 3a 09  n.c..malloc.lo:.
d580: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f  $(TOP)\src\mallo
d590: 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  c.c $(HDR)..$(LT
d5a0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d5b0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d5c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c   $(TOP)\src\mall
d5d0: 6f 63 2e 63 0a 0a 6d 65 6d 30 2e 6c 6f 3a 09 24  oc.c..mem0.lo:.$
d5e0: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63  (TOP)\src\mem0.c
d5f0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d600: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d610: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
d620: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 0a  TOP)\src\mem0.c.
d630: 0a 6d 65 6d 31 2e 6c 6f 3a 09 24 28 54 4f 50 29  .mem1.lo:.$(TOP)
d640: 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 24 28 48 44  \src\mem1.c $(HD
d650: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d660: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d670: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d680: 73 72 63 5c 6d 65 6d 31 2e 63 0a 0a 6d 65 6d 32  src\mem1.c..mem2
d690: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d6a0: 6d 65 6d 32 2e 63 20 24 28 48 44 52 29 0a 09 24  mem2.c $(HDR)..$
d6b0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d6c0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d6d0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
d6e0: 65 6d 32 2e 63 0a 0a 6d 65 6d 33 2e 6c 6f 3a 09  em2.c..mem3.lo:.
d6f0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e  $(TOP)\src\mem3.
d700: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d710: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d720: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d730: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63  (TOP)\src\mem3.c
d740: 0a 0a 6d 65 6d 35 2e 6c 6f 3a 09 24 28 54 4f 50  ..mem5.lo:.$(TOP
d750: 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 24 28 48  )\src\mem5.c $(H
d760: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d770: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d780: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d790: 5c 73 72 63 5c 6d 65 6d 35 2e 63 0a 0a 6d 65 6d  \src\mem5.c..mem
d7a0: 64 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  db.lo:.$(TOP)\sr
d7b0: 63 5c 6d 65 6d 64 62 2e 63 20 24 28 48 44 52 29  c\memdb.c $(HDR)
d7c0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d7d0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d7e0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d7f0: 63 5c 6d 65 6d 64 62 2e 63 0a 0a 6d 65 6d 6a 6f  c\memdb.c..memjo
d800: 75 72 6e 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29  urnal.lo:.$(TOP)
d810: 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e  \src\memjournal.
d820: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d830: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d840: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d850: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75  (TOP)\src\memjou
d860: 72 6e 61 6c 2e 63 0a 0a 6d 75 74 65 78 2e 6c 6f  rnal.c..mutex.lo
d870: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  :.$(TOP)\src\mut
d880: 65 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ex.c $(HDR)..$(L
d890: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d8a0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d8b0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  c $(TOP)\src\mut
d8c0: 65 78 2e 63 0a 0a 6d 75 74 65 78 5f 6e 6f 6f 70  ex.c..mutex_noop
d8d0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d8e0: 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 24 28 48  mutex_noop.c $(H
d8f0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d900: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d910: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d920: 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e  \src\mutex_noop.
d930: 63 0a 0a 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f  c..mutex_unix.lo
d940: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  :.$(TOP)\src\mut
d950: 65 78 5f 75 6e 69 78 2e 63 20 24 28 48 44 52 29  ex_unix.c $(HDR)
d960: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d970: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d980: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d990: 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63 0a 0a  c\mutex_unix.c..
d9a0: 6d 75 74 65 78 5f 77 33 32 2e 6c 6f 3a 09 24 28  mutex_w32.lo:.$(
d9b0: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77  TOP)\src\mutex_w
d9c0: 33 32 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  32.c $(HDR)..$(L
d9d0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d9e0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d9f0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  c $(TOP)\src\mut
da00: 65 78 5f 77 33 32 2e 63 0a 0a 6e 6f 74 69 66 79  ex_w32.c..notify
da10: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
da20: 6e 6f 74 69 66 79 2e 63 20 24 28 48 44 52 29 0a  notify.c $(HDR).
da30: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
da40: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
da50: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
da60: 5c 6e 6f 74 69 66 79 2e 63 0a 0a 70 61 67 65 72  \notify.c..pager
da70: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
da80: 70 61 67 65 72 2e 63 20 24 28 48 44 52 29 20 24  pager.c $(HDR) $
da90: 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e  (TOP)\src\pager.
daa0: 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  h..$(LTCOMPILE) 
dab0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
dac0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
dad0: 72 63 5c 70 61 67 65 72 2e 63 0a 0a 70 63 61 63  rc\pager.c..pcac
dae0: 68 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  he.lo:.$(TOP)\sr
daf0: 63 5c 70 63 61 63 68 65 2e 63 20 24 28 48 44 52  c\pcache.c $(HDR
db00: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61  ) $(TOP)\src\pca
db10: 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49  che.h..$(LTCOMPI
db20: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
db30: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
db40: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 0a  P)\src\pcache.c.
db50: 0a 70 63 61 63 68 65 31 2e 6c 6f 3a 09 24 28 54  .pcache1.lo:.$(T
db60: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e  OP)\src\pcache1.
db70: 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c  c $(HDR) $(TOP)\
db80: 73 72 63 5c 70 63 61 63 68 65 2e 68 0a 09 24 28  src\pcache.h..$(
db90: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
dba0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
dbb0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  -c $(TOP)\src\pc
dbc0: 61 63 68 65 31 2e 63 0a 0a 6f 73 2e 6c 6f 3a 09  ache1.c..os.lo:.
dbd0: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20  $(TOP)\src\os.c 
dbe0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
dbf0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
dc00: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
dc10: 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 0a 0a 6f 73  OP)\src\os.c..os
dc20: 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29  _unix.lo:.$(TOP)
dc30: 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 24  \src\os_unix.c $
dc40: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
dc50: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
dc60: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
dc70: 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63  P)\src\os_unix.c
dc80: 0a 0a 6f 73 5f 77 69 6e 2e 6c 6f 3a 09 24 28 54  ..os_win.lo:.$(T
dc90: 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63  OP)\src\os_win.c
dca0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
dcb0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
dcc0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
dcd0: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e  TOP)\src\os_win.
dce0: 63 0a 0a 70 72 61 67 6d 61 2e 6c 6f 3a 09 24 28  c..pragma.lo:.$(
dcf0: 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e  TOP)\src\pragma.
dd00: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
dd10: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
dd20: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
dd30: 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61  (TOP)\src\pragma
dd40: 2e 63 0a 0a 70 72 65 70 61 72 65 2e 6c 6f 3a 09  .c..prepare.lo:.
dd50: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61  $(TOP)\src\prepa
dd60: 72 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  re.c $(HDR)..$(L
dd70: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
dd80: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
dd90: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65  c $(TOP)\src\pre
dda0: 70 61 72 65 2e 63 0a 0a 70 72 69 6e 74 66 2e 6c  pare.c..printf.l
ddb0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  o:.$(TOP)\src\pr
ddc0: 69 6e 74 66 2e 63 20 24 28 48 44 52 29 0a 09 24  intf.c $(HDR)..$
ddd0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
dde0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ddf0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70   -c $(TOP)\src\p
de00: 72 69 6e 74 66 2e 63 0a 0a 72 61 6e 64 6f 6d 2e  rintf.c..random.
de10: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72  lo:.$(TOP)\src\r
de20: 61 6e 64 6f 6d 2e 63 20 24 28 48 44 52 29 0a 09  andom.c $(HDR)..
de30: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
de40: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
de50: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
de60: 72 61 6e 64 6f 6d 2e 63 0a 0a 72 65 73 6f 6c 76  random.c..resolv
de70: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
de80: 5c 72 65 73 6f 6c 76 65 2e 63 20 24 28 48 44 52  \resolve.c $(HDR
de90: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
dea0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
deb0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
dec0: 72 63 5c 72 65 73 6f 6c 76 65 2e 63 0a 0a 72 6f  rc\resolve.c..ro
ded0: 77 73 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  wset.lo:.$(TOP)\
dee0: 73 72 63 5c 72 6f 77 73 65 74 2e 63 20 24 28 48  src\rowset.c $(H
def0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
df00: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
df10: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
df20: 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 0a 0a 73  \src\rowset.c..s
df30: 65 6c 65 63 74 2e 6c 6f 3a 09 24 28 54 4f 50 29  elect.lo:.$(TOP)
df40: 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 20 24 28  \src\select.c $(
df50: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
df60: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
df70: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
df80: 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 0a 0a  )\src\select.c..
df90: 73 74 61 74 75 73 2e 6c 6f 3a 09 24 28 54 4f 50  status.lo:.$(TOP
dfa0: 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20 24  )\src\status.c $
dfb0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
dfc0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
dfd0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
dfe0: 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 0a  P)\src\status.c.
dff0: 0a 74 61 62 6c 65 2e 6c 6f 3a 09 24 28 54 4f 50  .table.lo:.$(TOP
e000: 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20 24 28  )\src\table.c $(
e010: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
e020: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
e030: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
e040: 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 0a 0a 74  )\src\table.c..t
e050: 68 72 65 61 64 73 2e 6c 6f 3a 09 24 28 54 4f 50  hreads.lo:.$(TOP
e060: 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20  )\src\threads.c 
e070: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
e080: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
e090: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
e0a0: 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e  OP)\src\threads.
e0b0: 63 0a 0a 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 3a 09  c..tokenize.lo:.
e0c0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e  $(TOP)\src\token
e0d0: 69 7a 65 2e 63 20 6b 65 79 77 6f 72 64 68 61 73  ize.c keywordhas
e0e0: 68 2e 68 20 24 28 48 44 52 29 0a 09 24 28 4c 54  h.h $(HDR)..$(LT
e0f0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
e100: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
e110: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65   $(TOP)\src\toke
e120: 6e 69 7a 65 2e 63 0a 0a 74 72 65 65 76 69 65 77  nize.c..treeview
e130: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
e140: 74 72 65 65 76 69 65 77 2e 63 20 24 28 48 44 52  treeview.c $(HDR
e150: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
e160: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
e170: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
e180: 72 63 5c 74 72 65 65 76 69 65 77 2e 63 0a 0a 74  rc\treeview.c..t
e190: 72 69 67 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50  rigger.lo:.$(TOP
e1a0: 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 20  )\src\trigger.c 
e1b0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
e1c0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
e1d0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
e1e0: 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e  OP)\src\trigger.
e1f0: 63 0a 0a 75 70 64 61 74 65 2e 6c 6f 3a 09 24 28  c..update.lo:.$(
e200: 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e  TOP)\src\update.
e210: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
e220: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
e230: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
e240: 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65  (TOP)\src\update
e250: 2e 63 0a 0a 75 70 73 65 72 74 2e 6c 6f 3a 09 24  .c..upsert.lo:.$
e260: 28 54 4f 50 29 5c 73 72 63 5c 75 70 73 65 72 74  (TOP)\src\upsert
e270: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
e280: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
e290: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
e2a0: 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 73 65 72  $(TOP)\src\upser
e2b0: 74 2e 63 0a 0a 75 74 66 2e 6c 6f 3a 09 24 28 54  t.c..utf.lo:.$(T
e2c0: 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 24 28  OP)\src\utf.c $(
e2d0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
e2e0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
e2f0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
e300: 29 5c 73 72 63 5c 75 74 66 2e 63 0a 0a 75 74 69  )\src\utf.c..uti
e310: 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  l.lo:.$(TOP)\src
e320: 5c 75 74 69 6c 2e 63 20 24 28 48 44 52 29 0a 09  \util.c $(HDR)..
e330: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
e340: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
e350: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
e360: 75 74 69 6c 2e 63 0a 0a 76 61 63 75 75 6d 2e 6c  util.c..vacuum.l
e370: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 61  o:.$(TOP)\src\va
e380: 63 75 75 6d 2e 63 20 24 28 48 44 52 29 0a 09 24  cuum.c $(HDR)..$
e390: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
e3a0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
e3b0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v
e3c0: 61 63 75 75 6d 2e 63 0a 0a 76 64 62 65 2e 6c 6f  acuum.c..vdbe.lo
e3d0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  :.$(TOP)\src\vdb
e3e0: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
e3f0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
e400: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
e410: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
e420: 2e 63 0a 0a 76 64 62 65 61 70 69 2e 6c 6f 3a 09  .c..vdbeapi.lo:.
e430: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61  $(TOP)\src\vdbea
e440: 70 69 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  pi.c $(HDR)..$(L
e450: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
e460: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
e470: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  c $(TOP)\src\vdb
e480: 65 61 70 69 2e 63 0a 0a 76 64 62 65 61 75 78 2e  eapi.c..vdbeaux.
e490: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76  lo:.$(TOP)\src\v
e4a0: 64 62 65 61 75 78 2e 63 20 24 28 48 44 52 29 0a  dbeaux.c $(HDR).
e4b0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
e4c0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e4d0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
e4e0: 5c 76 64 62 65 61 75 78 2e 63 0a 0a 76 64 62 65  \vdbeaux.c..vdbe
e4f0: 62 6c 6f 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  blob.lo:.$(TOP)\
e500: 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 24  src\vdbeblob.c $
e510: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
e520: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
e530: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
e540: 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e  P)\src\vdbeblob.
e550: 63 0a 0a 76 64 62 65 6d 65 6d 2e 6c 6f 3a 09 24  c..vdbemem.lo:.$
e560: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65  (TOP)\src\vdbeme
e570: 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  m.c $(HDR)..$(LT
e580: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
e590: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
e5a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
e5b0: 6d 65 6d 2e 63 0a 0a 76 64 62 65 73 6f 72 74 2e  mem.c..vdbesort.
e5c0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76  lo:.$(TOP)\src\v
e5d0: 64 62 65 73 6f 72 74 2e 63 20 24 28 48 44 52 29  dbesort.c $(HDR)
e5e0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
e5f0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
e600: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
e610: 63 5c 76 64 62 65 73 6f 72 74 2e 63 0a 0a 76 64  c\vdbesort.c..vd
e620: 62 65 74 72 61 63 65 2e 6c 6f 3a 09 24 28 54 4f  betrace.lo:.$(TO
e630: 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65  P)\src\vdbetrace
e640: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
e650: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
e660: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
e670: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74  $(TOP)\src\vdbet
e680: 72 61 63 65 2e 63 0a 0a 76 74 61 62 2e 6c 6f 3a  race.c..vtab.lo:
e690: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62  .$(TOP)\src\vtab
e6a0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
e6b0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
e6c0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
e6d0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e  $(TOP)\src\vtab.
e6e0: 63 0a 0a 77 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50  c..wal.lo:.$(TOP
e6f0: 29 5c 73 72 63 5c 77 61 6c 2e 63 20 24 28 48 44  )\src\wal.c $(HD
e700: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e710: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
e720: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
e730: 73 72 63 5c 77 61 6c 2e 63 0a 0a 77 61 6c 6b 65  src\wal.c..walke
e740: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  r.lo:.$(TOP)\src
e750: 5c 77 61 6c 6b 65 72 2e 63 20 24 28 48 44 52 29  \walker.c $(HDR)
e760: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
e770: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
e780: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
e790: 63 5c 77 61 6c 6b 65 72 2e 63 0a 0a 77 68 65 72  c\walker.c..wher
e7a0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
e7b0: 5c 77 68 65 72 65 2e 63 20 24 28 48 44 52 29 0a  \where.c $(HDR).
e7c0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
e7d0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e7e0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
e7f0: 5c 77 68 65 72 65 2e 63 0a 0a 77 68 65 72 65 63  \where.c..wherec
e800: 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ode.lo:.$(TOP)\s
e810: 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 20 24  rc\wherecode.c $
e820: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
e830: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
e840: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
e850: 50 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65  P)\src\wherecode
e860: 2e 63 0a 0a 77 68 65 72 65 65 78 70 72 2e 6c 6f  .c..whereexpr.lo
e870: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65  :.$(TOP)\src\whe
e880: 72 65 65 78 70 72 2e 63 20 24 28 48 44 52 29 0a  reexpr.c $(HDR).
e890: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
e8a0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e8b0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
e8c0: 5c 77 68 65 72 65 65 78 70 72 2e 63 0a 0a 77 69  \whereexpr.c..wi
e8d0: 6e 64 6f 77 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  ndow.lo:.$(TOP)\
e8e0: 73 72 63 5c 77 69 6e 64 6f 77 2e 63 20 24 28 48  src\window.c $(H
e8f0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
e900: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
e910: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
e920: 5c 73 72 63 5c 77 69 6e 64 6f 77 2e 63 0a 0a 74  \src\window.c..t
e930: 63 6c 73 71 6c 69 74 65 2e 6c 6f 3a 09 24 28 54  clsqlite.lo:.$(T
e940: 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74  OP)\src\tclsqlit
e950: 65 2e 63 20 24 28 48 44 52 29 20 24 28 53 51 4c  e.c $(HDR) $(SQL
e960: 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28  ITE_TCL_DEP)..$(
e970: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f  LTCOMPILE) $(NO_
e980: 57 41 52 4e 29 20 2d 44 55 53 45 5f 54 43 4c 5f  WARN) -DUSE_TCL_
e990: 53 54 55 42 53 3d 31 20 2d 44 42 55 49 4c 44 5f  STUBS=1 -DBUILD_
e9a0: 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e  sqlite -I$(TCLIN
e9b0: 43 44 49 52 29 20 2d 63 20 24 28 54 4f 50 29 5c  CDIR) -c $(TOP)\
e9c0: 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a  src\tclsqlite.c.
e9d0: 0a 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c  .tclsqlite-shell
e9e0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
e9f0: 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 48 44  tclsqlite.c $(HD
ea00: 52 29 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f  R) $(SQLITE_TCL_
ea10: 44 45 50 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  DEP)..$(LTCOMPIL
ea20: 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  E) $(NO_WARN) -D
ea30: 54 43 4c 53 48 20 2d 44 42 55 49 4c 44 5f 73 71  TCLSH -DBUILD_sq
ea40: 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44  lite -I$(TCLINCD
ea50: 49 52 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  IR) -c $(TOP)\sr
ea60: 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74  c\tclsqlite.c..t
ea70: 63 6c 73 71 6c 69 74 65 33 2e 65 78 65 3a 09 74  clsqlite3.exe:.t
ea80: 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c  clsqlite-shell.l
ea90: 6f 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  o $(SQLITE3C) $(
eaa0: 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52  SQLITE3H) $(LIBR
eab0: 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e  ESOBJS)..$(LTLIN
eac0: 4b 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  K) $(SQLITE3C) /
ead0: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
eae0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS) $(
eaf0: 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c  TCLLIBPATHS) $(L
eb00: 54 4c 49 42 50 41 54 48 53 29 20 2f 4f 55 54 3a  TLIBPATHS) /OUT:
eb10: 24 40 20 74 63 6c 73 71 6c 69 74 65 2d 73 68 65  $@ tclsqlite-she
eb20: 6c 6c 2e 6c 6f 20 24 28 4c 49 42 52 45 53 4f 42  ll.lo $(LIBRESOB
eb30: 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29 20 24  JS) $(TCLLIBS) $
eb40: 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53  (LTLIBS) $(TLIBS
eb50: 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75  )..# Rules to bu
eb60: 69 6c 64 20 6f 70 63 6f 64 65 73 2e 63 20 61 6e  ild opcodes.c an
eb70: 64 20 6f 70 63 6f 64 65 73 2e 68 0a 23 0a 6f 70  d opcodes.h.#.op
eb80: 63 6f 64 65 73 2e 63 3a 09 6f 70 63 6f 64 65 73  codes.c:.opcodes
eb90: 2e 68 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  .h $(TOP)\tool\m
eba0: 6b 6f 70 63 6f 64 65 63 2e 74 63 6c 0a 09 24 28  kopcodec.tcl..$(
ebb0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
ebc0: 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63  )\tool\mkopcodec
ebd0: 2e 74 63 6c 20 6f 70 63 6f 64 65 73 2e 68 20 3e  .tcl opcodes.h >
ebe0: 20 6f 70 63 6f 64 65 73 2e 63 0a 0a 6f 70 63 6f   opcodes.c..opco
ebf0: 64 65 73 2e 68 3a 09 70 61 72 73 65 2e 68 20 24  des.h:.parse.h $
ec00: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
ec10: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f   $(TOP)\tool\mko
ec20: 70 63 6f 64 65 68 2e 74 63 6c 0a 09 74 79 70 65  pcodeh.tcl..type
ec30: 20 70 61 72 73 65 2e 68 20 24 28 54 4f 50 29 5c   parse.h $(TOP)\
ec40: 73 72 63 5c 76 64 62 65 2e 63 20 7c 20 24 28 54  src\vdbe.c | $(T
ec50: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
ec60: 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e  \tool\mkopcodeh.
ec70: 74 63 6c 20 3e 20 6f 70 63 6f 64 65 73 2e 68 0a  tcl > opcodes.h.
ec80: 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c  .# Rules to buil
ec90: 64 20 70 61 72 73 65 2e 63 20 61 6e 64 20 70 61  d parse.c and pa
eca0: 72 73 65 2e 68 20 2d 20 74 68 65 20 6f 75 74 70  rse.h - the outp
ecb0: 75 74 73 20 6f 66 20 6c 65 6d 6f 6e 2e 0a 23 0a  uts of lemon..#.
ecc0: 70 61 72 73 65 2e 68 3a 09 70 61 72 73 65 2e 63  parse.h:.parse.c
ecd0: 0a 0a 70 61 72 73 65 2e 63 3a 09 24 28 54 4f 50  ..parse.c:.$(TOP
ece0: 29 5c 73 72 63 5c 70 61 72 73 65 2e 79 20 6c 65  )\src\parse.y le
ecf0: 6d 6f 6e 2e 65 78 65 0a 09 64 65 6c 20 2f 51 20  mon.exe..del /Q 
ed00: 70 61 72 73 65 2e 79 20 70 61 72 73 65 2e 68 20  parse.y parse.h 
ed10: 70 61 72 73 65 2e 68 2e 74 65 6d 70 20 32 3e 4e  parse.h.temp 2>N
ed20: 55 4c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c  UL..copy $(TOP)\
ed30: 73 72 63 5c 70 61 72 73 65 2e 79 20 2e 0a 09 2e  src\parse.y ....
ed40: 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51  \lemon.exe $(REQ
ed50: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
ed60: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(OPT_FEATURE_FL
ed70: 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55  AGS) $(EXT_FEATU
ed80: 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53  RE_FLAGS) $(OPTS
ed90: 29 20 70 61 72 73 65 2e 79 0a 0a 24 28 53 51 4c  ) parse.y..$(SQL
eda0: 49 54 45 33 48 29 3a 09 24 28 54 4f 50 29 5c 73  ITE3H):.$(TOP)\s
edb0: 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20 24  rc\sqlite.h.in $
edc0: 28 54 4f 50 29 5c 6d 61 6e 69 66 65 73 74 20 6d  (TOP)\manifest m
edd0: 6b 73 6f 75 72 63 65 69 64 2e 65 78 65 20 24 28  ksourceid.exe $(
ede0: 54 4f 50 29 5c 56 45 52 53 49 4f 4e 0a 09 24 28  TOP)\VERSION..$(
edf0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
ee00: 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33  )\tool\mksqlite3
ee10: 68 2e 74 63 6c 20 24 28 54 4f 50 3a 5c 3d 2f 29  h.tcl $(TOP:\=/)
ee20: 20 3e 20 24 28 53 51 4c 49 54 45 33 48 29 20 24   > $(SQLITE3H) $
ee30: 28 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52 47 53  (MKSQLITE3H_ARGS
ee40: 29 0a 0a 73 71 6c 69 74 65 33 65 78 74 2e 68 3a  )..sqlite3ext.h:
ee50: 09 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 0a  ..target_source.
ee60: 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c  !IF $(USE_STDCAL
ee70: 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57  L)!=0 || $(FOR_W
ee80: 49 4e 31 30 29 21 3d 30 0a 09 74 79 70 65 20 74  IN10)!=0..type t
ee90: 73 72 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68  src\sqlite3ext.h
eea0: 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20   | $(TCLSH_CMD) 
eeb0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl
eec0: 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22  ace.tcl regsub "
eed0: 5c 28 5c 2a 5c 29 22 20 22 28 53 51 4c 49 54 45  \(\*\)" "(SQLITE
eee0: 5f 43 41 4c 4c 42 41 43 4b 20 2a 29 22 20 5c 0a  _CALLBACK *)" \.
eef0: 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29  ..| $(TCLSH_CMD)
ef00: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep
ef10: 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20  lace.tcl regsub 
ef20: 22 5c 28 5c 2a 22 20 22 28 53 51 4c 49 54 45 5f  "\(\*" "(SQLITE_
ef30: 41 50 49 43 41 4c 4c 20 2a 22 20 3e 20 73 71 6c  APICALL *" > sql
ef40: 69 74 65 33 65 78 74 2e 68 0a 09 63 6f 70 79 20  ite3ext.h..copy 
ef50: 2f 59 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20  /Y sqlite3ext.h 
ef60: 74 73 72 63 5c 73 71 6c 69 74 65 33 65 78 74 2e  tsrc\sqlite3ext.
ef70: 68 0a 21 45 4c 53 45 0a 09 63 6f 70 79 20 2f 59  h.!ELSE..copy /Y
ef80: 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65 78 74   tsrc\sqlite3ext
ef90: 2e 68 20 73 71 6c 69 74 65 33 65 78 74 2e 68 0a  .h sqlite3ext.h.
efa0: 21 45 4e 44 49 46 0a 0a 6d 6b 6b 65 79 77 6f 72  !ENDIF..mkkeywor
efb0: 64 68 61 73 68 2e 65 78 65 3a 09 24 28 54 4f 50  dhash.exe:.$(TOP
efc0: 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64  )\tool\mkkeyword
efd0: 68 61 73 68 2e 63 0a 09 24 28 42 43 43 29 20 24  hash.c..$(BCC) $
efe0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 24 40 20  (NO_WARN) -Fe$@ 
eff0: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c  $(REQ_FEATURE_FL
f000: 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55  AGS) $(OPT_FEATU
f010: 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f  RE_FLAGS) $(EXT_
f020: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $
f030: 28 4f 50 54 53 29 20 5c 0a 09 09 24 28 54 4f 50  (OPTS) \...$(TOP
f040: 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64  )\tool\mkkeyword
f050: 68 61 73 68 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c  hash.c /link $(L
f060: 44 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e  DFLAGS) $(NLTLIN
f070: 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49 42 50  KOPTS) $(NLTLIBP
f080: 41 54 48 53 29 0a 0a 6b 65 79 77 6f 72 64 68 61  ATHS)..keywordha
f090: 73 68 2e 68 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  sh.h:.$(TOP)\too
f0a0: 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e  l\mkkeywordhash.
f0b0: 63 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e  c mkkeywordhash.
f0c0: 65 78 65 0a 09 2e 5c 6d 6b 6b 65 79 77 6f 72 64  exe...\mkkeyword
f0d0: 68 61 73 68 2e 65 78 65 20 3e 20 6b 65 79 77 6f  hash.exe > keywo
f0e0: 72 64 68 61 73 68 2e 68 0a 0a 23 20 53 6f 75 72  rdhash.h..# Sour
f0f0: 63 65 20 66 69 6c 65 73 20 74 68 61 74 20 67 6f  ce files that go
f100: 20 69 6e 74 6f 20 6d 61 6b 69 6e 67 20 73 68 65   into making she
f110: 6c 6c 2e 63 0a 53 48 45 4c 4c 5f 53 52 43 20 3d  ll.c.SHELL_SRC =
f120: 20 5c 0a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73   \..$(TOP)\src\s
f130: 68 65 6c 6c 2e 63 2e 69 6e 20 5c 0a 09 24 28 54  hell.c.in \..$(T
f140: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61 70 70  OP)\ext\misc\app
f150: 65 6e 64 76 66 73 2e 63 20 5c 0a 09 24 28 54 4f  endvfs.c \..$(TO
f160: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 68 61 74  P)\ext\misc\shat
f170: 68 72 65 65 2e 63 20 5c 0a 09 24 28 54 4f 50 29  hree.c \..$(TOP)
f180: 5c 65 78 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f  \ext\misc\fileio
f190: 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74  .c \..$(TOP)\ext
f1a0: 5c 6d 69 73 63 5c 63 6f 6d 70 6c 65 74 69 6f 6e  \misc\completion
f1b0: 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74  .c \..$(TOP)\ext
f1c0: 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65  \expert\sqlite3e
f1d0: 78 70 65 72 74 2e 63 20 5c 0a 09 24 28 54 4f 50  xpert.c \..$(TOP
f1e0: 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c  )\ext\expert\sql
f1f0: 69 74 65 33 65 78 70 65 72 74 2e 68 20 5c 0a 09  ite3expert.h \..
f200: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
f210: 6d 65 6d 74 72 61 63 65 2e 63 20 5c 0a 09 24 28  memtrace.c \..$(
f220: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69  TOP)\src\test_wi
f230: 6e 64 69 72 65 6e 74 2e 63 0a 0a 23 20 49 66 20  ndirent.c..# If 
f240: 75 73 65 20 6f 66 20 7a 6c 69 62 20 69 73 20 65  use of zlib is e
f250: 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20  nabled, add the 
f260: 22 7a 69 70 66 69 6c 65 2e 63 22 20 73 6f 75 72  "zipfile.c" sour
f270: 63 65 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24  ce file..#.!IF $
f280: 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a 53 48  (USE_ZLIB)!=0.SH
f290: 45 4c 4c 5f 53 52 43 20 3d 20 24 28 53 48 45 4c  ELL_SRC = $(SHEL
f2a0: 4c 5f 53 52 43 29 20 24 28 54 4f 50 29 5c 65 78  L_SRC) $(TOP)\ex
f2b0: 74 5c 6d 69 73 63 5c 73 71 6c 61 72 2e 63 0a 53  t\misc\sqlar.c.S
f2c0: 48 45 4c 4c 5f 53 52 43 20 3d 20 24 28 53 48 45  HELL_SRC = $(SHE
f2d0: 4c 4c 5f 53 52 43 29 20 24 28 54 4f 50 29 5c 65  LL_SRC) $(TOP)\e
f2e0: 78 74 5c 6d 69 73 63 5c 7a 69 70 66 69 6c 65 2e  xt\misc\zipfile.
f2f0: 63 0a 21 45 4e 44 49 46 0a 0a 73 68 65 6c 6c 2e  c.!ENDIF..shell.
f300: 63 3a 09 24 28 53 48 45 4c 4c 5f 53 52 43 29 20  c:.$(SHELL_SRC) 
f310: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 68  $(TOP)\tool\mksh
f320: 65 6c 6c 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53  ellc.tcl..$(TCLS
f330: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
f340: 6f 6c 5c 6d 6b 73 68 65 6c 6c 63 2e 74 63 6c 20  ol\mkshellc.tcl 
f350: 3e 20 73 68 65 6c 6c 2e 63 0a 0a 7a 6c 69 62 3a  > shell.c..zlib:
f360: 0a 09 70 75 73 68 64 20 24 28 5a 4c 49 42 44 49  ..pushd $(ZLIBDI
f370: 52 29 20 26 26 20 24 28 4d 41 4b 45 29 20 2f 66  R) && $(MAKE) /f
f380: 20 77 69 6e 33 32 5c 4d 61 6b 65 66 69 6c 65 2e   win32\Makefile.
f390: 6d 73 63 20 63 6c 65 61 6e 20 24 28 5a 4c 49 42  msc clean $(ZLIB
f3a0: 4c 49 42 29 20 26 26 20 70 6f 70 64 0a 0a 23 20  LIB) && popd..# 
f3b0: 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74  Rules to build t
f3c0: 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 6f 62 6a  he extension obj
f3d0: 65 63 74 73 2e 0a 23 0a 69 63 75 2e 6c 6f 3a 09  ects..#.icu.lo:.
f3e0: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69  $(TOP)\ext\icu\i
f3f0: 63 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  cu.c $(HDR) $(EX
f400: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
f410: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
f420: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
f430: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
f440: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
f450: 69 63 75 5c 69 63 75 2e 63 0a 0a 66 74 73 32 2e  icu\icu.c..fts2.
f460: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
f470: 74 73 32 5c 66 74 73 32 2e 63 20 24 28 48 44 52  ts2\fts2.c $(HDR
f480: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
f490: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
f4a0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
f4b0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
f4c0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
f4d0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e  )\ext\fts2\fts2.
f4e0: 63 0a 0a 66 74 73 32 5f 68 61 73 68 2e 6c 6f 3a  c..fts2_hash.lo:
f4f0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32  .$(TOP)\ext\fts2
f500: 5c 66 74 73 32 5f 68 61 73 68 2e 63 20 24 28 48  \fts2_hash.c $(H
f510: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
f520: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
f530: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
f540: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
f550: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
f560: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
f570: 32 5f 68 61 73 68 2e 63 0a 0a 66 74 73 32 5f 69  2_hash.c..fts2_i
f580: 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  cu.lo:.$(TOP)\ex
f590: 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e  t\fts2\fts2_icu.
f5a0: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
f5b0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
f5c0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
f5d0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
f5e0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
f5f0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
f600: 32 5c 66 74 73 32 5f 69 63 75 2e 63 0a 0a 66 74  2\fts2_icu.c..ft
f610: 73 32 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28  s2_porter.lo:.$(
f620: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
f630: 73 32 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 44  s2_porter.c $(HD
f640: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
f650: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
f660: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
f670: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
f680: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
f690: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
f6a0: 5f 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73 32 5f  _porter.c..fts2_
f6b0: 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28  tokenizer.lo:.$(
f6c0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
f6d0: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24  s2_tokenizer.c $
f6e0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
f6f0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
f700: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
f710: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
f720: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
f730: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
f740: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a  ts2_tokenizer.c.
f750: 0a 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31  .fts2_tokenizer1
f760: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
f770: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69  fts2\fts2_tokeni
f780: 7a 65 72 31 2e 63 20 24 28 48 44 52 29 20 24 28  zer1.c $(HDR) $(
f790: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
f7a0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
f7b0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
f7c0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
f7d0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
f7e0: 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65  t\fts2\fts2_toke
f7f0: 6e 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33 2e 6c  nizer1.c..fts3.l
f800: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
f810: 73 33 5c 66 74 73 33 2e 63 20 24 28 48 44 52 29  s3\fts3.c $(HDR)
f820: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
f830: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
f840: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
f850: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
f860: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
f870: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63  \ext\fts3\fts3.c
f880: 0a 0a 66 74 73 33 5f 61 75 78 2e 6c 6f 3a 09 24  ..fts3_aux.lo:.$
f890: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
f8a0: 74 73 33 5f 61 75 78 2e 63 20 24 28 48 44 52 29  ts3_aux.c $(HDR)
f8b0: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
f8c0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
f8d0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
f8e0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
f8f0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
f900: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61  \ext\fts3\fts3_a
f910: 75 78 2e 63 0a 0a 66 74 73 33 5f 65 78 70 72 2e  ux.c..fts3_expr.
f920: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
f930: 74 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 20  ts3\fts3_expr.c 
f940: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
f950: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
f960: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
f970: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
f980: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
f990: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
f9a0: 66 74 73 33 5f 65 78 70 72 2e 63 0a 0a 66 74 73  fts3_expr.c..fts
f9b0: 33 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50  3_hash.lo:.$(TOP
f9c0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
f9d0: 68 61 73 68 2e 63 20 24 28 48 44 52 29 20 24 28  hash.c $(HDR) $(
f9e0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
f9f0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
fa00: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
fa10: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
fa20: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
fa30: 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68  t\fts3\fts3_hash
fa40: 2e 63 0a 0a 66 74 73 33 5f 69 63 75 2e 6c 6f 3a  .c..fts3_icu.lo:
fa50: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
fa60: 5c 66 74 73 33 5f 69 63 75 2e 63 20 24 28 48 44  \fts3_icu.c $(HD
fa70: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
fa80: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
fa90: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
faa0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
fab0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
fac0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
fad0: 5f 69 63 75 2e 63 0a 0a 66 74 73 33 5f 73 6e 69  _icu.c..fts3_sni
fae0: 70 70 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  ppet.lo:.$(TOP)\
faf0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e  ext\fts3\fts3_sn
fb00: 69 70 70 65 74 2e 63 20 24 28 48 44 52 29 20 24  ippet.c $(HDR) $
fb10: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
fb20: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
fb30: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
fb40: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
fb50: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
fb60: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69  xt\fts3\fts3_sni
fb70: 70 70 65 74 2e 63 0a 0a 66 74 73 33 5f 70 6f 72  ppet.c..fts3_por
fb80: 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ter.lo:.$(TOP)\e
fb90: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72  xt\fts3\fts3_por
fba0: 74 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45  ter.c $(HDR) $(E
fbb0: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
fbc0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
fbd0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
fbe0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
fbf0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
fc00: 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65  \fts3\fts3_porte
fc10: 72 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69  r.c..fts3_tokeni
fc20: 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  zer.lo:.$(TOP)\e
fc30: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
fc40: 65 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20  enizer.c $(HDR) 
fc50: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
fc60: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
fc70: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
fc80: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
fc90: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
fca0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
fcb0: 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 33 5f  kenizer.c..fts3_
fcc0: 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24  tokenizer1.lo:.$
fcd0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
fce0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63  ts3_tokenizer1.c
fcf0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
fd00: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
fd10: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
fd20: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
fd30: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
fd40: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
fd50: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31  \fts3_tokenizer1
fd60: 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  .c..fts3_tokeniz
fd70: 65 5f 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50  e_vtab.lo:.$(TOP
fd80: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
fd90: 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 20  tokenize_vtab.c 
fda0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
fdb0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
fdc0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
fdd0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
fde0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
fdf0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
fe00: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74  fts3_tokenize_vt
fe10: 61 62 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f  ab.c..fts3_unico
fe20: 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  de.lo:.$(TOP)\ex
fe30: 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63  t\fts3\fts3_unic
fe40: 6f 64 65 2e 63 20 24 28 48 44 52 29 20 24 28 45  ode.c $(HDR) $(E
fe50: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
fe60: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
fe70: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
fe80: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
fe90: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
fea0: 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f  \fts3\fts3_unico
feb0: 64 65 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f  de.c..fts3_unico
fec0: 64 65 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  de2.lo:.$(TOP)\e
fed0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69  xt\fts3\fts3_uni
fee0: 63 6f 64 65 32 2e 63 20 24 28 48 44 52 29 20 24  code2.c $(HDR) $
fef0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
ff00: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
ff10: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
ff20: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
ff30: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
ff40: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69  xt\fts3\fts3_uni
ff50: 63 6f 64 65 32 2e 63 0a 0a 66 74 73 33 5f 77 72  code2.c..fts3_wr
ff60: 69 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ite.lo:.$(TOP)\e
ff70: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69  xt\fts3\fts3_wri
ff80: 74 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  te.c $(HDR) $(EX
ff90: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
ffa0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
ffb0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
ffc0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
ffd0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
ffe0: 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65 2e  fts3\fts3_write.
fff0: 63 0a 0a 6a 73 6f 6e 31 2e 6c 6f 3a 09 24 28 54  c..json1.lo:.$(T
10000 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a 73 6f  OP)\ext\misc\jso
10010 6e 31 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  n1.c $(HDR) $(EX
10020 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
10030 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
10040 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
10050 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
10060 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
10070 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 0a 0a 73 74  misc\json1.c..st
10080 6d 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  mt.lo:.$(TOP)\ex
10090 74 5c 6d 69 73 63 5c 73 74 6d 74 2e 63 20 24 28  t\misc\stmt.c $(
100a0 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
100b0 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
100c0 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
100d0 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
100e0 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
100f0 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 74  TOP)\ext\misc\st
10100 6d 74 2e 63 0a 0a 72 74 72 65 65 2e 6c 6f 3a 09  mt.c..rtree.lo:.
10110 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65  $(TOP)\ext\rtree
10120 5c 72 74 72 65 65 2e 63 20 24 28 48 44 52 29 20  \rtree.c $(HDR) 
10130 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
10140 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
10150 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
10160 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
10170 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
10180 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e  ext\rtree\rtree.
10190 63 0a 0a 73 71 6c 69 74 65 33 73 65 73 73 69 6f  c..sqlite3sessio
101a0 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  n.lo:.$(TOP)\ext
101b0 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33  \session\sqlite3
101c0 73 65 73 73 69 6f 6e 2e 63 20 24 28 48 44 52 29  session.c $(HDR)
101d0 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
101e0 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
101f0 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
10200 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
10210 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
10220 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c  \ext\session\sql
10230 69 74 65 33 73 65 73 73 69 6f 6e 2e 63 0a 0a 23  ite3session.c..#
10240 20 46 54 53 35 20 74 68 69 6e 67 73 0a 23 0a 46   FTS5 things.#.F
10250 54 53 35 5f 53 52 43 20 3d 20 5c 0a 20 20 20 24  TS5_SRC = \.   $
10260 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
10270 74 73 35 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  ts5.h \.   $(TOP
10280 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 49  )\ext\fts5\fts5I
10290 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  nt.h \.   $(TOP)
102a0 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 61  \ext\fts5\fts5_a
102b0 75 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  ux.c \.   $(TOP)
102c0 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 62  \ext\fts5\fts5_b
102d0 75 66 66 65 72 2e 63 20 5c 0a 20 20 20 24 28 54  uffer.c \.   $(T
102e0 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
102f0 35 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20 20 24 28  5_main.c \.   $(
10300 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
10310 73 35 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a 20 20  s5_config.c \.  
10320 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
10330 5c 66 74 73 35 5f 65 78 70 72 2e 63 20 5c 0a 20  \fts5_expr.c \. 
10340 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
10350 35 5c 66 74 73 35 5f 68 61 73 68 2e 63 20 5c 0a  5\fts5_hash.c \.
10360 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
10370 73 35 5c 66 74 73 35 5f 69 6e 64 65 78 2e 63 20  s5\fts5_index.c 
10380 5c 0a 20 20 20 66 74 73 35 70 61 72 73 65 2e 63  \.   fts5parse.c
10390 20 66 74 73 35 70 61 72 73 65 2e 68 20 5c 0a 20   fts5parse.h \. 
103a0 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
103b0 35 5c 66 74 73 35 5f 73 74 6f 72 61 67 65 2e 63  5\fts5_storage.c
103c0 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
103d0 5c 66 74 73 35 5c 66 74 73 35 5f 74 6f 6b 65 6e  \fts5\fts5_token
103e0 69 7a 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  ize.c \.   $(TOP
103f0 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
10400 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20 20  unicode2.c \.   
10410 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\
10420 66 74 73 35 5f 76 61 72 69 6e 74 2e 63 20 5c 0a  fts5_varint.c \.
10430 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
10440 73 35 5c 66 74 73 35 5f 76 6f 63 61 62 2e 63 0a  s5\fts5_vocab.c.
10450 0a 4c 53 4d 31 5f 53 52 43 20 3d 20 5c 0a 20 20  .LSM1_SRC = \.  
10460 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
10470 5c 6c 73 6d 2e 68 20 5c 0a 20 20 20 24 28 54 4f  \lsm.h \.   $(TO
10480 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 49  P)\ext\lsm1\lsmI
10490 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  nt.h \.   $(TOP)
104a0 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 63 6b  \ext\lsm1\lsm_ck
104b0 70 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  pt.c \.   $(TOP)
104c0 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 66 69  \ext\lsm1\lsm_fi
104d0 6c 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  le.c \.   $(TOP)
104e0 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6c 6f  \ext\lsm1\lsm_lo
104f0 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  g.c \.   $(TOP)\
10500 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d 61 69  ext\lsm1\lsm_mai
10510 6e 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  n.c \.   $(TOP)\
10520 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d 65 6d  ext\lsm1\lsm_mem
10530 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e
10540 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d 75 74 65  xt\lsm1\lsm_mute
10550 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  x.c \.   $(TOP)\
10560 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 68 61  ext\lsm1\lsm_sha
10570 72 65 64 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  red.c \.   $(TOP
10580 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 73  )\ext\lsm1\lsm_s
10590 6f 72 74 65 64 2e 63 20 5c 0a 20 20 20 24 28 54  orted.c \.   $(T
105a0 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d  OP)\ext\lsm1\lsm
105b0 5f 73 74 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f  _str.c \.   $(TO
105c0 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f  P)\ext\lsm1\lsm_
105d0 74 72 65 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f  tree.c \.   $(TO
105e0 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f  P)\ext\lsm1\lsm_
105f0 75 6e 69 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f  unix.c \.   $(TO
10600 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f  P)\ext\lsm1\lsm_
10610 76 61 72 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28  varint.c \.   $(
10620 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73  TOP)\ext\lsm1\ls
10630 6d 5f 76 74 61 62 2e 63 20 5c 0a 20 20 20 24 28  m_vtab.c \.   $(
10640 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73  TOP)\ext\lsm1\ls
10650 6d 5f 77 69 6e 33 32 2e 63 0a 0a 66 74 73 35 70  m_win32.c..fts5p
10660 61 72 73 65 2e 63 3a 09 24 28 54 4f 50 29 5c 65  arse.c:.$(TOP)\e
10670 78 74 5c 66 74 73 35 5c 66 74 73 35 70 61 72 73  xt\fts5\fts5pars
10680 65 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 0a 09 63  e.y lemon.exe..c
10690 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  opy $(TOP)\ext\f
106a0 74 73 35 5c 66 74 73 35 70 61 72 73 65 2e 79 20  ts5\fts5parse.y 
106b0 2e 0a 09 64 65 6c 20 2f 51 20 66 74 73 35 70 61  ...del /Q fts5pa
106c0 72 73 65 2e 68 20 32 3e 4e 55 4c 0a 09 2e 5c 6c  rse.h 2>NUL...\l
106d0 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f 46  emon.exe $(REQ_F
106e0 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  EATURE_FLAGS) $(
106f0 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
10700 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45  S) $(EXT_FEATURE
10710 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20  _FLAGS) $(OPTS) 
10720 66 74 73 35 70 61 72 73 65 2e 79 0a 0a 66 74 73  fts5parse.y..fts
10730 35 70 61 72 73 65 2e 68 3a 09 66 74 73 35 70 61  5parse.h:.fts5pa
10740 72 73 65 2e 63 0a 0a 66 74 73 35 2e 63 3a 09 24  rse.c..fts5.c:.$
10750 28 46 54 53 35 5f 53 52 43 29 0a 09 24 28 54 43  (FTS5_SRC)..$(TC
10760 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
10770 65 78 74 5c 66 74 73 35 5c 74 6f 6f 6c 5c 6d 6b  ext\fts5\tool\mk
10780 66 74 73 35 63 2e 74 63 6c 0a 09 63 6f 70 79 20  fts5c.tcl..copy 
10790 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\
107a0 66 74 73 35 2e 68 20 2e 0a 0a 6c 73 6d 31 2e 63  fts5.h ...lsm1.c
107b0 3a 09 24 28 4c 53 4d 31 5f 53 52 43 29 0a 09 24  :.$(LSM1_SRC)..$
107c0 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
107d0 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 74 6f 6f 6c  P)\ext\lsm1\tool
107e0 5c 6d 6b 6c 73 6d 31 63 2e 74 63 6c 0a 09 63 6f  \mklsm1c.tcl..co
107f0 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73  py $(TOP)\ext\ls
10800 6d 31 5c 6c 73 6d 2e 68 20 2e 0a 0a 66 74 73 35  m1\lsm.h ...fts5
10810 2e 6c 6f 3a 09 66 74 73 35 2e 63 20 24 28 48 44  .lo:.fts5.c $(HD
10820 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
10830 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
10840 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
10850 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
10860 49 54 45 5f 43 4f 52 45 20 2d 63 20 66 74 73 35  ITE_CORE -c fts5
10870 2e 63 0a 0a 66 74 73 35 5f 65 78 74 2e 6c 6f 3a  .c..fts5_ext.lo:
10880 09 66 74 73 35 2e 63 20 24 28 48 44 52 29 20 24  .fts5.c $(HDR) $
10890 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
108a0 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e  MPILE) $(NO_WARN
108b0 29 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 73  ) -c fts5.c..fts
108c0 35 2e 64 6c 6c 3a 09 66 74 73 35 5f 65 78 74 2e  5.dll:.fts5_ext.
108d0 6c 6f 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c  lo..$(LD) $(LDFL
108e0 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
108f0 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29  S) $(LTLIBPATHS)
10900 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40 20 66 74   /DLL /OUT:$@ ft
10910 73 35 5f 65 78 74 2e 6c 6f 0a 0a 73 71 6c 69 74  s5_ext.lo..sqlit
10920 65 33 72 62 75 2e 6c 6f 3a 09 24 28 54 4f 50 29  e3rbu.lo:.$(TOP)
10930 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33  \ext\rbu\sqlite3
10940 72 62 75 2e 63 20 24 28 48 44 52 29 20 24 28 45  rbu.c $(HDR) $(E
10950 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
10960 49 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ILE) -DSQLITE_CO
10970 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
10980 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e  \rbu\sqlite3rbu.
10990 63 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75  c..# Rules to bu
109a0 69 6c 64 20 74 68 65 20 27 74 65 73 74 66 69 78  ild the 'testfix
109b0 74 75 72 65 27 20 61 70 70 6c 69 63 61 74 69 6f  ture' applicatio
109c0 6e 2e 0a 23 0a 23 20 49 66 20 75 73 69 6e 67 20  n..#.# If using 
109d0 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  the amalgamation
109e0 2c 20 75 73 65 20 73 71 6c 69 74 65 33 2e 63 20  , use sqlite3.c 
109f0 64 69 72 65 63 74 6c 79 20 74 6f 20 62 75 69 6c  directly to buil
10a00 64 20 74 68 65 20 74 65 73 74 0a 23 20 66 69 78  d the test.# fix
10a10 74 75 72 65 2e 20 20 4f 74 68 65 72 77 69 73 65  ture.  Otherwise
10a20 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 20 6c 69   link against li
10a30 62 73 71 6c 69 74 65 33 2e 6c 69 62 2e 20 20 28  bsqlite3.lib.  (
10a40 54 68 69 73 20 64 69 73 74 69 6e 63 74 69 6f 6e  This distinction
10a50 20 69 73 0a 23 20 6e 65 63 65 73 73 61 72 79 20   is.# necessary 
10a60 62 65 63 61 75 73 65 20 74 68 65 20 74 65 73 74  because the test
10a70 20 66 69 78 74 75 72 65 20 72 65 71 75 69 72 65   fixture require
10a80 73 20 6e 6f 6e 2d 41 50 49 20 73 79 6d 62 6f 6c  s non-API symbol
10a90 73 20 77 68 69 63 68 20 61 72 65 0a 23 20 68 69  s which are.# hi
10aa0 64 64 65 6e 20 77 68 65 6e 20 74 68 65 20 6c 69  dden when the li
10ab0 62 72 61 72 79 20 69 73 20 62 75 69 6c 74 20 76  brary is built v
10ac0 69 61 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74  ia the amalgamat
10ad0 69 6f 6e 29 2e 0a 23 0a 54 45 53 54 46 49 58 54  ion)..#.TESTFIXT
10ae0 55 52 45 5f 46 4c 41 47 53 20 3d 20 2d 44 54 43  URE_FLAGS = -DTC
10af0 4c 53 48 5f 49 4e 49 54 5f 50 52 4f 43 3d 73 71  LSH_INIT_PROC=sq
10b00 6c 69 74 65 33 54 65 73 74 49 6e 69 74 20 2d 44  lite3TestInit -D
10b10 53 51 4c 49 54 45 5f 54 45 53 54 3d 31 20 2d 44  SQLITE_TEST=1 -D
10b20 53 51 4c 49 54 45 5f 43 52 41 53 48 5f 54 45 53  SQLITE_CRASH_TES
10b30 54 3d 31 0a 54 45 53 54 46 49 58 54 55 52 45 5f  T=1.TESTFIXTURE_
10b40 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49  FLAGS = $(TESTFI
10b50 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  XTURE_FLAGS) -DS
10b60 51 4c 49 54 45 5f 53 45 52 56 45 52 3d 31 20 2d  QLITE_SERVER=1 -
10b70 44 53 51 4c 49 54 45 5f 50 52 49 56 41 54 45 3d  DSQLITE_PRIVATE=
10b80 22 22 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46  "".TESTFIXTURE_F
10b90 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58  LAGS = $(TESTFIX
10ba0 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
10bb0 4c 49 54 45 5f 43 4f 52 45 20 24 28 4e 4f 5f 57  LITE_CORE $(NO_W
10bc0 41 52 4e 29 0a 54 45 53 54 46 49 58 54 55 52 45  ARN).TESTFIXTURE
10bd0 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46  _FLAGS = $(TESTF
10be0 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  IXTURE_FLAGS) -D
10bf0 53 51 4c 49 54 45 5f 53 45 52 49 45 53 5f 43 4f  SQLITE_SERIES_CO
10c00 4e 53 54 52 41 49 4e 54 5f 56 45 52 49 46 59 3d  NSTRAINT_VERIFY=
10c10 31 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  1.TESTFIXTURE_FL
10c20 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54  AGS = $(TESTFIXT
10c30 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
10c40 49 54 45 5f 44 45 46 41 55 4c 54 5f 50 41 47 45  ITE_DEFAULT_PAGE
10c50 5f 53 49 5a 45 3d 31 30 32 34 0a 54 45 53 54 46  _SIZE=1024.TESTF
10c60 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  IXTURE_FLAGS = $
10c70 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  (TESTFIXTURE_FLA
10c80 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  GS) -DSQLITE_ENA
10c90 42 4c 45 5f 53 54 4d 54 56 54 41 42 3d 31 0a 54  BLE_STMTVTAB=1.T
10ca0 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
10cb0 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45   = $(TESTFIXTURE
10cc0 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
10cd0 5f 45 4e 41 42 4c 45 5f 44 42 50 41 47 45 5f 56  _ENABLE_DBPAGE_V
10ce0 54 41 42 3d 31 0a 54 45 53 54 46 49 58 54 55 52  TAB=1.TESTFIXTUR
10cf0 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54  E_FLAGS = $(TEST
10d00 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FIXTURE_FLAGS) -
10d10 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a  DSQLITE_ENABLE_J
10d20 53 4f 4e 31 3d 31 0a 54 45 53 54 46 49 58 54 55  SON1=1.TESTFIXTU
10d30 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53  RE_FLAGS = $(TES
10d40 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20  TFIXTURE_FLAGS) 
10d50 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
10d60 44 45 53 45 52 49 41 4c 49 5a 45 3d 31 0a 54 45  DESERIALIZE=1.TE
10d70 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20  STFIXTURE_FLAGS 
10d80 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  = $(TESTFIXTURE_
10d90 46 4c 41 47 53 29 20 24 28 54 45 53 54 5f 43 43  FLAGS) $(TEST_CC
10da0 4f 4e 56 5f 4f 50 54 53 29 0a 0a 54 45 53 54 46  ONV_OPTS)..TESTF
10db0 49 58 54 55 52 45 5f 53 52 43 30 20 3d 20 24 28  IXTURE_SRC0 = $(
10dc0 54 45 53 54 45 58 54 29 20 24 28 54 45 53 54 53  TESTEXT) $(TESTS
10dd0 52 43 32 29 0a 54 45 53 54 46 49 58 54 55 52 45  RC2).TESTFIXTURE
10de0 5f 53 52 43 31 20 3d 20 24 28 54 45 53 54 45 58  _SRC1 = $(TESTEX
10df0 54 29 20 24 28 53 51 4c 49 54 45 33 43 29 0a 21  T) $(SQLITE3C).!
10e00 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d  IF $(USE_AMALGAM
10e10 41 54 49 4f 4e 29 3d 3d 30 0a 54 45 53 54 46 49  ATION)==0.TESTFI
10e20 58 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54 45  XTURE_SRC = $(TE
10e30 53 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73 72  STSRC) $(TOP)\sr
10e40 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28  c\tclsqlite.c $(
10e50 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 30  TESTFIXTURE_SRC0
10e60 29 0a 21 45 4c 53 45 0a 54 45 53 54 46 49 58 54  ).!ELSE.TESTFIXT
10e70 55 52 45 5f 53 52 43 20 3d 20 24 28 54 45 53 54  URE_SRC = $(TEST
10e80 53 52 43 29 20 24 28 54 4f 50 29 5c 73 72 63 5c  SRC) $(TOP)\src\
10e90 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 45  tclsqlite.c $(TE
10ea0 53 54 46 49 58 54 55 52 45 5f 53 52 43 31 29 0a  STFIXTURE_SRC1).
10eb0 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 55 53  !ENDIF..!IF $(US
10ec0 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c  E_STDCALL)!=0 ||
10ed0 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0
10ee0 0a 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73  .sqlite_tclDecls
10ef0 2e 68 3a 0a 09 65 63 68 6f 20 23 69 66 6e 64 65  .h:..echo #ifnde
10f00 66 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20  f SQLITE_TCLAPI 
10f10 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43  > $(SQLITETCLDEC
10f20 4c 53 48 29 0a 09 65 63 68 6f 20 23 20 20 64 65  LSH)..echo #  de
10f30 66 69 6e 65 20 53 51 4c 49 54 45 5f 54 43 4c 41  fine SQLITE_TCLA
10f40 50 49 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43  PI >> $(SQLITETC
10f50 4c 44 45 43 4c 53 48 29 0a 09 65 63 68 6f 20 23  LDECLSH)..echo #
10f60 65 6e 64 69 66 20 3e 3e 20 24 28 53 51 4c 49 54  endif >> $(SQLIT
10f70 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 74 79 70  ETCLDECLSH)..typ
10f80 65 20 22 24 28 54 43 4c 49 4e 43 44 49 52 29 5c  e "$(TCLINCDIR)\
10f90 74 63 6c 44 65 63 6c 73 2e 68 22 20 5c 0a 09 09  tclDecls.h" \...
10fa0 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
10fb0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
10fc0 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5e  ce.tcl regsub "^
10fd0 28 45 58 54 45 52 4e 28 3f 3a 20 43 4f 4e 53 54  (EXTERN(?: CONST
10fe0 5c 64 2b 3f 29 3f 5c 73 2b 3f 5b 5e 5c 28 5d 2a  \d+?)?\s+?[^\(]*
10ff0 3f 5c 73 2b 3f 29 54 63 6c 5f 22 20 22 5c 31 20  ?\s+?)Tcl_" "\1 
11000 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63  SQLITE_TCLAPI Tc
11010 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53  l_" \...| $(TCLS
11020 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
11030 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72  ol\replace.tcl r
11040 65 67 73 75 62 20 22 5e 28 45 58 54 45 52 4e 5c  egsub "^(EXTERN\
11050 73 2b 3f 28 3f 3a 76 6f 69 64 7c 56 4f 49 44 29  s+?(?:void|VOID)
11060 5c 73 2b 3f 29 54 63 6c 46 72 65 65 4f 62 6a 22  \s+?)TclFreeObj"
11070 20 22 5c 31 20 53 51 4c 49 54 45 5f 54 43 4c 41   "\1 SQLITE_TCLA
11080 50 49 20 54 63 6c 46 72 65 65 4f 62 6a 22 20 5c  PI TclFreeObj" \
11090 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  ...| $(TCLSH_CMD
110a0 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re
110b0 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62  place.tcl regsub
110c0 20 22 5c 28 5c 2a 74 63 6c 5f 22 20 22 28 53 51   "\(\*tcl_" "(SQ
110d0 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 74 63 6c  LITE_TCLAPI *tcl
110e0 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48  _" \...| $(TCLSH
110f0 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
11100 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65  l\replace.tcl re
11110 67 73 75 62 20 22 5c 28 5c 2a 74 63 6c 46 72 65  gsub "\(\*tclFre
11120 65 4f 62 6a 22 20 22 28 53 51 4c 49 54 45 5f 54  eObj" "(SQLITE_T
11130 43 4c 41 50 49 20 2a 74 63 6c 46 72 65 65 4f 62  CLAPI *tclFreeOb
11140 6a 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48  j" \...| $(TCLSH
11150 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
11160 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65  l\replace.tcl re
11170 67 73 75 62 20 22 5c 28 5c 2a 22 20 22 28 53 51  gsub "\(\*" "(SQ
11180 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 22 20 3e  LITE_TCLAPI *" >
11190 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43  > $(SQLITETCLDEC
111a0 4c 53 48 29 0a 0a 73 71 6c 69 74 65 5f 74 63 6c  LSH)..sqlite_tcl
111b0 2e 68 3a 0a 09 74 79 70 65 20 22 24 28 54 43 4c  .h:..type "$(TCL
111c0 49 4e 43 44 49 52 29 5c 74 63 6c 2e 68 22 20 7c  INCDIR)\tcl.h" |
111d0 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD) $(
111e0 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
111f0 65 2e 74 63 6c 20 65 78 61 63 74 20 74 63 6c 44  e.tcl exact tclD
11200 65 63 6c 73 2e 68 20 73 71 6c 69 74 65 5f 74 63  ecls.h sqlite_tc
11210 6c 44 65 63 6c 73 2e 68 20 5c 0a 09 09 7c 20 24  lDecls.h \...| $
11220 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
11230 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
11240 74 63 6c 20 72 65 67 73 75 62 20 22 74 79 70 65  tcl regsub "type
11250 64 65 66 20 28 2e 2a 3f 29 5c 28 54 63 6c 5f 22  def (.*?)\(Tcl_"
11260 20 22 74 79 70 65 64 65 66 20 5c 31 20 28 53 51   "typedef \1 (SQ
11270 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c 5f  LITE_TCLAPI Tcl_
11280 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f  " \...| $(TCLSH_
11290 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
112a0 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61  \replace.tcl exa
112b0 63 74 20 22 76 6f 69 64 20 28 2a 66 72 65 65 50  ct "void (*freeP
112c0 72 6f 63 29 22 20 22 76 6f 69 64 20 28 53 51 4c  roc)" "void (SQL
112d0 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 72 65 65  ITE_TCLAPI *free
112e0 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 24 28 54  Proc)" \...| $(T
112f0 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
11300 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
11310 6c 20 65 78 61 63 74 20 22 54 63 6c 5f 48 61 73  l exact "Tcl_Has
11320 68 45 6e 74 72 79 20 2a 28 2a 66 69 6e 64 50 72  hEntry *(*findPr
11330 6f 63 29 22 20 22 54 63 6c 5f 48 61 73 68 45 6e  oc)" "Tcl_HashEn
11340 74 72 79 20 2a 28 53 51 4c 49 54 45 5f 54 43 4c  try *(SQLITE_TCL
11350 41 50 49 20 2a 66 69 6e 64 50 72 6f 63 29 22 20  API *findProc)" 
11360 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM
11370 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r
11380 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74  eplace.tcl exact
11390 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20   "Tcl_HashEntry 
113a0 2a 28 2a 63 72 65 61 74 65 50 72 6f 63 29 22 20  *(*createProc)" 
113b0 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a  "Tcl_HashEntry *
113c0 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a  (SQLITE_TCLAPI *
113d0 63 72 65 61 74 65 50 72 6f 63 29 22 20 3e 3e 20  createProc)" >> 
113e0 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45  $(SQLITETCLH).!E
113f0 4e 44 49 46 0a 0a 74 65 73 74 66 69 78 74 75 72  NDIF..testfixtur
11400 65 2e 65 78 65 3a 09 24 28 54 45 53 54 46 49 58  e.exe:.$(TESTFIX
11410 54 55 52 45 5f 53 52 43 29 20 24 28 54 45 53 54  TURE_SRC) $(TEST
11420 46 49 58 54 55 52 45 5f 44 45 50 29 20 24 28 53  FIXTURE_DEP) $(S
11430 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52 45  QLITE3H) $(LIBRE
11440 53 4f 42 4a 53 29 20 24 28 48 44 52 29 20 24 28  SOBJS) $(HDR) $(
11450 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a  SQLITE_TCL_DEP).
11460 09 24 28 4c 54 4c 49 4e 4b 29 20 2d 44 53 51 4c  .$(LTLINK) -DSQL
11470 49 54 45 5f 4e 4f 5f 53 59 4e 43 3d 31 20 24 28  ITE_NO_SYNC=1 $(
11480 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
11490 53 29 20 5c 0a 09 09 2d 44 42 55 49 4c 44 5f 73  S) \...-DBUILD_s
114a0 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43  qlite -I$(TCLINC
114b0 44 49 52 29 20 5c 0a 09 09 24 28 54 45 53 54 46  DIR) \...$(TESTF
114c0 49 58 54 55 52 45 5f 53 52 43 29 20 5c 0a 09 09  IXTURE_SRC) \...
114d0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
114e0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24   $(LTLINKOPTS) $
114f0 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28  (TCLLIBPATHS) $(
11500 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49  LTLIBPATHS) $(LI
11510 42 52 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c  BRESOBJS) $(TCLL
11520 49 42 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24  IBS) $(LTLIBS) $
11530 28 54 4c 49 42 53 29 0a 0a 65 78 74 65 6e 73 69  (TLIBS)..extensi
11540 6f 6e 74 65 73 74 3a 09 74 65 73 74 66 69 78 74  ontest:.testfixt
11550 75 72 65 2e 65 78 65 20 74 65 73 74 6c 6f 61 64  ure.exe testload
11560 65 78 74 2e 64 6c 6c 0a 09 40 73 65 74 20 50 41  ext.dll..@set PA
11570 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29  TH=$(LIBTCLPATH)
11580 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74  ;$(PATH)...\test
11590 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f  fixture.exe $(TO
115a0 50 29 5c 74 65 73 74 5c 6c 6f 61 64 65 78 74 2e  P)\test\loadext.
115b0 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29  test $(TESTOPTS)
115c0 0a 0a 63 6f 72 65 74 65 73 74 70 72 6f 67 73 3a  ..coretestprogs:
115d0 09 24 28 54 45 53 54 50 52 4f 47 53 29 0a 0a 74  .$(TESTPROGS)..t
115e0 65 73 74 70 72 6f 67 73 3a 09 63 6f 72 65 74 65  estprogs:.corete
115f0 73 74 70 72 6f 67 73 20 73 72 63 63 6b 31 2e 65  stprogs srcck1.e
11600 78 65 20 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65  xe fuzzcheck.exe
11610 20 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 65 78 65   sessionfuzz.exe
11620 0a 0a 66 75 6c 6c 74 65 73 74 3a 09 24 28 54 45  ..fulltest:.$(TE
11630 53 54 50 52 4f 47 53 29 20 66 75 7a 7a 74 65 73  STPROGS) fuzztes
11640 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c  t..@set PATH=$(L
11650 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54  IBTCLPATH);$(PAT
11660 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72  H)...\testfixtur
11670 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73  e.exe $(TOP)\tes
11680 74 5c 61 6c 6c 2e 74 65 73 74 20 24 28 54 45 53  t\all.test $(TES
11690 54 4f 50 54 53 29 0a 0a 73 6f 61 6b 74 65 73 74  TOPTS)..soaktest
116a0 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 0a 09  :.$(TESTPROGS)..
116b0 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54  @set PATH=$(LIBT
116c0 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a  CLPATH);$(PATH).
116d0 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65  ..\testfixture.e
116e0 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 61  xe $(TOP)\test\a
116f0 6c 6c 2e 74 65 73 74 20 2d 73 6f 61 6b 3d 31 20  ll.test -soak=1 
11700 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 6c  $(TESTOPTS)..ful
11710 6c 74 65 73 74 6f 6e 6c 79 3a 09 24 28 54 45 53  ltestonly:.$(TES
11720 54 50 52 4f 47 53 29 20 66 75 7a 7a 74 65 73 74  TPROGS) fuzztest
11730 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI
11740 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH
11750 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
11760 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test
11770 5c 66 75 6c 6c 2e 74 65 73 74 0a 0a 71 75 65 72  \full.test..quer
11780 79 70 6c 61 6e 74 65 73 74 3a 09 74 65 73 74 66  yplantest:.testf
11790 69 78 74 75 72 65 2e 65 78 65 20 73 68 65 6c 6c  ixture.exe shell
117a0 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI
117b0 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH
117c0 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
117d0 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test
117e0 5c 70 65 72 6d 75 74 61 74 69 6f 6e 73 2e 74 65  \permutations.te
117f0 73 74 20 71 75 65 72 79 70 6c 61 6e 6e 65 72 20  st queryplanner 
11800 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 7a  $(TESTOPTS)..fuz
11810 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b  ztest:.fuzzcheck
11820 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 63  .exe...\fuzzchec
11830 6b 2e 65 78 65 20 24 28 46 55 5a 5a 44 41 54 41  k.exe $(FUZZDATA
11840 29 0a 0a 66 61 73 74 66 75 7a 7a 74 65 73 74 3a  )..fastfuzztest:
11850 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a 09  .fuzzcheck.exe..
11860 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20  .\fuzzcheck.exe 
11870 2d 2d 6c 69 6d 69 74 2d 6d 65 6d 20 31 30 30 4d  --limit-mem 100M
11880 20 24 28 46 55 5a 5a 44 41 54 41 29 0a 0a 23 20   $(FUZZDATA)..# 
11890 4d 69 6e 69 6d 61 6c 20 74 65 73 74 69 6e 67 20  Minimal testing 
118a0 74 68 61 74 20 72 75 6e 73 20 69 6e 20 6c 65 73  that runs in les
118b0 73 20 74 68 61 6e 20 33 20 6d 69 6e 75 74 65 73  s than 3 minutes
118c0 20 28 6f 6e 20 61 20 66 61 73 74 20 6d 61 63 68   (on a fast mach
118d0 69 6e 65 29 0a 23 0a 71 75 69 63 6b 74 65 73 74  ine).#.quicktest
118e0 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e 65 78  :.testfixture.ex
118f0 65 20 73 6f 75 72 63 65 74 65 73 74 0a 09 40 73  e sourcetest..@s
11900 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL
11910 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)...
11920 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
11930 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 65 78 74   $(TOP)\test\ext
11940 72 61 71 75 69 63 6b 2e 74 65 73 74 20 24 28 54  raquick.test $(T
11950 45 53 54 4f 50 54 53 29 0a 0a 23 20 54 68 69 73  ESTOPTS)..# This
11960 20 69 73 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 63   is the common c
11970 61 73 65 2e 20 20 52 75 6e 20 6d 61 6e 79 20 74  ase.  Run many t
11980 65 73 74 73 20 74 68 61 74 20 64 6f 20 6e 6f 74  ests that do not
11990 20 74 61 6b 65 20 74 6f 6f 20 6c 6f 6e 67 2c 0a   take too long,.
119a0 23 20 69 6e 63 6c 75 64 69 6e 67 20 66 75 7a 7a  # including fuzz
119b0 63 68 65 63 6b 2c 20 73 71 6c 69 74 65 33 5f 61  check, sqlite3_a
119c0 6e 61 6c 79 7a 65 72 2c 20 61 6e 64 20 73 71 6c  nalyzer, and sql
119d0 64 69 66 66 20 74 65 73 74 73 2e 0a 23 0a 74 65  diff tests..#.te
119e0 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29  st:.$(TESTPROGS)
119f0 20 73 6f 75 72 63 65 74 65 73 74 20 66 61 73 74   sourcetest fast
11a00 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50  fuzztest..@set P
11a10 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48  ATH=$(LIBTCLPATH
11a20 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73  );$(PATH)...\tes
11a30 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54  tfixture.exe $(T
11a40 4f 50 29 5c 74 65 73 74 5c 76 65 72 79 71 75 69  OP)\test\veryqui
11a50 63 6b 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50  ck.test $(TESTOP
11a60 54 53 29 0a 0a 73 6d 6f 6b 65 74 65 73 74 3a 09  TS)..smoketest:.
11a70 24 28 54 45 53 54 50 52 4f 47 53 29 0a 09 40 73  $(TESTPROGS)..@s
11a80 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL
11a90 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)...
11aa0 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
11ab0 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6d 61 69   $(TOP)\test\mai
11ac0 6e 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54  n.test $(TESTOPT
11ad0 53 29 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61 6c  S)..sqlite3_anal
11ae0 79 7a 65 72 2e 63 3a 09 24 28 53 51 4c 49 54 45  yzer.c:.$(SQLITE
11af0 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 20  3C) $(SQLITE3H) 
11b00 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71  $(TOP)\src\tclsq
11b10 6c 69 74 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f  lite.c $(TOP)\to
11b20 6f 6c 5c 73 70 61 63 65 61 6e 61 6c 2e 74 63 6c  ol\spaceanal.tcl
11b30 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63   $(TOP)\tool\mkc
11b40 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c  code.tcl $(TOP)\
11b50 74 6f 6f 6c 5c 73 71 6c 69 74 65 33 5f 61 6e 61  tool\sqlite3_ana
11b60 6c 79 7a 65 72 2e 63 2e 69 6e 20 24 28 53 51 4c  lyzer.c.in $(SQL
11b70 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28  ITE_TCL_DEP)..$(
11b80 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
11b90 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74  )\tool\mkccode.t
11ba0 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  cl $(TOP)\tool\s
11bb0 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
11bc0 63 2e 69 6e 20 3e 20 24 40 0a 0a 73 71 6c 69 74  c.in > $@..sqlit
11bd0 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65 3a  e3_analyzer.exe:
11be0 09 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65  .sqlite3_analyze
11bf0 72 2e 63 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  r.c $(LIBRESOBJS
11c00 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
11c10 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49 4c 44 5f  O_WARN) -DBUILD_
11c20 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e  sqlite -I$(TCLIN
11c30 43 44 49 52 29 20 73 71 6c 69 74 65 33 5f 61 6e  CDIR) sqlite3_an
11c40 61 6c 79 7a 65 72 2e 63 20 5c 0a 09 09 2f 6c 69  alyzer.c \.../li
11c50 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
11c60 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43  LTLINKOPTS) $(TC
11c70 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c  LLIBPATHS) $(LTL
11c80 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45  IBPATHS) $(LIBRE
11c90 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53  SOBJS) $(TCLLIBS
11ca0 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c  ) $(LTLIBS) $(TL
11cb0 49 42 53 29 0a 0a 73 71 6c 74 63 6c 73 68 2e 63  IBS)..sqltclsh.c
11cc0 3a 20 73 71 6c 69 74 65 33 2e 63 20 24 28 54 4f  : sqlite3.c $(TO
11cd0 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65  P)\src\tclsqlite
11ce0 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  .c $(TOP)\tool\s
11cf0 71 6c 74 63 6c 73 68 2e 74 63 6c 20 24 28 54 4f  qltclsh.tcl $(TO
11d00 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61 70 70 65  P)\ext\misc\appe
11d10 6e 64 76 66 73 2e 63 20 24 28 54 4f 50 29 5c 74  ndvfs.c $(TOP)\t
11d20 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20  ool\mkccode.tcl 
11d30 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 74  $(TOP)\tool\sqlt
11d40 63 6c 73 68 2e 63 2e 69 6e 0a 09 24 28 54 43 4c  clsh.c.in..$(TCL
11d50 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
11d60 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20  ool\mkccode.tcl 
11d70 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 74  $(TOP)\tool\sqlt
11d80 63 6c 73 68 2e 63 2e 69 6e 20 3e 73 71 6c 74 63  clsh.c.in >sqltc
11d90 6c 73 68 2e 63 0a 0a 73 71 6c 74 63 6c 73 68 2e  lsh.c..sqltclsh.
11da0 65 78 65 3a 20 73 71 6c 74 63 6c 73 68 2e 63 20  exe: sqltclsh.c 
11db0 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45   $(SHELL_CORE_DE
11dc0 50 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  P) $(LIBRESOBJS)
11dd0 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
11de0 5f 57 41 52 4e 29 20 2d 44 42 55 49 4c 44 5f 73  _WARN) -DBUILD_s
11df0 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43  qlite -I$(TCLINC
11e00 44 49 52 29 20 73 71 6c 74 63 6c 73 68 2e 63 20  DIR) sqltclsh.c 
11e10 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  \.../link $(LDFL
11e20 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
11e30 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53  S) $(TCLLIBPATHS
11e40 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  ) $(LTLIBPATHS) 
11e50 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28  $(LIBRESOBJS) $(
11e60 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49 42  TCLLIBS) $(LTLIB
11e70 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 73 71 6c  S) $(TLIBS)..sql
11e80 69 74 65 33 5f 65 78 70 65 72 74 2e 65 78 65 3a  ite3_expert.exe:
11e90 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 54   $(SQLITE3C) $(T
11ea0 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73  OP)\ext\expert\s
11eb0 71 6c 69 74 65 33 65 78 70 65 72 74 2e 68 20 24  qlite3expert.h $
11ec0 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74  (TOP)\ext\expert
11ed0 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 63  \sqlite3expert.c
11ee0 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65   $(TOP)\ext\expe
11ef0 72 74 5c 65 78 70 65 72 74 2e 63 0a 09 24 28 4c  rt\expert.c..$(L
11f00 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
11f10 29 09 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70  ).$(TOP)\ext\exp
11f20 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72  ert\sqlite3exper
11f30 74 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 65  t.c $(TOP)\ext\e
11f40 78 70 65 72 74 5c 65 78 70 65 72 74 2e 63 20 24  xpert\expert.c $
11f50 28 53 51 4c 49 54 45 33 43 29 20 24 28 54 4c 49  (SQLITE3C) $(TLI
11f60 42 53 29 0a 0a 43 48 45 43 4b 45 52 5f 44 45 50  BS)..CHECKER_DEP
11f70 53 20 3d 5c 0a 20 20 24 28 54 4f 50 29 2f 74 6f  S =\.  $(TOP)/to
11f80 6f 6c 2f 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 5c  ol/mkccode.tcl \
11f90 0a 20 20 73 71 6c 69 74 65 33 2e 63 20 5c 0a 20  .  sqlite3.c \. 
11fa0 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 63 6c 73   $(TOP)/src/tcls
11fb0 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f  qlite.c \.  $(TO
11fc0 50 29 2f 65 78 74 2f 72 65 70 61 69 72 2f 73 71  P)/ext/repair/sq
11fd0 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 74 63  lite3_checker.tc
11fe0 6c 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74  l \.  $(TOP)/ext
11ff0 2f 72 65 70 61 69 72 2f 63 68 65 63 6b 69 6e 64  /repair/checkind
12000 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  ex.c \.  $(TOP)/
12010 65 78 74 2f 72 65 70 61 69 72 2f 63 68 65 63 6b  ext/repair/check
12020 66 72 65 65 6c 69 73 74 2e 63 20 5c 0a 20 20 24  freelist.c \.  $
12030 28 54 4f 50 29 2f 65 78 74 2f 6d 69 73 63 2f 62  (TOP)/ext/misc/b
12040 74 72 65 65 69 6e 66 6f 2e 63 20 5c 0a 20 20 24  treeinfo.c \.  $
12050 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61 69 72  (TOP)/ext/repair
12060 2f 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72  /sqlite3_checker
12070 2e 63 2e 69 6e 0a 0a 73 71 6c 69 74 65 33 5f 63  .c.in..sqlite3_c
12080 68 65 63 6b 65 72 2e 63 3a 09 24 28 43 48 45 43  hecker.c:.$(CHEC
12090 4b 45 52 5f 44 45 50 53 29 0a 09 24 28 54 43 4c  KER_DEPS)..$(TCL
120a0 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
120b0 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20  ool\mkccode.tcl 
120c0 24 28 54 4f 50 29 5c 65 78 74 5c 72 65 70 61 69  $(TOP)\ext\repai
120d0 72 5c 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65  r\sqlite3_checke
120e0 72 2e 63 2e 69 6e 20 3e 20 24 40 0a 0a 73 71 6c  r.c.in > $@..sql
120f0 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 65 78 65  ite3_checker.exe
12100 3a 09 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65  :.sqlite3_checke
12110 72 2e 63 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  r.c $(LIBRESOBJS
12120 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
12130 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49 4c 44 5f  O_WARN) -DBUILD_
12140 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e  sqlite -I$(TCLIN
12150 43 44 49 52 29 20 73 71 6c 69 74 65 33 5f 63 68  CDIR) sqlite3_ch
12160 65 63 6b 65 72 2e 63 20 5c 0a 09 09 2f 6c 69 6e  ecker.c \.../lin
12170 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
12180 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c  TLINKOPTS) $(TCL
12190 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49  LIBPATHS) $(LTLI
121a0 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53  BPATHS) $(LIBRES
121b0 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29  OBJS) $(TCLLIBS)
121c0 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49   $(LTLIBS) $(TLI
121d0 42 53 29 0a 0a 64 62 64 75 6d 70 2e 65 78 65 3a  BS)..dbdump.exe:
121e0 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63  .$(TOP)\ext\misc
121f0 5c 64 62 64 75 6d 70 2e 63 20 24 28 53 51 4c 49  \dbdump.c $(SQLI
12200 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
12210 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a  ) $(LIBRESOBJS).
12220 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
12230 57 41 52 4e 29 20 2d 44 44 42 44 55 4d 50 5f 53  WARN) -DDBDUMP_S
12240 54 41 4e 44 41 4c 4f 4e 45 20 24 28 54 4f 50 29  TANDALONE $(TOP)
12250 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64 75 6d 70  \ext\misc\dbdump
12260 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 5c  .c $(SQLITE3C) \
12270 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  .../link $(LDFLA
12280 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
12290 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  ) $(LTLIBPATHS) 
122a0 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28  $(LIBRESOBJS) $(
122b0 4c 54 4c 49 42 53 29 0a 0a 74 65 73 74 6c 6f 61  LTLIBS)..testloa
122c0 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  dext.lo:.$(TOP)\
122d0 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78 74  src\test_loadext
122e0 2e 63 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  .c $(SQLITE3H)..
122f0 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e  $(LTCOMPILE) $(N
12300 4f 5f 57 41 52 4e 29 20 2d 63 20 24 28 54 4f 50  O_WARN) -c $(TOP
12310 29 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64 65  )\src\test_loade
12320 78 74 2e 63 0a 0a 74 65 73 74 6c 6f 61 64 65 78  xt.c..testloadex
12330 74 2e 64 6c 6c 3a 09 74 65 73 74 6c 6f 61 64 65  t.dll:.testloade
12340 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 24 28 4c  xt.lo..$(LD) $(L
12350 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
12360 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54  OPTS) $(LTLIBPAT
12370 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40  HS) /DLL /OUT:$@
12380 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a   testloadext.lo.
12390 0a 64 62 74 6f 74 78 74 2e 65 78 65 3a 09 24 28  .dbtotxt.exe:.$(
123a0 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62 74 6f 74 78  TOP)\tool\dbtotx
123b0 74 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  t.c..$(LTLINK) $
123c0 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f 50 29  (NO_WARN).$(TOP)
123d0 5c 74 6f 6f 6c 5c 64 62 74 6f 74 78 74 2e 63 20  \tool\dbtotxt.c 
123e0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
123f0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
12400 73 68 6f 77 64 62 2e 65 78 65 3a 09 24 28 54 4f  showdb.exe:.$(TO
12410 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63  P)\tool\showdb.c
12420 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
12430 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
12440 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) -
12450 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
12460 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  FE=0 -DSQLITE_OM
12470 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
12480 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f  N \...$(TOP)\too
12490 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28 53 51 4c  l\showdb.c $(SQL
124a0 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
124b0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
124c0 4f 50 54 53 29 0a 0a 73 68 6f 77 73 74 61 74 34  OPTS)..showstat4
124d0 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
124e0 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63 20 24 28  l\showstat4.c $(
124f0 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
12500 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
12510 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
12520 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
12530 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  0 -DSQLITE_OMIT_
12540 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c  LOAD_EXTENSION \
12550 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  ...$(TOP)\tool\s
12560 68 6f 77 73 74 61 74 34 2e 63 20 24 28 53 51 4c  howstat4.c $(SQL
12570 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
12580 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
12590 4f 50 54 53 29 0a 0a 73 68 6f 77 6a 6f 75 72 6e  OPTS)..showjourn
125a0 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  al.exe:.$(TOP)\t
125b0 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e  ool\showjournal.
125c0 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
125d0 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
125e0 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
125f0 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
12600 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f  AFE=0 -DSQLITE_O
12610 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
12620 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f  ON \...$(TOP)\to
12630 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63  ol\showjournal.c
12640 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li
12650 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
12660 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f  LTLINKOPTS)..sho
12670 77 77 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29  wwal.exe:.$(TOP)
12680 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63 20  \tool\showwal.c 
12690 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
126a0 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
126b0 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
126c0 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
126d0 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  E=0 -DSQLITE_OMI
126e0 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e  T_LOAD_EXTENSION
126f0 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c   \...$(TOP)\tool
12700 5c 73 68 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c  \showwal.c $(SQL
12710 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
12720 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
12730 4f 50 54 53 29 0a 0a 73 68 6f 77 73 68 6d 2e 65  OPTS)..showshm.e
12740 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
12750 73 68 6f 77 73 68 6d 2e 63 0a 09 24 28 4c 54 4c  showshm.c..$(LTL
12760 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 09  INK) $(NO_WARN).
12770 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show
12780 73 68 6d 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44  shm.c /link $(LD
12790 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
127a0 50 54 53 29 0a 0a 69 6e 64 65 78 5f 75 73 61 67  PTS)..index_usag
127b0 65 2e 65 78 65 3a 20 24 28 54 4f 50 29 5c 74 6f  e.exe: $(TOP)\to
127c0 6f 6c 5c 69 6e 64 65 78 5f 75 73 61 67 65 2e 63  ol\index_usage.c
127d0 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
127e0 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
127f0 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) -
12800 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
12810 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  FE=0 -DSQLITE_OM
12820 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
12830 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f  N \...$(TOP)\too
12840 6c 5c 69 6e 64 65 78 5f 75 73 61 67 65 2e 63 20  l\index_usage.c 
12850 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
12860 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
12870 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 63 68 61 6e  TLINKOPTS)..chan
12880 67 65 73 65 74 2e 65 78 65 3a 09 24 28 54 4f 50  geset.exe:.$(TOP
12890 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68  )\ext\session\ch
128a0 61 6e 67 65 73 65 74 2e 63 20 24 28 53 51 4c 49  angeset.c $(SQLI
128b0 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
128c0 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
128d0 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
128e0 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
128f0 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
12900 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 2d  _EXTENSION \...-
12910 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53  DSQLITE_ENABLE_S
12920 45 53 53 49 4f 4e 3d 31 20 2d 44 53 51 4c 49 54  ESSION=1 -DSQLIT
12930 45 5f 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41  E_ENABLE_PREUPDA
12940 54 45 5f 48 4f 4f 4b 3d 31 20 5c 0a 09 09 24 28  TE_HOOK=1 \...$(
12950 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
12960 5c 63 68 61 6e 67 65 73 65 74 2e 63 20 24 28 53  \changeset.c $(S
12970 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
12980 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
12990 4e 4b 4f 50 54 53 29 0a 0a 63 68 61 6e 67 65 73  NKOPTS)..changes
129a0 65 74 66 75 7a 7a 2e 65 78 65 3a 09 24 28 54 4f  etfuzz.exe:.$(TO
129b0 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 63  P)\ext\session\c
129c0 68 61 6e 67 65 73 65 74 66 75 7a 7a 2e 63 20 24  hangesetfuzz.c $
129d0 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
129e0 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
129f0 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
12a00 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
12a10 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  =0 -DSQLITE_OMIT
12a20 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20  _LOAD_EXTENSION 
12a30 5c 0a 09 09 2d 44 53 51 4c 49 54 45 5f 45 4e 41  \...-DSQLITE_ENA
12a40 42 4c 45 5f 53 45 53 53 49 4f 4e 3d 31 20 2d 44  BLE_SESSION=1 -D
12a50 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 50 52  SQLITE_ENABLE_PR
12a60 45 55 50 44 41 54 45 5f 48 4f 4f 4b 3d 31 20 5c  EUPDATE_HOOK=1 \
12a70 0a 09 09 24 28 54 4f 50 29 5c 65 78 74 5c 73 65  ...$(TOP)\ext\se
12a80 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74 66  ssion\changesetf
12a90 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45 33 43  uzz.c $(SQLITE3C
12aa0 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
12ab0 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
12ac0 0a 0a 66 74 73 33 76 69 65 77 2e 65 78 65 3a 09  ..fts3view.exe:.
12ad0 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
12ae0 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63 20  tool\fts3view.c 
12af0 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
12b00 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
12b10 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
12b20 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
12b30 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  E=0 -DSQLITE_OMI
12b40 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e  T_LOAD_EXTENSION
12b50 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74 5c   \...$(TOP)\ext\
12b60 66 74 73 33 5c 74 6f 6f 6c 5c 66 74 73 33 76 69  fts3\tool\fts3vi
12b70 65 77 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  ew.c $(SQLITE3C)
12b80 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
12b90 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS).
12ba0 0a 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 65  .rollback-test.e
12bb0 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
12bc0 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63 20  rollback-test.c 
12bd0 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
12be0 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
12bf0 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
12c00 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
12c10 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  E=0 -DSQLITE_OMI
12c20 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e  T_LOAD_EXTENSION
12c30 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c   \...$(TOP)\tool
12c40 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63  \rollback-test.c
12c50 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li
12c60 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
12c70 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 61 74 72  LTLINKOPTS)..atr
12c80 63 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65  c.exe:.$(TOP)\te
12c90 73 74 5c 61 74 72 63 2e 63 20 24 28 53 51 4c 49  st\atrc.c $(SQLI
12ca0 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
12cb0 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
12cc0 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
12cd0 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
12ce0 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
12cf0 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$
12d00 28 54 4f 50 29 5c 74 65 73 74 5c 61 74 72 63 2e  (TOP)\test\atrc.
12d10 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
12d20 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
12d30 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4c 6f  (LTLINKOPTS)..Lo
12d40 67 45 73 74 2e 65 78 65 3a 09 24 28 54 4f 50 29  gEst.exe:.$(TOP)
12d50 5c 74 6f 6f 6c 5c 6c 6f 67 65 73 74 2e 63 20 24  \tool\logest.c $
12d60 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
12d70 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
12d80 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 4c 6f 67   $(TOP)\tool\Log
12d90 45 73 74 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44  Est.c /link $(LD
12da0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
12db0 50 54 53 29 0a 0a 77 6f 72 64 63 6f 75 6e 74 2e  PTS)..wordcount.
12dc0 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74  exe:.$(TOP)\test
12dd0 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24 28 53  \wordcount.c $(S
12de0 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
12df0 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
12e00 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
12e10 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
12e20 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
12e30 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
12e40 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 77 6f  ..$(TOP)\test\wo
12e50 72 64 63 6f 75 6e 74 2e 63 20 24 28 53 51 4c 49  rdcount.c $(SQLI
12e60 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
12e70 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
12e80 50 54 53 29 0a 0a 73 70 65 65 64 74 65 73 74 31  PTS)..speedtest1
12e90 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73  .exe:.$(TOP)\tes
12ea0 74 5c 73 70 65 65 64 74 65 73 74 31 2e 63 20 24  t\speedtest1.c $
12eb0 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
12ec0 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
12ed0 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 53  ) $(NO_WARN) $(S
12ee0 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  T_COMPILE_OPTS) 
12ef0 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f  -DSQLITE_OMIT_LO
12f00 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09  AD_EXTENSION \..
12f10 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 70 65  .$(TOP)\test\spe
12f20 65 64 74 65 73 74 31 2e 63 20 24 28 53 51 4c 49  edtest1.c $(SQLI
12f30 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
12f40 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
12f50 50 54 53 29 0a 0a 6b 76 74 65 73 74 2e 65 78 65  PTS)..kvtest.exe
12f60 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 6b 76  :.$(TOP)\test\kv
12f70 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33  test.c $(SQLITE3
12f80 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
12f90 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
12fa0 41 52 4e 29 20 24 28 4b 56 5f 43 4f 4d 50 49 4c  ARN) $(KV_COMPIL
12fb0 45 5f 4f 50 54 53 29 20 5c 0a 09 09 24 28 54 4f  E_OPTS) \...$(TO
12fc0 50 29 5c 74 65 73 74 5c 6b 76 74 65 73 74 2e 63  P)\test\kvtest.c
12fd0 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li
12fe0 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
12ff0 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 72 62 75  LTLINKOPTS)..rbu
13000 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74  .exe:.$(TOP)\ext
13010 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 54 4f 50  \rbu\rbu.c $(TOP
13020 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65  )\ext\rbu\sqlite
13030 33 72 62 75 2e 63 20 24 28 53 51 4c 49 54 45 33  3rbu.c $(SQLITE3
13040 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
13050 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
13060 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  ARN) -DSQLITE_EN
13070 41 42 4c 45 5f 52 42 55 20 5c 0a 09 09 24 28 54  ABLE_RBU \...$(T
13080 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72 62 75 2e  OP)\ext\rbu\rbu.
13090 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
130a0 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
130b0 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4c 53  (LTLINKOPTS)..LS
130c0 4d 44 49 52 3d 24 28 54 4f 50 29 5c 65 78 74 5c  MDIR=$(TOP)\ext\
130d0 6c 73 6d 31 0a 21 49 4e 43 4c 55 44 45 20 24 28  lsm1.!INCLUDE $(
130e0 4c 53 4d 44 49 52 29 5c 4d 61 6b 65 66 69 6c 65  LSMDIR)\Makefile
130f0 2e 6d 73 63 0a 0a 6d 6f 72 65 63 6c 65 61 6e 3a  .msc..moreclean:
13100 09 63 6c 65 61 6e 0a 09 64 65 6c 20 2f 51 20 24  .clean..del /Q $
13110 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
13120 49 54 45 33 48 29 20 32 3e 4e 55 4c 0a 23 20 3c  ITE3H) 2>NUL.# <
13130 3c 2f 6d 61 72 6b 3e 3e 0a 0a 63 6c 65 61 6e 3a  </mark>>..clean:
13140 0a 09 64 65 6c 20 2f 51 20 2a 2e 65 78 70 20 2a  ..del /Q *.exp *
13150 2e 6c 6f 20 2a 2e 69 6c 6b 20 2a 2e 6c 69 62 20  .lo *.ilk *.lib 
13160 2a 2e 6f 62 6a 20 2a 2e 6e 63 62 20 2a 2e 70 64  *.obj *.ncb *.pd
13170 62 20 2a 2e 73 64 66 20 2a 2e 73 75 6f 20 32 3e  b *.sdf *.suo 2>
13180 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2a 2e 62 73  NUL..del /Q *.bs
13190 63 20 2a 2e 64 65 66 20 2a 2e 63 6f 64 20 2a 2e  c *.def *.cod *.
131a0 64 61 20 2a 2e 62 62 20 2a 2e 62 62 67 20 2a 2e  da *.bb *.bbg *.
131b0 76 63 20 67 6d 6f 6e 2e 6f 75 74 20 32 3e 4e 55  vc gmon.out 2>NU
131c0 4c 0a 09 64 65 6c 20 2f 51 20 24 28 53 51 4c 49  L..del /Q $(SQLI
131d0 54 45 33 45 58 45 29 20 24 28 53 51 4c 49 54 45  TE3EXE) $(SQLITE
131e0 33 44 4c 4c 29 20 52 65 70 6c 61 63 65 2e 65 78  3DLL) Replace.ex
131f0 65 20 32 3e 4e 55 4c 0a 23 20 3c 3c 6d 61 72 6b  e 2>NUL.# <<mark
13200 3e 3e 0a 09 64 65 6c 20 2f 51 20 24 28 53 51 4c  >>..del /Q $(SQL
13210 49 54 45 33 54 43 4c 44 4c 4c 29 20 70 6b 67 49  ITE3TCLDLL) pkgI
13220 6e 64 65 78 2e 74 63 6c 20 32 3e 4e 55 4c 0a 09  ndex.tcl 2>NUL..
13230 64 65 6c 20 2f 51 20 6f 70 63 6f 64 65 73 2e 63  del /Q opcodes.c
13240 20 6f 70 63 6f 64 65 73 2e 68 20 32 3e 4e 55 4c   opcodes.h 2>NUL
13250 0a 09 64 65 6c 20 2f 51 20 6c 65 6d 6f 6e 2e 2a  ..del /Q lemon.*
13260 20 6c 65 6d 70 61 72 2e 63 20 70 61 72 73 65 2e   lempar.c parse.
13270 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  * 2>NUL..del /Q 
13280 6d 6b 73 6f 75 72 63 65 69 64 2e 2a 20 6d 6b 6b  mksourceid.* mkk
13290 65 79 77 6f 72 64 68 61 73 68 2e 2a 20 6b 65 79  eywordhash.* key
132a0 77 6f 72 64 68 61 73 68 2e 68 20 32 3e 4e 55 4c  wordhash.h 2>NUL
132b0 0a 09 64 65 6c 20 2f 51 20 6e 6f 74 61 73 68 61  ..del /Q notasha
132c0 72 65 64 6c 69 62 2e 2a 20 32 3e 4e 55 4c 0a 09  redlib.* 2>NUL..
132d0 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e 64 65 70  -rmdir /Q/S .dep
132e0 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20  s 2>NUL..-rmdir 
132f0 2f 51 2f 53 20 2e 6c 69 62 73 20 32 3e 4e 55 4c  /Q/S .libs 2>NUL
13300 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 74 73  ..-rmdir /Q/S ts
13310 72 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  rc 2>NUL..del /Q
13320 20 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 20   .target_source 
13330 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 63  2>NUL..del /Q tc
13340 6c 73 71 6c 69 74 65 33 2e 65 78 65 20 24 28 53  lsqlite3.exe $(S
13350 51 4c 49 54 45 54 43 4c 48 29 20 24 28 53 51 4c  QLITETCLH) $(SQL
13360 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20 32 3e  ITETCLDECLSH) 2>
13370 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 73 6d 2e  NUL..del /Q lsm.
13380 64 6c 6c 20 6c 73 6d 74 65 73 74 2e 65 78 65 20  dll lsmtest.exe 
13390 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 61 74  2>NUL..del /Q at
133a0 72 63 2e 65 78 65 20 63 68 61 6e 67 65 73 65 74  rc.exe changeset
133b0 66 75 7a 7a 2e 65 78 65 20 64 62 74 6f 74 78 74  fuzz.exe dbtotxt
133c0 2e 65 78 65 20 69 6e 64 65 78 5f 75 73 61 67 65  .exe index_usage
133d0 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del 
133e0 2f 51 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 64  /Q testloadext.d
133f0 6c 6c 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  ll 2>NUL..del /Q
13400 20 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65   testfixture.exe
13410 20 74 65 73 74 2e 64 62 20 32 3e 4e 55 4c 0a 09   test.db 2>NUL..
13420 64 65 6c 20 2f 51 20 4c 6f 67 45 73 74 2e 65 78  del /Q LogEst.ex
13430 65 20 66 74 73 33 76 69 65 77 2e 65 78 65 20 72  e fts3view.exe r
13440 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 65 78 65  ollback-test.exe
13450 20 73 68 6f 77 64 62 2e 65 78 65 20 64 62 64 75   showdb.exe dbdu
13460 6d 70 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65  mp.exe 2>NUL..de
13470 6c 20 2f 51 20 63 68 61 6e 67 65 73 65 74 2e 65  l /Q changeset.e
13480 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  xe 2>NUL..del /Q
13490 20 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65   showjournal.exe
134a0 20 73 68 6f 77 73 74 61 74 34 2e 65 78 65 20 73   showstat4.exe s
134b0 68 6f 77 77 61 6c 2e 65 78 65 20 73 70 65 65 64  howwal.exe speed
134c0 74 65 73 74 31 2e 65 78 65 20 32 3e 4e 55 4c 0a  test1.exe 2>NUL.
134d0 09 64 65 6c 20 2f 51 20 6d 70 74 65 73 74 65 72  .del /Q mptester
134e0 2e 65 78 65 20 77 6f 72 64 63 6f 75 6e 74 2e 65  .exe wordcount.e
134f0 78 65 20 72 62 75 2e 65 78 65 20 73 72 63 63 6b  xe rbu.exe srcck
13500 31 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c  1.exe 2>NUL..del
13510 20 2f 51 20 73 71 6c 69 74 65 33 2e 63 20 73 71   /Q sqlite3.c sq
13520 6c 69 74 65 33 2d 2a 2e 63 20 73 71 6c 69 74 65  lite3-*.c sqlite
13530 33 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  3.h 2>NUL..del /
13540 51 20 73 71 6c 69 74 65 33 72 63 2e 68 20 32 3e  Q sqlite3rc.h 2>
13550 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68 65 6c  NUL..del /Q shel
13560 6c 2e 63 20 73 71 6c 69 74 65 33 65 78 74 2e 68  l.c sqlite3ext.h
13570 20 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e   sqlite3session.
13580 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  h 2>NUL..del /Q 
13590 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
135a0 2e 65 78 65 20 73 71 6c 69 74 65 33 5f 61 6e 61  .exe sqlite3_ana
135b0 6c 79 7a 65 72 2e 63 20 32 3e 4e 55 4c 0a 09 64  lyzer.c 2>NUL..d
135c0 65 6c 20 2f 51 20 73 71 6c 69 74 65 2d 2a 2d 6f  el /Q sqlite-*-o
135d0 75 74 70 75 74 2e 76 73 69 78 20 32 3e 4e 55 4c  utput.vsix 2>NUL
135e0 0a 09 64 65 6c 20 2f 51 20 66 75 7a 7a 65 72 73  ..del /Q fuzzers
135f0 68 65 6c 6c 2e 65 78 65 20 66 75 7a 7a 63 68 65  hell.exe fuzzche
13600 63 6b 2e 65 78 65 20 73 71 6c 64 69 66 66 2e 65  ck.exe sqldiff.e
13610 78 65 20 64 62 68 61 73 68 2e 65 78 65 20 32 3e  xe dbhash.exe 2>
13620 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 74  NUL..del /Q sqlt
13630 63 6c 73 68 2e 2a 20 32 3e 4e 55 4c 0a 09 64 65  clsh.* 2>NUL..de
13640 6c 20 2f 51 20 64 62 66 75 7a 7a 2e 65 78 65 20  l /Q dbfuzz.exe 
13650 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 65 78 65 20  sessionfuzz.exe 
13660 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6b 76  2>NUL..del /Q kv
13670 74 65 73 74 2e 65 78 65 20 6f 73 73 73 68 65 6c  test.exe ossshel
13680 6c 2e 65 78 65 20 73 63 72 75 62 2e 65 78 65 20  l.exe scrub.exe 
13690 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68  2>NUL..del /Q sh
136a0 6f 77 73 68 6d 2e 65 78 65 20 73 71 6c 69 74 65  owshm.exe sqlite
136b0 33 5f 63 68 65 63 6b 65 72 2e 2a 20 73 71 6c 69  3_checker.* sqli
136c0 74 65 33 5f 65 78 70 65 72 74 2e 65 78 65 20 32  te3_expert.exe 2
136d0 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 66 74 73  >NUL..del /Q fts
136e0 35 2e 2a 20 66 74 73 35 70 61 72 73 65 2e 2a 20  5.* fts5parse.* 
136f0 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 73  2>NUL..del /Q ls
13700 6d 2e 68 20 6c 73 6d 31 2e 63 20 32 3e 4e 55 4c  m.h lsm1.c 2>NUL
13710 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a           .# <</mark>>.