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

Artifact bb7f028d34a3d0d18fddf149ad799ca8323f1933db5a7d1babb6c735d3ba0630:


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 33 30 35 20 2d 77 64 34 33 30 36 20 2d  wd4305 -wd4306 -
0780: 77 64 34 37 30 32 20 2d 77 64 34 37 30 36 0a 21  wd4702 -wd4706.!
0790: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
07a0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
07b0: 6f 20 75 73 65 20 74 68 65 20 6c 69 62 72 61 72  o use the librar
07c0: 79 20 70 61 74 68 73 20 61 6e 64 20 6f 74 68 65  y paths and othe
07d0: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 63 65 73 73  r options necess
07e0: 61 72 79 20 66 6f 72 0a 23 20 57 69 6e 64 6f 77  ary for.# Window
07f0: 73 20 50 68 6f 6e 65 20 38 2e 31 2e 0a 23 0a 21  s Phone 8.1..#.!
0800: 49 46 4e 44 45 46 20 55 53 45 5f 57 50 38 31 5f  IFNDEF USE_WP81_
0810: 4f 50 54 53 0a 55 53 45 5f 57 50 38 31 5f 4f 50  OPTS.USE_WP81_OP
0820: 54 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  TS = 0.!ENDIF..#
0830: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
0840: 74 6f 20 73 70 6c 69 74 20 74 68 65 20 53 51 4c  to split the SQL
0850: 69 74 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  ite amalgamation
0860: 20 66 69 6c 65 20 69 6e 74 6f 20 63 68 75 6e 6b   file into chunk
0870: 73 20 74 6f 0a 23 20 62 65 20 75 73 65 64 20 66  s to.# be used f
0880: 6f 72 20 64 65 62 75 67 67 69 6e 67 20 77 69 74  or debugging wit
0890: 68 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e  h Visual Studio.
08a0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 50 4c 49 54  .#.!IFNDEF SPLIT
08b0: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 53 50  _AMALGAMATION.SP
08c0: 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e  LIT_AMALGAMATION
08d0: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 3c   = 0.!ENDIF..# <
08e0: 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74 68  <mark>>.# Set th
08f0: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 68 61 76 65  is non-0 to have
0900: 20 74 68 69 73 20 6d 61 6b 65 66 69 6c 65 20 61   this makefile a
0910: 73 73 75 6d 65 20 74 68 65 20 54 63 6c 20 73 68  ssume the Tcl sh
0920: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 0a 23  ell executable.#
0930: 20 28 74 63 6c 73 68 2a 2e 65 78 65 29 20 69 73   (tclsh*.exe) is
0940: 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68   available in th
0950: 65 20 50 41 54 48 2e 20 20 42 79 20 64 65 66 61  e PATH.  By defa
0960: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73  ult, this is dis
0970: 61 62 6c 65 64 0a 23 20 66 6f 72 20 63 6f 6d 70  abled.# for comp
0980: 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 6f  atibility with o
0990: 6c 64 65 72 20 62 75 69 6c 64 20 65 6e 76 69 72  lder build envir
09a0: 6f 6e 6d 65 6e 74 73 2e 20 20 54 68 69 73 20 73  onments.  This s
09b0: 65 74 74 69 6e 67 20 6f 6e 6c 79 0a 23 20 61 70  etting only.# ap
09c0: 70 6c 69 65 73 20 69 66 20 54 43 4c 53 48 5f 43  plies if TCLSH_C
09d0: 4d 44 20 69 73 20 6e 6f 74 20 73 65 74 20 6d 61  MD is not set ma
09e0: 6e 75 61 6c 6c 79 2e 0a 23 0a 21 49 46 4e 44 45  nually..#.!IFNDE
09f0: 46 20 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f 50  F USE_TCLSH_IN_P
0a00: 41 54 48 0a 55 53 45 5f 54 43 4c 53 48 5f 49 4e  ATH.USE_TCLSH_IN
0a10: 5f 50 41 54 48 20 3d 20 30 0a 21 45 4e 44 49 46  _PATH = 0.!ENDIF
0a20: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0a30: 2d 30 20 74 6f 20 75 73 65 20 7a 6c 69 62 2c 20  -0 to use zlib, 
0a40: 70 6f 73 73 69 62 6c 79 20 63 6f 6d 70 69 6c 69  possibly compili
0a50: 6e 67 20 69 74 20 66 72 6f 6d 20 73 6f 75 72 63  ng it from sourc
0a60: 65 20 63 6f 64 65 2e 0a 23 0a 21 49 46 4e 44 45  e code..#.!IFNDE
0a70: 46 20 55 53 45 5f 5a 4c 49 42 0a 55 53 45 5f 5a  F USE_ZLIB.USE_Z
0a80: 4c 49 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  LIB = 0.!ENDIF..
0a90: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0aa0: 20 74 6f 20 62 75 69 6c 64 20 7a 6c 69 62 20 66   to build zlib f
0ab0: 72 6f 6d 20 73 6f 75 72 63 65 20 63 6f 64 65 2e  rom source code.
0ac0: 20 20 54 68 69 73 20 69 73 20 65 6e 61 62 6c 65    This is enable
0ad0: 64 20 62 79 0a 23 20 64 65 66 61 75 6c 74 20 61  d by.# default a
0ae0: 6e 64 20 69 6e 20 74 68 61 74 20 63 61 73 65 20  nd in that case 
0af0: 69 74 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d  it will be assum
0b00: 65 64 20 74 68 61 74 20 74 68 65 20 5a 4c 49 42  ed that the ZLIB
0b10: 44 49 52 20 6d 61 63 72 6f 0a 23 20 70 6f 69 6e  DIR macro.# poin
0b20: 74 73 20 74 6f 20 74 68 65 20 74 6f 70 2d 6c 65  ts to the top-le
0b30: 76 65 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20  vel source code 
0b40: 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 7a 6c  directory for zl
0b50: 69 62 2e 0a 23 0a 21 49 46 4e 44 45 46 20 42 55  ib..#.!IFNDEF BU
0b60: 49 4c 44 5f 5a 4c 49 42 0a 42 55 49 4c 44 5f 5a  ILD_ZLIB.BUILD_Z
0b70: 4c 49 42 20 3d 20 31 0a 21 45 4e 44 49 46 0a 0a  LIB = 1.!ENDIF..
0b80: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0b90: 20 74 6f 20 75 73 65 20 74 68 65 20 49 6e 74 65   to use the Inte
0ba0: 72 6e 61 74 69 6f 6e 61 6c 20 43 6f 6d 70 6f 6e  rnational Compon
0bb0: 65 6e 74 73 20 66 6f 72 20 55 6e 69 63 6f 64 65  ents for Unicode
0bc0: 20 28 49 43 55 29 2e 0a 23 0a 21 49 46 4e 44 45   (ICU)..#.!IFNDE
0bd0: 46 20 55 53 45 5f 49 43 55 0a 55 53 45 5f 49 43  F USE_ICU.USE_IC
0be0: 55 20 3d 20 30 0a 21 45 4e 44 49 46 0a 23 20 3c  U = 0.!ENDIF.# <
0bf0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53 65 74 20  </mark>>..# Set 
0c00: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 64 79  this non-0 to dy
0c10: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74  namically link t
0c20: 6f 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69  o the MSVC runti
0c30: 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  me library..#.!I
0c40: 46 4e 44 45 46 20 55 53 45 5f 43 52 54 5f 44 4c  FNDEF USE_CRT_DL
0c50: 4c 0a 55 53 45 5f 43 52 54 5f 44 4c 4c 20 3d 20  L.USE_CRT_DLL = 
0c60: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set 
0c70: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 6c 69  this non-0 to li
0c80: 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34  nk to the RPCRT4
0c90: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e   library..#.!IFN
0ca0: 44 45 46 20 55 53 45 5f 52 50 43 52 54 34 5f 4c  DEF USE_RPCRT4_L
0cb0: 49 42 0a 55 53 45 5f 52 50 43 52 54 34 5f 4c 49  IB.USE_RPCRT4_LI
0cc0: 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  B = 0.!ENDIF..# 
0cd0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
0ce0: 6f 20 67 65 6e 65 72 61 74 65 20 61 73 73 65 6d  o generate assem
0cf0: 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67  bly code listing
0d00: 73 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65  s for the source
0d10: 20 63 6f 64 65 0a 23 20 66 69 6c 65 73 2e 0a 23   code.# files..#
0d20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 4c 49 53  .!IFNDEF USE_LIS
0d30: 54 49 4e 47 53 0a 55 53 45 5f 4c 49 53 54 49 4e  TINGS.USE_LISTIN
0d40: 47 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  GS = 0.!ENDIF..#
0d50: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
0d60: 74 6f 20 61 74 74 65 6d 70 74 20 73 65 74 74 69  to attempt setti
0d70: 6e 67 20 74 68 65 20 6e 61 74 69 76 65 20 63 6f  ng the native co
0d80: 6d 70 69 6c 65 72 20 61 75 74 6f 6d 61 74 69 63  mpiler automatic
0d90: 61 6c 6c 79 0a 23 20 66 6f 72 20 63 72 6f 73 73  ally.# for cross
0da0: 2d 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 63  -compiling the c
0db0: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c  ommand line tool
0dc0: 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20  s needed during 
0dd0: 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 0a  the compilation.
0de0: 23 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46  # process..#.!IF
0df0: 4e 44 45 46 20 58 43 4f 4d 50 49 4c 45 0a 58 43  NDEF XCOMPILE.XC
0e00: 4f 4d 50 49 4c 45 20 3d 20 30 0a 21 45 4e 44 49  OMPILE = 0.!ENDI
0e10: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0e20: 6e 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 6e  n-0 to use the n
0e30: 61 74 69 76 65 20 6c 69 62 72 61 72 69 65 73 20  ative libraries 
0e40: 70 61 74 68 73 20 66 6f 72 20 63 72 6f 73 73 2d  paths for cross-
0e50: 63 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68 65 20  compiling.# the 
0e60: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f  command line too
0e70: 6c 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67  ls needed during
0e80: 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   the compilation
0e90: 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e   process..#.!IFN
0ea0: 44 45 46 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c  DEF USE_NATIVE_L
0eb0: 49 42 50 41 54 48 53 0a 55 53 45 5f 4e 41 54 49  IBPATHS.USE_NATI
0ec0: 56 45 5f 4c 49 42 50 41 54 48 53 20 3d 20 30 0a  VE_LIBPATHS = 0.
0ed0: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0ee0: 69 73 20 30 20 74 6f 20 73 6b 69 70 20 74 68 65  is 0 to skip the
0ef0: 20 63 6f 6d 70 69 6c 69 6e 67 20 61 6e 64 20 65   compiling and e
0f00: 6d 62 65 64 64 69 6e 67 20 6f 66 20 76 65 72 73  mbedding of vers
0f10: 69 6f 6e 20 72 65 73 6f 75 72 63 65 73 2e 0a 23  ion resources..#
0f20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 52 43 0a  .!IFNDEF USE_RC.
0f30: 55 53 45 5f 52 43 20 3d 20 31 0a 21 45 4e 44 49  USE_RC = 1.!ENDI
0f40: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0f50: 6e 2d 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62  n-0 to compile b
0f60: 69 6e 61 72 69 65 73 20 73 75 69 74 61 62 6c 65  inaries suitable
0f70: 20 66 6f 72 20 74 68 65 20 57 69 6e 52 54 20 65   for the WinRT e
0f80: 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68  nvironment..# Th
0f90: 69 73 20 73 65 74 74 69 6e 67 20 64 6f 65 73 20  is setting does 
0fa0: 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 61 6e 79  not apply to any
0fb0: 20 62 69 6e 61 72 69 65 73 20 74 68 61 74 20 72   binaries that r
0fc0: 65 71 75 69 72 65 20 54 63 6c 20 74 6f 20 6f 70  equire Tcl to op
0fd0: 65 72 61 74 65 0a 23 20 70 72 6f 70 65 72 6c 79  erate.# properly
0fe0: 20 28 69 2e 65 2e 20 74 68 65 20 74 65 78 74 20   (i.e. the text 
0ff0: 66 69 78 74 75 72 65 2c 20 65 74 63 29 2e 0a 23  fixture, etc)..#
1000: 0a 21 49 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e  .!IFNDEF FOR_WIN
1010: 52 54 0a 46 4f 52 5f 57 49 4e 52 54 20 3d 20 30  RT.FOR_WINRT = 0
1020: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1030: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1040: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1050: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 55  itable for the U
1060: 57 50 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a  WP environment..
1070: 23 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 64  # This setting d
1080: 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f  oes not apply to
1090: 20 61 6e 79 20 62 69 6e 61 72 69 65 73 20 74 68   any binaries th
10a0: 61 74 20 72 65 71 75 69 72 65 20 54 63 6c 20 74  at require Tcl t
10b0: 6f 20 6f 70 65 72 61 74 65 0a 23 20 70 72 6f 70  o operate.# prop
10c0: 65 72 6c 79 20 28 69 2e 65 2e 20 74 68 65 20 74  erly (i.e. the t
10d0: 65 78 74 20 66 69 78 74 75 72 65 2c 20 65 74 63  ext fixture, etc
10e0: 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52  )..#.!IFNDEF FOR
10f0: 5f 55 57 50 0a 46 4f 52 5f 55 57 50 20 3d 20 30  _UWP.FOR_UWP = 0
1100: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1110: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1120: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1130: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 57  itable for the W
1140: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
1150: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f  rm..#.!IFNDEF FO
1160: 52 5f 57 49 4e 31 30 0a 46 4f 52 5f 57 49 4e 31  R_WIN10.FOR_WIN1
1170: 30 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  0 = 0.!ENDIF..# 
1180: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74  <<mark>>.# Set t
1190: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 6b 69  his non-0 to ski
11a0: 70 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20  p attempting to 
11b0: 6c 6f 6f 6b 20 66 6f 72 20 61 6e 64 2f 6f 72 20  look for and/or 
11c0: 6c 69 6e 6b 20 77 69 74 68 20 74 68 65 20 54 63  link with the Tc
11d0: 6c 0a 23 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  l.# runtime libr
11e0: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e  ary..#.!IFNDEF N
11f0: 4f 5f 54 43 4c 0a 4e 4f 5f 54 43 4c 20 3d 20 30  O_TCL.NO_TCL = 0
1200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
1210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this 
1220: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 63 72 65 61  to non-0 to crea
1230: 74 65 20 61 6e 64 20 75 73 65 20 50 44 42 73 2e  te and use PDBs.
1240: 0a 23 0a 21 49 46 4e 44 45 46 20 53 59 4d 42 4f  .#.!IFNDEF SYMBO
1250: 4c 53 0a 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 21  LS.SYMBOLS = 1.!
1260: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
1270: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
1280: 65 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62  e the SQLite deb
1290: 75 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73  ugging heap subs
12a0: 79 73 74 65 6d 2e 0a 23 0a 21 49 46 4e 44 45 46  ystem..#.!IFNDEF
12b0: 20 4d 45 4d 44 45 42 55 47 0a 4d 45 4d 44 45 42   MEMDEBUG.MEMDEB
12c0: 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  UG = 0.!ENDIF..#
12d0: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
12e0: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 57 69  -0 to use the Wi
12f0: 6e 33 32 20 6e 61 74 69 76 65 20 68 65 61 70 20  n32 native heap 
1300: 73 75 62 73 79 73 74 65 6d 2e 0a 23 0a 21 49 46  subsystem..#.!IF
1310: 4e 44 45 46 20 57 49 4e 33 32 48 45 41 50 0a 57  NDEF WIN32HEAP.W
1320: 49 4e 33 32 48 45 41 50 20 3d 20 30 0a 21 45 4e  IN32HEAP = 0.!EN
1330: 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20  DIF..# Set this 
1340: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62  to non-0 to enab
1350: 6c 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61 63  le OSTRACE() mac
1360: 72 6f 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62  ros, which can b
1370: 65 20 75 73 65 66 75 6c 20 77 68 65 6e 0a 23 20  e useful when.# 
1380: 64 65 62 75 67 67 69 6e 67 2e 0a 23 0a 21 49 46  debugging..#.!IF
1390: 4e 44 45 46 20 4f 53 54 52 41 43 45 0a 4f 53 54  NDEF OSTRACE.OST
13a0: 52 41 43 45 20 3d 20 30 0a 21 45 4e 44 49 46 0a  RACE = 0.!ENDIF.
13b0: 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 6f  .# Set this to o
13c0: 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77  ne of the follow
13d0: 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 65 6e  ing values to en
13e0: 61 62 6c 65 20 76 61 72 69 6f 75 73 20 64 65 62  able various deb
13f0: 75 67 67 69 6e 67 0a 23 20 66 65 61 74 75 72 65  ugging.# feature
1400: 73 2e 20 20 45 61 63 68 20 6c 65 76 65 6c 20 69  s.  Each level i
1410: 6e 63 6c 75 64 65 73 20 74 68 65 20 64 65 62 75  ncludes the debu
1420: 67 67 69 6e 67 20 6f 70 74 69 6f 6e 73 20 66 72  gging options fr
1430: 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a  om the previous.
1440: 23 20 6c 65 76 65 6c 73 2e 20 20 43 75 72 72 65  # levels.  Curre
1450: 6e 74 6c 79 2c 20 74 68 65 20 72 65 63 6f 67 6e  ntly, the recogn
1460: 69 7a 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20  ized values for 
1470: 44 45 42 55 47 20 61 72 65 3a 0a 23 0a 23 20 30  DEBUG are:.#.# 0
1480: 20 3d 3d 20 4e 44 45 42 55 47 3a 20 44 69 73 61   == NDEBUG: Disa
1490: 62 6c 65 73 20 61 73 73 65 72 74 28 29 20 61 6e  bles assert() an
14a0: 64 20 6f 74 68 65 72 20 72 75 6e 74 69 6d 65 20  d other runtime 
14b0: 64 69 61 67 6e 6f 73 74 69 63 73 2e 0a 23 20 31  diagnostics..# 1
14c0: 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c   == SQLITE_ENABL
14d0: 45 5f 41 50 49 5f 41 52 4d 4f 52 3a 20 65 78 74  E_API_ARMOR: ext
14e0: 72 61 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64  ra attempts to d
14f0: 65 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20  etect misuse of 
1500: 74 68 65 20 41 50 49 2e 0a 23 20 32 20 3d 3d 20  the API..# 2 == 
1510: 44 69 73 61 62 6c 65 73 20 4e 44 45 42 55 47 20  Disables NDEBUG 
1520: 61 6e 64 20 61 6c 6c 20 6f 70 74 69 6d 69 7a 61  and all optimiza
1530: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 6e 20 65  tions and then e
1540: 6e 61 62 6c 65 73 20 50 44 42 73 2e 0a 23 20 33  nables PDBs..# 3
1550: 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55 47   == SQLITE_DEBUG
1560: 3a 20 45 6e 61 62 6c 65 73 20 76 61 72 69 6f 75  : Enables variou
1570: 73 20 64 69 61 67 6e 6f 73 74 69 63 73 20 6d 65  s diagnostics me
1580: 73 73 61 67 65 73 20 61 6e 64 20 63 6f 64 65 2e  ssages and code.
1590: 0a 23 20 34 20 3d 3d 20 53 51 4c 49 54 45 5f 57  .# 4 == SQLITE_W
15a0: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
15b0: 44 41 54 45 3a 20 56 61 6c 69 64 61 74 65 20 74  DATE: Validate t
15c0: 68 65 20 57 69 6e 33 32 20 6e 61 74 69 76 65 20  he Win32 native 
15d0: 68 65 61 70 20 70 65 72 20 63 61 6c 6c 2e 0a 23  heap per call..#
15e0: 20 35 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42   5 == SQLITE_DEB
15f0: 55 47 5f 4f 53 5f 54 52 41 43 45 3a 20 45 6e 61  UG_OS_TRACE: Ena
1600: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
1610: 20 74 68 65 20 4f 53 54 52 41 43 45 28 29 20 6d   the OSTRACE() m
1620: 61 63 72 6f 73 2e 0a 23 20 36 20 3d 3d 20 53 51  acros..# 6 == SQ
1630: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
1640: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
1650: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 49 4f 54  put from the IOT
1660: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
1670: 0a 21 49 46 4e 44 45 46 20 44 45 42 55 47 0a 44  .!IFNDEF DEBUG.D
1680: 45 42 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a  EBUG = 0.!ENDIF.
1690: 0a 23 20 45 6e 61 62 6c 65 20 75 73 65 20 6f 66  .# Enable use of
16a0: 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 70 69   available compi
16b0: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
16c0: 73 3f 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 74 68  s?  Normally, th
16d0: 69 73 20 73 68 6f 75 6c 64 20 62 65 0a 23 20 6e  is should be.# n
16e0: 6f 6e 2d 7a 65 72 6f 2e 20 20 53 65 74 74 69 6e  on-zero.  Settin
16f0: 67 20 74 68 69 73 20 74 6f 20 7a 65 72 6f 2c 20  g this to zero, 
1700: 74 68 75 73 20 64 69 73 61 62 6c 69 6e 67 20 61  thus disabling a
1710: 6c 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  ll compiler opti
1720: 6d 69 7a 61 74 69 6f 6e 73 2c 0a 23 20 63 61 6e  mizations,.# can
1730: 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 74   be useful for t
1740: 65 73 74 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  esting..#.!IFNDE
1750: 46 20 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 0a  F OPTIMIZATIONS.
1760: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 20 3d 20  OPTIMIZATIONS = 
1770: 32 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  2.!ENDIF..# Set 
1780: 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f  this to non-0 to
1790: 20 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20   enable support 
17a0: 66 6f 72 20 74 68 65 20 73 65 73 73 69 6f 6e 20  for the session 
17b0: 65 78 74 65 6e 73 69 6f 6e 2e 0a 23 0a 21 49 46  extension..#.!IF
17c0: 4e 44 45 46 20 53 45 53 53 49 4f 4e 0a 53 45 53  NDEF SESSION.SES
17d0: 53 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  SION = 0.!ENDIF.
17e0: 0a 23 20 53 65 74 20 74 68 65 20 73 6f 75 72 63  .# Set the sourc
17f0: 65 20 63 6f 64 65 20 66 69 6c 65 20 74 6f 20 62  e code file to b
1800: 65 20 75 73 65 64 20 62 79 20 65 78 65 63 75 74  e used by execut
1810: 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 72 61 72  ables and librar
1820: 69 65 73 20 77 68 65 6e 0a 23 20 74 68 65 79 20  ies when.# they 
1830: 6e 65 65 64 20 74 68 65 20 61 6d 61 6c 67 61 6d  need the amalgam
1840: 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46  ation..#.!IFNDEF
1850: 20 53 51 4c 49 54 45 33 43 0a 21 49 46 20 24 28   SQLITE3C.!IF $(
1860: 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49  SPLIT_AMALGAMATI
1870: 4f 4e 29 21 3d 30 0a 53 51 4c 49 54 45 33 43 20  ON)!=0.SQLITE3C 
1880: 3d 20 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 0a  = sqlite3-all.c.
1890: 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 43 20 3d  !ELSE.SQLITE3C =
18a0: 20 73 71 6c 69 74 65 33 2e 63 0a 21 45 4e 44 49   sqlite3.c.!ENDI
18b0: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  F.!ENDIF..# Set 
18c0: 74 68 65 20 69 6e 63 6c 75 64 65 20 63 6f 64 65  the include code
18d0: 20 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64   file to be used
18e0: 20 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20   by executables 
18f0: 61 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68  and libraries wh
1900: 65 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 53  en.# they need S
1910: 51 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44 45 46  QLite..#.!IFNDEF
1920: 20 53 51 4c 49 54 45 33 48 0a 53 51 4c 49 54 45   SQLITE3H.SQLITE
1930: 33 48 20 3d 20 73 71 6c 69 74 65 33 2e 68 0a 21  3H = sqlite3.h.!
1940: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73  ENDIF..# This is
1950: 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65   the name to use
1960: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20   for the SQLite 
1970: 64 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62  dynamic link lib
1980: 72 61 72 79 20 28 44 4c 4c 29 2e 0a 23 0a 21 49  rary (DLL)..#.!I
1990: 46 4e 44 45 46 20 53 51 4c 49 54 45 33 44 4c 4c  FNDEF SQLITE3DLL
19a0: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30  .!IF $(FOR_WIN10
19b0: 29 21 3d 30 0a 53 51 4c 49 54 45 33 44 4c 4c 20  )!=0.SQLITE3DLL 
19c0: 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 64 6c 6c  = winsqlite3.dll
19d0: 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 44 4c  .!ELSE.SQLITE3DL
19e0: 4c 20 3d 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a  L = sqlite3.dll.
19f0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
1a00: 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d   This is the nam
1a10: 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65  e to use for the
1a20: 20 53 51 4c 69 74 65 20 69 6d 70 6f 72 74 20 6c   SQLite import l
1a30: 69 62 72 61 72 79 20 28 4c 49 42 29 2e 0a 23 0a  ibrary (LIB)..#.
1a40: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 4c  !IFNDEF SQLITE3L
1a50: 49 42 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  IB.!IF $(FOR_WIN
1a60: 31 30 29 21 3d 30 0a 53 51 4c 49 54 45 33 4c 49  10)!=0.SQLITE3LI
1a70: 42 20 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 6c  B = winsqlite3.l
1a80: 69 62 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33  ib.!ELSE.SQLITE3
1a90: 4c 49 42 20 3d 20 73 71 6c 69 74 65 33 2e 6c 69  LIB = sqlite3.li
1aa0: 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  b.!ENDIF.!ENDIF.
1ab0: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e  .# This is the n
1ac0: 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74  ame to use for t
1ad0: 68 65 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 20  he SQLite shell 
1ae0: 65 78 65 63 75 74 61 62 6c 65 20 28 45 58 45 29  executable (EXE)
1af0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49  ..#.!IFNDEF SQLI
1b00: 54 45 33 45 58 45 0a 21 49 46 20 24 28 46 4f 52  TE3EXE.!IF $(FOR
1b10: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54  _WIN10)!=0.SQLIT
1b20: 45 33 45 58 45 20 3d 20 77 69 6e 73 71 6c 69 74  E3EXE = winsqlit
1b30: 65 33 73 68 65 6c 6c 2e 65 78 65 0a 21 45 4c 53  e3shell.exe.!ELS
1b40: 45 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20 73  E.SQLITE3EXE = s
1b50: 71 6c 69 74 65 33 2e 65 78 65 0a 21 45 4e 44 49  qlite3.exe.!ENDI
1b60: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73  F.!ENDIF..# This
1b70: 20 69 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74   is the argument
1b80: 20 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65   used to set the
1b90: 20 70 72 6f 67 72 61 6d 20 64 61 74 61 62 61 73   program databas
1ba0: 65 20 28 50 44 42 29 20 66 69 6c 65 20 66 6f 72  e (PDB) file for
1bb0: 20 74 68 65 0a 23 20 53 51 4c 69 74 65 20 73 68   the.# SQLite sh
1bc0: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 28  ell executable (
1bd0: 45 58 45 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  EXE)..#.!IFNDEF 
1be0: 53 51 4c 49 54 45 33 45 58 45 50 44 42 0a 21 49  SQLITE3EXEPDB.!I
1bf0: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!=
1c00: 30 0a 53 51 4c 49 54 45 33 45 58 45 50 44 42 20  0.SQLITE3EXEPDB 
1c10: 3d 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 45  =.!ELSE.SQLITE3E
1c20: 58 45 50 44 42 20 3d 20 2f 70 64 62 3a 73 71 6c  XEPDB = /pdb:sql
1c30: 69 74 65 33 73 68 2e 70 64 62 0a 21 45 4e 44 49  ite3sh.pdb.!ENDI
1c40: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  F.!ENDIF..# <<ma
1c50: 72 6b 3e 3e 0a 23 20 54 68 65 73 65 20 61 72 65  rk>>.# These are
1c60: 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68   the names of th
1c70: 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 54 63 6c  e customized Tcl
1c80: 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 75 73   header files us
1c90: 65 64 20 62 79 20 76 61 72 69 6f 75 73 20 70 61  ed by various pa
1ca0: 72 74 73 0a 23 20 6f 66 20 74 68 69 73 20 6d 61  rts.# of this ma
1cb0: 6b 65 66 69 6c 65 20 77 68 65 6e 20 74 68 65 20  kefile when the 
1cc0: 73 74 64 63 61 6c 6c 20 63 61 6c 6c 69 6e 67 20  stdcall calling 
1cd0: 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 69 6e  convention is in
1ce0: 20 75 73 65 2e 20 20 49 74 20 69 73 20 6e 6f 74   use.  It is not
1cf0: 0a 23 20 75 73 65 64 20 66 6f 72 20 61 6e 79 20  .# used for any 
1d00: 6f 74 68 65 72 20 70 75 72 70 6f 73 65 2e 0a 23  other purpose..#
1d10: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 54  .!IFNDEF SQLITET
1d20: 43 4c 48 0a 53 51 4c 49 54 45 54 43 4c 48 20 3d  CLH.SQLITETCLH =
1d30: 20 73 71 6c 69 74 65 5f 74 63 6c 2e 68 0a 21 45   sqlite_tcl.h.!E
1d40: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 53 51  NDIF..!IFNDEF SQ
1d50: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 0a 53 51  LITETCLDECLSH.SQ
1d60: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 20 3d 20  LITETCLDECLSH = 
1d70: 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e  sqlite_tclDecls.
1d80: 68 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73  h.!ENDIF..# This
1d90: 20 69 73 20 74 68 65 20 6e 61 6d 65 20 74 6f 20   is the name to 
1da0: 75 73 65 20 66 6f 72 20 74 68 65 20 64 79 6e 61  use for the dyna
1db0: 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79  mic link library
1dc0: 20 28 44 4c 4c 29 20 63 6f 6e 74 61 69 6e 69 6e   (DLL) containin
1dd0: 67 20 74 68 65 0a 23 20 54 63 6c 20 62 69 6e 64  g the.# Tcl bind
1de0: 69 6e 67 73 20 66 6f 72 20 53 51 4c 69 74 65 2e  ings for SQLite.
1df0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54  .#.!IFNDEF SQLIT
1e00: 45 33 54 43 4c 44 4c 4c 0a 53 51 4c 49 54 45 33  E3TCLDLL.SQLITE3
1e10: 54 43 4c 44 4c 4c 20 3d 20 74 63 6c 73 71 6c 69  TCLDLL = tclsqli
1e20: 74 65 33 2e 64 6c 6c 0a 21 45 4e 44 49 46 0a 0a  te3.dll.!ENDIF..
1e30: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20  # These are the 
1e40: 61 64 64 69 74 69 6f 6e 61 6c 20 74 61 72 67 65  additional targe
1e50: 74 73 20 74 68 61 74 20 74 68 65 20 74 61 72 67  ts that the targ
1e60: 65 74 73 20 74 68 61 74 20 69 6e 74 65 67 72 61  ets that integra
1e70: 74 65 20 77 69 74 68 20 74 68 65 0a 23 20 54 63  te with the.# Tc
1e80: 6c 20 6c 69 62 72 61 72 79 20 73 68 6f 75 6c 64  l library should
1e90: 20 64 65 70 65 6e 64 20 6f 6e 20 77 68 65 6e 20   depend on when 
1ea0: 63 6f 6d 70 69 6c 69 6e 67 2c 20 65 74 63 2e 0a  compiling, etc..
1eb0: 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45  #.!IFNDEF SQLITE
1ec0: 5f 54 43 4c 5f 44 45 50 0a 21 49 46 20 24 28 55  _TCL_DEP.!IF $(U
1ed0: 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c  SE_STDCALL)!=0 |
1ee0: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
1ef0: 30 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50  0.SQLITE_TCL_DEP
1f00: 20 3d 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45   = $(SQLITETCLDE
1f10: 43 4c 53 48 29 20 24 28 53 51 4c 49 54 45 54 43  CLSH) $(SQLITETC
1f20: 4c 48 29 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45  LH).!ELSE.SQLITE
1f30: 5f 54 43 4c 5f 44 45 50 20 3d 0a 21 45 4e 44 49  _TCL_DEP =.!ENDI
1f40: 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61  F.!ENDIF.# <</ma
1f50: 72 6b 3e 3e 0a 0a 23 20 54 68 65 73 65 20 61 72  rk>>..# These ar
1f60: 65 20 74 68 65 20 22 73 74 61 6e 64 61 72 64 22  e the "standard"
1f70: 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74   SQLite compilat
1f80: 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65 64  ion options used
1f90: 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20   when compiling 
1fa0: 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64 6f 77  for.# the Window
1fb0: 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49  s platform..#.!I
1fc0: 46 4e 44 45 46 20 4f 50 54 5f 46 45 41 54 55 52  FNDEF OPT_FEATUR
1fd0: 45 5f 46 4c 41 47 53 0a 21 49 46 20 24 28 4d 49  E_FLAGS.!IF $(MI
1fe0: 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49  NIMAL_AMALGAMATI
1ff0: 4f 4e 29 3d 3d 30 0a 4f 50 54 5f 46 45 41 54 55  ON)==0.OPT_FEATU
2000: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54  RE_FLAGS = $(OPT
2010: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
2020: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
2030: 46 54 53 33 3d 31 0a 4f 50 54 5f 46 45 41 54 55  FTS3=1.OPT_FEATU
2040: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54  RE_FLAGS = $(OPT
2050: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
2060: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
2070: 52 54 52 45 45 3d 31 0a 4f 50 54 5f 46 45 41 54  RTREE=1.OPT_FEAT
2080: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50  URE_FLAGS = $(OP
2090: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
20a0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
20b0: 5f 47 45 4f 50 4f 4c 59 3d 31 0a 4f 50 54 5f 46  _GEOPOLY=1.OPT_F
20c0: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $
20d0: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
20e0: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  GS) -DSQLITE_ENA
20f0: 42 4c 45 5f 4a 53 4f 4e 31 3d 31 0a 4f 50 54 5f  BLE_JSON1=1.OPT_
2100: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FEATURE_FLAGS = 
2110: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(OPT_FEATURE_FL
2120: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  AGS) -DSQLITE_EN
2130: 41 42 4c 45 5f 53 54 4d 54 56 54 41 42 3d 31 0a  ABLE_STMTVTAB=1.
2140: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
2150: 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52  S = $(OPT_FEATUR
2160: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
2170: 45 5f 45 4e 41 42 4c 45 5f 44 42 50 41 47 45 5f  E_ENABLE_DBPAGE_
2180: 56 54 41 42 3d 31 0a 4f 50 54 5f 46 45 41 54 55  VTAB=1.OPT_FEATU
2190: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54  RE_FLAGS = $(OPT
21a0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
21b0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
21c0: 44 42 53 54 41 54 5f 56 54 41 42 3d 31 0a 4f 50  DBSTAT_VTAB=1.OP
21d0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20  T_FEATURE_FLAGS 
21e0: 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f  = $(OPT_FEATURE_
21f0: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
2200: 49 4e 54 52 4f 53 50 45 43 54 49 4f 4e 5f 50 52  INTROSPECTION_PR
2210: 41 47 4d 41 53 3d 31 0a 4f 50 54 5f 46 45 41 54  AGMAS=1.OPT_FEAT
2220: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50  URE_FLAGS = $(OP
2230: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
2240: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
2250: 5f 44 45 53 45 52 49 41 4c 49 5a 45 3d 31 0a 21  _DESERIALIZE=1.!
2260: 45 4e 44 49 46 0a 4f 50 54 5f 46 45 41 54 55 52  ENDIF.OPT_FEATUR
2270: 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f  E_FLAGS = $(OPT_
2280: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
2290: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 43  DSQLITE_ENABLE_C
22a0: 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54 41 3d 31  OLUMN_METADATA=1
22b0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68 6f 75 6c  .!ENDIF..# Shoul
22c0: 64 20 74 68 65 20 73 65 73 73 69 6f 6e 20 65 78  d the session ex
22d0: 74 65 6e 73 69 6f 6e 20 62 65 20 65 6e 61 62 6c  tension be enabl
22e0: 65 64 3f 20 20 49 66 20 73 6f 2c 20 61 64 64 20  ed?  If so, add 
22f0: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69  compilation opti
2300: 6f 6e 73 0a 23 20 74 6f 20 65 6e 61 62 6c 65 20  ons.# to enable 
2310: 69 74 2e 0a 23 0a 21 49 46 20 24 28 53 45 53 53  it..#.!IF $(SESS
2320: 49 4f 4e 29 21 3d 30 0a 4f 50 54 5f 46 45 41 54  ION)!=0.OPT_FEAT
2330: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50  URE_FLAGS = $(OP
2340: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
2350: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
2360: 5f 53 45 53 53 49 4f 4e 3d 31 0a 4f 50 54 5f 46  _SESSION=1.OPT_F
2370: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $
2380: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
2390: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  GS) -DSQLITE_ENA
23a0: 42 4c 45 5f 50 52 45 55 50 44 41 54 45 5f 48 4f  BLE_PREUPDATE_HO
23b0: 4f 4b 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 54  OK=1.!ENDIF..# T
23c0: 68 65 73 65 20 61 72 65 20 74 68 65 20 22 65 78  hese are the "ex
23d0: 74 65 6e 64 65 64 22 20 53 51 4c 69 74 65 20 63  tended" SQLite c
23e0: 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f  ompilation optio
23f0: 6e 73 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d  ns used when com
2400: 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74 68 65  piling for.# the
2410: 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74   Windows 10 plat
2420: 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20  form..#.!IFNDEF 
2430: 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  EXT_FEATURE_FLAG
2440: 53 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31  S.!IF $(FOR_WIN1
2450: 30 29 21 3d 30 0a 45 58 54 5f 46 45 41 54 55 52  0)!=0.EXT_FEATUR
2460: 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 58 54 5f  E_FLAGS = $(EXT_
2470: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
2480: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46  DSQLITE_ENABLE_F
2490: 54 53 34 3d 31 0a 45 58 54 5f 46 45 41 54 55 52  TS4=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 53 59 53 54 45 4d 5f 4d  DSQLITE_SYSTEM_M
24d0: 41 4c 4c 4f 43 3d 31 0a 45 58 54 5f 46 45 41 54  ALLOC=1.EXT_FEAT
24e0: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 58  URE_FLAGS = $(EX
24f0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
2500: 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
2510: 4f 43 41 4c 54 49 4d 45 3d 31 0a 21 45 4c 53 45  OCALTIME=1.!ELSE
2520: 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .EXT_FEATURE_FLA
2530: 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44  GS =.!ENDIF.!END
2540: 49 46 0a 0a 23 23 23 23 23 23 23 23 23 23 23 23  IF..############
2550: 23 23 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 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2580: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2590: 23 23 23 0a 23 23 23 23 23 23 23 23 23 23 23 23  ###.############
25a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
25b0: 23 23 23 20 45 4e 44 20 4f 46 20 4f 50 54 49 4f  ### END OF OPTIO
25c0: 4e 53 20 23 23 23 23 23 23 23 23 23 23 23 23 23  NS #############
25d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
25e0: 23 23 23 0a 23 23 23 23 23 23 23 23 23 23 23 23  ###.############
25f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2600: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2610: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2620: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2630: 23 23 23 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70  ###..# When comp
2640: 69 6c 69 6e 67 20 66 6f 72 20 74 68 65 20 57 69  iling for the Wi
2650: 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72  ndows 10 platfor
2660: 6d 2c 20 74 68 65 20 50 4c 41 54 46 4f 52 4d 20  m, the PLATFORM 
2670: 6d 61 63 72 6f 20 6d 75 73 74 20 62 65 20 73 65  macro must be se
2680: 74 0a 23 20 74 6f 20 61 6e 20 61 70 70 72 6f 70  t.# to an approp
2690: 72 69 61 74 65 20 76 61 6c 75 65 20 28 65 2e 67  riate value (e.g
26a0: 2e 20 78 38 36 2c 20 78 36 34 2c 20 61 72 6d 2c  . x86, x64, arm,
26b0: 20 61 72 6d 36 34 2c 20 65 74 63 29 2e 0a 23 0a   arm64, etc)..#.
26c0: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29  !IF $(FOR_WIN10)
26d0: 21 3d 30 0a 21 49 46 4e 44 45 46 20 50 4c 41 54  !=0.!IFNDEF PLAT
26e0: 46 4f 52 4d 0a 21 45 52 52 4f 52 20 55 73 69 6e  FORM.!ERROR Usin
26f0: 67 20 74 68 65 20 46 4f 52 5f 57 49 4e 31 30 20  g the FOR_WIN10 
2700: 6f 70 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20  option requires 
2710: 61 20 76 61 6c 75 65 20 66 6f 72 20 50 4c 41 54  a value for PLAT
2720: 46 4f 52 4d 2e 0a 21 45 4e 44 49 46 0a 21 45 4e  FORM..!ENDIF.!EN
2730: 44 49 46 0a 0a 23 20 54 68 69 73 20 61 73 73 75  DIF..# This assu
2740: 6d 65 73 20 74 68 61 74 20 4d 53 56 43 20 69 73  mes that MSVC is
2750: 20 61 6c 77 61 79 73 20 69 6e 73 74 61 6c 6c 65   always installe
2760: 64 20 69 6e 20 33 32 2d 62 69 74 20 50 72 6f 67  d in 32-bit Prog
2770: 72 61 6d 20 46 69 6c 65 73 20 64 69 72 65 63 74  ram Files direct
2780: 6f 72 79 0a 23 20 61 6e 64 20 73 65 74 73 20 74  ory.# and sets t
2790: 68 65 20 76 61 72 69 61 62 6c 65 20 66 6f 72 20  he variable for 
27a0: 75 73 65 20 69 6e 20 6c 6f 63 61 74 69 6e 67 20  use in locating 
27b0: 6f 74 68 65 72 20 33 32 2d 62 69 74 20 69 6e 73  other 32-bit ins
27c0: 74 61 6c 6c 73 20 61 63 63 6f 72 64 69 6e 67 6c  talls accordingl
27d0: 79 2e 0a 23 0a 50 52 4f 47 52 41 4d 46 49 4c 45  y..#.PROGRAMFILE
27e0: 53 5f 58 38 36 20 3d 20 24 28 56 43 49 4e 53 54  S_X86 = $(VCINST
27f0: 41 4c 4c 44 49 52 29 5c 2e 2e 5c 2e 2e 0a 50 52  ALLDIR)\..\...PR
2800: 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 20 3d  OGRAMFILES_X86 =
2810: 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f   $(PROGRAMFILES_
2820: 58 38 36 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65  X86:\\=\)..# Che
2830: 63 6b 20 66 6f 72 20 74 68 65 20 70 72 65 64 65  ck for the prede
2840: 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61  fined command ma
2850: 63 72 6f 20 43 43 2e 20 20 54 68 69 73 20 73 68  cro CC.  This sh
2860: 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68  ould point to th
2870: 65 20 63 6f 6d 70 69 6c 65 72 0a 23 20 62 69 6e  e compiler.# bin
2880: 61 72 79 20 66 6f 72 20 74 68 65 20 74 61 72 67  ary for the targ
2890: 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66  et platform.  If
28a0: 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66 69 6e   it is not defin
28b0: 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e  ed, simply defin
28c0: 65 20 69 74 20 74 6f 0a 23 20 74 68 65 20 6c 65  e it to.# the le
28d0: 67 61 63 79 20 64 65 66 61 75 6c 74 20 76 61 6c  gacy default val
28e0: 75 65 20 27 63 6c 2e 65 78 65 27 2e 0a 23 0a 21  ue 'cl.exe'..#.!
28f0: 49 46 4e 44 45 46 20 43 43 0a 43 43 20 3d 20 63  IFNDEF CC.CC = c
2900: 6c 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20  l.exe.!ENDIF..# 
2910: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72  Check for the pr
2920: 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64  edefined command
2930: 20 6d 61 63 72 6f 20 43 53 43 2e 20 20 54 68 69   macro CSC.  Thi
2940: 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74  s should point t
2950: 6f 20 61 20 77 6f 72 6b 69 6e 67 0a 23 20 43 20  o a working.# C 
2960: 53 68 61 72 70 20 63 6f 6d 70 69 6c 65 72 20 62  Sharp compiler b
2970: 69 6e 61 72 79 2e 20 20 49 66 20 69 74 20 69 73  inary.  If it is
2980: 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20 73 69   not defined, si
2990: 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74 20 74  mply define it t
29a0: 6f 20 74 68 65 0a 23 20 6c 65 67 61 63 79 20 64  o the.# legacy d
29b0: 65 66 61 75 6c 74 20 76 61 6c 75 65 20 27 63 73  efault value 'cs
29c0: 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45  c.exe'..#.!IFNDE
29d0: 46 20 43 53 43 0a 43 53 43 20 3d 20 63 73 63 2e  F CSC.CSC = csc.
29e0: 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68  exe.!ENDIF..# Ch
29f0: 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d  eck for the comm
2a00: 61 6e 64 20 6d 61 63 72 6f 20 4c 44 2e 20 20 54  and macro LD.  T
2a10: 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74  his should point
2a20: 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65 72 20 62   to the linker b
2a30: 69 6e 61 72 79 20 66 6f 72 0a 23 20 74 68 65 20  inary for.# the 
2a40: 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e  target platform.
2a50: 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64    If it is not d
2a60: 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64  efined, simply d
2a70: 65 66 69 6e 65 20 69 74 20 74 6f 20 74 68 65 20  efine it to the 
2a80: 6c 65 67 61 63 79 0a 23 20 64 65 66 61 75 6c 74  legacy.# default
2a90: 20 76 61 6c 75 65 20 27 6c 69 6e 6b 2e 65 78 65   value 'link.exe
2aa0: 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c 44 0a  '..#.!IFNDEF LD.
2ab0: 4c 44 20 3d 20 6c 69 6e 6b 2e 65 78 65 0a 21 45  LD = link.exe.!E
2ac0: 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f  NDIF..# Check fo
2ad0: 72 20 74 68 65 20 70 72 65 64 65 66 69 6e 65 64  r the predefined
2ae0: 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 52   command macro R
2af0: 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20  C.  This should 
2b00: 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 72 65 73  point to the res
2b10: 6f 75 72 63 65 0a 23 20 63 6f 6d 70 69 6c 65 72  ource.# compiler
2b20: 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65 20   binary for the 
2b30: 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e  target platform.
2b40: 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64    If it is not d
2b50: 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64  efined, simply d
2b60: 65 66 69 6e 65 0a 23 20 69 74 20 74 6f 20 74 68  efine.# it to th
2b70: 65 20 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74  e legacy default
2b80: 20 76 61 6c 75 65 20 27 72 63 2e 65 78 65 27 2e   value 'rc.exe'.
2b90: 0a 23 0a 21 49 46 4e 44 45 46 20 52 43 0a 52 43  .#.!IFNDEF RC.RC
2ba0: 20 3d 20 72 63 2e 65 78 65 0a 21 45 4e 44 49 46   = rc.exe.!ENDIF
2bb0: 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68  ..# Check for th
2bc0: 65 20 4d 53 56 43 20 72 75 6e 74 69 6d 65 20 6c  e MSVC runtime l
2bd0: 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72  ibrary path macr
2be0: 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74  o.  Otherwise, t
2bf0: 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c 0a 23  his value will.#
2c00: 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20   default to the 
2c10: 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20  'lib' directory 
2c20: 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 4d  underneath the M
2c30: 53 56 43 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e  SVC installation
2c40: 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49   directory..#.!I
2c50: 46 4e 44 45 46 20 43 52 54 4c 49 42 50 41 54 48  FNDEF CRTLIBPATH
2c60: 0a 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28  .CRTLIBPATH = $(
2c70: 56 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c 6c 69  VCINSTALLDIR)\li
2c80: 62 0a 21 45 4e 44 49 46 0a 0a 43 52 54 4c 49 42  b.!ENDIF..CRTLIB
2c90: 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50  PATH = $(CRTLIBP
2ca0: 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65  ATH:\\=\)..# Che
2cb0: 63 6b 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61  ck for the comma
2cc0: 6e 64 20 6d 61 63 72 6f 20 4e 43 43 2e 20 20 54  nd macro NCC.  T
2cd0: 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74  his should point
2ce0: 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 72   to the compiler
2cf0: 20 62 69 6e 61 72 79 0a 23 20 66 6f 72 20 74 68   binary.# for th
2d00: 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 65 20 63  e platform the c
2d10: 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65  ompilation proce
2d20: 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70 6c 61  ss is taking pla
2d30: 63 65 20 6f 6e 2e 20 20 49 66 20 69 74 20 69 73  ce on.  If it is
2d40: 20 6e 6f 74 0a 23 20 64 65 66 69 6e 65 64 2c 20   not.# defined, 
2d50: 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74  simply define it
2d60: 20 74 6f 20 68 61 76 65 20 74 68 65 20 73 61 6d   to have the sam
2d70: 65 20 76 61 6c 75 65 20 61 73 20 74 68 65 20 43  e value as the C
2d80: 43 20 6d 61 63 72 6f 2e 20 20 57 68 65 6e 0a 23  C macro.  When.#
2d90: 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67   cross-compiling
2da0: 2c 20 69 74 20 69 73 20 73 75 67 67 65 73 74 65  , it is suggeste
2db0: 64 20 74 68 61 74 20 74 68 69 73 20 6d 61 63 72  d that this macr
2dc0: 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 20 76 69  o be modified vi
2dd0: 61 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20  a the command.# 
2de0: 6c 69 6e 65 20 28 73 69 6e 63 65 20 6e 6d 61 6b  line (since nmak
2df0: 65 20 69 74 73 65 6c 66 20 64 6f 65 73 20 6e 6f  e itself does no
2e00: 74 20 70 72 6f 76 69 64 65 20 61 20 62 75 69 6c  t provide a buil
2e10: 74 2d 69 6e 20 6d 65 74 68 6f 64 20 74 6f 20 67  t-in method to g
2e20: 75 65 73 73 20 69 74 29 2e 0a 23 20 46 6f 72 20  uess it)..# For 
2e30: 65 78 61 6d 70 6c 65 2c 20 74 6f 20 75 73 65 20  example, to use 
2e40: 74 68 65 20 78 38 36 20 63 6f 6d 70 69 6c 65 72  the x86 compiler
2e50: 20 77 68 65 6e 20 63 72 6f 73 73 2d 63 6f 6d 70   when cross-comp
2e60: 69 6c 69 6e 67 20 66 6f 72 20 78 36 34 2c 20 61  iling for x64, a
2e70: 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 20   command.# line 
2e80: 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 66  similar to the f
2e90: 6f 6c 6c 6f 77 69 6e 67 20 63 6f 75 6c 64 20 62  ollowing could b
2ea0: 65 20 75 73 65 64 20 28 61 6c 6c 20 6f 6e 20 6f  e used (all on o
2eb0: 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20 20  ne line):.#.#   
2ec0: 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66    nmake /f Makef
2ed0: 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65 33 2e  ile.msc sqlite3.
2ee0: 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 20 20 20  dll.#           
2ef0: 58 43 4f 4d 50 49 4c 45 3d 31 20 55 53 45 5f 4e  XCOMPILE=1 USE_N
2f00: 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 3d 31  ATIVE_LIBPATHS=1
2f10: 0a 23 0a 23 20 41 6c 74 65 72 6e 61 74 69 76 65  .#.# Alternative
2f20: 6c 79 2c 20 74 68 65 20 66 75 6c 6c 20 70 61 74  ly, the full pat
2f30: 68 20 61 6e 64 20 66 69 6c 65 20 6e 61 6d 65 20  h and file name 
2f40: 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20  to the compiler 
2f50: 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65 0a 23  binary for the.#
2f60: 20 70 6c 61 74 66 6f 72 6d 20 74 68 65 20 63 6f   platform the co
2f70: 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73  mpilation proces
2f80: 73 20 69 73 20 74 61 6b 69 6e 67 20 70 6c 61 63  s is taking plac
2f90: 65 20 6d 61 79 20 62 65 20 73 70 65 63 69 66 69  e may be specifi
2fa0: 65 64 20 28 61 6c 6c 20 6f 6e 0a 23 20 6f 6e 65  ed (all on.# one
2fb0: 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20 20 20 20   line):.#.#     
2fc0: 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c  nmake /f Makefil
2fd0: 65 2e 6d 73 63 20 73 71 6c 69 74 65 33 2e 64 6c  e.msc sqlite3.dl
2fe0: 6c 0a 23 20 20 20 20 20 20 20 20 20 20 20 22 4e  l.#           "N
2ff0: 43 43 3d 22 22 25 56 43 49 4e 53 54 41 4c 4c 44  CC=""%VCINSTALLD
3000: 49 52 25 5c 62 69 6e 5c 63 6c 2e 65 78 65 22 22  IR%\bin\cl.exe""
3010: 22 0a 23 20 20 20 20 20 20 20 20 20 20 20 55 53  ".#           US
3020: 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48  E_NATIVE_LIBPATH
3030: 53 3d 31 0a 23 0a 21 49 46 44 45 46 20 4e 43 43  S=1.#.!IFDEF NCC
3040: 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d  .NCC = $(NCC:\\=
3050: 5c 29 0a 21 45 4c 53 45 49 46 20 24 28 58 43 4f  \).!ELSEIF $(XCO
3060: 4d 50 49 4c 45 29 21 3d 30 0a 4e 43 43 20 3d 20  MPILE)!=0.NCC = 
3070: 22 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29  "$(VCINSTALLDIR)
3080: 5c 62 69 6e 5c 24 28 43 43 29 22 0a 4e 43 43 20  \bin\$(CC)".NCC 
3090: 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29 0a 21 45  = $(NCC:\\=\).!E
30a0: 4c 53 45 0a 4e 43 43 20 3d 20 24 28 43 43 29 0a  LSE.NCC = $(CC).
30b0: 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20  !ENDIF..# Check 
30c0: 66 6f 72 20 74 68 65 20 4d 53 56 43 20 6e 61 74  for the MSVC nat
30d0: 69 76 65 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  ive runtime libr
30e0: 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20  ary path macro. 
30f0: 20 4f 74 68 65 72 77 69 73 65 2c 0a 23 20 74 68   Otherwise,.# th
3100: 69 73 20 76 61 6c 75 65 20 77 69 6c 6c 20 64 65  is value will de
3110: 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27 6c 69  fault to the 'li
3120: 62 27 20 64 69 72 65 63 74 6f 72 79 20 75 6e 64  b' directory und
3130: 65 72 6e 65 61 74 68 20 74 68 65 20 4d 53 56 43  erneath the MSVC
3140: 0a 23 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20  .# installation 
3150: 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46  directory..#.!IF
3160: 4e 44 45 46 20 4e 43 52 54 4c 49 42 50 41 54 48  NDEF NCRTLIBPATH
3170: 0a 4e 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24  .NCRTLIBPATH = $
3180: 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c 6c  (VCINSTALLDIR)\l
3190: 69 62 0a 21 45 4e 44 49 46 0a 0a 4e 43 52 54 4c  ib.!ENDIF..NCRTL
31a0: 49 42 50 41 54 48 20 3d 20 24 28 4e 43 52 54 4c  IBPATH = $(NCRTL
31b0: 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20  IBPATH:\\=\)..# 
31c0: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 50 6c  Check for the Pl
31d0: 61 74 66 6f 72 6d 20 53 44 4b 20 6c 69 62 72 61  atform SDK libra
31e0: 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 20  ry path macro.  
31f0: 4f 74 68 65 72 77 69 73 65 2c 20 74 68 69 73 0a  Otherwise, this.
3200: 23 20 76 61 6c 75 65 20 77 69 6c 6c 20 64 65 66  # value will def
3210: 61 75 6c 74 20 74 6f 20 74 68 65 20 27 6c 69 62  ault to the 'lib
3220: 27 20 64 69 72 65 63 74 6f 72 79 20 75 6e 64 65  ' directory unde
3230: 72 6e 65 61 74 68 20 74 68 65 20 57 69 6e 64 6f  rneath the Windo
3240: 77 73 0a 23 20 53 44 4b 20 69 6e 73 74 61 6c 6c  ws.# SDK install
3250: 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 20  ation directory 
3260: 28 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74  (the environment
3270: 20 76 61 72 69 61 62 6c 65 20 75 73 65 64 20 61   variable used a
3280: 70 70 65 61 72 73 0a 23 20 74 6f 20 62 65 20 61  ppears.# to be a
3290: 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 75 73  vailable when us
32a0: 69 6e 67 20 56 69 73 75 61 6c 20 43 2b 2b 20 32  ing Visual C++ 2
32b0: 30 30 38 20 6f 72 20 6c 61 74 65 72 20 76 69 61  008 or later via
32c0: 20 74 68 65 0a 23 20 63 6f 6d 6d 61 6e 64 20 6c   the.# command l
32d0: 69 6e 65 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  ine)..#.!IFNDEF 
32e0: 4e 53 44 4b 4c 49 42 50 41 54 48 0a 4e 53 44 4b  NSDKLIBPATH.NSDK
32f0: 4c 49 42 50 41 54 48 20 3d 20 24 28 57 49 4e 44  LIBPATH = $(WIND
3300: 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69 62 0a 21  OWSSDKDIR)\lib.!
3310: 45 4e 44 49 46 0a 0a 4e 53 44 4b 4c 49 42 50 41  ENDIF..NSDKLIBPA
3320: 54 48 20 3d 20 24 28 4e 53 44 4b 4c 49 42 50 41  TH = $(NSDKLIBPA
3330: 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63  TH:\\=\)..# Chec
3340: 6b 20 66 6f 72 20 74 68 65 20 55 43 52 54 20 6c  k for the UCRT l
3350: 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72  ibrary path macr
3360: 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74  o.  Otherwise, t
3370: 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c 0a 23  his value will.#
3380: 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20   default to the 
3390: 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66 69 63  version-specific
33a0: 2c 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65 63 69  , platform-speci
33b0: 66 69 63 20 27 6c 69 62 27 20 64 69 72 65 63 74  fic 'lib' direct
33c0: 6f 72 79 0a 23 20 75 6e 64 65 72 6e 65 61 74 68  ory.# underneath
33d0: 20 74 68 65 20 57 69 6e 64 6f 77 73 20 53 44 4b   the Windows SDK
33e0: 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69   installation di
33f0: 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44  rectory..#.!IFND
3400: 45 46 20 55 43 52 54 4c 49 42 50 41 54 48 0a 55  EF UCRTLIBPATH.U
3410: 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 57  CRTLIBPATH = $(W
3420: 49 4e 44 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69  INDOWSSDKDIR)\li
3430: 62 5c 24 28 57 49 4e 44 4f 57 53 53 44 4b 4c 49  b\$(WINDOWSSDKLI
3440: 42 56 45 52 53 49 4f 4e 29 5c 75 63 72 74 5c 24  BVERSION)\ucrt\$
3450: 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45 4e 44 49  (PLATFORM).!ENDI
3460: 46 0a 0a 55 43 52 54 4c 49 42 50 41 54 48 20 3d  F..UCRTLIBPATH =
3470: 20 24 28 55 43 52 54 4c 49 42 50 41 54 48 3a 5c   $(UCRTLIBPATH:\
3480: 5c 3d 5c 29 0a 0a 23 20 43 20 63 6f 6d 70 69 6c  \=\)..# C compil
3490: 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66  er and options f
34a0: 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69  or use in buildi
34b0: 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20 74  ng executables t
34c0: 68 61 74 0a 23 20 77 69 6c 6c 20 72 75 6e 20 6f  hat.# will run o
34d0: 6e 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74  n the platform t
34e0: 68 61 74 20 69 73 20 64 6f 69 6e 67 20 74 68 65  hat is doing the
34f0: 20 62 75 69 6c 64 2e 0a 23 0a 21 49 46 20 24 28   build..#.!IF $(
3500: 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30  USE_FULLWARN)!=0
3510: 0a 42 43 43 20 3d 20 24 28 4e 43 43 29 20 2d 6e  .BCC = $(NCC) -n
3520: 6f 6c 6f 67 6f 20 2d 57 34 20 2d 46 64 24 2a 2e  ologo -W4 -Fd$*.
3530: 70 64 62 20 24 28 43 43 4f 50 54 53 29 20 24 28  pdb $(CCOPTS) $(
3540: 42 43 43 4f 50 54 53 29 0a 21 45 4c 53 45 0a 42  BCCOPTS).!ELSE.B
3550: 43 43 20 3d 20 24 28 4e 43 43 29 20 2d 6e 6f 6c  CC = $(NCC) -nol
3560: 6f 67 6f 20 2d 57 33 20 2d 46 64 24 2a 2e 70 64  ogo -W3 -Fd$*.pd
3570: 62 20 24 28 43 43 4f 50 54 53 29 20 24 28 42 43  b $(CCOPTS) $(BC
3580: 43 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23  COPTS).!ENDIF..#
3590: 20 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62   Check if assemb
35a0: 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73  ly code listings
35b0: 20 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72   should be gener
35c0: 61 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75  ated for the sou
35d0: 72 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73  rce.# code files
35e0: 20 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e   to be compiled.
35f0: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53  .#.!IF $(USE_LIS
3600: 54 49 4e 47 53 29 21 3d 30 0a 42 43 43 20 3d 20  TINGS)!=0.BCC = 
3610: 24 28 42 43 43 29 20 2d 46 41 63 73 0a 21 45 4e  $(BCC) -FAcs.!EN
3620: 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20  DIF..# Check if 
3630: 74 68 65 20 6e 61 74 69 76 65 20 6c 69 62 72 61  the native libra
3640: 72 79 20 70 61 74 68 73 20 73 68 6f 75 6c 64 20  ry paths should 
3650: 62 65 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d  be used when com
3660: 70 69 6c 69 6e 67 0a 23 20 74 68 65 20 63 6f 6d  piling.# the com
3670: 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73 20  mand line tools 
3680: 75 73 65 64 20 64 75 72 69 6e 67 20 74 68 65 20  used during the 
3690: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63  compilation proc
36a0: 65 73 73 2e 20 20 49 66 0a 23 20 73 6f 2c 20 73  ess.  If.# so, s
36b0: 65 74 20 74 68 65 20 6e 65 63 65 73 73 61 72 79  et the necessary
36c0: 20 6d 61 63 72 6f 20 6e 6f 77 2e 0a 23 0a 21 49   macro now..#.!I
36d0: 46 20 24 28 55 53 45 5f 4e 41 54 49 56 45 5f 4c  F $(USE_NATIVE_L
36e0: 49 42 50 41 54 48 53 29 21 3d 30 0a 4e 4c 54 4c  IBPATHS)!=0.NLTL
36f0: 49 42 50 41 54 48 53 20 3d 20 22 2f 4c 49 42 50  IBPATHS = "/LIBP
3700: 41 54 48 3a 24 28 4e 43 52 54 4c 49 42 50 41 54  ATH:$(NCRTLIBPAT
3710: 48 29 22 20 22 2f 4c 49 42 50 41 54 48 3a 24 28  H)" "/LIBPATH:$(
3720: 4e 53 44 4b 4c 49 42 50 41 54 48 29 22 0a 0a 21  NSDKLIBPATH)"..!
3730: 49 46 44 45 46 20 4e 55 43 52 54 4c 49 42 50 41  IFDEF NUCRTLIBPA
3740: 54 48 0a 4e 55 43 52 54 4c 49 42 50 41 54 48 20  TH.NUCRTLIBPATH 
3750: 3d 20 24 28 4e 55 43 52 54 4c 49 42 50 41 54 48  = $(NUCRTLIBPATH
3760: 3a 5c 5c 3d 5c 29 0a 4e 4c 54 4c 49 42 50 41 54  :\\=\).NLTLIBPAT
3770: 48 53 20 3d 20 24 28 4e 4c 54 4c 49 42 50 41 54  HS = $(NLTLIBPAT
3780: 48 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28  HS) "/LIBPATH:$(
3790: 4e 55 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21  NUCRTLIBPATH)".!
37a0: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
37b0: 43 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f  C compiler and o
37c0: 70 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69  ptions for use i
37d0: 6e 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75  n building execu
37e0: 74 61 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69  tables that.# wi
37f0: 6c 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20 74 61  ll run on the ta
3800: 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20  rget platform.  
3810: 28 42 43 43 20 61 6e 64 20 54 43 43 20 61 72 65  (BCC and TCC are
3820: 20 75 73 75 61 6c 6c 79 20 74 68 65 0a 23 20 73   usually the.# s
3830: 61 6d 65 20 75 6e 6c 65 73 73 20 79 6f 75 72 20  ame unless your 
3840: 61 72 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c  are cross-compil
3850: 69 6e 67 2e 29 0a 23 0a 21 49 46 20 24 28 55 53  ing.).#.!IF $(US
3860: 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 54  E_FULLWARN)!=0.T
3870: 43 43 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f  CC = $(CC) -nolo
3880: 67 6f 20 2d 57 34 20 2d 44 49 4e 43 4c 55 44 45  go -W4 -DINCLUDE
3890: 5f 4d 53 56 43 5f 48 3d 31 20 24 28 43 43 4f 50  _MSVC_H=1 $(CCOP
38a0: 54 53 29 20 24 28 54 43 43 4f 50 54 53 29 0a 21  TS) $(TCCOPTS).!
38b0: 45 4c 53 45 0a 54 43 43 20 3d 20 24 28 43 43 29  ELSE.TCC = $(CC)
38c0: 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43   -nologo -W3 $(C
38d0: 43 4f 50 54 53 29 20 24 28 54 43 43 4f 50 54 53  COPTS) $(TCCOPTS
38e0: 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63  ).!ENDIF..# Chec
38f0: 6b 20 69 66 20 77 61 72 6e 69 6e 67 73 20 73 68  k if warnings sh
3900: 6f 75 6c 64 20 62 65 20 74 72 65 61 74 65 64 20  ould be treated 
3910: 61 73 20 65 72 72 6f 72 73 20 77 68 65 6e 20 63  as errors when c
3920: 6f 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 20  ompiling..#.!IF 
3930: 24 28 55 53 45 5f 46 41 54 41 4c 5f 57 41 52 4e  $(USE_FATAL_WARN
3940: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC
3950: 29 20 2d 57 58 0a 21 45 4e 44 49 46 0a 0a 54 43  ) -WX.!ENDIF..TC
3960: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c  C = $(TCC) -DSQL
3970: 49 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e  ITE_OS_WIN=1 -I.
3980: 20 2d 49 24 28 54 4f 50 29 20 2d 49 24 28 54 4f   -I$(TOP) -I$(TO
3990: 50 29 5c 73 72 63 20 2d 66 70 3a 70 72 65 63 69  P)\src -fp:preci
39a0: 73 65 0a 52 43 43 20 3d 20 24 28 52 43 29 20 2d  se.RCC = $(RC) -
39b0: 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31  DSQLITE_OS_WIN=1
39c0: 20 2d 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49   -I. -I$(TOP) -I
39d0: 24 28 54 4f 50 29 5c 73 72 63 20 24 28 52 43 4f  $(TOP)\src $(RCO
39e0: 50 54 53 29 20 24 28 52 43 43 4f 50 54 53 29 0a  PTS) $(RCCOPTS).
39f0: 0a 23 20 43 68 65 63 6b 20 69 66 20 77 65 20 77  .# Check if we w
3a00: 61 6e 74 20 74 6f 20 75 73 65 20 74 68 65 20 22  ant to use the "
3a10: 73 74 64 63 61 6c 6c 22 20 63 61 6c 6c 69 6e 67  stdcall" calling
3a20: 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 77 68 65 6e   convention when
3a30: 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 20 54 68   compiling..# Th
3a40: 69 73 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72  is is not suppor
3a50: 74 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69  ted by the compi
3a60: 6c 65 72 73 20 66 6f 72 20 6e 6f 6e 2d 78 38 36  lers for non-x86
3a70: 20 70 6c 61 74 66 6f 72 6d 73 2e 20 20 49 74 20   platforms.  It 
3a80: 73 68 6f 75 6c 64 0a 23 20 61 6c 73 6f 20 62 65  should.# also be
3a90: 20 6e 6f 74 65 64 20 68 65 72 65 20 74 68 61 74   noted here that
3aa0: 20 62 75 69 6c 64 69 6e 67 20 61 6e 79 20 74 61   building any ta
3ab0: 72 67 65 74 20 77 69 74 68 20 74 68 65 73 65 20  rget with these 
3ac0: 22 73 74 64 63 61 6c 6c 22 20 6f 70 74 69 6f 6e  "stdcall" option
3ad0: 73 0a 23 20 77 69 6c 6c 20 6d 6f 73 74 20 6c 69  s.# will most li
3ae0: 6b 65 6c 79 20 66 61 69 6c 20 69 66 20 74 68 65  kely fail if the
3af0: 20 54 63 6c 20 6c 69 62 72 61 72 79 20 69 73 20   Tcl library is 
3b00: 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 20 20  also required.  
3b10: 54 68 69 73 20 69 73 20 64 75 65 0a 23 20 74 6f  This is due.# to
3b20: 20 68 6f 77 20 74 68 65 20 54 63 6c 20 6c 69 62   how the Tcl lib
3b30: 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 61  rary functions a
3b40: 72 65 20 64 65 63 6c 61 72 65 64 20 61 6e 64 20  re declared and 
3b50: 65 78 70 6f 72 74 65 64 20 28 69 2e 65 2e 20 77  exported (i.e. w
3b60: 69 74 68 6f 75 74 0a 23 20 61 6e 20 65 78 70 6c  ithout.# an expl
3b70: 69 63 69 74 20 63 61 6c 6c 69 6e 67 20 63 6f 6e  icit calling con
3b80: 76 65 6e 74 69 6f 6e 2c 20 77 68 69 63 68 20 72  vention, which r
3b90: 65 73 75 6c 74 73 20 69 6e 20 22 63 64 65 63 6c  esults in "cdecl
3ba0: 22 29 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  ")..#.!IF $(USE_
3bb0: 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24  STDCALL)!=0 || $
3bc0: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21  (FOR_WIN10)!=0.!
3bd0: 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22  IF "$(PLATFORM)"
3be0: 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f 43 43 4f  =="x86".CORE_CCO
3bf0: 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44  NV_OPTS = -Gz -D
3c00: 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63  SQLITE_CDECL=__c
3c10: 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50  decl -DSQLITE_AP
3c20: 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20  ICALL=__stdcall 
3c30: 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43  -DSQLITE_CALLBAC
3c40: 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51  K=__stdcall -DSQ
3c50: 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74  LITE_SYSAPI=__st
3c60: 64 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f 4e  dcall.SHELL_CCON
3c70: 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53  V_OPTS = -Gz -DS
3c80: 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64  QLITE_CDECL=__cd
3c90: 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49  ecl -DSQLITE_API
3ca0: 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  CALL=__stdcall -
3cb0: 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b  DSQLITE_CALLBACK
3cc0: 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c  =__stdcall -DSQL
3cd0: 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64  ITE_SYSAPI=__std
3ce0: 63 61 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  call.# <<mark>>.
3cf0: 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20  TEST_CCONV_OPTS 
3d00: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43  = -Gz -DSQLITE_C
3d10: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53  DECL=__cdecl -DS
3d20: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f  QLITE_APICALL=__
3d30: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45  stdcall -DSQLITE
3d40: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63  _CALLBACK=__stdc
3d50: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53  all -DSQLITE_SYS
3d60: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  API=__stdcall -D
3d70: 49 4e 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f 54  INCLUDE_SQLITE_T
3d80: 43 4c 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f  CL_H=1 -DSQLITE_
3d90: 54 43 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a 23  TCLAPI=__cdecl.#
3da0: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45   <</mark>>.!ELSE
3db0: 0a 21 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52  .!IFNDEF PLATFOR
3dc0: 4d 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54  M.CORE_CCONV_OPT
3dd0: 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45  S = -Gz -DSQLITE
3de0: 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d  _CDECL=__cdecl -
3df0: 44 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d  DSQLITE_APICALL=
3e00: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
3e10: 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74  TE_CALLBACK=__st
3e20: 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53  dcall -DSQLITE_S
3e30: 59 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a  YSAPI=__stdcall.
3e40: 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53  SHELL_CCONV_OPTS
3e50: 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f   = -Gz -DSQLITE_
3e60: 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44  CDECL=__cdecl -D
3e70: 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f  SQLITE_APICALL=_
3e80: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
3e90: 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64  E_CALLBACK=__std
3ea0: 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59  call -DSQLITE_SY
3eb0: 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23  SAPI=__stdcall.#
3ec0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43   <<mark>>.TEST_C
3ed0: 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20  CONV_OPTS = -Gz 
3ee0: 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f  -DSQLITE_CDECL=_
3ef0: 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f  _cdecl -DSQLITE_
3f00: 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c  APICALL=__stdcal
3f10: 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42  l -DSQLITE_CALLB
3f20: 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  ACK=__stdcall -D
3f30: 53 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f  SQLITE_SYSAPI=__
3f40: 73 74 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44  stdcall -DINCLUD
3f50: 45 5f 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31  E_SQLITE_TCL_H=1
3f60: 20 2d 44 53 51 4c 49 54 45 5f 54 43 4c 41 50 49   -DSQLITE_TCLAPI
3f70: 3d 5f 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61  =__cdecl.# <</ma
3f80: 72 6b 3e 3e 0a 21 45 4c 53 45 0a 43 4f 52 45 5f  rk>>.!ELSE.CORE_
3f90: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45  CCONV_OPTS =.SHE
3fa0: 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a  LL_CCONV_OPTS =.
3fb0: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f  # <<mark>>.TEST_
3fc0: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c  CCONV_OPTS =.# <
3fd0: 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a  </mark>>.!ENDIF.
3fe0: 21 45 4e 44 49 46 0a 21 45 4c 53 45 0a 43 4f 52  !ENDIF.!ELSE.COR
3ff0: 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53  E_CCONV_OPTS =.S
4000: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20  HELL_CCONV_OPTS 
4010: 3d 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53  =.# <<mark>>.TES
4020: 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23  T_CCONV_OPTS =.#
4030: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49   <</mark>>.!ENDI
4040: 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61  F..# These are a
4050: 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c  dditional compil
4060: 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20  er options used 
4070: 66 6f 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62  for the core lib
4080: 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20  rary..#.!IFNDEF 
4090: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
40a0: 53 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f  S.!IF $(DYNAMIC_
40b0: 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46  SHELL)!=0 || $(F
40c0: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 43 4f 52  OR_WIN10)!=0.COR
40d0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d  E_COMPILE_OPTS =
40e0: 20 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50   $(CORE_CCONV_OP
40f0: 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 41 50 49  TS) -DSQLITE_API
4100: 3d 5f 5f 64 65 63 6c 73 70 65 63 28 64 6c 6c 65  =__declspec(dlle
4110: 78 70 6f 72 74 29 0a 21 45 4c 53 45 0a 43 4f 52  xport).!ELSE.COR
4120: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d  E_COMPILE_OPTS =
4130: 20 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50   $(CORE_CCONV_OP
4140: 54 53 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  TS).!ENDIF.!ENDI
4150: 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74  F..# These are t
4160: 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 61  he additional ta
4170: 72 67 65 74 73 20 74 68 61 74 20 74 68 65 20 63  rgets that the c
4180: 6f 72 65 20 6c 69 62 72 61 72 79 20 73 68 6f 75  ore library shou
4190: 6c 64 20 64 65 70 65 6e 64 20 6f 6e 0a 23 20 77  ld depend on.# w
41a0: 68 65 6e 20 6c 69 6e 6b 69 6e 67 2e 0a 23 0a 21  hen linking..#.!
41b0: 49 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b  IFNDEF CORE_LINK
41c0: 5f 44 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d  _DEP.!IF $(DYNAM
41d0: 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52  IC_SHELL)!=0.COR
41e0: 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4c  E_LINK_DEP =.!EL
41f0: 53 45 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30  SEIF $(FOR_WIN10
4200: 29 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46  )==0 || "$(PLATF
4210: 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52  ORM)"=="x86".COR
4220: 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 20 73 71 6c  E_LINK_DEP = sql
4230: 69 74 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a 43  ite3.def.!ELSE.C
4240: 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21  ORE_LINK_DEP =.!
4250: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
4260: 54 68 65 73 65 20 61 72 65 20 61 64 64 69 74 69  These are additi
4270: 6f 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69  onal linker opti
4280: 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68 65  ons used for the
4290: 20 63 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23   core library..#
42a0: 0a 21 49 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49  .!IFNDEF CORE_LI
42b0: 4e 4b 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59  NK_OPTS.!IF $(DY
42c0: 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a  NAMIC_SHELL)!=0.
42d0: 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d  CORE_LINK_OPTS =
42e0: 0a 21 45 4c 53 45 49 46 20 24 28 46 4f 52 5f 57  .!ELSEIF $(FOR_W
42f0: 49 4e 31 30 29 3d 3d 30 20 7c 7c 20 22 24 28 50  IN10)==0 || "$(P
4300: 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22  LATFORM)"=="x86"
4310: 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20  .CORE_LINK_OPTS 
4320: 3d 20 2f 44 45 46 3a 73 71 6c 69 74 65 33 2e 64  = /DEF:sqlite3.d
4330: 65 66 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49  ef.!ELSE.CORE_LI
4340: 4e 4b 5f 4f 50 54 53 20 3d 0a 21 45 4e 44 49 46  NK_OPTS =.!ENDIF
4350: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65  .!ENDIF..# These
4360: 20 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20   are additional 
4370: 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73  compiler options
4380: 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 73 68   used for the sh
4390: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a  ell executable..
43a0: 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f  #.!IFNDEF SHELL_
43b0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46  COMPILE_OPTS.!IF
43c0: 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c   $(DYNAMIC_SHELL
43d0: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49  )!=0 || $(FOR_WI
43e0: 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f  N10)!=0.SHELL_CO
43f0: 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53  MPILE_OPTS = $(S
4400: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29  HELL_CCONV_OPTS)
4410: 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f   -DSQLITE_API=__
4420: 64 65 63 6c 73 70 65 63 28 64 6c 6c 69 6d 70 6f  declspec(dllimpo
4430: 72 74 29 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f  rt).!ELSE.SHELL_
4440: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24  COMPILE_OPTS = $
4450: 28 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54  (SHELL_CCONV_OPT
4460: 53 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  S).!ENDIF.!ENDIF
4470: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20  ..# This is the 
4480: 73 6f 75 72 63 65 20 63 6f 64 65 20 74 68 61 74  source code that
4490: 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75   the shell execu
44a0: 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 62 65 20  table should be 
44b0: 63 6f 6d 70 69 6c 65 64 0a 23 20 77 69 74 68 2e  compiled.# with.
44c0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c  .#.!IFNDEF SHELL
44d0: 5f 43 4f 52 45 5f 53 52 43 0a 21 49 46 20 24 28  _CORE_SRC.!IF $(
44e0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d  DYNAMIC_SHELL)!=
44f0: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10
4500: 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f  )!=0.SHELL_CORE_
4510: 53 52 43 20 3d 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  SRC =.# <<mark>>
4520: 0a 21 45 4c 53 45 49 46 20 24 28 55 53 45 5f 41  .!ELSEIF $(USE_A
4530: 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a  MALGAMATION)==0.
4540: 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d  SHELL_CORE_SRC =
4550: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c  .# <</mark>>.!EL
4560: 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52  SE.SHELL_CORE_SR
4570: 43 20 3d 20 24 28 53 51 4c 49 54 45 33 43 29 0a  C = $(SQLITE3C).
4580: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
4590: 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 72   This is the cor
45a0: 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 74  e library that t
45b0: 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61  he shell executa
45c0: 62 6c 65 20 73 68 6f 75 6c 64 20 64 65 70 65 6e  ble should depen
45d0: 64 20 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20  d on..#.!IFNDEF 
45e0: 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 0a 21  SHELL_CORE_DEP.!
45f0: 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45  IF $(DYNAMIC_SHE
4600: 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f  LL)!=0 || $(FOR_
4610: 57 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f  WIN10)!=0.SHELL_
4620: 43 4f 52 45 5f 44 45 50 20 3d 20 24 28 53 51 4c  CORE_DEP = $(SQL
4630: 49 54 45 33 44 4c 4c 29 0a 23 20 3c 3c 6d 61 72  ITE3DLL).# <<mar
4640: 6b 3e 3e 0a 21 45 4c 53 45 49 46 20 24 28 55 53  k>>.!ELSEIF $(US
4650: 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d  E_AMALGAMATION)=
4660: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45  =0.SHELL_CORE_DE
4670: 50 20 3d 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c  P = libsqlite3.l
4680: 69 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21  ib.# <</mark>>.!
4690: 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f  ELSE.SHELL_CORE_
46a0: 44 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e  DEP =.!ENDIF.!EN
46b0: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  DIF..# <<mark>>.
46c0: 23 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72  # If zlib suppor
46d0: 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64  t is enabled, ad
46e0: 64 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 69  d the dependenci
46f0: 65 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46  es for it..#.!IF
4700: 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 20   $(USE_ZLIB)!=0 
4710: 26 26 20 24 28 42 55 49 4c 44 5f 5a 4c 49 42 29  && $(BUILD_ZLIB)
4720: 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44  !=0.SHELL_CORE_D
4730: 45 50 20 3d 20 7a 6c 69 62 20 24 28 53 48 45 4c  EP = zlib $(SHEL
4740: 4c 5f 43 4f 52 45 5f 44 45 50 29 0a 54 45 53 54  L_CORE_DEP).TEST
4750: 46 49 58 54 55 52 45 5f 44 45 50 20 3d 20 7a 6c  FIXTURE_DEP = zl
4760: 69 62 20 24 28 54 45 53 54 46 49 58 54 55 52 45  ib $(TESTFIXTURE
4770: 5f 44 45 50 29 0a 21 45 4e 44 49 46 0a 23 20 3c  _DEP).!ENDIF.# <
4780: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 73  </mark>>..# This
4790: 20 69 73 20 74 68 65 20 63 6f 72 65 20 6c 69 62   is the core lib
47a0: 72 61 72 79 20 74 68 61 74 20 74 68 65 20 73 68  rary that the sh
47b0: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 73  ell executable s
47c0: 68 6f 75 6c 64 20 6c 69 6e 6b 20 77 69 74 68 2e  hould link with.
47d0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c  .#.!IFNDEF SHELL
47e0: 5f 43 4f 52 45 5f 4c 49 42 0a 21 49 46 20 24 28  _CORE_LIB.!IF $(
47f0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d  DYNAMIC_SHELL)!=
4800: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10
4810: 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f  )!=0.SHELL_CORE_
4820: 4c 49 42 20 3d 20 24 28 53 51 4c 49 54 45 33 4c  LIB = $(SQLITE3L
4830: 49 42 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21  IB).# <<mark>>.!
4840: 45 4c 53 45 49 46 20 24 28 55 53 45 5f 41 4d 41  ELSEIF $(USE_AMA
4850: 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 53 48  LGAMATION)==0.SH
4860: 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 6c  ELL_CORE_LIB = l
4870: 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 23 20  ibsqlite3.lib.# 
4880: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a  <</mark>>.!ELSE.
4890: 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d  SHELL_CORE_LIB =
48a0: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
48b0: 23 20 54 68 65 73 65 20 61 72 65 20 61 64 64 69  # These are addi
48c0: 74 69 6f 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70  tional linker op
48d0: 74 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74  tions used for t
48e0: 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61  he shell executa
48f0: 62 6c 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53  ble..#.!IFNDEF S
4900: 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 53  HELL_LINK_OPTS.S
4910: 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d  HELL_LINK_OPTS =
4920: 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49   $(SHELL_CORE_LI
4930: 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65  B).!ENDIF..# Che
4940: 63 6b 20 69 66 20 61 73 73 65 6d 62 6c 79 20 63  ck if assembly c
4950: 6f 64 65 20 6c 69 73 74 69 6e 67 73 20 73 68 6f  ode listings sho
4960: 75 6c 64 20 62 65 20 67 65 6e 65 72 61 74 65 64  uld be generated
4970: 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 0a   for the source.
4980: 23 20 63 6f 64 65 20 66 69 6c 65 73 20 74 6f 20  # code files to 
4990: 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21  be compiled..#.!
49a0: 49 46 20 24 28 55 53 45 5f 4c 49 53 54 49 4e 47  IF $(USE_LISTING
49b0: 53 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  S)!=0.TCC = $(TC
49c0: 43 29 20 2d 46 41 63 73 0a 21 45 4e 44 49 46 0a  C) -FAcs.!ENDIF.
49d0: 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  .# When compilin
49e0: 67 20 74 68 65 20 6c 69 62 72 61 72 79 20 66 6f  g the library fo
49f0: 72 20 75 73 65 20 69 6e 20 74 68 65 20 57 69 6e  r use in the Win
4a00: 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0a  RT environment,.
4a10: 23 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20  # the following 
4a20: 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6f 70 74  compile-time opt
4a30: 69 6f 6e 73 20 6d 75 73 74 20 62 65 20 75 73 65  ions must be use
4a40: 64 20 61 73 20 77 65 6c 6c 20 74 6f 0a 23 20 64  d as well to.# d
4a50: 69 73 61 62 6c 65 20 75 73 65 20 6f 66 20 57 69  isable use of Wi
4a60: 6e 33 32 20 41 50 49 73 20 74 68 61 74 20 61 72  n32 APIs that ar
4a70: 65 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20  e not available 
4a80: 61 6e 64 20 74 6f 20 65 6e 61 62 6c 65 0a 23 20  and to enable.# 
4a90: 75 73 65 20 6f 66 20 57 69 6e 33 32 20 41 50 49  use of Win32 API
4aa0: 73 20 74 68 61 74 20 61 72 65 20 73 70 65 63 69  s that are speci
4ab0: 66 69 63 20 74 6f 20 57 69 6e 64 6f 77 73 20 38  fic to Windows 8
4ac0: 20 61 6e 64 2f 6f 72 20 57 69 6e 52 54 2e 0a 23   and/or WinRT..#
4ad0: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54  .!IF $(FOR_WINRT
4ae0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC
4af0: 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49  ) -DSQLITE_OS_WI
4b00: 4e 52 54 3d 31 0a 52 43 43 20 3d 20 24 28 52 43  NRT=1.RCC = $(RC
4b10: 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57  C) -DSQLITE_OS_W
4b20: 49 4e 52 54 3d 31 0a 54 43 43 20 3d 20 24 28 54  INRT=1.TCC = $(T
4b30: 43 43 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d  CC) -DWINAPI_FAM
4b40: 49 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c  ILY=WINAPI_FAMIL
4b50: 59 5f 41 50 50 0a 52 43 43 20 3d 20 24 28 52 43  Y_APP.RCC = $(RC
4b60: 43 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49  C) -DWINAPI_FAMI
4b70: 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59  LY=WINAPI_FAMILY
4b80: 5f 41 50 50 0a 21 45 4e 44 49 46 0a 0a 23 20 43  _APP.!ENDIF..# C
4b90: 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e   compiler option
4ba0: 73 20 66 6f 72 20 74 68 65 20 57 69 6e 64 6f 77  s for the Window
4bb0: 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 20 28 6e  s 10 platform (n
4bc0: 65 65 64 73 20 4d 53 56 43 20 32 30 31 35 29 2e  eeds MSVC 2015).
4bd0: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  .#.!IF $(FOR_WIN
4be0: 31 30 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54  10)!=0.TCC = $(T
4bf0: 43 43 29 20 2f 64 32 67 75 61 72 64 34 20 2d 44  CC) /d2guard4 -D
4c00: 5f 41 52 4d 5f 57 49 4e 41 50 49 5f 50 41 52 54  _ARM_WINAPI_PART
4c10: 49 54 49 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53 44  ITION_DESKTOP_SD
4c20: 4b 5f 41 56 41 49 4c 41 42 4c 45 0a 42 43 43 20  K_AVAILABLE.BCC 
4c30: 3d 20 24 28 42 43 43 29 20 2f 64 32 67 75 61 72  = $(BCC) /d2guar
4c40: 64 34 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 49  d4 -D_ARM_WINAPI
4c50: 5f 50 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b 54  _PARTITION_DESKT
4c60: 4f 50 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c 45  OP_SDK_AVAILABLE
4c70: 0a 21 45 4e 44 49 46 0a 0a 23 20 41 6c 73 6f 2c  .!ENDIF..# Also,
4c80: 20 77 65 20 6e 65 65 64 20 74 6f 20 64 79 6e 61   we need to dyna
4c90: 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74 6f 20  mically link to 
4ca0: 74 68 65 20 63 6f 72 72 65 63 74 20 4d 53 56 43  the correct MSVC
4cb0: 20 72 75 6e 74 69 6d 65 0a 23 20 77 68 65 6e 20   runtime.# when 
4cc0: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69  compiling for Wi
4cd0: 6e 52 54 20 28 65 2e 67 2e 20 64 65 62 75 67 20  nRT (e.g. debug 
4ce0: 6f 72 20 72 65 6c 65 61 73 65 29 20 4f 52 20 69  or release) OR i
4cf0: 66 20 74 68 65 0a 23 20 55 53 45 5f 43 52 54 5f  f the.# USE_CRT_
4d00: 44 4c 4c 20 6f 70 74 69 6f 6e 20 69 73 20 73 65  DLL option is se
4d10: 74 20 74 6f 20 66 6f 72 63 65 20 64 79 6e 61 6d  t to force dynam
4d20: 69 63 61 6c 6c 79 20 6c 69 6e 6b 69 6e 67 20 74  ically linking t
4d30: 6f 20 74 68 65 0a 23 20 4d 53 56 43 20 72 75 6e  o the.# MSVC run
4d40: 74 69 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a  time library..#.
4d50: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29  !IF $(FOR_WINRT)
4d60: 21 3d 30 20 7c 7c 20 24 28 55 53 45 5f 43 52 54  !=0 || $(USE_CRT
4d70: 5f 44 4c 4c 29 21 3d 30 0a 21 49 46 20 24 28 44  _DLL)!=0.!IF $(D
4d80: 45 42 55 47 29 3e 31 0a 54 43 43 20 3d 20 24 28  EBUG)>1.TCC = $(
4d90: 54 43 43 29 20 2d 4d 44 64 0a 42 43 43 20 3d 20  TCC) -MDd.BCC = 
4da0: 24 28 42 43 43 29 20 2d 4d 44 64 0a 21 45 4c 53  $(BCC) -MDd.!ELS
4db0: 45 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  E.TCC = $(TCC) -
4dc0: 4d 44 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  MD.BCC = $(BCC) 
4dd0: 2d 4d 44 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45  -MD.!ENDIF.!ELSE
4de0: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a  .!IF $(DEBUG)>1.
4df0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 54  TCC = $(TCC) -MT
4e00: 64 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  d.BCC = $(BCC) -
4e10: 4d 54 64 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20  MTd.!ELSE.TCC = 
4e20: 24 28 54 43 43 29 20 2d 4d 54 0a 42 43 43 20 3d  $(TCC) -MT.BCC =
4e30: 20 24 28 42 43 43 29 20 2d 4d 54 0a 21 45 4e 44   $(BCC) -MT.!END
4e40: 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d  IF.!ENDIF..# <<m
4e50: 61 72 6b 3e 3e 0a 23 20 54 68 65 20 6d 6b 73 71  ark>>.# The mksq
4e60: 6c 69 74 65 33 63 2e 74 63 6c 20 61 6e 64 20 6d  lite3c.tcl and m
4e70: 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 73 63  ksqlite3h.tcl sc
4e80: 72 69 70 74 73 20 77 69 6c 6c 20 70 75 6c 6c 20  ripts will pull 
4e90: 69 6e 0a 23 20 61 6e 79 20 65 78 74 65 6e 73 69  in.# any extensi
4ea0: 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 20  on header files 
4eb0: 62 79 20 64 65 66 61 75 6c 74 2e 20 20 46 6f 72  by default.  For
4ec0: 20 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f   non-amalgamatio
4ed0: 6e 0a 23 20 62 75 69 6c 64 73 2c 20 77 65 20 6e  n.# builds, we n
4ee0: 65 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65  eed to make sure
4ef0: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61   the compiler ca
4f00: 6e 20 66 69 6e 64 20 74 68 65 73 65 2e 0a 23 0a  n find these..#.
4f10: 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41  !IF $(USE_AMALGA
4f20: 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 43 43 20 3d  MATION)==0.TCC =
4f30: 20 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29   $(TCC) -I$(TOP)
4f40: 5c 65 78 74 5c 66 74 73 33 0a 52 43 43 20 3d 20  \ext\fts3.RCC = 
4f50: 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c  $(RCC) -I$(TOP)\
4f60: 65 78 74 5c 66 74 73 33 0a 54 43 43 20 3d 20 24  ext\fts3.TCC = $
4f70: 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65  (TCC) -I$(TOP)\e
4f80: 78 74 5c 72 74 72 65 65 0a 52 43 43 20 3d 20 24  xt\rtree.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 72 74 72 65 65 0a 54 43 43 20 3d 20 24  xt\rtree.TCC = $
4fb0: 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65  (TCC) -I$(TOP)\e
4fc0: 78 74 5c 73 65 73 73 69 6f 6e 0a 52 43 43 20 3d  xt\session.RCC =
4fd0: 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29   $(RCC) -I$(TOP)
4fe0: 5c 65 78 74 5c 73 65 73 73 69 6f 6e 0a 21 45 4e  \ext\session.!EN
4ff0: 44 49 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c  DIF..# The mksql
5000: 69 74 65 33 63 2e 74 63 6c 20 73 63 72 69 70 74  ite3c.tcl script
5010: 20 61 63 63 65 70 74 73 20 73 6f 6d 65 20 6f 70   accepts some op
5020: 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d  tions on the com
5030: 6d 61 6e 64 0a 23 20 6c 69 6e 65 2e 20 20 57 68  mand.# line.  Wh
5040: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74  en compiling wit
5050: 68 20 64 65 62 75 67 67 69 6e 67 20 65 6e 61 62  h debugging enab
5060: 6c 65 64 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65  led, some of the
5070: 73 65 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65  se.# options are
5080: 20 6e 65 63 65 73 73 61 72 79 20 69 6e 20 6f 72   necessary in or
5090: 64 65 72 20 74 6f 20 61 6c 6c 6f 77 20 64 65 62  der to allow deb
50a0: 75 67 67 69 6e 67 20 73 79 6d 62 6f 6c 73 20 74  ugging symbols t
50b0: 6f 0a 23 20 77 6f 72 6b 20 63 6f 72 72 65 63 74  o.# work correct
50c0: 6c 79 20 77 69 74 68 20 56 69 73 75 61 6c 20 53  ly with Visual S
50d0: 74 75 64 69 6f 20 77 68 65 6e 20 75 73 69 6e 67  tudio when using
50e0: 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f   the amalgamatio
50f0: 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53  n..#.!IFNDEF MKS
5100: 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 0a 21 49 46  QLITE3C_TOOL.!IF
5110: 20 24 28 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47   $(MINIMAL_AMALG
5120: 41 4d 41 54 49 4f 4e 29 21 3d 30 0a 4d 4b 53 51  AMATION)!=0.MKSQ
5130: 4c 49 54 45 33 43 5f 54 4f 4f 4c 20 3d 20 24 28  LITE3C_TOOL = $(
5140: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69  TOP)\tool\mksqli
5150: 74 65 33 63 2d 6e 6f 65 78 74 2e 74 63 6c 0a 21  te3c-noext.tcl.!
5160: 45 4c 53 45 0a 4d 4b 53 51 4c 49 54 45 33 43 5f  ELSE.MKSQLITE3C_
5170: 54 4f 4f 4c 20 3d 20 24 28 54 4f 50 29 5c 74 6f  TOOL = $(TOP)\to
5180: 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63  ol\mksqlite3c.tc
5190: 6c 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  l.!ENDIF.!ENDIF.
51a0: 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54  .!IFNDEF MKSQLIT
51b0: 45 33 43 5f 41 52 47 53 0a 21 49 46 20 24 28 44  E3C_ARGS.!IF $(D
51c0: 45 42 55 47 29 3e 31 0a 4d 4b 53 51 4c 49 54 45  EBUG)>1.MKSQLITE
51d0: 33 43 5f 41 52 47 53 20 3d 20 2d 2d 6c 69 6e 65  3C_ARGS = --line
51e0: 6d 61 63 72 6f 73 0a 21 45 4c 53 45 0a 4d 4b 53  macros.!ELSE.MKS
51f0: 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 0a 21  QLITE3C_ARGS =.!
5200: 45 4e 44 49 46 0a 21 49 46 20 24 28 55 53 45 5f  ENDIF.!IF $(USE_
5210: 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24  STDCALL)!=0 || $
5220: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4d  (FOR_WIN10)!=0.M
5230: 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d  KSQLITE3C_ARGS =
5240: 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52   $(MKSQLITE3C_AR
5250: 47 53 29 20 2d 2d 75 73 65 61 70 69 63 61 6c 6c  GS) --useapicall
5260: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
5270: 23 20 54 68 65 20 6d 6b 73 71 6c 69 74 65 33 68  # The mksqlite3h
5280: 2e 74 63 6c 20 73 63 72 69 70 74 20 61 63 63 65  .tcl script acce
5290: 70 74 73 20 73 6f 6d 65 20 6f 70 74 69 6f 6e 73  pts some options
52a0: 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20   on the command 
52b0: 6c 69 6e 65 2e 0a 23 20 57 68 65 6e 20 63 6f 6d  line..# When com
52c0: 70 69 6c 69 6e 67 20 77 69 74 68 20 73 74 64 63  piling with stdc
52d0: 61 6c 6c 20 73 75 70 70 6f 72 74 2c 20 73 6f 6d  all support, som
52e0: 65 20 6f 66 20 74 68 65 73 65 20 6f 70 74 69 6f  e of these optio
52f0: 6e 73 20 61 72 65 0a 23 20 6e 65 63 65 73 73 61  ns are.# necessa
5300: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b  ry..#.!IFNDEF MK
5310: 53 51 4c 49 54 45 33 48 5f 41 52 47 53 0a 21 49  SQLITE3H_ARGS.!I
5320: 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29  F $(USE_STDCALL)
5330: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e  !=0 || $(FOR_WIN
5340: 31 30 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33  10)!=0.MKSQLITE3
5350: 48 5f 41 52 47 53 20 3d 20 2d 2d 75 73 65 61 70  H_ARGS = --useap
5360: 69 63 61 6c 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51  icall.!ELSE.MKSQ
5370: 4c 49 54 45 33 48 5f 41 52 47 53 20 3d 0a 21 45  LITE3H_ARGS =.!E
5380: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c  NDIF.!ENDIF.# <<
5390: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65 66 69 6e  /mark>>..# Defin
53a0: 65 20 2d 44 4e 44 45 42 55 47 20 74 6f 20 63 6f  e -DNDEBUG to co
53b0: 6d 70 69 6c 65 20 77 69 74 68 6f 75 74 20 64 65  mpile without de
53c0: 62 75 67 67 69 6e 67 20 28 69 2e 65 2e 2c 20 66  bugging (i.e., f
53d0: 6f 72 20 70 72 6f 64 75 63 74 69 6f 6e 20 75 73  or production us
53e0: 61 67 65 29 0a 23 20 4f 6d 69 74 74 69 6e 67 20  age).# Omitting 
53f0: 74 68 65 20 64 65 66 69 6e 65 20 77 69 6c 6c 20  the define will 
5400: 63 61 75 73 65 20 65 78 74 72 61 20 64 65 62 75  cause extra debu
5410: 67 67 69 6e 67 20 63 6f 64 65 20 74 6f 20 62 65  gging code to be
5420: 20 69 6e 73 65 72 74 65 64 20 61 6e 64 0a 23 20   inserted and.# 
5430: 69 6e 63 6c 75 64 65 73 20 65 78 74 72 61 20 63  includes extra c
5440: 6f 6d 6d 65 6e 74 73 20 77 68 65 6e 20 22 45 58  omments when "EX
5450: 50 4c 41 49 4e 20 73 74 6d 74 22 20 69 73 20 75  PLAIN stmt" is u
5460: 73 65 64 2e 0a 23 0a 21 49 46 20 24 28 44 45 42  sed..#.!IF $(DEB
5470: 55 47 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54  UG)==0.TCC = $(T
5480: 43 43 29 20 2d 44 4e 44 45 42 55 47 0a 42 43 43  CC) -DNDEBUG.BCC
5490: 20 3d 20 24 28 42 43 43 29 20 2d 44 4e 44 45 42   = $(BCC) -DNDEB
54a0: 55 47 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  UG.RCC = $(RCC) 
54b0: 2d 44 4e 44 45 42 55 47 0a 21 45 4e 44 49 46 0a  -DNDEBUG.!ENDIF.
54c0: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 30 20  .!IF $(DEBUG)>0 
54d0: 7c 7c 20 24 28 41 50 49 5f 41 52 4d 4f 52 29 21  || $(API_ARMOR)!
54e0: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1
54f0: 30 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  0)!=0.TCC = $(TC
5500: 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  C) -DSQLITE_ENAB
5510: 4c 45 5f 41 50 49 5f 41 52 4d 4f 52 3d 31 0a 52  LE_API_ARMOR=1.R
5520: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ
5530: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f  LITE_ENABLE_API_
5540: 41 52 4d 4f 52 3d 31 0a 21 45 4e 44 49 46 0a 0a  ARMOR=1.!ENDIF..
5550: 21 49 46 20 24 28 44 45 42 55 47 29 3e 32 0a 54  !IF $(DEBUG)>2.T
5560: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ
5570: 4c 49 54 45 5f 44 45 42 55 47 3d 31 0a 52 43 43  LITE_DEBUG=1.RCC
5580: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49   = $(RCC) -DSQLI
5590: 54 45 5f 44 45 42 55 47 3d 31 0a 21 49 46 20 24  TE_DEBUG=1.!IF $
55a0: 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d  (DYNAMIC_SHELL)=
55b0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
55c0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
55d0: 57 48 45 52 45 54 52 41 43 45 20 2d 44 53 51 4c  WHERETRACE -DSQL
55e0: 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 4c 45 43  ITE_ENABLE_SELEC
55f0: 54 54 52 41 43 45 0a 52 43 43 20 3d 20 24 28 52  TTRACE.RCC = $(R
5600: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  CC) -DSQLITE_ENA
5610: 42 4c 45 5f 57 48 45 52 45 54 52 41 43 45 20 2d  BLE_WHERETRACE -
5620: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53  DSQLITE_ENABLE_S
5630: 45 4c 45 43 54 54 52 41 43 45 0a 21 45 4e 44 49  ELECTTRACE.!ENDI
5640: 46 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28  F.!ENDIF..!IF $(
5650: 44 45 42 55 47 29 3e 34 20 7c 7c 20 24 28 4f 53  DEBUG)>4 || $(OS
5660: 54 52 41 43 45 29 21 3d 30 0a 54 43 43 20 3d 20  TRACE)!=0.TCC = 
5670: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_
5680: 46 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31  FORCE_OS_TRACE=1
5690: 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f   -DSQLITE_DEBUG_
56a0: 4f 53 5f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d  OS_TRACE=1.RCC =
56b0: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45   $(RCC) -DSQLITE
56c0: 5f 46 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d  _FORCE_OS_TRACE=
56d0: 31 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47  1 -DSQLITE_DEBUG
56e0: 5f 4f 53 5f 54 52 41 43 45 3d 31 0a 21 45 4e 44  _OS_TRACE=1.!END
56f0: 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29  IF..!IF $(DEBUG)
5700: 3e 35 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  >5.TCC = $(TCC) 
5710: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
5720: 49 4f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20  IOTRACE=1.RCC = 
5730: 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(RCC) -DSQLITE_
5740: 45 4e 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31  ENABLE_IOTRACE=1
5750: 0a 21 45 4e 44 49 46 0a 0a 23 20 50 72 65 76 65  .!ENDIF..# Preve
5760: 6e 74 20 77 61 72 6e 69 6e 67 73 20 61 62 6f 75  nt warnings abou
5770: 74 20 22 69 6e 73 65 63 75 72 65 22 20 4d 53 56  t "insecure" MSV
5780: 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72  C runtime librar
5790: 79 20 66 75 6e 63 74 69 6f 6e 73 0a 23 20 62 65  y functions.# be
57a0: 69 6e 67 20 75 73 65 64 2e 0a 23 0a 54 43 43 20  ing used..#.TCC 
57b0: 3d 20 24 28 54 43 43 29 20 2d 44 5f 43 52 54 5f  = $(TCC) -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 42 43  E_NO_WARNINGS.BC
57f0: 43 20 3d 20 24 28 42 43 43 29 20 2d 44 5f 43 52  C = $(BCC) -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: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f  RCC = $(RCC) -D_
5840: 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45  CRT_SECURE_NO_DE
5850: 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 53  PRECATE -D_CRT_S
5860: 45 43 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47  ECURE_NO_WARNING
5870: 53 0a 0a 23 20 50 72 65 76 65 6e 74 20 77 61 72  S..# Prevent war
5880: 6e 69 6e 67 73 20 61 62 6f 75 74 20 22 64 65 70  nings about "dep
5890: 72 65 63 61 74 65 64 22 20 50 4f 53 49 58 20 66  recated" POSIX f
58a0: 75 6e 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 75  unctions being u
58b0: 73 65 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54  sed..#.TCC = $(T
58c0: 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54  CC) -D_CRT_NONST
58d0: 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20  DC_NO_DEPRECATE 
58e0: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e  -D_CRT_NONSTDC_N
58f0: 4f 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d  O_WARNINGS.BCC =
5900: 20 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 4e   $(BCC) -D_CRT_N
5910: 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43  ONSTDC_NO_DEPREC
5920: 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54  ATE -D_CRT_NONST
5930: 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52  DC_NO_WARNINGS.R
5940: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43  CC = $(RCC) -D_C
5950: 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45  RT_NONSTDC_NO_DE
5960: 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e  PRECATE -D_CRT_N
5970: 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e  ONSTDC_NO_WARNIN
5980: 47 53 0a 0a 23 20 55 73 65 20 74 68 65 20 53 51  GS..# Use the SQ
5990: 4c 69 74 65 20 64 65 62 75 67 67 69 6e 67 20 68  Lite debugging h
59a0: 65 61 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23  eap subsystem?.#
59b0: 0a 21 49 46 20 24 28 4d 45 4d 44 45 42 55 47 29  .!IF $(MEMDEBUG)
59c0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC)
59d0: 20 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42   -DSQLITE_MEMDEB
59e0: 55 47 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  UG=1.RCC = $(RCC
59f0: 29 20 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45  ) -DSQLITE_MEMDE
5a00: 42 55 47 3d 31 0a 0a 23 20 55 73 65 20 6e 61 74  BUG=1..# Use nat
5a10: 69 76 65 20 57 69 6e 33 32 20 68 65 61 70 20 73  ive Win32 heap s
5a20: 75 62 73 79 73 74 65 6d 20 69 6e 73 74 65 61 64  ubsystem instead
5a30: 20 6f 66 20 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f   of malloc/free?
5a40: 0a 23 0a 21 45 4c 53 45 49 46 20 24 28 57 49 4e  .#.!ELSEIF $(WIN
5a50: 33 32 48 45 41 50 29 21 3d 30 0a 54 43 43 20 3d  32HEAP)!=0.TCC =
5a60: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE
5a70: 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a  _WIN32_MALLOC=1.
5a80: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS
5a90: 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c  QLITE_WIN32_MALL
5aa0: 4f 43 3d 31 0a 0a 23 20 56 61 6c 69 64 61 74 65  OC=1..# Validate
5ab0: 20 74 68 65 20 68 65 61 70 20 6f 6e 20 65 76 65   the heap on eve
5ac0: 72 79 20 63 61 6c 6c 20 69 6e 74 6f 20 74 68 65  ry call into the
5ad0: 20 6e 61 74 69 76 65 20 57 69 6e 33 32 20 68 65   native Win32 he
5ae0: 61 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a  ap subsystem?.#.
5af0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 33 0a 54  !IF $(DEBUG)>3.T
5b00: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ
5b10: 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f  LITE_WIN32_MALLO
5b20: 43 5f 56 41 4c 49 44 41 54 45 3d 31 0a 52 43 43  C_VALIDATE=1.RCC
5b30: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49   = $(RCC) -DSQLI
5b40: 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f  TE_WIN32_MALLOC_
5b50: 56 41 4c 49 44 41 54 45 3d 31 0a 21 45 4e 44 49  VALIDATE=1.!ENDI
5b60: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  F.!ENDIF..# <<ma
5b70: 72 6b 3e 3e 0a 23 20 54 68 65 20 6c 6f 63 61 74  rk>>.# The locat
5b80: 69 6f 6e 73 20 6f 66 20 74 68 65 20 54 63 6c 20  ions of the Tcl 
5b90: 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61  header and libra
5ba0: 72 79 20 66 69 6c 65 73 2e 20 20 41 6c 73 6f 2c  ry files.  Also,
5bb0: 20 74 68 65 20 6c 69 62 72 61 72 79 20 74 68 61   the library tha
5bc0: 74 0a 23 20 6e 6f 6e 2d 73 74 75 62 73 20 65 6e  t.# non-stubs en
5bd0: 61 62 6c 65 64 20 70 72 6f 67 72 61 6d 73 20 75  abled programs u
5be0: 73 69 6e 67 20 54 63 6c 20 6d 75 73 74 20 6c 69  sing Tcl must li
5bf0: 6e 6b 20 61 67 61 69 6e 73 74 2e 20 20 54 68 65  nk against.  The
5c00: 73 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28  se variables.# (
5c10: 54 43 4c 49 4e 43 44 49 52 2c 20 54 43 4c 4c 49  TCLINCDIR, TCLLI
5c20: 42 44 49 52 2c 20 61 6e 64 20 4c 49 42 54 43 4c  BDIR, and LIBTCL
5c30: 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64  ) may be overrid
5c40: 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69  den via the envi
5c50: 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20  ronment.# prior 
5c60: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65  to running nmake
5c70: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74   in order to mat
5c80: 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e  ch the actual in
5c90: 73 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e  stalled location
5ca0: 20 61 6e 64 0a 23 20 76 65 72 73 69 6f 6e 20 6f   and.# version o
5cb0: 6e 20 74 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a  n this machine..
5cc0: 23 0a 21 49 46 4e 44 45 46 20 54 43 4c 56 45 52  #.!IFNDEF TCLVER
5cd0: 53 49 4f 4e 0a 54 43 4c 56 45 52 53 49 4f 4e 20  SION.TCLVERSION 
5ce0: 3d 20 38 36 0a 21 45 4e 44 49 46 0a 0a 21 49 46  = 86.!ENDIF..!IF
5cf0: 4e 44 45 46 20 54 43 4c 53 55 46 46 49 58 0a 54  NDEF TCLSUFFIX.T
5d00: 43 4c 53 55 46 46 49 58 20 3d 0a 21 45 4e 44 49  CLSUFFIX =.!ENDI
5d10: 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c 44 49  F..!IFNDEF TCLDI
5d20: 52 0a 54 43 4c 44 49 52 20 3d 20 24 28 54 4f 50  R.TCLDIR = $(TOP
5d30: 29 5c 63 6f 6d 70 61 74 5c 74 63 6c 0a 21 45 4e  )\compat\tcl.!EN
5d40: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c  DIF..!IFNDEF TCL
5d50: 49 4e 43 44 49 52 0a 54 43 4c 49 4e 43 44 49 52  INCDIR.TCLINCDIR
5d60: 20 3d 20 24 28 54 43 4c 44 49 52 29 5c 69 6e 63   = $(TCLDIR)\inc
5d70: 6c 75 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46  lude.!ENDIF..!IF
5d80: 4e 44 45 46 20 54 43 4c 4c 49 42 44 49 52 0a 54  NDEF TCLLIBDIR.T
5d90: 43 4c 4c 49 42 44 49 52 20 3d 20 24 28 54 43 4c  CLLIBDIR = $(TCL
5da0: 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a  DIR)\lib.!ENDIF.
5db0: 0a 21 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 0a  .!IFNDEF LIBTCL.
5dc0: 4c 49 42 54 43 4c 20 3d 20 74 63 6c 24 28 54 43  LIBTCL = tcl$(TC
5dd0: 4c 56 45 52 53 49 4f 4e 29 24 28 54 43 4c 53 55  LVERSION)$(TCLSU
5de0: 46 46 49 58 29 2e 6c 69 62 0a 21 45 4e 44 49 46  FFIX).lib.!ENDIF
5df0: 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 54 43 4c  ..!IFNDEF LIBTCL
5e00: 53 54 55 42 0a 4c 49 42 54 43 4c 53 54 55 42 20  STUB.LIBTCLSTUB 
5e10: 3d 20 74 63 6c 73 74 75 62 24 28 54 43 4c 56 45  = tclstub$(TCLVE
5e20: 52 53 49 4f 4e 29 24 28 54 43 4c 53 55 46 46 49  RSION)$(TCLSUFFI
5e30: 58 29 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21  X).lib.!ENDIF..!
5e40: 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 50 41 54  IFNDEF LIBTCLPAT
5e50: 48 0a 4c 49 42 54 43 4c 50 41 54 48 20 3d 20 24  H.LIBTCLPATH = $
5e60: 28 54 43 4c 44 49 52 29 5c 62 69 6e 0a 21 45 4e  (TCLDIR)\bin.!EN
5e70: 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63 61 74  DIF..# The locat
5e80: 69 6f 6e 73 20 6f 66 20 74 68 65 20 7a 6c 69 62  ions of the zlib
5e90: 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72   header and libr
5ea0: 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68 65 73  ary files.  Thes
5eb0: 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 5a  e variables.# (Z
5ec0: 4c 49 42 49 4e 43 44 49 52 2c 20 5a 4c 49 42 4c  LIBINCDIR, ZLIBL
5ed0: 49 42 44 49 52 2c 20 61 6e 64 20 5a 4c 49 42 4c  IBDIR, and ZLIBL
5ee0: 49 42 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72  IB) may be overr
5ef0: 69 64 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e  idden via the en
5f00: 76 69 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f  vironment.# prio
5f10: 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61  r to running nma
5f20: 6b 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d  ke in order to m
5f30: 61 74 63 68 20 74 68 65 20 61 63 74 75 61 6c 20  atch the actual 
5f40: 69 6e 73 74 61 6c 6c 65 64 20 28 6f 72 20 73 6f  installed (or so
5f50: 75 72 63 65 0a 23 20 63 6f 64 65 29 20 6c 6f 63  urce.# code) loc
5f60: 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 20 6d 61  ation on this ma
5f70: 63 68 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46  chine..#.!IFNDEF
5f80: 20 5a 4c 49 42 44 49 52 0a 5a 4c 49 42 44 49 52   ZLIBDIR.ZLIBDIR
5f90: 20 3d 20 24 28 54 4f 50 29 5c 63 6f 6d 70 61 74   = $(TOP)\compat
5fa0: 5c 7a 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49  \zlib.!ENDIF..!I
5fb0: 46 4e 44 45 46 20 5a 4c 49 42 49 4e 43 44 49 52  FNDEF ZLIBINCDIR
5fc0: 0a 5a 4c 49 42 49 4e 43 44 49 52 20 3d 20 24 28  .ZLIBINCDIR = $(
5fd0: 5a 4c 49 42 44 49 52 29 0a 21 45 4e 44 49 46 0a  ZLIBDIR).!ENDIF.
5fe0: 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42 4c 49 42  .!IFNDEF ZLIBLIB
5ff0: 44 49 52 0a 5a 4c 49 42 4c 49 42 44 49 52 20 3d  DIR.ZLIBLIBDIR =
6000: 20 24 28 5a 4c 49 42 44 49 52 29 0a 21 45 4e 44   $(ZLIBDIR).!END
6010: 49 46 0a 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42  IF..!IFNDEF ZLIB
6020: 4c 49 42 0a 21 49 46 20 24 28 44 59 4e 41 4d 49  LIB.!IF $(DYNAMI
6030: 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 5a 4c 49 42  C_SHELL)!=0.ZLIB
6040: 4c 49 42 20 3d 20 7a 64 6c 6c 2e 6c 69 62 0a 21  LIB = zdll.lib.!
6050: 45 4c 53 45 0a 5a 4c 49 42 4c 49 42 20 3d 20 7a  ELSE.ZLIBLIB = z
6060: 6c 69 62 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21  lib.lib.!ENDIF.!
6070: 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63  ENDIF..# The loc
6080: 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 49 43  ations of the IC
6090: 55 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62  U header and lib
60a0: 72 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68 65  rary files.  The
60b0: 73 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28  se variables.# (
60c0: 49 43 55 49 4e 43 44 49 52 2c 20 49 43 55 4c 49  ICUINCDIR, ICULI
60d0: 42 44 49 52 2c 20 61 6e 64 20 4c 49 42 49 43 55  BDIR, and LIBICU
60e0: 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64  ) may be overrid
60f0: 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69  den via the envi
6100: 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20  ronment.# prior 
6110: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65  to running nmake
6120: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74   in order to mat
6130: 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e  ch the actual in
6140: 73 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e  stalled location
6150: 20 6f 6e 0a 23 20 74 68 69 73 20 6d 61 63 68 69   on.# this machi
6160: 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 49 43  ne..#.!IFNDEF IC
6170: 55 44 49 52 0a 49 43 55 44 49 52 20 3d 20 24 28  UDIR.ICUDIR = $(
6180: 54 4f 50 29 5c 63 6f 6d 70 61 74 5c 69 63 75 0a  TOP)\compat\icu.
6190: 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20  !ENDIF..!IFNDEF 
61a0: 49 43 55 49 4e 43 44 49 52 0a 49 43 55 49 4e 43  ICUINCDIR.ICUINC
61b0: 44 49 52 20 3d 20 24 28 49 43 55 44 49 52 29 5c  DIR = $(ICUDIR)\
61c0: 69 6e 63 6c 75 64 65 0a 21 45 4e 44 49 46 0a 0a  include.!ENDIF..
61d0: 21 49 46 4e 44 45 46 20 49 43 55 4c 49 42 44 49  !IFNDEF ICULIBDI
61e0: 52 0a 49 43 55 4c 49 42 44 49 52 20 3d 20 24 28  R.ICULIBDIR = $(
61f0: 49 43 55 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44  ICUDIR)\lib.!END
6200: 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 49  IF..!IFNDEF LIBI
6210: 43 55 0a 4c 49 42 49 43 55 20 3d 20 69 63 75 75  CU.LIBICU = icuu
6220: 63 2e 6c 69 62 20 69 63 75 69 6e 2e 6c 69 62 0a  c.lib icuin.lib.
6230: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69  !ENDIF..# This i
6240: 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f  s the command to
6250: 20 75 73 65 20 66 6f 72 20 74 63 6c 73 68 20 2d   use for tclsh -
6260: 20 6e 6f 72 6d 61 6c 6c 79 20 6a 75 73 74 20 22   normally just "
6270: 74 63 6c 73 68 22 2c 20 62 75 74 20 77 65 20 6d  tclsh", but we m
6280: 61 79 0a 23 20 6b 6e 6f 77 20 74 68 65 20 73 70  ay.# know the sp
6290: 65 63 69 66 69 63 20 76 65 72 73 69 6f 6e 20 77  ecific version w
62a0: 65 20 77 61 6e 74 20 74 6f 20 75 73 65 2e 20 20  e want to use.  
62b0: 54 68 69 73 20 76 61 72 69 61 62 6c 65 20 28 54  This variable (T
62c0: 43 4c 53 48 5f 43 4d 44 29 20 6d 61 79 20 62 65  CLSH_CMD) may be
62d0: 0a 23 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69  .# overridden vi
62e0: 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e  a the environmen
62f0: 74 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69  t prior to runni
6300: 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65  ng nmake in orde
6310: 72 20 74 6f 20 73 65 6c 65 63 74 20 61 0a 23 20  r to select a.# 
6320: 73 70 65 63 69 66 69 63 20 54 63 6c 20 73 68 65  specific Tcl she
6330: 6c 6c 20 74 6f 20 75 73 65 2e 0a 23 0a 21 49 46  ll to use..#.!IF
6340: 4e 44 45 46 20 54 43 4c 53 48 5f 43 4d 44 0a 21  NDEF TCLSH_CMD.!
6350: 49 46 20 24 28 55 53 45 5f 54 43 4c 53 48 5f 49  IF $(USE_TCLSH_I
6360: 4e 5f 50 41 54 48 29 21 3d 30 20 7c 7c 20 21 45  N_PATH)!=0 || !E
6370: 58 49 53 54 28 22 24 28 54 43 4c 44 49 52 29 5c  XIST("$(TCLDIR)\
6380: 62 69 6e 5c 74 63 6c 73 68 2e 65 78 65 22 29 0a  bin\tclsh.exe").
6390: 54 43 4c 53 48 5f 43 4d 44 20 3d 20 74 63 6c 73  TCLSH_CMD = tcls
63a0: 68 0a 21 45 4c 53 45 0a 54 43 4c 53 48 5f 43 4d  h.!ELSE.TCLSH_CM
63b0: 44 20 3d 20 24 28 54 43 4c 44 49 52 29 5c 62 69  D = $(TCLDIR)\bi
63c0: 6e 5c 74 63 6c 73 68 2e 65 78 65 0a 21 45 4e 44  n\tclsh.exe.!END
63d0: 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d  IF.!ENDIF.# <</m
63e0: 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 70 69 6c 65  ark>>..# Compile
63f0: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 65 64 65 64  r options needed
6400: 20 66 6f 72 20 70 72 6f 67 72 61 6d 73 20 74 68   for programs th
6410: 61 74 20 75 73 65 20 74 68 65 20 72 65 61 64 6c  at use the readl
6420: 69 6e 65 28 29 20 6c 69 62 72 61 72 79 2e 0a 23  ine() library..#
6430: 0a 21 49 46 4e 44 45 46 20 52 45 41 44 4c 49 4e  .!IFNDEF READLIN
6440: 45 5f 46 4c 41 47 53 0a 52 45 41 44 4c 49 4e 45  E_FLAGS.READLINE
6450: 5f 46 4c 41 47 53 20 3d 20 2d 44 48 41 56 45 5f  _FLAGS = -DHAVE_
6460: 52 45 41 44 4c 49 4e 45 3d 30 0a 21 45 4e 44 49  READLINE=0.!ENDI
6470: 46 0a 0a 23 20 54 68 65 20 6c 69 62 72 61 72 79  F..# The library
6480: 20 74 68 61 74 20 70 72 6f 67 72 61 6d 73 20 75   that programs u
6490: 73 69 6e 67 20 72 65 61 64 6c 69 6e 65 28 29 20  sing readline() 
64a0: 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73  must link agains
64b0: 74 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c 49 42  t..#.!IFNDEF LIB
64c0: 52 45 41 44 4c 49 4e 45 0a 4c 49 42 52 45 41 44  READLINE.LIBREAD
64d0: 4c 49 4e 45 20 3d 0a 21 45 4e 44 49 46 0a 0a 23  LINE =.!ENDIF..#
64e0: 20 53 68 6f 75 6c 64 20 74 68 65 20 64 61 74 61   Should the data
64f0: 62 61 73 65 20 65 6e 67 69 6e 65 20 62 65 20 63  base engine be c
6500: 6f 6d 70 69 6c 65 64 20 74 68 72 65 61 64 73 61  ompiled threadsa
6510: 66 65 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43  fe.#.TCC = $(TCC
6520: 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
6530: 44 53 41 46 45 3d 31 0a 52 43 43 20 3d 20 24 28  DSAFE=1.RCC = $(
6540: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  RCC) -DSQLITE_TH
6550: 52 45 41 44 53 41 46 45 3d 31 0a 0a 23 20 44 6f  READSAFE=1..# Do
6560: 20 74 68 72 65 61 64 73 20 6f 76 65 72 72 69 64   threads overrid
6570: 65 20 65 61 63 68 20 6f 74 68 65 72 73 20 6c 6f  e each others lo
6580: 63 6b 73 20 62 79 20 64 65 66 61 75 6c 74 20 28  cks by default (
6590: 31 29 2c 20 6f 72 20 64 6f 20 77 65 20 74 65 73  1), or do we tes
65a0: 74 20 28 2d 31 29 0a 23 0a 54 43 43 20 3d 20 24  t (-1).#.TCC = $
65b0: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54  (TCC) -DSQLITE_T
65c0: 48 52 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c  HREAD_OVERRIDE_L
65d0: 4f 43 4b 3d 2d 31 0a 52 43 43 20 3d 20 24 28 52  OCK=-1.RCC = $(R
65e0: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  CC) -DSQLITE_THR
65f0: 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c 4f 43  EAD_OVERRIDE_LOC
6600: 4b 3d 2d 31 0a 0a 23 20 41 6e 79 20 74 61 72 67  K=-1..# Any targ
6610: 65 74 20 6c 69 62 72 61 72 69 65 73 20 77 68 69  et libraries whi
6620: 63 68 20 6c 69 62 73 71 6c 69 74 65 20 6d 75 73  ch libsqlite mus
6630: 74 20 62 65 20 6c 69 6e 6b 65 64 20 61 67 61 69  t be linked agai
6640: 6e 73 74 0a 23 0a 21 49 46 4e 44 45 46 20 54 4c  nst.#.!IFNDEF TL
6650: 49 42 53 0a 54 4c 49 42 53 20 3d 0a 21 45 4e 44  IBS.TLIBS =.!END
6660: 49 46 0a 0a 23 20 46 6c 61 67 73 20 63 6f 6e 74  IF..# Flags cont
6670: 72 6f 6c 6c 69 6e 67 20 75 73 65 20 6f 66 20 74  rolling use of t
6680: 68 65 20 69 6e 20 6d 65 6d 6f 72 79 20 62 74 72  he in memory btr
6690: 65 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  ee implementatio
66a0: 6e 0a 23 0a 23 20 53 51 4c 49 54 45 5f 54 45 4d  n.#.# SQLITE_TEM
66b0: 50 5f 53 54 4f 52 45 20 69 73 20 30 20 74 6f 20  P_STORE is 0 to 
66c0: 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79 20  force temporary 
66d0: 74 61 62 6c 65 73 20 74 6f 20 62 65 20 69 6e 20  tables to be in 
66e0: 61 20 66 69 6c 65 2c 20 31 20 74 6f 0a 23 20 64  a file, 1 to.# d
66f0: 65 66 61 75 6c 74 20 74 6f 20 66 69 6c 65 2c 20  efault to file, 
6700: 32 20 74 6f 20 64 65 66 61 75 6c 74 20 74 6f 20  2 to default to 
6710: 6d 65 6d 6f 72 79 2c 20 61 6e 64 20 33 20 74 6f  memory, and 3 to
6720: 20 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79   force temporary
6730: 0a 23 20 74 61 62 6c 65 73 20 74 6f 20 61 6c 77  .# tables to alw
6740: 61 79 73 20 62 65 20 69 6e 20 6d 65 6d 6f 72 79  ays be in memory
6750: 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29  ..#.TCC = $(TCC)
6760: 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53   -DSQLITE_TEMP_S
6770: 54 4f 52 45 3d 31 0a 52 43 43 20 3d 20 24 28 52  TORE=1.RCC = $(R
6780: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d  CC) -DSQLITE_TEM
6790: 50 5f 53 54 4f 52 45 3d 31 0a 0a 23 20 45 6e 61  P_STORE=1..# Ena
67a0: 62 6c 65 2f 64 69 73 61 62 6c 65 20 6c 6f 61 64  ble/disable load
67b0: 61 62 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 2c  able extensions,
67c0: 20 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69 6f   and other optio
67d0: 6e 61 6c 20 66 65 61 74 75 72 65 73 0a 23 20 62  nal features.# b
67e0: 61 73 65 64 20 6f 6e 20 63 6f 6e 66 69 67 75 72  ased on configur
67f0: 61 74 69 6f 6e 2e 20 28 2d 44 53 51 4c 49 54 45  ation. (-DSQLITE
6800: 5f 4f 4d 49 54 2a 2c 20 2d 44 53 51 4c 49 54 45  _OMIT*, -DSQLITE
6810: 5f 45 4e 41 42 4c 45 2a 29 2e 0a 23 20 54 68 65  _ENABLE*)..# The
6820: 20 73 61 6d 65 20 73 65 74 20 6f 66 20 4f 4d 49   same set of OMI
6830: 54 20 61 6e 64 20 45 4e 41 42 4c 45 20 66 6c 61  T and ENABLE fla
6840: 67 73 20 73 68 6f 75 6c 64 20 62 65 20 70 61 73  gs should be pas
6850: 73 65 64 20 74 6f 20 74 68 65 0a 23 20 4c 45 4d  sed to the.# LEM
6860: 4f 4e 20 70 61 72 73 65 72 20 67 65 6e 65 72 61  ON parser genera
6870: 74 6f 72 20 61 6e 64 20 74 68 65 20 6d 6b 6b 65  tor and the mkke
6880: 79 77 6f 72 64 68 61 73 68 20 74 6f 6f 6c 20 61  ywordhash tool a
6890: 73 20 77 65 6c 6c 2e 0a 0a 23 20 54 68 65 73 65  s well...# These
68a0: 20 61 72 65 20 74 68 65 20 72 65 71 75 69 72 65   are the require
68b0: 64 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61  d SQLite compila
68c0: 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65  tion options use
68d0: 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  d when compiling
68e0: 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64 6f   for.# the Windo
68f0: 77 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 52  ws platform..#.R
6900: 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  EQ_FEATURE_FLAGS
6910: 20 3d 20 24 28 52 45 51 5f 46 45 41 54 55 52 45   = $(REQ_FEATURE
6920: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
6930: 5f 4d 41 58 5f 54 52 49 47 47 45 52 5f 44 45 50  _MAX_TRIGGER_DEP
6940: 54 48 3d 31 30 30 0a 0a 23 20 49 66 20 77 65 20  TH=100..# If we 
6950: 61 72 65 20 6c 69 6e 6b 69 6e 67 20 74 6f 20 74  are linking to t
6960: 68 65 20 52 50 43 52 54 34 20 6c 69 62 72 61 72  he RPCRT4 librar
6970: 79 2c 20 65 6e 61 62 6c 65 20 66 65 61 74 75 72  y, enable featur
6980: 65 73 20 74 68 61 74 20 6e 65 65 64 20 69 74 2e  es that need it.
6990: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 50 43  .#.!IF $(USE_RPC
69a0: 52 54 34 5f 4c 49 42 29 21 3d 30 0a 52 45 51 5f  RT4_LIB)!=0.REQ_
69b0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FEATURE_FLAGS = 
69c0: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c  $(REQ_FEATURE_FL
69d0: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 57 49  AGS) -DSQLITE_WI
69e0: 4e 33 32 5f 55 53 45 5f 55 55 49 44 3d 31 0a 21  N32_USE_UUID=1.!
69f0: 45 4e 44 49 46 0a 0a 23 20 41 64 64 20 74 68 65  ENDIF..# Add the
6a00: 20 72 65 71 75 69 72 65 64 20 61 6e 64 20 6f 70   required and op
6a10: 74 69 6f 6e 61 6c 20 53 51 4c 69 74 65 20 63 6f  tional SQLite co
6a20: 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e  mpilation option
6a30: 73 20 69 6e 74 6f 20 74 68 65 20 63 6f 6d 6d 61  s into the comma
6a40: 6e 64 0a 23 20 6c 69 6e 65 73 20 75 73 65 64 20  nd.# lines used 
6a50: 74 6f 20 69 6e 76 6f 6b 65 20 74 68 65 20 4d 53  to invoke the MS
6a60: 56 43 20 63 6f 64 65 20 61 6e 64 20 72 65 73 6f  VC code and reso
6a70: 75 72 63 65 20 63 6f 6d 70 69 6c 65 72 73 2e 0a  urce compilers..
6a80: 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 24  #.TCC = $(TCC) $
6a90: 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41  (REQ_FEATURE_FLA
6aa0: 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52  GS) $(OPT_FEATUR
6ab0: 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46  E_FLAGS) $(EXT_F
6ac0: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 0a 52 43  EATURE_FLAGS).RC
6ad0: 43 20 3d 20 24 28 52 43 43 29 20 24 28 52 45 51  C = $(RCC) $(REQ
6ae0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
6af0: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(OPT_FEATURE_FL
6b00: 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55  AGS) $(EXT_FEATU
6b10: 52 45 5f 46 4c 41 47 53 29 0a 0a 23 20 41 64 64  RE_FLAGS)..# Add
6b20: 20 69 6e 20 61 6e 79 20 6f 70 74 69 6f 6e 61 6c   in any optional
6b30: 20 70 61 72 61 6d 65 74 65 72 73 20 73 70 65 63   parameters spec
6b40: 69 66 69 65 64 20 6f 6e 20 74 68 65 20 63 6f 6d  ified on the com
6b50: 6d 61 6e 65 20 6c 69 6e 65 2c 20 65 2e 67 2e 0a  mane line, e.g..
6b60: 23 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66  # nmake /f Makef
6b70: 69 6c 65 2e 6d 73 63 20 61 6c 6c 20 22 4f 50 54  ile.msc all "OPT
6b80: 53 3d 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  S=-DSQLITE_ENABL
6b90: 45 5f 46 4f 4f 3d 31 20 2d 44 53 51 4c 49 54 45  E_FOO=1 -DSQLITE
6ba0: 5f 4f 4d 49 54 5f 46 4f 4f 3d 31 22 0a 23 0a 54  _OMIT_FOO=1".#.T
6bb0: 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 4f 50  CC = $(TCC) $(OP
6bc0: 54 53 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29  TS).RCC = $(RCC)
6bd0: 20 24 28 4f 50 54 53 29 0a 0a 23 20 49 66 20 63   $(OPTS)..# If c
6be0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65 62  ompiling for deb
6bf0: 75 67 67 69 6e 67 2c 20 61 64 64 20 73 6f 6d 65  ugging, add some
6c00: 20 64 65 66 69 6e 65 73 2e 0a 23 0a 21 49 46 20   defines..#.!IF 
6c10: 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20 3d  $(DEBUG)>1.TCC =
6c20: 20 24 28 54 43 43 29 20 2d 44 5f 44 45 42 55 47   $(TCC) -D_DEBUG
6c30: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44  .BCC = $(BCC) -D
6c40: 5f 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28 52  _DEBUG.RCC = $(R
6c50: 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 21 45 4e  CC) -D_DEBUG.!EN
6c60: 44 49 46 0a 0a 23 20 49 66 20 6f 70 74 69 6d 69  DIF..# If optimi
6c70: 7a 61 74 69 6f 6e 73 20 61 72 65 20 65 6e 61 62  zations are enab
6c80: 6c 65 64 20 6f 72 20 64 69 73 61 62 6c 65 64 20  led or disabled 
6c90: 28 65 69 74 68 65 72 20 69 6d 70 6c 69 63 69 74  (either implicit
6ca0: 6c 79 20 6f 72 0a 23 20 65 78 70 6c 69 63 69 74  ly or.# explicit
6cb0: 6c 79 29 2c 20 61 64 64 20 74 68 65 20 6e 65 63  ly), add the nec
6cc0: 65 73 73 61 72 79 20 66 6c 61 67 73 2e 0a 23 0a  essary flags..#.
6cd0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 20 7c  !IF $(DEBUG)>1 |
6ce0: 7c 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e  | $(OPTIMIZATION
6cf0: 53 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  S)==0.TCC = $(TC
6d00: 43 29 20 2d 4f 64 0a 42 43 43 20 3d 20 24 28 42  C) -Od.BCC = $(B
6d10: 43 43 29 20 2d 4f 64 0a 21 49 46 20 24 28 55 53  CC) -Od.!IF $(US
6d20: 45 5f 52 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53  E_RUNTIME_CHECKS
6d30: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC
6d40: 29 20 2d 52 54 43 31 0a 42 43 43 20 3d 20 24 28  ) -RTC1.BCC = $(
6d50: 42 43 43 29 20 2d 52 54 43 31 0a 21 45 4e 44 49  BCC) -RTC1.!ENDI
6d60: 46 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49  F.!ELSEIF $(OPTI
6d70: 4d 49 5a 41 54 49 4f 4e 53 29 3e 3d 33 0a 54 43  MIZATIONS)>=3.TC
6d80: 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 78 0a 42  C = $(TCC) -Ox.B
6d90: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 78 0a  CC = $(BCC) -Ox.
6da0: 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49  !ELSEIF $(OPTIMI
6db0: 5a 41 54 49 4f 4e 53 29 3d 3d 32 0a 54 43 43 20  ZATIONS)==2.TCC 
6dc0: 3d 20 24 28 54 43 43 29 20 2d 4f 32 0a 42 43 43  = $(TCC) -O2.BCC
6dd0: 20 3d 20 24 28 42 43 43 29 20 2d 4f 32 0a 21 45   = $(BCC) -O2.!E
6de0: 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41  LSEIF $(OPTIMIZA
6df0: 54 49 4f 4e 53 29 3d 3d 31 0a 54 43 43 20 3d 20  TIONS)==1.TCC = 
6e00: 24 28 54 43 43 29 20 2d 4f 31 0a 42 43 43 20 3d  $(TCC) -O1.BCC =
6e10: 20 24 28 42 43 43 29 20 2d 4f 31 0a 21 45 4e 44   $(BCC) -O1.!END
6e20: 49 46 0a 0a 23 20 49 66 20 73 79 6d 62 6f 6c 73  IF..# If symbols
6e30: 20 61 72 65 20 65 6e 61 62 6c 65 64 20 28 6f 72   are enabled (or
6e40: 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64   compiling for d
6e50: 65 62 75 67 67 69 6e 67 29 2c 20 65 6e 61 62 6c  ebugging), enabl
6e60: 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 24 28  e PDBs..#.!IF $(
6e70: 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 53 59  DEBUG)>1 || $(SY
6e80: 4d 42 4f 4c 53 29 21 3d 30 0a 54 43 43 20 3d 20  MBOLS)!=0.TCC = 
6e90: 24 28 54 43 43 29 20 2d 5a 69 0a 42 43 43 20 3d  $(TCC) -Zi.BCC =
6ea0: 20 24 28 42 43 43 29 20 2d 5a 69 0a 21 45 4e 44   $(BCC) -Zi.!END
6eb0: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  IF..# <<mark>>.#
6ec0: 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 74   If zlib support
6ed0: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64   is enabled, add
6ee0: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70   the compiler op
6ef0: 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a  tions for it..#.
6f00: 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29 21  !IF $(USE_ZLIB)!
6f10: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
6f20: 2d 44 53 51 4c 49 54 45 5f 48 41 56 45 5f 5a 4c  -DSQLITE_HAVE_ZL
6f30: 49 42 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  IB=1.RCC = $(RCC
6f40: 29 20 2d 44 53 51 4c 49 54 45 5f 48 41 56 45 5f  ) -DSQLITE_HAVE_
6f50: 5a 4c 49 42 3d 31 0a 54 43 43 20 3d 20 24 28 54  ZLIB=1.TCC = $(T
6f60: 43 43 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44  CC) -I$(ZLIBINCD
6f70: 49 52 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29  IR).RCC = $(RCC)
6f80: 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49 52 29   -I$(ZLIBINCDIR)
6f90: 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 49 43  .!ENDIF..# If IC
6fa0: 55 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61  U support is ena
6fb0: 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 63 6f  bled, add the co
6fc0: 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66  mpiler options f
6fd0: 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 55  or it..#.!IF $(U
6fe0: 53 45 5f 49 43 55 29 21 3d 30 0a 54 43 43 20 3d  SE_ICU)!=0.TCC =
6ff0: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE
7000: 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 52 43  _ENABLE_ICU=1.RC
7010: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c  C = $(RCC) -DSQL
7020: 49 54 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31  ITE_ENABLE_ICU=1
7030: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49  .TCC = $(TCC) -I
7040: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 52  $(TOP)\ext\icu.R
7050: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28  CC = $(RCC) -I$(
7060: 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 54 43 43  TOP)\ext\icu.TCC
7070: 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 49 43   = $(TCC) -I$(IC
7080: 55 49 4e 43 44 49 52 29 0a 52 43 43 20 3d 20 24  UINCDIR).RCC = $
7090: 28 52 43 43 29 20 2d 49 24 28 49 43 55 49 4e 43  (RCC) -I$(ICUINC
70a0: 44 49 52 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c  DIR).!ENDIF.# <<
70b0: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d 61  /mark>>..# Comma
70c0: 6e 64 20 6c 69 6e 65 20 70 72 65 66 69 78 65 73  nd line prefixes
70d0: 20 66 6f 72 20 63 6f 6d 70 69 6c 69 6e 67 20 63   for compiling c
70e0: 6f 64 65 2c 20 63 6f 6d 70 69 6c 69 6e 67 20 72  ode, compiling r
70f0: 65 73 6f 75 72 63 65 73 2c 0a 23 20 6c 69 6e 6b  esources,.# link
7100: 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 4c 54 43 4f  ing, etc..#.LTCO
7110: 4d 50 49 4c 45 20 3d 20 24 28 54 43 43 29 20 2d  MPILE = $(TCC) -
7120: 46 6f 24 40 20 2d 46 64 24 2a 2e 70 64 62 0a 4c  Fo$@ -Fd$*.pdb.L
7130: 54 52 43 4f 4d 50 49 4c 45 20 3d 20 24 28 52 43  TRCOMPILE = $(RC
7140: 43 29 20 2d 72 0a 4c 54 4c 49 42 20 3d 20 6c 69  C) -r.LTLIB = li
7150: 62 2e 65 78 65 0a 4c 54 4c 49 4e 4b 20 3d 20 24  b.exe.LTLINK = $
7160: 28 54 43 43 29 20 2d 46 65 24 40 0a 0a 23 20 49  (TCC) -Fe$@..# I
7170: 66 20 72 65 71 75 65 73 74 65 64 2c 20 6c 69 6e  f requested, lin
7180: 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34 20  k to the RPCRT4 
7190: 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 20 24  library..#.!IF $
71a0: 28 55 53 45 5f 52 50 43 52 54 34 5f 4c 49 42 29  (USE_RPCRT4_LIB)
71b0: 21 3d 30 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c  !=0.LTLIBS = $(L
71c0: 54 4c 49 42 53 29 20 72 70 63 72 74 34 2e 6c 69  TLIBS) rpcrt4.li
71d0: 62 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 61  b.!ENDIF..# If a
71e0: 20 70 6c 61 74 66 6f 72 6d 20 77 61 73 20 73 65   platform was se
71f0: 74 2c 20 66 6f 72 63 65 20 74 68 65 20 6c 69 6e  t, force the lin
7200: 6b 65 72 20 74 6f 20 74 61 72 67 65 74 20 74 68  ker to target th
7210: 61 74 2e 0a 23 20 4e 6f 74 65 20 74 68 61 74 20  at..# Note that 
7220: 74 68 65 20 76 63 76 61 72 73 2a 2e 62 61 74 20  the vcvars*.bat 
7230: 66 61 6d 69 6c 79 20 6f 66 20 62 61 74 63 68 20  family of batch 
7240: 66 69 6c 65 73 20 74 79 70 69 63 61 6c 6c 79 0a  files typically.
7250: 23 20 73 65 74 20 74 68 69 73 20 66 6f 72 20 79  # set this for y
7260: 6f 75 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20  ou.  Otherwise, 
7270: 74 68 65 20 6c 69 6e 6b 65 72 20 77 69 6c 6c 20  the linker will 
7280: 61 74 74 65 6d 70 74 0a 23 20 74 6f 20 64 65 64  attempt.# to ded
7290: 75 63 65 20 74 68 65 20 62 69 6e 61 72 79 20 74  uce the binary t
72a0: 79 70 65 20 62 61 73 65 64 20 6f 6e 20 74 68 65  ype based on the
72b0: 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 2e 0a 21   object files..!
72c0: 49 46 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a 4c  IFDEF PLATFORM.L
72d0: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c  TLINKOPTS = /NOL
72e0: 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50  OGO /MACHINE:$(P
72f0: 4c 41 54 46 4f 52 4d 29 0a 4c 54 4c 49 42 4f 50  LATFORM).LTLIBOP
7300: 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41  TS = /NOLOGO /MA
7310: 43 48 49 4e 45 3a 24 28 50 4c 41 54 46 4f 52 4d  CHINE:$(PLATFORM
7320: 29 0a 21 45 4c 53 45 49 46 20 22 24 28 56 49 53  ).!ELSEIF "$(VIS
7330: 55 41 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e  UALSTUDIOVERSION
7340: 29 22 3d 3d 22 31 32 2e 30 22 20 7c 7c 20 5c 0a  )"=="12.0" || \.
7350: 20 20 20 20 20 20 20 20 22 24 28 56 49 53 55 41          "$(VISUA
7360: 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22  LSTUDIOVERSION)"
7370: 3d 3d 22 31 34 2e 30 22 20 7c 7c 20 5c 0a 20 20  =="14.0" || \.  
7380: 20 20 20 20 20 20 22 24 28 56 49 53 55 41 4c 53        "$(VISUALS
7390: 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d  TUDIOVERSION)"==
73a0: 22 31 35 2e 30 22 0a 4c 54 4c 49 4e 4b 4f 50 54  "15.0".LTLINKOPT
73b0: 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43  S = /NOLOGO /MAC
73c0: 48 49 4e 45 3a 78 38 36 0a 4c 54 4c 49 42 4f 50  HINE:x86.LTLIBOP
73d0: 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41  TS = /NOLOGO /MA
73e0: 43 48 49 4e 45 3a 78 38 36 0a 21 45 4c 53 45 0a  CHINE:x86.!ELSE.
73f0: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f  LTLINKOPTS = /NO
7400: 4c 4f 47 4f 0a 4c 54 4c 49 42 4f 50 54 53 20 3d  LOGO.LTLIBOPTS =
7410: 20 2f 4e 4f 4c 4f 47 4f 0a 21 45 4e 44 49 46 0a   /NOLOGO.!ENDIF.
7420: 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  .# When compilin
7430: 67 20 66 6f 72 20 75 73 65 20 69 6e 20 74 68 65  g for use in the
7440: 20 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65   WinRT environme
7450: 6e 74 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e  nt, the followin
7460: 67 0a 23 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f  g.# linker optio
7470: 6e 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 74  n must be used t
7480: 6f 20 6d 61 72 6b 20 74 68 65 20 65 78 65 63 75  o mark the execu
7490: 74 61 62 6c 65 20 61 73 20 72 75 6e 6e 61 62 6c  table as runnabl
74a0: 65 0a 23 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20  e.# only in the 
74b0: 63 6f 6e 74 65 78 74 20 6f 66 20 61 6e 20 61 70  context of an ap
74c0: 70 6c 69 63 61 74 69 6f 6e 20 63 6f 6e 74 61 69  plication contai
74d0: 6e 65 72 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52  ner..#.!IF $(FOR
74e0: 5f 57 49 4e 52 54 29 21 3d 30 0a 4c 54 4c 49 4e  _WINRT)!=0.LTLIN
74f0: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
7500: 4f 50 54 53 29 20 2f 41 50 50 43 4f 4e 54 41 49  OPTS) /APPCONTAI
7510: 4e 45 52 0a 21 49 46 20 22 24 28 56 49 53 55 41  NER.!IF "$(VISUA
7520: 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22  LSTUDIOVERSION)"
7530: 3d 3d 22 31 32 2e 30 22 20 7c 7c 20 22 24 28 56  =="12.0" || "$(V
7540: 49 53 55 41 4c 53 54 55 44 49 4f 56 45 52 53 49  ISUALSTUDIOVERSI
7550: 4f 4e 29 22 3d 3d 22 31 34 2e 30 22 0a 21 49 46  ON)"=="14.0".!IF
7560: 4e 44 45 46 20 53 54 4f 52 45 4c 49 42 50 41 54  NDEF STORELIBPAT
7570: 48 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52  H.!IF "$(PLATFOR
7580: 4d 29 22 3d 3d 22 78 38 36 22 0a 53 54 4f 52 45  M)"=="x86".STORE
7590: 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c  LIBPATH = $(CRTL
75a0: 49 42 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 45  IBPATH)\store.!E
75b0: 4c 53 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52  LSEIF "$(PLATFOR
75c0: 4d 29 22 3d 3d 22 78 36 34 22 0a 53 54 4f 52 45  M)"=="x64".STORE
75d0: 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c  LIBPATH = $(CRTL
75e0: 49 42 50 41 54 48 29 5c 73 74 6f 72 65 5c 61 6d  IBPATH)\store\am
75f0: 64 36 34 0a 21 45 4c 53 45 49 46 20 22 24 28 50  d64.!ELSEIF "$(P
7600: 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 41 52 4d 22  LATFORM)"=="ARM"
7610: 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20  .STORELIBPATH = 
7620: 24 28 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74  $(CRTLIBPATH)\st
7630: 6f 72 65 5c 61 72 6d 0a 21 45 4c 53 45 0a 53 54  ore\arm.!ELSE.ST
7640: 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43  ORELIBPATH = $(C
7650: 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65  RTLIBPATH)\store
7660: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 53  .!ENDIF.!ENDIF.S
7670: 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28  TORELIBPATH = $(
7680: 53 54 4f 52 45 4c 49 42 50 41 54 48 3a 5c 5c 3d  STORELIBPATH:\\=
7690: 5c 29 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  \).LTLINKOPTS = 
76a0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f  $(LTLINKOPTS) "/
76b0: 4c 49 42 50 41 54 48 3a 24 28 53 54 4f 52 45 4c  LIBPATH:$(STOREL
76c0: 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a  IBPATH)".!ENDIF.
76d0: 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63  !ENDIF..# When c
76e0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e  ompiling for Win
76f0: 64 6f 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20  dows Phone 8.1, 
7700: 61 6e 20 65 78 74 72 61 20 6c 69 62 72 61 72 79  an extra library
7710: 20 70 61 74 68 20 69 73 0a 23 20 72 65 71 75 69   path is.# requi
7720: 72 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45  red..#.!IF $(USE
7730: 5f 57 50 38 31 5f 4f 50 54 53 29 21 3d 30 0a 21  _WP81_OPTS)!=0.!
7740: 49 46 4e 44 45 46 20 57 50 38 31 4c 49 42 50 41  IFNDEF WP81LIBPA
7750: 54 48 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f  TH.!IF "$(PLATFO
7760: 52 4d 29 22 3d 3d 22 78 38 36 22 0a 57 50 38 31  RM)"=="x86".WP81
7770: 4c 49 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47  LIBPATH = $(PROG
7780: 52 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69  RAMFILES_X86)\Wi
7790: 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73  ndows Phone Kits
77a0: 5c 38 2e 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4c  \8.1\lib\x86.!EL
77b0: 53 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d  SEIF "$(PLATFORM
77c0: 29 22 3d 3d 22 41 52 4d 22 0a 57 50 38 31 4c 49  )"=="ARM".WP81LI
77d0: 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41  BPATH = $(PROGRA
77e0: 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64  MFILES_X86)\Wind
77f0: 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38  ows Phone Kits\8
7800: 2e 31 5c 6c 69 62 5c 41 52 4d 0a 21 45 4c 53 45  .1\lib\ARM.!ELSE
7810: 0a 57 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24  .WP81LIBPATH = $
7820: 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38  (PROGRAMFILES_X8
7830: 36 29 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65  6)\Windows Phone
7840: 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38   Kits\8.1\lib\x8
7850: 36 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  6.!ENDIF.!ENDIF.
7860: 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63  !ENDIF..# When c
7870: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e  ompiling for Win
7880: 64 6f 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20  dows Phone 8.1, 
7890: 73 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b 65  some extra linke
78a0: 72 20 6f 70 74 69 6f 6e 73 0a 23 20 61 72 65 20  r options.# are 
78b0: 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 0a 23  also required..#
78c0: 0a 21 49 46 20 24 28 55 53 45 5f 57 50 38 31 5f  .!IF $(USE_WP81_
78d0: 4f 50 54 53 29 21 3d 30 0a 21 49 46 44 45 46 20  OPTS)!=0.!IFDEF 
78e0: 57 50 38 31 4c 49 42 50 41 54 48 0a 4c 54 4c 49  WP81LIBPATH.LTLI
78f0: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e  NKOPTS = $(LTLIN
7900: 4b 4f 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48  KOPTS) "/LIBPATH
7910: 3a 24 28 57 50 38 31 4c 49 42 50 41 54 48 29 22  :$(WP81LIBPATH)"
7920: 0a 21 45 4e 44 49 46 0a 4c 54 4c 49 4e 4b 4f 50  .!ENDIF.LTLINKOP
7930: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT
7940: 53 29 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 0a  S) /DYNAMICBASE.
7950: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c  LTLINKOPTS = $(L
7960: 54 4c 49 4e 4b 4f 50 54 53 29 20 57 69 6e 64 6f  TLINKOPTS) Windo
7970: 77 73 50 68 6f 6e 65 43 6f 72 65 2e 6c 69 62 20  wsPhoneCore.lib 
7980: 52 75 6e 74 69 6d 65 4f 62 6a 65 63 74 2e 6c 69  RuntimeObject.li
7990: 62 20 50 68 6f 6e 65 41 70 70 4d 6f 64 65 6c 48  b PhoneAppModelH
79a0: 6f 73 74 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50  ost.lib.LTLINKOP
79b0: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT
79c0: 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42  S) /NODEFAULTLIB
79d0: 3a 6b 65 72 6e 65 6c 33 32 2e 6c 69 62 20 2f 4e  :kernel32.lib /N
79e0: 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6f 6c 65 33  ODEFAULTLIB:ole3
79f0: 32 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20  2.lib.!ENDIF..# 
7a00: 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66  When compiling f
7a10: 6f 72 20 55 57 50 20 6f 72 20 74 68 65 20 57 69  or UWP or the Wi
7a20: 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72  ndows 10 platfor
7a30: 6d 2c 20 73 6f 6d 65 20 65 78 74 72 61 20 6c 69  m, some extra li
7a40: 6e 6b 65 72 0a 23 20 6f 70 74 69 6f 6e 73 20 61  nker.# options a
7a50: 72 65 20 61 6c 73 6f 20 72 65 71 75 69 72 65 64  re also required
7a60: 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 55 57  ..#.!IF $(FOR_UW
7a70: 50 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57  P)!=0 || $(FOR_W
7a80: 49 4e 31 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f  IN10)!=0.LTLINKO
7a90: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50  PTS = $(LTLINKOP
7aa0: 54 53 29 20 2f 44 59 4e 41 4d 49 43 42 41 53 45  TS) /DYNAMICBASE
7ab0: 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b   /NODEFAULTLIB:k
7ac0: 65 72 6e 65 6c 33 32 2e 6c 69 62 0a 4c 54 4c 49  ernel32.lib.LTLI
7ad0: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e  NKOPTS = $(LTLIN
7ae0: 4b 4f 50 54 53 29 20 6d 69 6e 63 6f 72 65 2e 6c  KOPTS) mincore.l
7af0: 69 62 0a 21 49 46 44 45 46 20 50 53 44 4b 4c 49  ib.!IFDEF PSDKLI
7b00: 42 50 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53  BPATH.LTLINKOPTS
7b10: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS)
7b20: 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 50 53 44   "/LIBPATH:$(PSD
7b30: 4b 4c 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49  KLIBPATH)".!ENDI
7b40: 46 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28  F.!ENDIF..!IF $(
7b50: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54  FOR_WIN10)!=0.LT
7b60: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL
7b70: 49 4e 4b 4f 50 54 53 29 20 2f 67 75 61 72 64 3a  INKOPTS) /guard:
7b80: 63 66 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 55  cf "/LIBPATH:$(U
7b90: 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21 49 46  CRTLIBPATH)".!IF
7ba0: 20 24 28 44 45 42 55 47 29 3e 31 0a 4c 54 4c 49   $(DEBUG)>1.LTLI
7bb0: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e  NKOPTS = $(LTLIN
7bc0: 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c  KOPTS) /NODEFAUL
7bd0: 54 4c 49 42 3a 6c 69 62 75 63 72 74 64 2e 6c 69  TLIB:libucrtd.li
7be0: 62 20 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63  b /DEFAULTLIB:uc
7bf0: 72 74 64 2e 6c 69 62 0a 21 45 4c 53 45 0a 4c 54  rtd.lib.!ELSE.LT
7c00: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL
7c10: 49 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41  INKOPTS) /NODEFA
7c20: 55 4c 54 4c 49 42 3a 6c 69 62 75 63 72 74 2e 6c  ULTLIB:libucrt.l
7c30: 69 62 20 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75  ib /DEFAULTLIB:u
7c40: 63 72 74 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21  crt.lib.!ENDIF.!
7c50: 45 4e 44 49 46 0a 0a 23 20 49 66 20 65 69 74 68  ENDIF..# If eith
7c60: 65 72 20 64 65 62 75 67 67 69 6e 67 20 6f 72 20  er debugging or 
7c70: 73 79 6d 62 6f 6c 73 20 61 72 65 20 65 6e 61 62  symbols are enab
7c80: 6c 65 64 2c 20 65 6e 61 62 6c 65 20 50 44 42 73  led, enable PDBs
7c90: 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29  ..#.!IF $(DEBUG)
7ca0: 3e 31 20 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29  >1 || $(SYMBOLS)
7cb0: 21 3d 30 0a 4c 44 46 4c 41 47 53 20 3d 20 2f 44  !=0.LDFLAGS = /D
7cc0: 45 42 55 47 20 24 28 4c 44 4f 50 54 53 29 0a 21  EBUG $(LDOPTS).!
7cd0: 45 4c 53 45 0a 4c 44 46 4c 41 47 53 20 3d 20 24  ELSE.LDFLAGS = $
7ce0: 28 4c 44 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a  (LDOPTS).!ENDIF.
7cf0: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 74  .# <<mark>>.# St
7d00: 61 72 74 20 77 69 74 68 20 74 68 65 20 54 63 6c  art with the Tcl
7d10: 20 72 65 6c 61 74 65 64 20 6c 69 6e 6b 65 72 20   related linker 
7d20: 6f 70 74 69 6f 6e 73 2e 0a 23 0a 21 49 46 20 24  options..#.!IF $
7d30: 28 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 54 43 4c 4c  (NO_TCL)==0.TCLL
7d40: 49 42 50 41 54 48 53 20 3d 20 24 28 54 43 4c 4c  IBPATHS = $(TCLL
7d50: 49 42 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54  IBPATHS) /LIBPAT
7d60: 48 3a 24 28 54 43 4c 4c 49 42 44 49 52 29 0a 54  H:$(TCLLIBDIR).T
7d70: 43 4c 4c 49 42 53 20 3d 20 24 28 54 43 4c 4c 49  CLLIBS = $(TCLLI
7d80: 42 53 29 20 24 28 4c 49 42 54 43 4c 29 0a 21 45  BS) $(LIBTCL).!E
7d90: 4e 44 49 46 0a 0a 23 20 49 66 20 7a 6c 69 62 20  NDIF..# If zlib 
7da0: 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c  support is enabl
7db0: 65 64 2c 20 61 64 64 20 74 68 65 20 6c 69 6e 6b  ed, add the link
7dc0: 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69  er options for i
7dd0: 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a  t..#.!IF $(USE_Z
7de0: 4c 49 42 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54  LIB)!=0.LTLIBPAT
7df0: 48 53 20 3d 20 24 28 4c 54 4c 49 42 50 41 54 48  HS = $(LTLIBPATH
7e00: 53 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 5a 4c  S) /LIBPATH:$(ZL
7e10: 49 42 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42 53  IBLIBDIR).LTLIBS
7e20: 20 3d 20 24 28 4c 54 4c 49 42 53 29 20 24 28 5a   = $(LTLIBS) $(Z
7e30: 4c 49 42 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a  LIBLIB).!ENDIF..
7e40: 23 20 49 66 20 49 43 55 20 73 75 70 70 6f 72 74  # If ICU support
7e50: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64   is enabled, add
7e60: 20 74 68 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69   the linker opti
7e70: 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49  ons for it..#.!I
7e80: 46 20 24 28 55 53 45 5f 49 43 55 29 21 3d 30 0a  F $(USE_ICU)!=0.
7e90: 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4c  LTLIBPATHS = $(L
7ea0: 54 4c 49 42 50 41 54 48 53 29 20 2f 4c 49 42 50  TLIBPATHS) /LIBP
7eb0: 41 54 48 3a 24 28 49 43 55 4c 49 42 44 49 52 29  ATH:$(ICULIBDIR)
7ec0: 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49  .LTLIBS = $(LTLI
7ed0: 42 53 29 20 24 28 4c 49 42 49 43 55 29 0a 21 45  BS) $(LIBICU).!E
7ee0: 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  NDIF.# <</mark>>
7ef0: 0a 0a 23 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e  ..# You should n
7f00: 6f 74 20 68 61 76 65 20 74 6f 20 63 68 61 6e 67  ot have to chang
7f10: 65 20 61 6e 79 74 68 69 6e 67 20 62 65 6c 6f 77  e anything below
7f20: 20 74 68 69 73 20 6c 69 6e 65 0a 23 23 23 23 23   this line.#####
7f30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7f40: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7f50: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7f60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7f70: 23 23 23 23 23 23 23 23 23 23 0a 0a 23 20 3c 3c  ##########..# <<
7f80: 6d 61 72 6b 3e 3e 0a 23 20 4f 62 6a 65 63 74 20  mark>>.# Object 
7f90: 66 69 6c 65 73 20 66 6f 72 20 74 68 65 20 53 51  files for the SQ
7fa0: 4c 69 74 65 20 6c 69 62 72 61 72 79 20 28 6e 6f  Lite library (no
7fb0: 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e  n-amalgamation).
7fc0: 0a 23 0a 4c 49 42 4f 42 4a 53 30 20 3d 20 76 64  .#.LIBOBJS0 = vd
7fd0: 62 65 2e 6c 6f 20 70 61 72 73 65 2e 6c 6f 20 61  be.lo parse.lo a
7fe0: 6c 74 65 72 2e 6c 6f 20 61 6e 61 6c 79 7a 65 2e  lter.lo analyze.
7ff0: 6c 6f 20 61 74 74 61 63 68 2e 6c 6f 20 61 75 74  lo attach.lo aut
8000: 68 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  h.lo \.         
8010: 62 61 63 6b 75 70 2e 6c 6f 20 62 69 74 76 65 63  backup.lo bitvec
8020: 2e 6c 6f 20 62 74 6d 75 74 65 78 2e 6c 6f 20 62  .lo btmutex.lo b
8030: 74 72 65 65 2e 6c 6f 20 62 75 69 6c 64 2e 6c 6f  tree.lo build.lo
8040: 20 5c 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c   \.         call
8050: 62 61 63 6b 2e 6c 6f 20 63 6f 6d 70 6c 65 74 65  back.lo complete
8060: 2e 6c 6f 20 63 74 69 6d 65 2e 6c 6f 20 5c 0a 20  .lo ctime.lo \. 
8070: 20 20 20 20 20 20 20 20 64 61 74 65 2e 6c 6f 20          date.lo 
8080: 64 62 70 61 67 65 2e 6c 6f 20 64 62 73 74 61 74  dbpage.lo dbstat
8090: 2e 6c 6f 20 64 65 6c 65 74 65 2e 6c 6f 20 5c 0a  .lo delete.lo \.
80a0: 20 20 20 20 20 20 20 20 20 65 78 70 72 2e 6c 6f           expr.lo
80b0: 20 66 61 75 6c 74 2e 6c 6f 20 66 6b 65 79 2e 6c   fault.lo fkey.l
80c0: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73  o \.         fts
80d0: 33 2e 6c 6f 20 66 74 73 33 5f 61 75 78 2e 6c 6f  3.lo fts3_aux.lo
80e0: 20 66 74 73 33 5f 65 78 70 72 2e 6c 6f 20 66 74   fts3_expr.lo ft
80f0: 73 33 5f 68 61 73 68 2e 6c 6f 20 66 74 73 33 5f  s3_hash.lo fts3_
8100: 69 63 75 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  icu.lo \.       
8110: 20 20 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f    fts3_porter.lo
8120: 20 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f   fts3_snippet.lo
8130: 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e   fts3_tokenizer.
8140: 6c 6f 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  lo fts3_tokenize
8150: 72 31 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  r1.lo \.        
8160: 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76   fts3_tokenize_v
8170: 74 61 62 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63  tab.lo fts3_unic
8180: 6f 64 65 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63  ode.lo fts3_unic
8190: 6f 64 65 32 2e 6c 6f 20 66 74 73 33 5f 77 72 69  ode2.lo fts3_wri
81a0: 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  te.lo \.        
81b0: 20 66 74 73 35 2e 6c 6f 20 5c 0a 20 20 20 20 20   fts5.lo \.     
81c0: 20 20 20 20 66 75 6e 63 2e 6c 6f 20 67 6c 6f 62      func.lo glob
81d0: 61 6c 2e 6c 6f 20 68 61 73 68 2e 6c 6f 20 5c 0a  al.lo hash.lo \.
81e0: 20 20 20 20 20 20 20 20 20 69 63 75 2e 6c 6f 20           icu.lo 
81f0: 69 6e 73 65 72 74 2e 6c 6f 20 6a 73 6f 6e 31 2e  insert.lo json1.
8200: 6c 6f 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f 61  lo legacy.lo loa
8210: 64 65 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  dext.lo \.      
8220: 20 20 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c 6f     main.lo mallo
8230: 63 2e 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65 6d  c.lo mem0.lo mem
8240: 31 2e 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65 6d  1.lo mem2.lo mem
8250: 33 2e 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a 20  3.lo mem5.lo \. 
8260: 20 20 20 20 20 20 20 20 6d 65 6d 64 62 2e 6c 6f          memdb.lo
8270: 20 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 20 5c   memjournal.lo \
8280: 0a 20 20 20 20 20 20 20 20 20 6d 75 74 65 78 2e  .         mutex.
8290: 6c 6f 20 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f  lo mutex_noop.lo
82a0: 20 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 20 6d   mutex_unix.lo m
82b0: 75 74 65 78 5f 77 33 32 2e 6c 6f 20 5c 0a 20 20  utex_w32.lo \.  
82c0: 20 20 20 20 20 20 20 6e 6f 74 69 66 79 2e 6c 6f         notify.lo
82d0: 20 6f 70 63 6f 64 65 73 2e 6c 6f 20 6f 73 2e 6c   opcodes.lo os.l
82e0: 6f 20 6f 73 5f 75 6e 69 78 2e 6c 6f 20 6f 73 5f  o os_unix.lo os_
82f0: 77 69 6e 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  win.lo \.       
8300: 20 20 70 61 67 65 72 2e 6c 6f 20 70 63 61 63 68    pager.lo pcach
8310: 65 2e 6c 6f 20 70 63 61 63 68 65 31 2e 6c 6f 20  e.lo pcache1.lo 
8320: 70 72 61 67 6d 61 2e 6c 6f 20 70 72 65 70 61 72  pragma.lo prepar
8330: 65 2e 6c 6f 20 70 72 69 6e 74 66 2e 6c 6f 20 5c  e.lo printf.lo \
8340: 0a 20 20 20 20 20 20 20 20 20 72 61 6e 64 6f 6d  .         random
8350: 2e 6c 6f 20 72 65 73 6f 6c 76 65 2e 6c 6f 20 72  .lo resolve.lo r
8360: 6f 77 73 65 74 2e 6c 6f 20 72 74 72 65 65 2e 6c  owset.lo rtree.l
8370: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 73 71 6c  o \.         sql
8380: 69 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 20 73  ite3session.lo s
8390: 65 6c 65 63 74 2e 6c 6f 20 73 71 6c 69 74 65 33  elect.lo sqlite3
83a0: 72 62 75 2e 6c 6f 20 73 74 61 74 75 73 2e 6c 6f  rbu.lo status.lo
83b0: 20 73 74 6d 74 2e 6c 6f 20 5c 0a 20 20 20 20 20   stmt.lo \.     
83c0: 20 20 20 20 74 61 62 6c 65 2e 6c 6f 20 74 68 72      table.lo thr
83d0: 65 61 64 73 2e 6c 6f 20 74 6f 6b 65 6e 69 7a 65  eads.lo tokenize
83e0: 2e 6c 6f 20 74 72 65 65 76 69 65 77 2e 6c 6f 20  .lo treeview.lo 
83f0: 74 72 69 67 67 65 72 2e 6c 6f 20 5c 0a 20 20 20  trigger.lo \.   
8400: 20 20 20 20 20 20 75 70 64 61 74 65 2e 6c 6f 20        update.lo 
8410: 75 70 73 65 72 74 2e 6c 6f 20 75 74 69 6c 2e 6c  upsert.lo util.l
8420: 6f 20 76 61 63 75 75 6d 2e 6c 6f 20 5c 0a 20 20  o vacuum.lo \.  
8430: 20 20 20 20 20 20 20 76 64 62 65 61 70 69 2e 6c         vdbeapi.l
8440: 6f 20 76 64 62 65 61 75 78 2e 6c 6f 20 76 64 62  o vdbeaux.lo vdb
8450: 65 62 6c 6f 62 2e 6c 6f 20 76 64 62 65 6d 65 6d  eblob.lo vdbemem
8460: 2e 6c 6f 20 76 64 62 65 73 6f 72 74 2e 6c 6f 20  .lo vdbesort.lo 
8470: 5c 0a 20 20 20 20 20 20 20 20 20 76 64 62 65 74  \.         vdbet
8480: 72 61 63 65 2e 6c 6f 20 77 61 6c 2e 6c 6f 20 77  race.lo wal.lo w
8490: 61 6c 6b 65 72 2e 6c 6f 20 77 68 65 72 65 2e 6c  alker.lo where.l
84a0: 6f 20 77 68 65 72 65 63 6f 64 65 2e 6c 6f 20 77  o wherecode.lo w
84b0: 68 65 72 65 65 78 70 72 2e 6c 6f 20 5c 0a 20 20  hereexpr.lo \.  
84c0: 20 20 20 20 20 20 20 77 69 6e 64 6f 77 2e 6c 6f         window.lo
84d0: 20 75 74 66 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a   utf.lo vtab.lo.
84e0: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f  # <</mark>>..# O
84f0: 62 6a 65 63 74 20 66 69 6c 65 73 20 66 6f 72 20  bject files for 
8500: 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  the amalgamation
8510: 2e 0a 23 0a 4c 49 42 4f 42 4a 53 31 20 3d 20 73  ..#.LIBOBJS1 = s
8520: 71 6c 69 74 65 33 2e 6c 6f 0a 0a 23 20 44 65 74  qlite3.lo..# Det
8530: 65 72 6d 69 6e 65 20 74 68 65 20 72 65 61 6c 20  ermine the real 
8540: 76 61 6c 75 65 20 6f 66 20 4c 49 42 4f 42 4a 20  value of LIBOBJ 
8550: 62 61 73 65 64 20 6f 6e 20 74 68 65 20 27 63 6f  based on the 'co
8560: 6e 66 69 67 75 72 65 27 20 73 63 72 69 70 74 0a  nfigure' script.
8570: 23 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46  #.# <<mark>>.!IF
8580: 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54   $(USE_AMALGAMAT
8590: 49 4f 4e 29 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d  ION)==0.LIBOBJ =
85a0: 20 24 28 4c 49 42 4f 42 4a 53 30 29 0a 21 45 4c   $(LIBOBJS0).!EL
85b0: 53 45 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c  SE.# <</mark>>.L
85c0: 49 42 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a  IBOBJ = $(LIBOBJ
85d0: 53 31 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21  S1).# <<mark>>.!
85e0: 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  ENDIF.# <</mark>
85f0: 3e 0a 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 69  >..# Determine i
8600: 66 20 65 6d 62 65 64 64 65 64 20 72 65 73 6f 75  f embedded resou
8610: 72 63 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20  rce compilation 
8620: 61 6e 64 20 75 73 61 67 65 20 61 72 65 20 65 6e  and usage are en
8630: 61 62 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28 55  abled..#.!IF $(U
8640: 53 45 5f 52 43 29 21 3d 30 0a 4c 49 42 52 45 53  SE_RC)!=0.LIBRES
8650: 4f 42 4a 53 20 3d 20 73 71 6c 69 74 65 33 72 65  OBJS = sqlite3re
8660: 73 2e 6c 6f 0a 21 45 4c 53 45 0a 4c 49 42 52 45  s.lo.!ELSE.LIBRE
8670: 53 4f 42 4a 53 20 3d 0a 21 45 4e 44 49 46 0a 0a  SOBJS =.!ENDIF..
8680: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 43 6f 72  # <<mark>>.# Cor
8690: 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69  e source code fi
86a0: 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53  les, part 1..#.S
86b0: 52 43 30 30 20 3d 20 5c 0a 20 20 24 28 54 4f 50  RC00 = \.  $(TOP
86c0: 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20 5c 0a  )\src\alter.c \.
86d0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61    $(TOP)\src\ana
86e0: 6c 79 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  lyze.c \.  $(TOP
86f0: 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 20 5c  )\src\attach.c \
8700: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 75  .  $(TOP)\src\au
8710: 74 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  th.c \.  $(TOP)\
8720: 73 72 63 5c 62 61 63 6b 75 70 2e 63 20 5c 0a 20  src\backup.c \. 
8730: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76   $(TOP)\src\bitv
8740: 65 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ec.c \.  $(TOP)\
8750: 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 20 5c 0a  src\btmutex.c \.
8760: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72    $(TOP)\src\btr
8770: 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ee.c \.  $(TOP)\
8780: 73 72 63 5c 62 75 69 6c 64 2e 63 20 5c 0a 20 20  src\build.c \.  
8790: 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62  $(TOP)\src\callb
87a0: 61 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ack.c \.  $(TOP)
87b0: 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20  \src\complete.c 
87c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63  \.  $(TOP)\src\c
87d0: 74 69 6d 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  time.c \.  $(TOP
87e0: 29 5c 73 72 63 5c 64 61 74 65 2e 63 20 5c 0a 20  )\src\date.c \. 
87f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61   $(TOP)\src\dbpa
8800: 67 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ge.c \.  $(TOP)\
8810: 73 72 63 5c 64 62 73 74 61 74 2e 63 20 5c 0a 20  src\dbstat.c \. 
8820: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65   $(TOP)\src\dele
8830: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\
8840: 73 72 63 5c 65 78 70 72 2e 63 20 5c 0a 20 20 24  src\expr.c \.  $
8850: 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e  (TOP)\src\fault.
8860: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8870: 5c 66 6b 65 79 2e 63 20 5c 0a 20 20 24 28 54 4f  \fkey.c \.  $(TO
8880: 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63 20 5c 0a  P)\src\func.c \.
8890: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f    $(TOP)\src\glo
88a0: 62 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  bal.c \.  $(TOP)
88b0: 5c 73 72 63 5c 68 61 73 68 2e 63 20 5c 0a 20 20  \src\hash.c \.  
88c0: 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72  $(TOP)\src\inser
88d0: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s
88e0: 72 63 5c 6c 65 67 61 63 79 2e 63 20 5c 0a 20 20  rc\legacy.c \.  
88f0: 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65  $(TOP)\src\loade
8900: 78 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  xt.c \.  $(TOP)\
8910: 73 72 63 5c 6d 61 69 6e 2e 63 20 5c 0a 20 20 24  src\main.c \.  $
8920: 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63  (TOP)\src\malloc
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 30 2e 63 20 5c 0a 20 20 24 28 54  c\mem0.c \.  $(T
8950: 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 5c  OP)\src\mem1.c \
8960: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  .  $(TOP)\src\me
8970: 6d 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  m2.c \.  $(TOP)\
8980: 73 72 63 5c 6d 65 6d 33 2e 63 20 5c 0a 20 20 24  src\mem3.c \.  $
8990: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63  (TOP)\src\mem5.c
89a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
89b0: 6d 65 6d 64 62 2e 63 20 5c 0a 20 20 24 28 54 4f  memdb.c \.  $(TO
89c0: 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61  P)\src\memjourna
89d0: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  l.c \.  $(TOP)\s
89e0: 72 63 5c 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24  rc\mutex.c \.  $
89f0: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
8a00: 6e 6f 6f 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50  noop.c \.  $(TOP
8a10: 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78  )\src\mutex_unix
8a20: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8a30: 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 20 5c 0a  c\mutex_w32.c \.
8a40: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74    $(TOP)\src\not
8a50: 69 66 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ify.c \.  $(TOP)
8a60: 5c 73 72 63 5c 6f 73 2e 63 20 5c 0a 20 20 24 28  \src\os.c \.  $(
8a70: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78  TOP)\src\os_unix
8a80: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8a90: 63 5c 6f 73 5f 77 69 6e 2e 63 0a 0a 23 20 43 6f  c\os_win.c..# Co
8aa0: 72 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  re source code f
8ab0: 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a  iles, part 2..#.
8ac0: 53 52 43 30 31 20 3d 20 5c 0a 20 20 24 28 54 4f  SRC01 = \.  $(TO
8ad0: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 20 5c  P)\src\pager.c \
8ae0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  .  $(TOP)\src\pc
8af0: 61 63 68 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ache.c \.  $(TOP
8b00: 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20  )\src\pcache1.c 
8b10: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  \.  $(TOP)\src\p
8b20: 72 61 67 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f  ragma.c \.  $(TO
8b30: 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63  P)\src\prepare.c
8b40: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8b50: 70 72 69 6e 74 66 2e 63 20 5c 0a 20 20 24 28 54  printf.c \.  $(T
8b60: 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63  OP)\src\random.c
8b70: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8b80: 72 65 73 6f 6c 76 65 2e 63 20 5c 0a 20 20 24 28  resolve.c \.  $(
8b90: 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e  TOP)\src\rowset.
8ba0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8bb0: 5c 73 65 6c 65 63 74 2e 63 20 5c 0a 20 20 24 28  \select.c \.  $(
8bc0: 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e  TOP)\src\status.
8bd0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8be0: 5c 74 61 62 6c 65 2e 63 20 5c 0a 20 20 24 28 54  \table.c \.  $(T
8bf0: 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e  OP)\src\threads.
8c00: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8c10: 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20  \tclsqlite.c \. 
8c20: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65   $(TOP)\src\toke
8c30: 6e 69 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  nize.c \.  $(TOP
8c40: 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63  )\src\treeview.c
8c50: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8c60: 74 72 69 67 67 65 72 2e 63 20 5c 0a 20 20 24 28  trigger.c \.  $(
8c70: 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 5c  TOP)\src\utf.c \
8c80: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70  .  $(TOP)\src\up
8c90: 64 61 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  date.c \.  $(TOP
8ca0: 29 5c 73 72 63 5c 75 70 73 65 72 74 2e 63 20 5c  )\src\upsert.c \
8cb0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74  .  $(TOP)\src\ut
8cc0: 69 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  il.c \.  $(TOP)\
8cd0: 73 72 63 5c 76 61 63 75 75 6d 2e 63 20 5c 0a 20  src\vacuum.c \. 
8ce0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
8cf0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8d00: 63 5c 76 64 62 65 61 70 69 2e 63 20 5c 0a 20 20  c\vdbeapi.c \.  
8d10: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61  $(TOP)\src\vdbea
8d20: 75 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ux.c \.  $(TOP)\
8d30: 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 5c  src\vdbeblob.c \
8d40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  .  $(TOP)\src\vd
8d50: 62 65 6d 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f  bemem.c \.  $(TO
8d60: 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e  P)\src\vdbesort.
8d70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8d80: 5c 76 64 62 65 74 72 61 63 65 2e 63 20 5c 0a 20  \vdbetrace.c \. 
8d90: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62   $(TOP)\src\vtab
8da0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8db0: 63 5c 77 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f  c\wal.c \.  $(TO
8dc0: 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20  P)\src\walker.c 
8dd0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77  \.  $(TOP)\src\w
8de0: 68 65 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  here.c \.  $(TOP
8df0: 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e  )\src\wherecode.
8e00: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8e10: 5c 77 68 65 72 65 65 78 70 72 2e 63 20 5c 0a 20  \whereexpr.c \. 
8e20: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 69 6e 64   $(TOP)\src\wind
8e30: 6f 77 2e 63 0a 0a 23 20 43 6f 72 65 20 6d 69 73  ow.c..# Core mis
8e40: 63 65 6c 6c 61 6e 65 6f 75 73 20 66 69 6c 65 73  cellaneous files
8e50: 2e 0a 23 0a 53 52 43 30 33 20 3d 20 5c 0a 20 20  ..#.SRC03 = \.  
8e60: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65  $(TOP)\src\parse
8e70: 2e 79 0a 0a 23 20 43 6f 72 65 20 68 65 61 64 65  .y..# Core heade
8e80: 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e  r files, part 1.
8e90: 0a 23 0a 53 52 43 30 34 20 3d 20 5c 0a 20 20 24  .#.SRC04 = \.  $
8ea0: 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e  (TOP)\src\btree.
8eb0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
8ec0: 5c 62 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20 20  \btreeInt.h \.  
8ed0: 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e  $(TOP)\src\hash.
8ee0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
8ef0: 5c 68 77 74 69 6d 65 2e 68 20 5c 0a 20 20 24 28  \hwtime.h \.  $(
8f00: 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20  TOP)\src\msvc.h 
8f10: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
8f20: 75 74 65 78 2e 68 20 5c 0a 20 20 24 28 54 4f 50  utex.h \.  $(TOP
8f30: 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 24  )\src\os.h \.  $
8f40: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d  (TOP)\src\os_com
8f50: 6d 6f 6e 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  mon.h \.  $(TOP)
8f60: 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20  \src\os_setup.h 
8f70: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f  \.  $(TOP)\src\o
8f80: 73 5f 77 69 6e 2e 68 0a 0a 23 20 43 6f 72 65 20  s_win.h..# Core 
8f90: 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61  header files, pa
8fa0: 72 74 20 32 2e 0a 23 0a 53 52 43 30 35 20 3d 20  rt 2..#.SRC05 = 
8fb0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  \.  $(TOP)\src\p
8fc0: 61 67 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50  ager.h \.  $(TOP
8fd0: 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c  )\src\pcache.h \
8fe0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  .  $(TOP)\src\pr
8ff0: 61 67 6d 61 2e 68 20 5c 0a 20 20 24 28 54 4f 50  agma.h \.  $(TOP
9000: 29 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69  )\src\sqlite.h.i
9010: 6e 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  n \.  $(TOP)\src
9020: 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a  \sqlite3ext.h \.
9030: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c    $(TOP)\src\sql
9040: 69 74 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54  iteInt.h \.  $(T
9050: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c 69  OP)\src\sqliteLi
9060: 6d 69 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  mit.h \.  $(TOP)
9070: 5c 73 72 63 5c 76 64 62 65 2e 68 20 5c 0a 20 20  \src\vdbe.h \.  
9080: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 49  $(TOP)\src\vdbeI
9090: 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  nt.h \.  $(TOP)\
90a0: 73 72 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a  src\vxworks.h \.
90b0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c    $(TOP)\src\wal
90c0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
90d0: 63 5c 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20  c\whereInt.h..# 
90e0: 45 78 74 65 6e 73 69 6f 6e 20 73 6f 75 72 63 65  Extension source
90f0: 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72   code files, par
9100: 74 20 31 2e 0a 23 0a 53 52 43 30 36 20 3d 20 5c  t 1..#.SRC06 = \
9110: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
9120: 73 31 5c 66 74 73 31 2e 63 20 5c 0a 20 20 24 28  s1\fts1.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 68 61 73 68 2e 63 20 5c 0a 20 20 24 28  s1_hash.c \.  $(
9150: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
9160: 73 31 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20  s1_porter.c \.  
9170: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c  $(TOP)\ext\fts1\
9180: 66 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts1_tokenizer1.
9190: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
91a0: 5c 66 74 73 32 5c 66 74 73 32 2e 63 20 5c 0a 20  \fts2\fts2.c \. 
91b0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
91c0: 5c 66 74 73 32 5f 68 61 73 68 2e 63 20 5c 0a 20  \fts2_hash.c \. 
91d0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
91e0: 5c 66 74 73 32 5f 69 63 75 2e 63 20 5c 0a 20 20  \fts2_icu.c \.  
91f0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
9200: 66 74 73 32 5f 70 6f 72 74 65 72 2e 63 20 5c 0a  fts2_porter.c \.
9210: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
9220: 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72  2\fts2_tokenizer
9230: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9240: 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65  t\fts2\fts2_toke
9250: 6e 69 7a 65 72 31 2e 63 0a 0a 23 20 45 78 74 65  nizer1.c..# Exte
9260: 6e 73 69 6f 6e 20 73 6f 75 72 63 65 20 63 6f 64  nsion source cod
9270: 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e  e files, part 2.
9280: 0a 23 0a 53 52 43 30 37 20 3d 20 5c 0a 20 20 24  .#.SRC07 = \.  $
9290: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
92a0: 74 73 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ts3.c \.  $(TOP)
92b0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61  \ext\fts3\fts3_a
92c0: 75 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ux.c \.  $(TOP)\
92d0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78  ext\fts3\fts3_ex
92e0: 70 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  pr.c \.  $(TOP)\
92f0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61  ext\fts3\fts3_ha
9300: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.c \.  $(TOP)\
9310: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63  ext\fts3\fts3_ic
9320: 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  u.c \.  $(TOP)\e
9330: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72  xt\fts3\fts3_por
9340: 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ter.c \.  $(TOP)
9350: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73  \ext\fts3\fts3_s
9360: 6e 69 70 70 65 74 2e 63 20 5c 0a 20 20 24 28 54  nippet.c \.  $(T
9370: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
9380: 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a  3_tokenizer.c \.
9390: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
93a0: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3\fts3_tokenizer
93b0: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  1.c \.  $(TOP)\e
93c0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
93d0: 65 6e 69 7a 65 5f 76 74 61 62 2e 63 20 5c 0a 20  enize_vtab.c \. 
93e0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
93f0: 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20  \fts3_unicode.c 
9400: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9410: 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65  ts3\fts3_unicode
9420: 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  2.c \.  $(TOP)\e
9430: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69  xt\fts3\fts3_wri
9440: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\
9450: 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 20 5c 0a  ext\icu\icu.c \.
9460: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72    $(TOP)\ext\rtr
9470: 65 65 5c 72 74 72 65 65 2e 63 20 5c 0a 20 20 24  ee\rtree.c \.  $
9480: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
9490: 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  n\sqlite3session
94a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
94b0: 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75  t\rbu\sqlite3rbu
94c0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
94d0: 74 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 20 5c  t\misc\json1.c \
94e0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
94f0: 73 63 5c 73 74 6d 74 2e 63 0a 0a 23 20 45 78 74  sc\stmt.c..# Ext
9500: 65 6e 73 69 6f 6e 20 68 65 61 64 65 72 20 66 69  ension header fi
9510: 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53  les, part 1..#.S
9520: 52 43 30 38 20 3d 20 5c 0a 20 20 24 28 54 4f 50  RC08 = \.  $(TOP
9530: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e  )\ext\fts1\fts1.
9540: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext
9550: 5c 66 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e  \fts1\fts1_hash.
9560: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext
9570: 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e  \fts1\fts1_token
9580: 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50  izer.h \.  $(TOP
9590: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e  )\ext\fts2\fts2.
95a0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext
95b0: 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e  \fts2\fts2_hash.
95c0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext
95d0: 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e  \fts2\fts2_token
95e0: 69 7a 65 72 2e 68 0a 0a 23 20 45 78 74 65 6e 73  izer.h..# Extens
95f0: 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73  ion header files
9600: 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30  , part 2..#.SRC0
9610: 39 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  9 = \.  $(TOP)\e
9620: 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c  xt\fts3\fts3.h \
9630: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
9640: 73 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20  s3\fts3Int.h \. 
9650: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
9660: 5c 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20  \fts3_hash.h \. 
9670: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
9680: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts3_tokenizer.
9690: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext
96a0: 5c 69 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68  \icu\sqliteicu.h
96b0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
96c0: 72 74 72 65 65 5c 72 74 72 65 65 2e 68 20 5c 0a  rtree\rtree.h \.
96d0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72    $(TOP)\ext\rtr
96e0: 65 65 5c 67 65 6f 70 6f 6c 79 2e 63 20 5c 0a 20  ee\geopoly.c \. 
96f0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c   $(TOP)\ext\rbu\
9700: 73 71 6c 69 74 65 33 72 62 75 2e 68 20 5c 0a 20  sqlite3rbu.h \. 
9710: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73   $(TOP)\ext\sess
9720: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69  ion\sqlite3sessi
9730: 6f 6e 2e 68 0a 0a 23 20 47 65 6e 65 72 61 74 65  on.h..# Generate
9740: 64 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69  d source code fi
9750: 6c 65 73 0a 23 0a 53 52 43 31 30 20 3d 20 5c 0a  les.#.SRC10 = \.
9760: 20 20 6f 70 63 6f 64 65 73 2e 63 20 5c 0a 20 20    opcodes.c \.  
9770: 70 61 72 73 65 2e 63 0a 0a 23 20 47 65 6e 65 72  parse.c..# Gener
9780: 61 74 65 64 20 68 65 61 64 65 72 20 66 69 6c 65  ated header file
9790: 73 0a 23 0a 53 52 43 31 31 20 3d 20 5c 0a 20 20  s.#.SRC11 = \.  
97a0: 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a  keywordhash.h \.
97b0: 20 20 6f 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20    opcodes.h \.  
97c0: 70 61 72 73 65 2e 68 20 5c 0a 20 20 73 68 65 6c  parse.h \.  shel
97d0: 6c 2e 63 20 5c 0a 20 20 24 28 53 51 4c 49 54 45  l.c \.  $(SQLITE
97e0: 33 48 29 0a 0a 23 20 47 65 6e 65 72 61 74 65 64  3H)..# Generated
97f0: 20 54 63 6c 20 68 65 61 64 65 72 20 66 69 6c 65   Tcl header file
9800: 73 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 53 54  s.#.!IF $(USE_ST
9810: 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46  DCALL)!=0 || $(F
9820: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 52 43  OR_WIN10)!=0.SRC
9830: 31 32 20 3d 20 5c 0a 20 20 24 28 53 51 4c 49 54  12 = \.  $(SQLIT
9840: 45 54 43 4c 48 29 20 5c 0a 20 20 24 28 53 51 4c  ETCLH) \.  $(SQL
9850: 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 21 45  ITETCLDECLSH).!E
9860: 4c 53 45 0a 53 52 43 31 32 20 3d 0a 21 45 4e 44  LSE.SRC12 =.!END
9870: 49 46 0a 0a 23 20 41 6c 6c 20 73 6f 75 72 63 65  IF..# All source
9880: 20 63 6f 64 65 20 66 69 6c 65 73 2e 0a 23 0a 53   code files..#.S
9890: 52 43 20 3d 20 24 28 53 52 43 30 30 29 20 24 28  RC = $(SRC00) $(
98a0: 53 52 43 30 31 29 20 24 28 53 52 43 30 33 29 20  SRC01) $(SRC03) 
98b0: 24 28 53 52 43 30 34 29 20 24 28 53 52 43 30 35  $(SRC04) $(SRC05
98c0: 29 20 24 28 53 52 43 30 36 29 20 24 28 53 52 43  ) $(SRC06) $(SRC
98d0: 30 37 29 20 24 28 53 52 43 30 38 29 20 24 28 53  07) $(SRC08) $(S
98e0: 52 43 30 39 29 20 24 28 53 52 43 31 30 29 20 24  RC09) $(SRC10) $
98f0: 28 53 52 43 31 31 29 0a 0a 23 20 53 6f 75 72 63  (SRC11)..# Sourc
9900: 65 20 63 6f 64 65 20 74 6f 20 74 68 65 20 74 65  e code to the te
9910: 73 74 20 66 69 6c 65 73 2e 0a 23 0a 54 45 53 54  st files..#.TEST
9920: 53 52 43 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  SRC = \.  $(TOP)
9930: 5c 73 72 63 5c 74 65 73 74 31 2e 63 20 5c 0a 20  \src\test1.c \. 
9940: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
9950: 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  2.c \.  $(TOP)\s
9960: 72 63 5c 74 65 73 74 33 2e 63 20 5c 0a 20 20 24  rc\test3.c \.  $
9970: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 34 2e  (TOP)\src\test4.
9980: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9990: 5c 74 65 73 74 35 2e 63 20 5c 0a 20 20 24 28 54  \test5.c \.  $(T
99a0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 36 2e 63 20  OP)\src\test6.c 
99b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
99c0: 65 73 74 37 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est7.c \.  $(TOP
99d0: 29 5c 73 72 63 5c 74 65 73 74 38 2e 63 20 5c 0a  )\src\test8.c \.
99e0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
99f0: 74 39 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  t9.c \.  $(TOP)\
9a00: 73 72 63 5c 74 65 73 74 5f 61 75 74 6f 65 78 74  src\test_autoext
9a10: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
9a20: 63 5c 74 65 73 74 5f 61 73 79 6e 63 2e 63 20 5c  c\test_async.c \
9a30: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9a40: 73 74 5f 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20  st_backup.c \.  
9a50: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9a60: 62 65 73 74 69 6e 64 65 78 2e 63 20 5c 0a 20 20  bestindex.c \.  
9a70: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9a80: 62 6c 6f 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50  blob.c \.  $(TOP
9a90: 29 5c 73 72 63 5c 74 65 73 74 5f 62 74 72 65 65  )\src\test_btree
9aa0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
9ab0: 63 5c 74 65 73 74 5f 63 6f 6e 66 69 67 2e 63 20  c\test_config.c 
9ac0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9ad0: 65 73 74 5f 64 65 6c 65 74 65 2e 63 20 5c 0a 20  est_delete.c \. 
9ae0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
9af0: 5f 64 65 6d 6f 76 66 73 2e 63 20 5c 0a 20 20 24  _demovfs.c \.  $
9b00: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64  (TOP)\src\test_d
9b10: 65 76 73 79 6d 2e 63 20 5c 0a 20 20 24 28 54 4f  evsym.c \.  $(TO
9b20: 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 73 2e 63  P)\src\test_fs.c
9b30: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9b40: 74 65 73 74 5f 66 75 6e 63 2e 63 20 5c 0a 20 20  test_func.c \.  
9b50: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9b60: 68 65 78 69 6f 2e 63 20 5c 0a 20 20 24 28 54 4f  hexio.c \.  $(TO
9b70: 50 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e 69 74  P)\src\test_init
9b80: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
9b90: 63 5c 74 65 73 74 5f 69 6e 74 61 72 72 61 79 2e  c\test_intarray.
9ba0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9bb0: 5c 74 65 73 74 5f 6a 6f 75 72 6e 61 6c 2e 63 20  \test_journal.c 
9bc0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9bd0: 65 73 74 5f 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20  est_malloc.c \. 
9be0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
9bf0: 5f 6d 64 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50  _md5.c \.  $(TOP
9c00: 29 5c 73 72 63 5c 74 65 73 74 5f 6d 75 6c 74 69  )\src\test_multi
9c10: 70 6c 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50  plex.c \.  $(TOP
9c20: 29 5c 73 72 63 5c 74 65 73 74 5f 6d 75 74 65 78  )\src\test_mutex
9c30: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
9c40: 63 5c 74 65 73 74 5f 6f 6e 65 66 69 6c 65 2e 63  c\test_onefile.c
9c50: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9c60: 74 65 73 74 5f 6f 73 69 6e 73 74 2e 63 20 5c 0a  test_osinst.c \.
9c70: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9c80: 74 5f 70 63 61 63 68 65 2e 63 20 5c 0a 20 20 24  t_pcache.c \.  $
9c90: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 71  (TOP)\src\test_q
9ca0: 75 6f 74 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50  uota.c \.  $(TOP
9cb0: 29 5c 73 72 63 5c 74 65 73 74 5f 72 74 72 65 65  )\src\test_rtree
9cc0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
9cd0: 63 5c 74 65 73 74 5f 73 63 68 65 6d 61 2e 63 20  c\test_schema.c 
9ce0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9cf0: 65 73 74 5f 73 65 72 76 65 72 2e 63 20 5c 0a 20  est_server.c \. 
9d00: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
9d10: 5f 73 75 70 65 72 6c 6f 63 6b 2e 63 20 5c 0a 20  _superlock.c \. 
9d20: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
9d30: 5f 73 79 73 63 61 6c 6c 2e 63 20 5c 0a 20 20 24  _syscall.c \.  $
9d40: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 74  (TOP)\src\test_t
9d50: 63 6c 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50  clsh.c \.  $(TOP
9d60: 29 5c 73 72 63 5c 74 65 73 74 5f 74 63 6c 76 61  )\src\test_tclva
9d70: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  r.c \.  $(TOP)\s
9d80: 72 63 5c 74 65 73 74 5f 74 68 72 65 61 64 2e 63  rc\test_thread.c
9d90: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9da0: 74 65 73 74 5f 76 64 62 65 63 6f 76 2e 63 20 5c  test_vdbecov.c \
9db0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9dc0: 73 74 5f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54  st_vfs.c \.  $(T
9dd0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e  OP)\src\test_win
9de0: 64 69 72 65 6e 74 2e 63 20 5c 0a 20 20 24 28 54  dirent.c \.  $(T
9df0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e  OP)\src\test_win
9e00: 64 6f 77 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  dow.c \.  $(TOP)
9e10: 5c 73 72 63 5c 74 65 73 74 5f 77 73 64 2e 63 20  \src\test_wsd.c 
9e20: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9e30: 74 73 33 5c 66 74 73 33 5f 74 65 72 6d 2e 63 20  ts3\fts3_term.c 
9e40: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9e50: 74 73 33 5c 66 74 73 33 5f 74 65 73 74 2e 63 20  ts3\fts3_test.c 
9e60: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  \.  $(TOP)\ext\r
9e70: 62 75 5c 74 65 73 74 5f 72 62 75 2e 63 20 5c 0a  bu\test_rbu.c \.
9e80: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73    $(TOP)\ext\ses
9e90: 73 69 6f 6e 5c 74 65 73 74 5f 73 65 73 73 69 6f  sion\test_sessio
9ea0: 6e 2e 63 0a 0a 23 20 53 74 61 74 69 63 61 6c 6c  n.c..# Staticall
9eb0: 79 20 6c 69 6e 6b 65 64 20 65 78 74 65 6e 73 69  y linked extensi
9ec0: 6f 6e 73 2e 0a 23 0a 54 45 53 54 45 58 54 20 3d  ons..#.TESTEXT =
9ed0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9ee0: 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78  expert\sqlite3ex
9ef0: 70 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  pert.c \.  $(TOP
9f00: 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 74 65 73  )\ext\expert\tes
9f10: 74 5f 65 78 70 65 72 74 2e 63 20 5c 0a 20 20 24  t_expert.c \.  $
9f20: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61  (TOP)\ext\misc\a
9f30: 6d 61 74 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f  match.c \.  $(TO
9f40: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 61 72 72  P)\ext\misc\carr
9f50: 61 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ay.c \.  $(TOP)\
9f60: 65 78 74 5c 6d 69 73 63 5c 63 6c 6f 73 75 72 65  ext\misc\closure
9f70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9f80: 74 5c 6d 69 73 63 5c 63 73 76 2e 63 20 5c 0a 20  t\misc\csv.c \. 
9f90: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
9fa0: 5c 65 76 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f  \eval.c \.  $(TO
9fb0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 65 78 70 6c  P)\ext\misc\expl
9fc0: 61 69 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ain.c \.  $(TOP)
9fd0: 5c 65 78 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f  \ext\misc\fileio
9fe0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9ff0: 74 5c 6d 69 73 63 5c 66 75 7a 7a 65 72 2e 63 20  t\misc\fuzzer.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 63 6c 2e 63 20 5c  ts5\fts5_tcl.c \
a020: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
a030: 73 35 5c 66 74 73 35 5f 74 65 73 74 5f 6d 69 2e  s5\fts5_test_mi.
a040: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
a050: 5c 66 74 73 35 5c 66 74 73 35 5f 74 65 73 74 5f  \fts5\fts5_test_
a060: 74 6f 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tok.c \.  $(TOP)
a070: 5c 65 78 74 5c 6d 69 73 63 5c 69 65 65 65 37 35  \ext\misc\ieee75
a080: 34 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  4.c \.  $(TOP)\e
a090: 78 74 5c 6d 69 73 63 5c 6d 6d 61 70 77 61 72 6d  xt\misc\mmapwarm
a0a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
a0b0: 74 5c 6d 69 73 63 5c 6e 65 78 74 63 68 61 72 2e  t\misc\nextchar.
a0c0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
a0d0: 5c 6d 69 73 63 5c 6e 6f 72 6d 61 6c 69 7a 65 2e  \misc\normalize.
a0e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
a0f0: 5c 6d 69 73 63 5c 70 65 72 63 65 6e 74 69 6c 65  \misc\percentile
a100: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
a110: 74 5c 6d 69 73 63 5c 70 72 65 66 69 78 65 73 2e  t\misc\prefixes.
a120: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
a130: 5c 6d 69 73 63 5c 72 65 67 65 78 70 2e 63 20 5c  \misc\regexp.c \
a140: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
a150: 73 63 5c 72 65 6d 65 6d 62 65 72 2e 63 20 5c 0a  sc\remember.c \.
a160: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
a170: 63 5c 73 65 72 69 65 73 2e 63 20 5c 0a 20 20 24  c\series.c \.  $
a180: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73  (TOP)\ext\misc\s
a190: 70 65 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24 28  pellfix.c \.  $(
a1a0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 74 6f  TOP)\ext\misc\to
a1b0: 74 79 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  type.c \.  $(TOP
a1c0: 29 5c 65 78 74 5c 6d 69 73 63 5c 75 6e 69 6f 6e  )\ext\misc\union
a1d0: 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50  vtab.c \.  $(TOP
a1e0: 29 5c 65 78 74 5c 6d 69 73 63 5c 77 68 6f 6c 65  )\ext\misc\whole
a1f0: 6e 75 6d 62 65 72 2e 63 0a 0a 23 20 49 66 20 75  number.c..# If u
a200: 73 65 20 6f 66 20 7a 6c 69 62 20 69 73 20 65 6e  se of zlib is en
a210: 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 22  abled, add the "
a220: 7a 69 70 66 69 6c 65 2e 63 22 20 73 6f 75 72 63  zipfile.c" sourc
a230: 65 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28  e file..#.!IF $(
a240: 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a 54 45 53  USE_ZLIB)!=0.TES
a250: 54 45 58 54 20 3d 20 24 28 54 45 53 54 45 58 54  TEXT = $(TESTEXT
a260: 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  ) $(TOP)\ext\mis
a270: 63 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e 44  c\zipfile.c.!END
a280: 49 46 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f 64  IF..# Source cod
a290: 65 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72 79  e to the library
a2a0: 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20 62 79   files needed by
a2b0: 20 74 68 65 20 74 65 73 74 20 66 69 78 74 75 72   the test fixtur
a2c0: 65 0a 23 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d  e.# (non-amalgam
a2d0: 61 74 69 6f 6e 29 0a 23 0a 54 45 53 54 53 52 43  ation).#.TESTSRC
a2e0: 32 20 3d 20 5c 0a 20 20 24 28 53 52 43 30 30 29  2 = \.  $(SRC00)
a2f0: 20 5c 0a 20 20 24 28 53 52 43 30 31 29 20 5c 0a   \.  $(SRC01) \.
a300: 20 20 24 28 53 52 43 30 36 29 20 5c 0a 20 20 24    $(SRC06) \.  $
a310: 28 53 52 43 30 37 29 20 5c 0a 20 20 24 28 53 52  (SRC07) \.  $(SR
a320: 43 31 30 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  C10) \.  $(TOP)\
a330: 65 78 74 5c 61 73 79 6e 63 5c 73 71 6c 69 74 65  ext\async\sqlite
a340: 33 61 73 79 6e 63 2e 63 0a 0a 23 20 48 65 61 64  3async.c..# Head
a350: 65 72 20 66 69 6c 65 73 20 75 73 65 64 20 62 79  er files used by
a360: 20 61 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f 75   all library sou
a370: 72 63 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44 52  rce files..#.HDR
a380: 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73   = \.   $(TOP)\s
a390: 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 20  rc\btree.h \.   
a3a0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree
a3b0: 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  Int.h \.   $(TOP
a3c0: 29 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20  )\src\hash.h \. 
a3d0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 77 74    $(TOP)\src\hwt
a3e0: 69 6d 65 2e 68 20 5c 0a 20 20 20 6b 65 79 77 6f  ime.h \.   keywo
a3f0: 72 64 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 28  rdhash.h \.   $(
a400: 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20  TOP)\src\msvc.h 
a410: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\
a420: 6d 75 74 65 78 2e 68 20 5c 0a 20 20 20 6f 70 63  mutex.h \.   opc
a430: 6f 64 65 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f  odes.h \.   $(TO
a440: 50 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20  P)\src\os.h \.  
a450: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63   $(TOP)\src\os_c
a460: 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 28 54  ommon.h \.   $(T
a470: 4f 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70  OP)\src\os_setup
a480: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
a490: 72 63 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20 20  rc\os_win.h \.  
a4a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65   $(TOP)\src\page
a4b0: 72 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  r.h \.   $(TOP)\
a4c0: 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20  src\pcache.h \. 
a4d0: 20 20 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 24    parse.h \.   $
a4e0: 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61  (TOP)\src\pragma
a4f0: 2e 68 20 5c 0a 20 20 20 24 28 53 51 4c 49 54 45  .h \.   $(SQLITE
a500: 33 48 29 20 5c 0a 20 20 20 73 71 6c 69 74 65 33  3H) \.   sqlite3
a510: 65 78 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  ext.h \.   $(TOP
a520: 29 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e  )\src\sqliteInt.
a530: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
a540: 63 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20  c\sqliteLimit.h 
a550: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\
a560: 76 64 62 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f  vdbe.h \.   $(TO
a570: 50 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e 68  P)\src\vdbeInt.h
a580: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
a590: 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20 20  \vxworks.h \.   
a5a0: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where
a5b0: 49 6e 74 2e 68 0a 0a 23 20 48 65 61 64 65 72 20  Int.h..# Header 
a5c0: 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 65 78  files used by ex
a5d0: 74 65 6e 73 69 6f 6e 73 0a 23 0a 45 58 54 48 44  tensions.#.EXTHD
a5e0: 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a  R = $(EXTHDR) \.
a5f0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
a600: 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54  1\fts1.h \.  $(T
a610: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
a620: 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54  1_hash.h \.  $(T
a630: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
a640: 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58  1_tokenizer.h.EX
a650: 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29  THDR = $(EXTHDR)
a660: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
a670: 66 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20  fts2\fts2.h \.  
a680: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
a690: 66 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20  fts2_hash.h \.  
a6a0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
a6b0: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68  fts2_tokenizer.h
a6c0: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48  .EXTHDR = $(EXTH
a6d0: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  DR) \.  $(TOP)\e
a6e0: 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c  xt\fts3\fts3.h \
a6f0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
a700: 73 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20  s3\fts3Int.h \. 
a710: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
a720: 5c 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20  \fts3_hash.h \. 
a730: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
a740: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts3_tokenizer.
a750: 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54  h.EXTHDR = $(EXT
a760: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\
a770: 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e  ext\rtree\rtree.
a780: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext
a790: 5c 72 74 72 65 65 5c 67 65 6f 70 6f 6c 79 2e 63  \rtree\geopoly.c
a7a0: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48  .EXTHDR = $(EXTH
a7b0: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  DR) \.  $(TOP)\e
a7c0: 78 74 5c 69 63 75 5c 73 71 6c 69 74 65 69 63 75  xt\icu\sqliteicu
a7d0: 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58  .h.EXTHDR = $(EX
a7e0: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29  THDR) \.  $(TOP)
a7f0: 5c 65 78 74 5c 72 74 72 65 65 5c 73 71 6c 69 74  \ext\rtree\sqlit
a800: 65 33 72 74 72 65 65 2e 68 0a 45 58 54 48 44 52  e3rtree.h.EXTHDR
a810: 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20   = $(EXTHDR) \. 
a820: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73   $(TOP)\ext\sess
a830: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69  ion\sqlite3sessi
a840: 6f 6e 2e 68 0a 0a 23 20 65 78 65 63 75 74 61 62  on.h..# executab
a850: 6c 65 73 20 6e 65 65 64 65 64 20 66 6f 72 20 74  les needed for t
a860: 65 73 74 69 6e 67 0a 23 0a 54 45 53 54 50 52 4f  esting.#.TESTPRO
a870: 47 53 20 3d 20 5c 0a 20 20 74 65 73 74 66 69 78  GS = \.  testfix
a880: 74 75 72 65 2e 65 78 65 20 5c 0a 20 20 24 28 53  ture.exe \.  $(S
a890: 51 4c 49 54 45 33 45 58 45 29 20 5c 0a 20 20 73  QLITE3EXE) \.  s
a8a0: 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
a8b0: 65 78 65 20 5c 0a 20 20 73 71 6c 69 74 65 33 5f  exe \.  sqlite3_
a8c0: 63 68 65 63 6b 65 72 2e 65 78 65 20 5c 0a 20 20  checker.exe \.  
a8d0: 73 71 6c 64 69 66 66 2e 65 78 65 20 5c 0a 20 20  sqldiff.exe \.  
a8e0: 64 62 68 61 73 68 2e 65 78 65 20 5c 0a 20 20 73  dbhash.exe \.  s
a8f0: 71 6c 74 63 6c 73 68 2e 65 78 65 0a 0a 23 20 44  qltclsh.exe..# D
a900: 61 74 61 62 61 73 65 73 20 63 6f 6e 74 61 69 6e  atabases contain
a910: 69 6e 67 20 66 75 7a 7a 65 72 20 74 65 73 74 20  ing fuzzer test 
a920: 63 61 73 65 73 0a 23 0a 46 55 5a 5a 44 41 54 41  cases.#.FUZZDATA
a930: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65   = \.  $(TOP)\te
a940: 73 74 5c 66 75 7a 7a 64 61 74 61 31 2e 64 62 20  st\fuzzdata1.db 
a950: 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  \.  $(TOP)\test\
a960: 66 75 7a 7a 64 61 74 61 32 2e 64 62 20 5c 0a 20  fuzzdata2.db \. 
a970: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a   $(TOP)\test\fuz
a980: 7a 64 61 74 61 33 2e 64 62 20 5c 0a 20 20 24 28  zdata3.db \.  $(
a990: 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61  TOP)\test\fuzzda
a9a0: 74 61 34 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50  ta4.db \.  $(TOP
a9b0: 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 35  )\test\fuzzdata5
a9c0: 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74  .db \.  $(TOP)\t
a9d0: 65 73 74 5c 66 75 7a 7a 64 61 74 61 36 2e 64 62  est\fuzzdata6.db
a9e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74   \.  $(TOP)\test
a9f0: 5c 66 75 7a 7a 64 61 74 61 37 2e 64 62 20 5c 0a  \fuzzdata7.db \.
aa00: 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75    $(TOP)\test\fu
aa10: 7a 7a 64 61 74 61 38 2e 64 62 0a 23 20 3c 3c 2f  zzdata8.db.# <</
aa20: 6d 61 72 6b 3e 3e 0a 0a 23 20 41 64 64 69 74 69  mark>>..# Additi
aa30: 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70  onal compiler op
aa40: 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 73 68  tions for the sh
aa50: 65 6c 6c 2e 20 20 54 68 65 73 65 20 61 72 65 20  ell.  These are 
aa60: 6f 6e 6c 79 20 65 66 66 65 63 74 69 76 65 0a 23  only effective.#
aa70: 20 77 68 65 6e 20 74 68 65 20 73 68 65 6c 6c 20   when the shell 
aa80: 69 73 20 6e 6f 74 20 62 65 69 6e 67 20 64 79 6e  is not being dyn
aa90: 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 2e  amically linked.
aaa0: 0a 23 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  .#.!IF $(DYNAMIC
aab0: 5f 53 48 45 4c 4c 29 3d 3d 30 20 26 26 20 24 28  _SHELL)==0 && $(
aac0: 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 0a 53 48  FOR_WIN10)==0.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 46 54 53 34 3d 31 0a  E_ENABLE_FTS4=1.
ab10: 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50  SHELL_COMPILE_OP
ab20: 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d  TS = $(SHELL_COM
ab30: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c  PILE_OPTS) -DSQL
ab40: 49 54 45 5f 45 4e 41 42 4c 45 5f 45 58 50 4c 41  ITE_ENABLE_EXPLA
ab50: 49 4e 5f 43 4f 4d 4d 45 4e 54 53 3d 31 0a 53 48  IN_COMMENTS=1.SH
ab60: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
ab70: 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49   = $(SHELL_COMPI
ab80: 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54  LE_OPTS) -DSQLIT
ab90: 45 5f 45 4e 41 42 4c 45 5f 4f 46 46 53 45 54 5f  E_ENABLE_OFFSET_
aba0: 53 51 4c 5f 46 55 4e 43 3d 31 0a 53 48 45 4c 4c  SQL_FUNC=1.SHELL
abb0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS = 
abc0: 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f  $(SHELL_COMPILE_
abd0: 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45  OPTS) -DSQLITE_E
abe0: 4e 41 42 4c 45 5f 44 45 53 45 52 49 41 4c 49 5a  NABLE_DESERIALIZ
abf0: 45 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c  E=1.!ENDIF..# <<
ac00: 6d 61 72 6b 3e 3e 0a 23 20 45 78 74 72 61 20 63  mark>>.# Extra c
ac10: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options 
ac20: 66 6f 72 20 76 61 72 69 6f 75 73 20 74 65 73 74  for various test
ac30: 20 74 6f 6f 6c 73 2e 0a 23 0a 4d 50 54 45 53 54   tools..#.MPTEST
ac40: 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20  ER_COMPILE_OPTS 
ac50: 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  = -DSQLITE_ENABL
ac60: 45 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45  E_JSON1 -DSQLITE
ac70: 5f 45 4e 41 42 4c 45 5f 46 54 53 35 0a 46 55 5a  _ENABLE_FTS5.FUZ
ac80: 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45  ZERSHELL_COMPILE
ac90: 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45  _OPTS = -DSQLITE
aca0: 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a 46 55  _ENABLE_JSON1.FU
acb0: 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 20 3d 20 2d  ZZCHECK_OPTS = -
acc0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a  DSQLITE_ENABLE_J
acd0: 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e  SON1 -DSQLITE_EN
ace0: 41 42 4c 45 5f 4d 45 4d 53 59 53 35 20 2d 44 53  ABLE_MEMSYS5 -DS
acf0: 51 4c 49 54 45 5f 4f 53 53 5f 46 55 5a 5a 20 2d  QLITE_OSS_FUZZ -
ad00: 44 53 51 4c 49 54 45 5f 4d 41 58 5f 4d 45 4d 4f  DSQLITE_MAX_MEMO
ad10: 52 59 3d 35 30 30 30 30 30 30 30 20 2d 44 53 51  RY=50000000 -DSQ
ad20: 4c 49 54 45 5f 50 52 49 4e 54 46 5f 50 52 45 43  LITE_PRINTF_PREC
ad30: 49 53 49 4f 4e 5f 4c 49 4d 49 54 3d 31 30 30 30  ISION_LIMIT=1000
ad40: 0a 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 20  .FUZZCHECK_OPTS 
ad50: 3d 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 4f 50  = $(FUZZCHECK_OP
ad60: 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  TS) -DSQLITE_ENA
ad70: 42 4c 45 5f 44 45 53 45 52 49 41 4c 49 5a 45 0a  BLE_DESERIALIZE.
ad80: 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 20 3d  FUZZCHECK_OPTS =
ad90: 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54   $(FUZZCHECK_OPT
ada0: 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
adb0: 4c 45 5f 46 54 53 34 0a 46 55 5a 5a 43 48 45 43  LE_FTS4.FUZZCHEC
adc0: 4b 5f 4f 50 54 53 20 3d 20 24 28 46 55 5a 5a 43  K_OPTS = $(FUZZC
add0: 48 45 43 4b 5f 4f 50 54 53 29 20 2d 44 53 51 4c  HECK_OPTS) -DSQL
ade0: 49 54 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45  ITE_ENABLE_RTREE
adf0: 0a 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 20  .FUZZCHECK_OPTS 
ae00: 3d 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 4f 50  = $(FUZZCHECK_OP
ae10: 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  TS) -DSQLITE_ENA
ae20: 42 4c 45 5f 47 45 4f 50 4f 4c 59 0a 46 55 5a 5a  BLE_GEOPOLY.FUZZ
ae30: 43 48 45 43 4b 5f 4f 50 54 53 20 3d 20 24 28 46  CHECK_OPTS = $(F
ae40: 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 29 20 2d  UZZCHECK_OPTS) -
ae50: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44  DSQLITE_ENABLE_D
ae60: 42 53 54 41 54 5f 56 54 41 42 0a 0a 46 55 5a 5a  BSTAT_VTAB..FUZZ
ae70: 43 48 45 43 4b 5f 53 52 43 20 3d 20 24 28 54 4f  CHECK_SRC = $(TO
ae80: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 63 68 65 63  P)\test\fuzzchec
ae90: 6b 2e 63 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  k.c $(TOP)\test\
aea0: 6f 73 73 66 75 7a 7a 2e 63 0a 4f 53 53 53 48 45  ossfuzz.c.OSSSHE
aeb0: 4c 4c 5f 53 52 43 20 3d 20 24 28 54 4f 50 29 5c  LL_SRC = $(TOP)\
aec0: 74 65 73 74 5c 6f 73 73 73 68 65 6c 6c 2e 63 20  test\ossshell.c 
aed0: 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73 66  $(TOP)\test\ossf
aee0: 75 7a 7a 2e 63 0a 44 42 46 55 5a 5a 5f 43 4f 4d  uzz.c.DBFUZZ_COM
aef0: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51  PILE_OPTS = -DSQ
af00: 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
af10: 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  0 -DSQLITE_OMIT_
af20: 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 0a 4b  LOAD_EXTENSION.K
af30: 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d  V_COMPILE_OPTS =
af40: 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
af50: 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
af60: 44 49 52 45 43 54 5f 4f 56 45 52 46 4c 4f 57 5f  DIRECT_OVERFLOW_
af70: 52 45 41 44 0a 53 54 5f 43 4f 4d 50 49 4c 45 5f  READ.ST_COMPILE_
af80: 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f  OPTS = -DSQLITE_
af90: 54 48 52 45 41 44 53 41 46 45 3d 30 0a 0a 23 20  THREADSAFE=0..# 
afa0: 53 74 61 6e 64 61 72 64 20 6f 70 74 69 6f 6e 73  Standard options
afb0: 20 74 6f 20 74 65 73 74 66 69 78 74 75 72 65 2e   to testfixture.
afc0: 0a 23 0a 54 45 53 54 4f 50 54 53 20 3d 20 2d 2d  .#.TESTOPTS = --
afd0: 76 65 72 62 6f 73 65 3d 66 69 6c 65 20 2d 2d 6f  verbose=file --o
afe0: 75 74 70 75 74 3d 74 65 73 74 2d 6f 75 74 2e 74  utput=test-out.t
aff0: 78 74 0a 0a 23 20 45 78 74 72 61 20 74 61 72 67  xt..# Extra targ
b000: 65 74 73 20 66 6f 72 20 74 68 65 20 22 61 6c 6c  ets for the "all
b010: 22 20 74 61 72 67 65 74 20 74 68 61 74 20 72 65  " target that re
b020: 71 75 69 72 65 20 54 63 6c 2e 0a 23 0a 21 49 46  quire Tcl..#.!IF
b030: 20 24 28 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 41 4c   $(NO_TCL)==0.AL
b040: 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 20 3d 20  L_TCL_TARGETS = 
b050: 24 28 53 51 4c 49 54 45 33 54 43 4c 44 4c 4c 29  $(SQLITE3TCLDLL)
b060: 0a 21 45 4c 53 45 0a 41 4c 4c 5f 54 43 4c 5f 54  .!ELSE.ALL_TCL_T
b070: 41 52 47 45 54 53 20 3d 0a 21 45 4e 44 49 46 0a  ARGETS =.!ENDIF.
b080: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54  # <</mark>>..# T
b090: 68 69 73 20 69 73 20 74 68 65 20 64 65 66 61 75  his is the defau
b0a0: 6c 74 20 4d 61 6b 65 66 69 6c 65 20 74 61 72 67  lt Makefile targ
b0b0: 65 74 2e 20 20 54 68 65 20 6f 62 6a 65 63 74 73  et.  The objects
b0c0: 20 6c 69 73 74 65 64 20 68 65 72 65 0a 23 20 61   listed here.# a
b0d0: 72 65 20 77 68 61 74 20 67 65 74 20 62 75 69 6c  re what get buil
b0e0: 64 20 77 68 65 6e 20 79 6f 75 20 74 79 70 65 20  d when you type 
b0f0: 6a 75 73 74 20 22 6d 61 6b 65 22 20 77 69 74 68  just "make" with
b100: 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a 23   no arguments..#
b110: 0a 63 6f 72 65 3a 09 64 6c 6c 20 6c 69 62 73 71  .core:.dll libsq
b120: 6c 69 74 65 33 2e 6c 69 62 20 73 68 65 6c 6c 0a  lite3.lib shell.
b130: 0a 23 20 54 61 72 67 65 74 73 20 74 68 61 74 20  .# Targets that 
b140: 72 65 71 75 69 72 65 20 74 68 65 20 54 63 6c 20  require the Tcl 
b150: 6c 69 62 72 61 72 79 2e 0a 23 0a 74 63 6c 3a 09  library..#.tcl:.
b160: 24 28 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54  $(ALL_TCL_TARGET
b170: 53 29 0a 0a 23 20 54 68 69 73 20 4d 61 6b 65 66  S)..# This Makef
b180: 69 6c 65 20 74 61 72 67 65 74 20 62 75 69 6c 64  ile target build
b190: 73 20 61 6c 6c 20 6f 66 20 74 68 65 20 73 74 61  s all of the sta
b1a0: 6e 64 61 72 64 20 62 69 6e 61 72 69 65 73 2e 0a  ndard binaries..
b1b0: 23 0a 61 6c 6c 3a 09 63 6f 72 65 20 74 63 6c 0a  #.all:.core tcl.
b1c0: 0a 23 20 44 79 6e 61 6d 69 63 20 6c 69 6e 6b 20  .# Dynamic link 
b1d0: 6c 69 62 72 61 72 79 20 73 65 63 74 69 6f 6e 2e  library section.
b1e0: 0a 23 0a 64 6c 6c 3a 09 24 28 53 51 4c 49 54 45  .#.dll:.$(SQLITE
b1f0: 33 44 4c 4c 29 0a 0a 23 20 53 68 65 6c 6c 20 65  3DLL)..# Shell e
b200: 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 73 68 65  xecutable..#.she
b210: 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33 45 58 45  ll:.$(SQLITE3EXE
b220: 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 6c 69  )..# <<mark>>.li
b230: 62 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 24 28  bsqlite3.lib:.$(
b240: 4c 49 42 4f 42 4a 29 0a 09 24 28 4c 54 4c 49 42  LIBOBJ)..$(LTLIB
b250: 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 2f  ) $(LTLIBOPTS) /
b260: 4f 55 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29  OUT:$@ $(LIBOBJ)
b270: 20 24 28 54 4c 49 42 53 29 0a 0a 6c 69 62 74 63   $(TLIBS)..libtc
b280: 6c 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 74 63  lsqlite3.lib:.tc
b290: 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71  lsqlite.lo libsq
b2a0: 6c 69 74 65 33 2e 6c 69 62 0a 09 24 28 4c 54 4c  lite3.lib..$(LTL
b2b0: 49 42 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29  IB) $(LTLIBOPTS)
b2c0: 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20   $(TCLLIBPATHS) 
b2d0: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f  $(LTLIBPATHS) /O
b2e0: 55 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2e  UT:$@ tclsqlite.
b2f0: 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  lo libsqlite3.li
b300: 62 20 24 28 4c 49 42 54 43 4c 53 54 55 42 29 20  b $(LIBTCLSTUB) 
b310: 24 28 54 4c 49 42 53 29 0a 0a 74 63 6c 73 71 6c  $(TLIBS)..tclsql
b320: 69 74 65 33 2e 64 65 66 3a 09 74 63 6c 73 71 6c  ite3.def:.tclsql
b330: 69 74 65 2e 6c 6f 0a 09 65 63 68 6f 20 45 58 50  ite.lo..echo EXP
b340: 4f 52 54 53 20 3e 20 74 63 6c 73 71 6c 69 74 65  ORTS > tclsqlite
b350: 33 2e 64 65 66 0a 09 64 75 6d 70 62 69 6e 20 2f  3.def..dumpbin /
b360: 61 6c 6c 20 74 63 6c 73 71 6c 69 74 65 2e 6c 6f  all tclsqlite.lo
b370: 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43   \...| $(TCLSH_C
b380: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
b390: 72 65 70 6c 61 63 65 2e 74 63 6c 20 69 6e 63 6c  replace.tcl incl
b3a0: 75 64 65 20 22 5e 5c 73 2b 2f 45 58 50 4f 52 54  ude "^\s+/EXPORT
b3b0: 3a 5f 3f 28 28 3f 3a 53 71 6c 69 74 65 33 7c 54  :_?((?:Sqlite3|T
b3c0: 63 6c 73 71 6c 69 74 65 33 29 5f 5b 5e 40 5d 2a  clsqlite3)_[^@]*
b3d0: 29 28 3f 3a 40 5c 64 2b 29 3f 24 24 22 20 5c 31  )(?:@\d+)?$$" \1
b3e0: 20 5c 0a 09 09 7c 20 73 6f 72 74 20 3e 3e 20 74   \...| sort >> t
b3f0: 63 6c 73 71 6c 69 74 65 33 2e 64 65 66 0a 0a 70  clsqlite3.def..p
b400: 6b 67 49 6e 64 65 78 2e 74 63 6c 3a 09 24 28 54  kgIndex.tcl:.$(T
b410: 4f 50 29 5c 56 45 52 53 49 4f 4e 0a 09 66 6f 72  OP)\VERSION..for
b420: 20 2f 46 20 25 25 56 20 69 6e 20 28 27 74 79 70   /F %%V in ('typ
b430: 65 20 22 24 28 54 4f 50 29 5c 56 45 52 53 49 4f  e "$(TOP)\VERSIO
b440: 4e 22 27 29 20 64 6f 20 28 20 5c 0a 09 09 65 63  N"') do ( \...ec
b450: 68 6f 20 70 61 63 6b 61 67 65 20 69 66 6e 65 65  ho package ifnee
b460: 64 65 64 20 73 71 6c 69 74 65 33 20 40 76 65 72  ded sqlite3 @ver
b470: 73 69 6f 6e 40 20 5b 6c 69 73 74 20 6c 6f 61 64  sion@ [list load
b480: 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 24 64 69   [file join $$di
b490: 72 20 24 28 53 51 4c 49 54 45 33 54 43 4c 44 4c  r $(SQLITE3TCLDL
b4a0: 4c 29 5d 20 73 71 6c 69 74 65 33 5d 20 5c 0a 09  L)] sqlite3] \..
b4b0: 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29  ..| $(TCLSH_CMD)
b4c0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep
b4d0: 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 40  lace.tcl exact @
b4e0: 76 65 72 73 69 6f 6e 40 20 25 25 56 20 3e 20 70  version@ %%V > p
b4f0: 6b 67 49 6e 64 65 78 2e 74 63 6c 20 5c 0a 09 29  kgIndex.tcl \..)
b500: 0a 0a 24 28 53 51 4c 49 54 45 33 54 43 4c 44 4c  ..$(SQLITE3TCLDL
b510: 4c 29 3a 09 6c 69 62 74 63 6c 73 71 6c 69 74 65  L):.libtclsqlite
b520: 33 2e 6c 69 62 20 24 28 4c 49 42 52 45 53 4f 42  3.lib $(LIBRESOB
b530: 4a 53 29 20 74 63 6c 73 71 6c 69 74 65 33 2e 64  JS) tclsqlite3.d
b540: 65 66 20 70 6b 67 49 6e 64 65 78 2e 74 63 6c 0a  ef pkgIndex.tcl.
b550: 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53  .$(LD) $(LDFLAGS
b560: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  ) $(LTLINKOPTS) 
b570: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44  $(LTLIBPATHS) /D
b580: 4c 4c 20 2f 44 45 46 3a 74 63 6c 73 71 6c 69 74  LL /DEF:tclsqlit
b590: 65 33 2e 64 65 66 20 2f 4f 55 54 3a 24 40 20 6c  e3.def /OUT:$@ l
b5a0: 69 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62  ibtclsqlite3.lib
b5b0: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS) $
b5c0: 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53  (LTLIBS) $(TLIBS
b5d0: 29 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 24  ).# <</mark>>..$
b5e0: 28 53 51 4c 49 54 45 33 44 4c 4c 29 3a 09 24 28  (SQLITE3DLL):.$(
b5f0: 4c 49 42 4f 42 4a 29 20 24 28 4c 49 42 52 45 53  LIBOBJ) $(LIBRES
b600: 4f 42 4a 53 29 20 24 28 43 4f 52 45 5f 4c 49 4e  OBJS) $(CORE_LIN
b610: 4b 5f 44 45 50 29 0a 09 24 28 4c 44 29 20 24 28  K_DEP)..$(LD) $(
b620: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
b630: 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41  KOPTS) $(LTLIBPA
b640: 54 48 53 29 20 2f 44 4c 4c 20 24 28 43 4f 52 45  THS) /DLL $(CORE
b650: 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20 2f 4f 55 54  _LINK_OPTS) /OUT
b660: 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 28  :$@ $(LIBOBJ) $(
b670: 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54  LIBRESOBJS) $(LT
b680: 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS)..
b690: 23 20 3c 3c 62 6c 6f 63 6b 32 3e 3e 0a 73 71 6c  # <<block2>>.sql
b6a0: 69 74 65 33 2e 64 65 66 3a 09 6c 69 62 73 71 6c  ite3.def:.libsql
b6b0: 69 74 65 33 2e 6c 69 62 0a 09 65 63 68 6f 20 45  ite3.lib..echo E
b6c0: 58 50 4f 52 54 53 20 3e 20 73 71 6c 69 74 65 33  XPORTS > sqlite3
b6d0: 2e 64 65 66 0a 09 64 75 6d 70 62 69 6e 20 2f 61  .def..dumpbin /a
b6e0: 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  ll libsqlite3.li
b6f0: 62 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f  b \...| $(TCLSH_
b700: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
b710: 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 69 6e 63  \replace.tcl inc
b720: 6c 75 64 65 20 22 5e 5c 73 2b 31 20 5f 3f 28 73  lude "^\s+1 _?(s
b730: 71 6c 69 74 65 33 28 3f 3a 73 65 73 73 69 6f 6e  qlite3(?:session
b740: 7c 63 68 61 6e 67 65 73 65 74 7c 63 68 61 6e 67  |changeset|chang
b750: 65 67 72 6f 75 70 7c 72 65 62 61 73 65 72 29 3f  egroup|rebaser)?
b760: 5f 5b 5e 40 5d 2a 29 28 3f 3a 40 5c 64 2b 29 3f  _[^@]*)(?:@\d+)?
b770: 24 24 22 20 5c 31 20 5c 0a 09 09 7c 20 73 6f 72  $$" \1 \...| sor
b780: 74 20 3e 3e 20 73 71 6c 69 74 65 33 2e 64 65 66  t >> sqlite3.def
b790: 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a 0a  .# <</block2>>..
b7a0: 24 28 53 51 4c 49 54 45 33 45 58 45 29 3a 09 73  $(SQLITE3EXE):.s
b7b0: 68 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43  hell.c $(SHELL_C
b7c0: 4f 52 45 5f 44 45 50 29 20 24 28 4c 49 42 52 45  ORE_DEP) $(LIBRE
b7d0: 53 4f 42 4a 53 29 20 24 28 53 48 45 4c 4c 5f 43  SOBJS) $(SHELL_C
b7e0: 4f 52 45 5f 53 52 43 29 20 24 28 53 51 4c 49 54  ORE_SRC) $(SQLIT
b7f0: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
b800: 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f  $(SHELL_COMPILE_
b810: 4f 50 54 53 29 20 24 28 52 45 41 44 4c 49 4e 45  OPTS) $(READLINE
b820: 5f 46 4c 41 47 53 29 20 73 68 65 6c 6c 2e 63 20  _FLAGS) shell.c 
b830: 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43  $(SHELL_CORE_SRC
b840: 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 53 51  ) \.../link $(SQ
b850: 4c 49 54 45 33 45 58 45 50 44 42 29 20 24 28 4c  LITE3EXEPDB) $(L
b860: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
b870: 4f 50 54 53 29 20 24 28 53 48 45 4c 4c 5f 4c 49  OPTS) $(SHELL_LI
b880: 4e 4b 5f 4f 50 54 53 29 20 24 28 4c 54 4c 49 42  NK_OPTS) $(LTLIB
b890: 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f  PATHS) $(LIBRESO
b8a0: 42 4a 53 29 20 24 28 4c 49 42 52 45 41 44 4c 49  BJS) $(LIBREADLI
b8b0: 4e 45 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28  NE) $(LTLIBS) $(
b8c0: 54 4c 49 42 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b  TLIBS)..# <<mark
b8d0: 3e 3e 0a 73 71 6c 64 69 66 66 2e 65 78 65 3a 09  >>.sqldiff.exe:.
b8e0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64  $(TOP)\tool\sqld
b8f0: 69 66 66 2e 63 20 24 28 53 51 4c 49 54 45 33 43  iff.c $(SQLITE3C
b900: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
b910: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
b920: 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  RN) $(TOP)\tool\
b930: 73 71 6c 64 69 66 66 2e 63 20 24 28 53 51 4c 49  sqldiff.c $(SQLI
b940: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
b950: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
b960: 50 54 53 29 0a 0a 64 62 68 61 73 68 2e 65 78 65  PTS)..dbhash.exe
b970: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62  :.$(TOP)\tool\db
b980: 68 61 73 68 2e 63 20 24 28 53 51 4c 49 54 45 33  hash.c $(SQLITE3
b990: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
b9a0: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
b9b0: 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  ARN) $(TOP)\tool
b9c0: 5c 64 62 68 61 73 68 2e 63 20 24 28 53 51 4c 49  \dbhash.c $(SQLI
b9d0: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
b9e0: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
b9f0: 50 54 53 29 0a 0a 73 63 72 75 62 2e 65 78 65 3a  PTS)..scrub.exe:
ba00: 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63  .$(TOP)\ext\misc
ba10: 5c 73 63 72 75 62 2e 63 20 24 28 53 51 4c 49 54  \scrub.c $(SQLIT
ba20: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
ba30: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
ba40: 5f 57 41 52 4e 29 20 2d 44 53 43 52 55 42 5f 53  _WARN) -DSCRUB_S
ba50: 54 41 4e 44 41 4c 4f 4e 45 3d 31 20 24 28 54 4f  TANDALONE=1 $(TO
ba60: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 63 72 75  P)\ext\misc\scru
ba70: 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  b.c $(SQLITE3C) 
ba80: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
ba90: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
baa0: 73 72 63 63 6b 31 2e 65 78 65 3a 09 24 28 54 4f  srcck1.exe:.$(TO
bab0: 50 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63  P)\tool\srcck1.c
bac0: 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41  ..$(BCC) $(NO_WA
bad0: 52 4e 29 20 2d 46 65 24 40 20 24 28 54 4f 50 29  RN) -Fe$@ $(TOP)
bae0: 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 0a  \tool\srcck1.c..
baf0: 73 6f 75 72 63 65 74 65 73 74 3a 09 73 72 63 63  sourcetest:.srcc
bb00: 6b 31 2e 65 78 65 20 24 28 53 51 4c 49 54 45 33  k1.exe $(SQLITE3
bb10: 43 29 0a 09 73 72 63 63 6b 31 2e 65 78 65 20 24  C)..srcck1.exe $
bb20: 28 53 51 4c 49 54 45 33 43 29 0a 0a 66 75 7a 7a  (SQLITE3C)..fuzz
bb30: 65 72 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28 54  ershell.exe:.$(T
bb40: 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73  OP)\tool\fuzzers
bb50: 68 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45 33  hell.c $(SQLITE3
bb60: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
bb70: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
bb80: 41 52 4e 29 20 24 28 46 55 5a 5a 45 52 53 48 45  ARN) $(FUZZERSHE
bb90: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  LL_COMPILE_OPTS)
bba0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a   $(TOP)\tool\fuz
bbb0: 7a 65 72 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c  zershell.c $(SQL
bbc0: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
bbd0: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
bbe0: 4f 50 54 53 29 0a 0a 64 62 66 75 7a 7a 2e 65 78  OPTS)..dbfuzz.ex
bbf0: 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 64  e:.$(TOP)\test\d
bc00: 62 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45  bfuzz.c $(SQLITE
bc10: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
bc20: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
bc30: 57 41 52 4e 29 20 24 28 44 42 46 55 5a 5a 5f 43  WARN) $(DBFUZZ_C
bc40: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54  OMPILE_OPTS) $(T
bc50: 4f 50 29 5c 74 65 73 74 5c 64 62 66 75 7a 7a 2e  OP)\test\dbfuzz.
bc60: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
bc70: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
bc80: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 75  (LTLINKOPTS)..fu
bc90: 7a 7a 63 68 65 63 6b 2e 65 78 65 3a 09 24 28 46  zzcheck.exe:.$(F
bca0: 55 5a 5a 43 48 45 43 4b 5f 53 52 43 29 20 24 28  UZZCHECK_SRC) $(
bcb0: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
bcc0: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
bcd0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55   $(NO_WARN) $(FU
bce0: 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 29 20 24 28  ZZCHECK_OPTS) $(
bcf0: 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43 29 20 24  FUZZCHECK_SRC) $
bd00: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
bd10: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
bd20: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6f 73 73 73 68  LINKOPTS)..osssh
bd30: 65 6c 6c 2e 65 78 65 3a 09 24 28 4f 53 53 53 48  ell.exe:.$(OSSSH
bd40: 45 4c 4c 5f 53 52 43 29 20 24 28 53 51 4c 49 54  ELL_SRC) $(SQLIT
bd50: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
bd60: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
bd70: 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 43 48 45  _WARN) $(FUZZCHE
bd80: 43 4b 5f 4f 50 54 53 29 20 24 28 4f 53 53 53 48  CK_OPTS) $(OSSSH
bd90: 45 4c 4c 5f 53 52 43 29 20 24 28 53 51 4c 49 54  ELL_SRC) $(SQLIT
bda0: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
bdb0: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
bdc0: 54 53 29 0a 0a 73 65 73 73 69 6f 6e 66 75 7a 7a  TS)..sessionfuzz
bdd0: 2e 65 78 65 3a 09 7a 6c 69 62 20 24 28 54 4f 50  .exe:.zlib $(TOP
bde0: 29 5c 74 65 73 74 5c 73 65 73 73 69 6f 6e 66 75  )\test\sessionfu
bdf0: 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  zz.c $(SQLITE3C)
be00: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
be10: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
be20: 4e 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49  N) -I$(ZLIBINCDI
be30: 52 29 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 73  R) $(TOP)\test\s
be40: 65 73 73 69 6f 6e 66 75 7a 7a 2e 63 20 2f 6c 69  essionfuzz.c /li
be50: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
be60: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4c 49 42  LTLINKOPTS) /LIB
be70: 50 41 54 48 3a 24 28 5a 4c 49 42 4c 49 42 44 49  PATH:$(ZLIBLIBDI
be80: 52 29 20 24 28 5a 4c 49 42 4c 49 42 29 0a 0a 6d  R) $(ZLIBLIB)..m
be90: 70 74 65 73 74 65 72 2e 65 78 65 3a 09 24 28 54  ptester.exe:.$(T
bea0: 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73  OP)\mptest\mptes
beb0: 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
bec0: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
bed0: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
bee0: 29 20 24 28 4d 50 54 45 53 54 45 52 5f 43 4f 4d  ) $(MPTESTER_COM
bef0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50  PILE_OPTS) $(TOP
bf00: 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73 74 2e  )\mptest\mptest.
bf10: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
bf20: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
bf30: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4d 50  (LTLINKOPTS)..MP
bf40: 54 45 53 54 31 20 3d 20 6d 70 74 65 73 74 65 72  TEST1 = mptester
bf50: 20 6d 70 74 65 73 74 2e 64 62 20 24 28 54 4f 50   mptest.db $(TOP
bf60: 29 5c 6d 70 74 65 73 74 5c 63 72 61 73 68 30 31  )\mptest\crash01
bf70: 2e 74 65 73 74 20 2d 2d 72 65 70 65 61 74 20 32  .test --repeat 2
bf80: 30 0a 4d 50 54 45 53 54 32 20 3d 20 6d 70 74 65  0.MPTEST2 = mpte
bf90: 73 74 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24  ster mptest.db $
bfa0: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 75 6c  (TOP)\mptest\mul
bfb0: 74 69 77 72 69 74 65 30 31 2e 74 65 73 74 20 2d  tiwrite01.test -
bfc0: 2d 72 65 70 65 61 74 20 32 30 0a 0a 6d 70 74 65  -repeat 20..mpte
bfd0: 73 74 3a 09 6d 70 74 65 73 74 65 72 2e 65 78 65  st:.mptester.exe
bfe0: 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 73 74 2e  ..del /Q mptest.
bff0: 64 62 20 32 3e 4e 55 4c 0a 09 24 28 4d 50 54 45  db 2>NUL..$(MPTE
c000: 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f  ST1) --journalmo
c010: 64 65 20 44 45 4c 45 54 45 0a 09 24 28 4d 50 54  de DELETE..$(MPT
c020: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST2) --journalm
c030: 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53  ode WAL..$(MPTES
c040: 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T1) --journalmod
c050: 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53 54 32  e WAL..$(MPTEST2
c060: 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20  ) --journalmode 
c070: 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54 45 53  PERSIST..$(MPTES
c080: 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T1) --journalmod
c090: 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54  e PERSIST..$(MPT
c0a0: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST2) --journalm
c0b0: 6f 64 65 20 54 52 55 4e 43 41 54 45 0a 09 24 28  ode TRUNCATE..$(
c0c0: 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e  MPTEST1) --journ
c0d0: 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45 0a  almode TRUNCATE.
c0e0: 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f  .$(MPTEST2) --jo
c0f0: 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c 45 54 45  urnalmode DELETE
c100: 0a 0a 23 20 54 68 69 73 20 74 61 72 67 65 74 20  ..# This target 
c110: 63 72 65 61 74 65 73 20 61 20 64 69 72 65 63 74  creates a direct
c120: 6f 72 79 20 6e 61 6d 65 64 20 22 74 73 72 63 22  ory named "tsrc"
c130: 20 61 6e 64 20 66 69 6c 6c 73 20 69 74 20 77 69   and fills it wi
c140: 74 68 0a 23 20 63 6f 70 69 65 73 20 6f 66 20 61  th.# copies of a
c150: 6c 6c 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72  ll of the C sour
c160: 63 65 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64  ce code and head
c170: 65 72 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20  er files needed 
c180: 74 6f 0a 23 20 62 75 69 6c 64 20 6f 6e 20 74 68  to.# build on th
c190: 65 20 74 61 72 67 65 74 20 73 79 73 74 65 6d 2e  e target system.
c1a0: 20 20 53 6f 6d 65 20 6f 66 20 74 68 65 20 43 20    Some of the C 
c1b0: 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20  source code and 
c1c0: 68 65 61 64 65 72 0a 23 20 66 69 6c 65 73 20 61  header.# files a
c1d0: 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  re automatically
c1e0: 20 67 65 6e 65 72 61 74 65 64 2e 20 20 54 68 69   generated.  Thi
c1f0: 73 20 74 61 72 67 65 74 20 74 61 6b 65 73 20 63  s target takes c
c200: 61 72 65 20 6f 66 0a 23 20 61 6c 6c 20 74 68 61  are of.# all tha
c210: 74 20 61 75 74 6f 6d 61 74 69 63 20 67 65 6e 65  t automatic gene
c220: 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74 61 72 67 65  ration..#..targe
c230: 74 5f 73 6f 75 72 63 65 3a 09 24 28 53 52 43 29  t_source:.$(SRC)
c240: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62   $(TOP)\tool\vdb
c250: 65 2d 63 6f 6d 70 72 65 73 73 2e 74 63 6c 20 66  e-compress.tcl f
c260: 74 73 35 2e 63 20 24 28 53 51 4c 49 54 45 5f 54  ts5.c $(SQLITE_T
c270: 43 4c 5f 44 45 50 29 0a 09 2d 72 6d 64 69 72 20  CL_DEP)..-rmdir 
c280: 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e 55 4c 0a  /Q/S tsrc 2>NUL.
c290: 09 2d 6d 6b 64 69 72 20 74 73 72 63 0a 09 66 6f  .-mkdir tsrc..fo
c2a0: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 30  r %i in ($(SRC00
c2b0: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
c2c0: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
c2d0: 20 28 24 28 53 52 43 30 31 29 29 20 64 6f 20 63   ($(SRC01)) do c
c2e0: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09  opy /Y %i tsrc..
c2f0: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC
c300: 30 33 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  03)) do copy /Y 
c310: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i 
c320: 69 6e 20 28 24 28 53 52 43 30 34 29 29 20 64 6f  in ($(SRC04)) do
c330: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
c340: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S
c350: 52 43 30 35 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC05)) do copy /
c360: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
c370: 69 20 69 6e 20 28 24 28 53 52 43 30 36 29 29 20  i in ($(SRC06)) 
c380: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
c390: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($
c3a0: 28 53 52 43 30 37 29 29 20 64 6f 20 63 6f 70 79  (SRC07)) do copy
c3b0: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
c3c0: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 38 29   %i in ($(SRC08)
c3d0: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i 
c3e0: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in 
c3f0: 28 24 28 53 52 43 30 39 29 29 20 64 6f 20 63 6f  ($(SRC09)) do co
c400: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
c410: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 31  or %i in ($(SRC1
c420: 30 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  0)) do copy /Y %
c430: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
c440: 6e 20 28 24 28 53 52 43 31 31 29 29 20 64 6f 20  n ($(SRC11)) do 
c450: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
c460: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR
c470: 43 31 32 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C12)) do copy /Y
c480: 20 25 69 20 74 73 72 63 0a 09 63 6f 70 79 20 2f   %i tsrc..copy /
c490: 59 20 66 74 73 35 2e 63 20 74 73 72 63 0a 09 63  Y fts5.c tsrc..c
c4a0: 6f 70 79 20 2f 59 20 66 74 73 35 2e 68 20 74 73  opy /Y fts5.h ts
c4b0: 72 63 0a 09 64 65 6c 20 2f 51 20 74 73 72 63 5c  rc..del /Q tsrc\
c4c0: 73 71 6c 69 74 65 2e 68 2e 69 6e 20 74 73 72 63  sqlite.h.in tsrc
c4d0: 5c 70 61 72 73 65 2e 79 20 32 3e 4e 55 4c 0a 09  \parse.y 2>NUL..
c4e0: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
c4f0: 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f  OP)\tool\vdbe-co
c500: 6d 70 72 65 73 73 2e 74 63 6c 20 24 28 4f 50 54  mpress.tcl $(OPT
c510: 53 29 20 3c 20 74 73 72 63 5c 76 64 62 65 2e 63  S) < tsrc\vdbe.c
c520: 20 3e 20 76 64 62 65 2e 6e 65 77 0a 09 6d 6f 76   > vdbe.new..mov
c530: 65 20 76 64 62 65 2e 6e 65 77 20 74 73 72 63 5c  e vdbe.new tsrc\
c540: 76 64 62 65 2e 63 0a 09 65 63 68 6f 20 3e 20 2e  vdbe.c..echo > .
c550: 74 61 72 67 65 74 5f 73 6f 75 72 63 65 0a 0a 73  target_source..s
c560: 71 6c 69 74 65 33 2e 63 3a 09 2e 74 61 72 67 65  qlite3.c:..targe
c570: 74 5f 73 6f 75 72 63 65 20 73 71 6c 69 74 65 33  t_source sqlite3
c580: 65 78 74 2e 68 20 24 28 4d 4b 53 51 4c 49 54 45  ext.h $(MKSQLITE
c590: 33 43 5f 54 4f 4f 4c 29 0a 09 24 28 54 43 4c 53  3C_TOOL)..$(TCLS
c5a0: 48 5f 43 4d 44 29 20 24 28 4d 4b 53 51 4c 49 54  H_CMD) $(MKSQLIT
c5b0: 45 33 43 5f 54 4f 4f 4c 29 20 24 28 4d 4b 53 51  E3C_TOOL) $(MKSQ
c5c0: 4c 49 54 45 33 43 5f 41 52 47 53 29 0a 09 63 6f  LITE3C_ARGS)..co
c5d0: 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65  py $(TOP)\ext\se
c5e0: 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73  ssion\sqlite3ses
c5f0: 73 69 6f 6e 2e 68 20 2e 0a 0a 73 71 6c 69 74 65  sion.h ...sqlite
c600: 33 2d 61 6c 6c 2e 63 3a 09 73 71 6c 69 74 65 33  3-all.c:.sqlite3
c610: 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  .c $(TOP)\tool\s
c620: 70 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 63  plit-sqlite3c.tc
c630: 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  l..$(TCLSH_CMD) 
c640: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69  $(TOP)\tool\spli
c650: 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 23  t-sqlite3c.tcl.#
c660: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75   <</mark>>..# Ru
c670: 6c 65 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20  le to build the 
c680: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a 23 0a 73  amalgamation.#.s
c690: 71 6c 69 74 65 33 2e 6c 6f 3a 09 24 28 53 51 4c  qlite3.lo:.$(SQL
c6a0: 49 54 45 33 43 29 0a 09 24 28 4c 54 43 4f 4d 50  ITE3C)..$(LTCOMP
c6b0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c6c0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 53  ILE_OPTS) -c $(S
c6d0: 51 4c 49 54 45 33 43 29 0a 0a 23 20 3c 3c 6d 61  QLITE3C)..# <<ma
c6e0: 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20  rk>>.# Rules to 
c6f0: 62 75 69 6c 64 20 74 68 65 20 4c 45 4d 4f 4e 20  build the LEMON 
c700: 63 6f 6d 70 69 6c 65 72 20 67 65 6e 65 72 61 74  compiler generat
c710: 6f 72 0a 23 0a 6c 65 6d 70 61 72 2e 63 3a 09 24  or.#.lempar.c:.$
c720: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61  (TOP)\tool\lempa
c730: 72 2e 63 0a 09 63 6f 70 79 20 24 28 54 4f 50 29  r.c..copy $(TOP)
c740: 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 20 2e  \tool\lempar.c .
c750: 0a 0a 6c 65 6d 6f 6e 2e 65 78 65 3a 09 24 28 54  ..lemon.exe:.$(T
c760: 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63  OP)\tool\lemon.c
c770: 20 6c 65 6d 70 61 72 2e 63 0a 09 24 28 42 43 43   lempar.c..$(BCC
c780: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 61  ) $(NO_WARN) -Da
c790: 63 63 65 73 73 3d 5f 61 63 63 65 73 73 20 5c 0a  ccess=_access \.
c7a0: 09 09 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74  ..-Fe$@ $(TOP)\t
c7b0: 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 2f 6c 69 6e  ool\lemon.c /lin
c7c0: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e  k $(LDFLAGS) $(N
c7d0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c  LTLINKOPTS) $(NL
c7e0: 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 20 3c 3c  TLIBPATHS)..# <<
c7f0: 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74  mark>>.# Rules t
c800: 6f 20 62 75 69 6c 64 20 74 68 65 20 73 6f 75 72  o build the sour
c810: 63 65 2d 69 64 20 67 65 6e 65 72 61 74 6f 72 20  ce-id generator 
c820: 74 6f 6f 6c 0a 23 0a 6d 6b 73 6f 75 72 63 65 69  tool.#.mksourcei
c830: 64 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  d.exe:.$(TOP)\to
c840: 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 64 2e 63 0a  ol\mksourceid.c.
c850: 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52  .$(BCC) $(NO_WAR
c860: 4e 29 20 2d 46 65 24 40 20 24 28 54 4f 50 29 5c  N) -Fe$@ $(TOP)\
c870: 74 6f 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 64 2e  tool\mksourceid.
c880: 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  c /link $(LDFLAG
c890: 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53  S) $(NLTLINKOPTS
c8a0: 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29  ) $(NLTLIBPATHS)
c8b0: 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69  ..# Rules to bui
c8c0: 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e  ld individual *.
c8d0: 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20 67 65  lo files from ge
c8e0: 6e 65 72 61 74 65 64 20 2a 2e 63 20 66 69 6c 65  nerated *.c file
c8f0: 73 2e 20 54 68 69 73 0a 23 20 61 70 70 6c 69 65  s. This.# applie
c900: 73 20 74 6f 3a 0a 23 0a 23 20 20 20 20 20 70 61  s to:.#.#     pa
c910: 72 73 65 2e 6c 6f 0a 23 20 20 20 20 20 6f 70 63  rse.lo.#     opc
c920: 6f 64 65 73 2e 6c 6f 0a 23 0a 70 61 72 73 65 2e  odes.lo.#.parse.
c930: 6c 6f 3a 09 70 61 72 73 65 2e 63 20 24 28 48 44  lo:.parse.c $(HD
c940: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c950: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c960: 4f 50 54 53 29 20 2d 63 20 70 61 72 73 65 2e 63  OPTS) -c parse.c
c970: 0a 0a 6f 70 63 6f 64 65 73 2e 6c 6f 3a 09 6f 70  ..opcodes.lo:.op
c980: 63 6f 64 65 73 2e 63 0a 09 24 28 4c 54 43 4f 4d  codes.c..$(LTCOM
c990: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c9a0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 6f 70  PILE_OPTS) -c op
c9b0: 63 6f 64 65 73 2e 63 0a 23 20 3c 3c 2f 6d 61 72  codes.c.# <</mar
c9c0: 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f 20 62  k>>..# Rule to b
c9d0: 75 69 6c 64 20 74 68 65 20 57 69 6e 33 32 20 72  uild the Win32 r
c9e0: 65 73 6f 75 72 63 65 73 20 6f 62 6a 65 63 74 20  esources object 
c9f0: 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55 53  file..#.!IF $(US
ca00: 45 5f 52 43 29 21 3d 30 0a 23 20 3c 3c 62 6c 6f  E_RC)!=0.# <<blo
ca10: 63 6b 31 3e 3e 0a 24 28 4c 49 42 52 45 53 4f 42  ck1>>.$(LIBRESOB
ca20: 4a 53 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  JS):.$(TOP)\src\
ca30: 73 71 6c 69 74 65 33 2e 72 63 20 24 28 53 51 4c  sqlite3.rc $(SQL
ca40: 49 54 45 33 48 29 20 24 28 54 4f 50 29 5c 56 45  ITE3H) $(TOP)\VE
ca50: 52 53 49 4f 4e 0a 09 65 63 68 6f 20 23 69 66 6e  RSION..echo #ifn
ca60: 64 65 66 20 53 51 4c 49 54 45 5f 52 45 53 4f 55  def SQLITE_RESOU
ca70: 52 43 45 5f 56 45 52 53 49 4f 4e 20 3e 20 73 71  RCE_VERSION > sq
ca80: 6c 69 74 65 33 72 63 2e 68 0a 09 66 6f 72 20 2f  lite3rc.h..for /
ca90: 46 20 25 25 56 20 69 6e 20 28 27 74 79 70 65 20  F %%V in ('type 
caa0: 22 24 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 22  "$(TOP)\VERSION"
cab0: 27 29 20 64 6f 20 28 20 5c 0a 09 09 65 63 68 6f  ') do ( \...echo
cac0: 20 23 64 65 66 69 6e 65 20 53 51 4c 49 54 45 5f   #define SQLITE_
cad0: 52 45 53 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e  RESOURCE_VERSION
cae0: 20 25 25 56 20 5c 0a 09 09 09 7c 20 24 28 54 43   %%V \....| $(TC
caf0: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
cb00: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
cb10: 20 65 78 61 63 74 20 2e 20 5e 2c 20 3e 3e 20 73   exact . ^, >> s
cb20: 71 6c 69 74 65 33 72 63 2e 68 20 5c 0a 09 29 0a  qlite3rc.h \..).
cb30: 09 65 63 68 6f 20 23 65 6e 64 69 66 20 3e 3e 20  .echo #endif >> 
cb40: 73 71 6c 69 74 65 33 72 63 2e 68 0a 09 24 28 4c  sqlite3rc.h..$(L
cb50: 54 52 43 4f 4d 50 49 4c 45 29 20 2d 66 6f 20 24  TRCOMPILE) -fo $
cb60: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 54  (LIBRESOBJS) $(T
cb70: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 2e  OP)\src\sqlite3.
cb80: 72 63 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 31 3e 3e  rc.# <</block1>>
cb90: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72  .!ENDIF..# <<mar
cba0: 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62  k>>.# Rules to b
cbb0: 75 69 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20  uild individual 
cbc0: 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20  *.lo files from 
cbd0: 66 69 6c 65 73 20 69 6e 20 74 68 65 20 73 72 63  files in the src
cbe0: 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 61 6c   directory..#.al
cbf0: 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ter.lo:.$(TOP)\s
cc00: 72 63 5c 61 6c 74 65 72 2e 63 20 24 28 48 44 52  rc\alter.c $(HDR
cc10: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
cc20: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
cc30: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
cc40: 72 63 5c 61 6c 74 65 72 2e 63 0a 0a 61 6e 61 6c  rc\alter.c..anal
cc50: 79 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  yze.lo:.$(TOP)\s
cc60: 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20 24 28 48  rc\analyze.c $(H
cc70: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
cc80: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
cc90: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
cca0: 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 0a 0a  \src\analyze.c..
ccb0: 61 74 74 61 63 68 2e 6c 6f 3a 09 24 28 54 4f 50  attach.lo:.$(TOP
ccc0: 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 20 24  )\src\attach.c $
ccd0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
cce0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
ccf0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
cd00: 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 0a  P)\src\attach.c.
cd10: 0a 61 75 74 68 2e 6c 6f 3a 09 24 28 54 4f 50 29  .auth.lo:.$(TOP)
cd20: 5c 73 72 63 5c 61 75 74 68 2e 63 20 24 28 48 44  \src\auth.c $(HD
cd30: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
cd40: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
cd50: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
cd60: 73 72 63 5c 61 75 74 68 2e 63 0a 0a 62 61 63 6b  src\auth.c..back
cd70: 75 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  up.lo:.$(TOP)\sr
cd80: 63 5c 62 61 63 6b 75 70 2e 63 20 24 28 48 44 52  c\backup.c $(HDR
cd90: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
cda0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
cdb0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
cdc0: 72 63 5c 62 61 63 6b 75 70 2e 63 0a 0a 62 69 74  rc\backup.c..bit
cdd0: 76 65 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  vec.lo:.$(TOP)\s
cde0: 72 63 5c 62 69 74 76 65 63 2e 63 20 24 28 48 44  rc\bitvec.c $(HD
cdf0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
ce00: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
ce10: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
ce20: 73 72 63 5c 62 69 74 76 65 63 2e 63 0a 0a 62 74  src\bitvec.c..bt
ce30: 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 29  mutex.lo:.$(TOP)
ce40: 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 20 24  \src\btmutex.c $
ce50: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
ce60: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
ce70: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
ce80: 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63  P)\src\btmutex.c
ce90: 0a 0a 62 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f  ..btree.lo:.$(TO
cea0: 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 20 24  P)\src\btree.c $
ceb0: 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63  (HDR) $(TOP)\src
cec0: 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c 54 43 4f  \pager.h..$(LTCO
ced0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
cee0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
cef0: 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e  (TOP)\src\btree.
cf00: 63 0a 0a 62 75 69 6c 64 2e 6c 6f 3a 09 24 28 54  c..build.lo:.$(T
cf10: 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 20  OP)\src\build.c 
cf20: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
cf30: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
cf40: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
cf50: 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 0a  OP)\src\build.c.
cf60: 0a 63 61 6c 6c 62 61 63 6b 2e 6c 6f 3a 09 24 28  .callback.lo:.$(
cf70: 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63  TOP)\src\callbac
cf80: 6b 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  k.c $(HDR)..$(LT
cf90: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
cfa0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cfb0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c   $(TOP)\src\call
cfc0: 62 61 63 6b 2e 63 0a 0a 63 6f 6d 70 6c 65 74 65  back.c..complete
cfd0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
cfe0: 63 6f 6d 70 6c 65 74 65 2e 63 20 24 28 48 44 52  complete.c $(HDR
cff0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
d000: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
d010: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
d020: 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 0a 0a 63  rc\complete.c..c
d030: 74 69 6d 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  time.lo:.$(TOP)\
d040: 73 72 63 5c 63 74 69 6d 65 2e 63 20 24 28 48 44  src\ctime.c $(HD
d050: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d060: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d070: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d080: 73 72 63 5c 63 74 69 6d 65 2e 63 0a 0a 64 61 74  src\ctime.c..dat
d090: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
d0a0: 5c 64 61 74 65 2e 63 20 24 28 48 44 52 29 0a 09  \date.c $(HDR)..
d0b0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d0c0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d0d0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d0e0: 64 61 74 65 2e 63 0a 0a 64 62 70 61 67 65 2e 6c  date.c..dbpage.l
d0f0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 62  o:.$(TOP)\src\db
d100: 70 61 67 65 2e 63 20 24 28 48 44 52 29 0a 09 24  page.c $(HDR)..$
d110: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d120: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d130: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64   -c $(TOP)\src\d
d140: 62 70 61 67 65 2e 63 0a 0a 64 62 73 74 61 74 2e  bpage.c..dbstat.
d150: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64  lo:.$(TOP)\src\d
d160: 62 73 74 61 74 2e 63 20 24 28 48 44 52 29 0a 09  bstat.c $(HDR)..
d170: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d180: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d190: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d1a0: 64 62 73 74 61 74 2e 63 0a 0a 64 65 6c 65 74 65  dbstat.c..delete
d1b0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d1c0: 64 65 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a  delete.c $(HDR).
d1d0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d1e0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d1f0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d200: 5c 64 65 6c 65 74 65 2e 63 0a 0a 65 78 70 72 2e  \delete.c..expr.
d210: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 65  lo:.$(TOP)\src\e
d220: 78 70 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28  xpr.c $(HDR)..$(
d230: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d240: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d250: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 65 78  -c $(TOP)\src\ex
d260: 70 72 2e 63 0a 0a 66 61 75 6c 74 2e 6c 6f 3a 09  pr.c..fault.lo:.
d270: 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74  $(TOP)\src\fault
d280: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d290: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d2a0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d2b0: 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74  $(TOP)\src\fault
d2c0: 2e 63 0a 0a 66 6b 65 79 2e 6c 6f 3a 09 24 28 54  .c..fkey.lo:.$(T
d2d0: 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20 24  OP)\src\fkey.c $
d2e0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d2f0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d300: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d310: 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 0a 0a 66  P)\src\fkey.c..f
d320: 75 6e 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  unc.lo:.$(TOP)\s
d330: 72 63 5c 66 75 6e 63 2e 63 20 24 28 48 44 52 29  rc\func.c $(HDR)
d340: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d350: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d360: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d370: 63 5c 66 75 6e 63 2e 63 0a 0a 67 6c 6f 62 61 6c  c\func.c..global
d380: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d390: 67 6c 6f 62 61 6c 2e 63 20 24 28 48 44 52 29 0a  global.c $(HDR).
d3a0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d3b0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d3c0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d3d0: 5c 67 6c 6f 62 61 6c 2e 63 0a 0a 68 61 73 68 2e  \global.c..hash.
d3e0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 68  lo:.$(TOP)\src\h
d3f0: 61 73 68 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ash.c $(HDR)..$(
d400: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d410: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d420: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61  -c $(TOP)\src\ha
d430: 73 68 2e 63 0a 0a 69 6e 73 65 72 74 2e 6c 6f 3a  sh.c..insert.lo:
d440: 09 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65  .$(TOP)\src\inse
d450: 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  rt.c $(HDR)..$(L
d460: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d470: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d480: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73  c $(TOP)\src\ins
d490: 65 72 74 2e 63 0a 0a 6c 65 67 61 63 79 2e 6c 6f  ert.c..legacy.lo
d4a0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67  :.$(TOP)\src\leg
d4b0: 61 63 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28  acy.c $(HDR)..$(
d4c0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d4d0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d4e0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65  -c $(TOP)\src\le
d4f0: 67 61 63 79 2e 63 0a 0a 6c 6f 61 64 65 78 74 2e  gacy.c..loadext.
d500: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6c  lo:.$(TOP)\src\l
d510: 6f 61 64 65 78 74 2e 63 20 24 28 48 44 52 29 0a  oadext.c $(HDR).
d520: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d530: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d540: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d550: 5c 6c 6f 61 64 65 78 74 2e 63 0a 0a 6d 61 69 6e  \loadext.c..main
d560: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d570: 6d 61 69 6e 2e 63 20 24 28 48 44 52 29 0a 09 24  main.c $(HDR)..$
d580: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d590: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d5a0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
d5b0: 61 69 6e 2e 63 0a 0a 6d 61 6c 6c 6f 63 2e 6c 6f  ain.c..malloc.lo
d5c0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c  :.$(TOP)\src\mal
d5d0: 6c 6f 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28  loc.c $(HDR)..$(
d5e0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d5f0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d600: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61  -c $(TOP)\src\ma
d610: 6c 6c 6f 63 2e 63 0a 0a 6d 65 6d 30 2e 6c 6f 3a  lloc.c..mem0.lo:
d620: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30  .$(TOP)\src\mem0
d630: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d640: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d650: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d660: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e  $(TOP)\src\mem0.
d670: 63 0a 0a 6d 65 6d 31 2e 6c 6f 3a 09 24 28 54 4f  c..mem1.lo:.$(TO
d680: 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 24 28  P)\src\mem1.c $(
d690: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d6a0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d6b0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d6c0: 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 0a 0a 6d 65  )\src\mem1.c..me
d6d0: 6d 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  m2.lo:.$(TOP)\sr
d6e0: 63 5c 6d 65 6d 32 2e 63 20 24 28 48 44 52 29 0a  c\mem2.c $(HDR).
d6f0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d700: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d710: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d720: 5c 6d 65 6d 32 2e 63 0a 0a 6d 65 6d 33 2e 6c 6f  \mem2.c..mem3.lo
d730: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  :.$(TOP)\src\mem
d740: 33 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  3.c $(HDR)..$(LT
d750: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d760: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d770: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33   $(TOP)\src\mem3
d780: 2e 63 0a 0a 6d 65 6d 35 2e 6c 6f 3a 09 24 28 54  .c..mem5.lo:.$(T
d790: 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 24  OP)\src\mem5.c $
d7a0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d7b0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d7c0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d7d0: 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 0a 0a 6d  P)\src\mem5.c..m
d7e0: 65 6d 64 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  emdb.lo:.$(TOP)\
d7f0: 73 72 63 5c 6d 65 6d 64 62 2e 63 20 24 28 48 44  src\memdb.c $(HD
d800: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d810: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d820: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d830: 73 72 63 5c 6d 65 6d 64 62 2e 63 0a 0a 6d 65 6d  src\memdb.c..mem
d840: 6a 6f 75 72 6e 61 6c 2e 6c 6f 3a 09 24 28 54 4f  journal.lo:.$(TO
d850: 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61  P)\src\memjourna
d860: 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  l.c $(HDR)..$(LT
d870: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d880: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d890: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a   $(TOP)\src\memj
d8a0: 6f 75 72 6e 61 6c 2e 63 0a 0a 6d 75 74 65 78 2e  ournal.c..mutex.
d8b0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m
d8c0: 75 74 65 78 2e 63 20 24 28 48 44 52 29 0a 09 24  utex.c $(HDR)..$
d8d0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d8e0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d8f0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
d900: 75 74 65 78 2e 63 0a 0a 6d 75 74 65 78 5f 6e 6f  utex.c..mutex_no
d910: 6f 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  op.lo:.$(TOP)\sr
d920: 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 24  c\mutex_noop.c $
d930: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d940: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d950: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d960: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f  P)\src\mutex_noo
d970: 70 2e 63 0a 0a 6d 75 74 65 78 5f 75 6e 69 78 2e  p.c..mutex_unix.
d980: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m
d990: 75 74 65 78 5f 75 6e 69 78 2e 63 20 24 28 48 44  utex_unix.c $(HD
d9a0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d9b0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d9c0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d9d0: 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63  src\mutex_unix.c
d9e0: 0a 0a 6d 75 74 65 78 5f 77 33 32 2e 6c 6f 3a 09  ..mutex_w32.lo:.
d9f0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex
da00: 5f 77 33 32 2e 63 20 24 28 48 44 52 29 0a 09 24  _w32.c $(HDR)..$
da10: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
da20: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
da30: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
da40: 75 74 65 78 5f 77 33 32 2e 63 0a 0a 6e 6f 74 69  utex_w32.c..noti
da50: 66 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  fy.lo:.$(TOP)\sr
da60: 63 5c 6e 6f 74 69 66 79 2e 63 20 24 28 48 44 52  c\notify.c $(HDR
da70: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
da80: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
da90: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
daa0: 72 63 5c 6e 6f 74 69 66 79 2e 63 0a 0a 70 61 67  rc\notify.c..pag
dab0: 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  er.lo:.$(TOP)\sr
dac0: 63 5c 70 61 67 65 72 2e 63 20 24 28 48 44 52 29  c\pager.c $(HDR)
dad0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65   $(TOP)\src\page
dae0: 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  r.h..$(LTCOMPILE
daf0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
db00: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
db10: 5c 73 72 63 5c 70 61 67 65 72 2e 63 0a 0a 70 63  \src\pager.c..pc
db20: 61 63 68 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  ache.lo:.$(TOP)\
db30: 73 72 63 5c 70 63 61 63 68 65 2e 63 20 24 28 48  src\pcache.c $(H
db40: 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  DR) $(TOP)\src\p
db50: 63 61 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f 4d  cache.h..$(LTCOM
db60: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
db70: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
db80: 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e  TOP)\src\pcache.
db90: 63 0a 0a 70 63 61 63 68 65 31 2e 6c 6f 3a 09 24  c..pcache1.lo:.$
dba0: 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65  (TOP)\src\pcache
dbb0: 31 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f 50  1.c $(HDR) $(TOP
dbc0: 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 0a 09  )\src\pcache.h..
dbd0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
dbe0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
dbf0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
dc00: 70 63 61 63 68 65 31 2e 63 0a 0a 6f 73 2e 6c 6f  pcache1.c..os.lo
dc10: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e  :.$(TOP)\src\os.
dc20: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
dc30: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
dc40: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
dc50: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 0a 0a  (TOP)\src\os.c..
dc60: 6f 73 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f  os_unix.lo:.$(TO
dc70: 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63  P)\src\os_unix.c
dc80: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
dc90: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
dca0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
dcb0: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78  TOP)\src\os_unix
dcc0: 2e 63 0a 0a 6f 73 5f 77 69 6e 2e 6c 6f 3a 09 24  .c..os_win.lo:.$
dcd0: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e  (TOP)\src\os_win
dce0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
dcf0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
dd00: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
dd10: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69  $(TOP)\src\os_wi
dd20: 6e 2e 63 0a 0a 70 72 61 67 6d 61 2e 6c 6f 3a 09  n.c..pragma.lo:.
dd30: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d  $(TOP)\src\pragm
dd40: 61 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  a.c $(HDR)..$(LT
dd50: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
dd60: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
dd70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67   $(TOP)\src\prag
dd80: 6d 61 2e 63 0a 0a 70 72 65 70 61 72 65 2e 6c 6f  ma.c..prepare.lo
dd90: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65  :.$(TOP)\src\pre
dda0: 70 61 72 65 2e 63 20 24 28 48 44 52 29 0a 09 24  pare.c $(HDR)..$
ddb0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
ddc0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ddd0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70   -c $(TOP)\src\p
dde0: 72 65 70 61 72 65 2e 63 0a 0a 70 72 69 6e 74 66  repare.c..printf
ddf0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
de00: 70 72 69 6e 74 66 2e 63 20 24 28 48 44 52 29 0a  printf.c $(HDR).
de10: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
de20: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
de30: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
de40: 5c 70 72 69 6e 74 66 2e 63 0a 0a 72 61 6e 64 6f  \printf.c..rando
de50: 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  m.lo:.$(TOP)\src
de60: 5c 72 61 6e 64 6f 6d 2e 63 20 24 28 48 44 52 29  \random.c $(HDR)
de70: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
de80: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
de90: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
dea0: 63 5c 72 61 6e 64 6f 6d 2e 63 0a 0a 72 65 73 6f  c\random.c..reso
deb0: 6c 76 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  lve.lo:.$(TOP)\s
dec0: 72 63 5c 72 65 73 6f 6c 76 65 2e 63 20 24 28 48  rc\resolve.c $(H
ded0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
dee0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
def0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
df00: 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 0a 0a  \src\resolve.c..
df10: 72 6f 77 73 65 74 2e 6c 6f 3a 09 24 28 54 4f 50  rowset.lo:.$(TOP
df20: 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20 24  )\src\rowset.c $
df30: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
df40: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
df50: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
df60: 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 0a  P)\src\rowset.c.
df70: 0a 73 65 6c 65 63 74 2e 6c 6f 3a 09 24 28 54 4f  .select.lo:.$(TO
df80: 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 20  P)\src\select.c 
df90: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
dfa0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
dfb0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
dfc0: 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63  OP)\src\select.c
dfd0: 0a 0a 73 74 61 74 75 73 2e 6c 6f 3a 09 24 28 54  ..status.lo:.$(T
dfe0: 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63  OP)\src\status.c
dff0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
e000: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
e010: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
e020: 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e  TOP)\src\status.
e030: 63 0a 0a 74 61 62 6c 65 2e 6c 6f 3a 09 24 28 54  c..table.lo:.$(T
e040: 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20  OP)\src\table.c 
e050: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
e060: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
e070: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
e080: 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 0a  OP)\src\table.c.
e090: 0a 74 68 72 65 61 64 73 2e 6c 6f 3a 09 24 28 54  .threads.lo:.$(T
e0a0: 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e  OP)\src\threads.
e0b0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
e0c0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
e0d0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
e0e0: 28 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64  (TOP)\src\thread
e0f0: 73 2e 63 0a 0a 74 6f 6b 65 6e 69 7a 65 2e 6c 6f  s.c..tokenize.lo
e100: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b  :.$(TOP)\src\tok
e110: 65 6e 69 7a 65 2e 63 20 6b 65 79 77 6f 72 64 68  enize.c keywordh
e120: 61 73 68 2e 68 20 24 28 48 44 52 29 0a 09 24 28  ash.h $(HDR)..$(
e130: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
e140: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
e150: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f  -c $(TOP)\src\to
e160: 6b 65 6e 69 7a 65 2e 63 0a 0a 74 72 65 65 76 69  kenize.c..treevi
e170: 65 77 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ew.lo:.$(TOP)\sr
e180: 63 5c 74 72 65 65 76 69 65 77 2e 63 20 24 28 48  c\treeview.c $(H
e190: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
e1a0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
e1b0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
e1c0: 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63 0a  \src\treeview.c.
e1d0: 0a 74 72 69 67 67 65 72 2e 6c 6f 3a 09 24 28 54  .trigger.lo:.$(T
e1e0: 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e  OP)\src\trigger.
e1f0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
e200: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
e210: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
e220: 28 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65  (TOP)\src\trigge
e230: 72 2e 63 0a 0a 75 70 64 61 74 65 2e 6c 6f 3a 09  r.c..update.lo:.
e240: 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74  $(TOP)\src\updat
e250: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
e260: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
e270: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
e280: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61   $(TOP)\src\upda
e290: 74 65 2e 63 0a 0a 75 70 73 65 72 74 2e 6c 6f 3a  te.c..upsert.lo:
e2a0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 73 65  .$(TOP)\src\upse
e2b0: 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  rt.c $(HDR)..$(L
e2c0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
e2d0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
e2e0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 73  c $(TOP)\src\ups
e2f0: 65 72 74 2e 63 0a 0a 75 74 66 2e 6c 6f 3a 09 24  ert.c..utf.lo:.$
e300: 28 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 20  (TOP)\src\utf.c 
e310: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
e320: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
e330: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
e340: 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 0a 0a 75  OP)\src\utf.c..u
e350: 74 69 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  til.lo:.$(TOP)\s
e360: 72 63 5c 75 74 69 6c 2e 63 20 24 28 48 44 52 29  rc\util.c $(HDR)
e370: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
e380: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
e390: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
e3a0: 63 5c 75 74 69 6c 2e 63 0a 0a 76 61 63 75 75 6d  c\util.c..vacuum
e3b0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
e3c0: 76 61 63 75 75 6d 2e 63 20 24 28 48 44 52 29 0a  vacuum.c $(HDR).
e3d0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
e3e0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e3f0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
e400: 5c 76 61 63 75 75 6d 2e 63 0a 0a 76 64 62 65 2e  \vacuum.c..vdbe.
e410: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76  lo:.$(TOP)\src\v
e420: 64 62 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  dbe.c $(HDR)..$(
e430: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
e440: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
e450: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  -c $(TOP)\src\vd
e460: 62 65 2e 63 0a 0a 76 64 62 65 61 70 69 2e 6c 6f  be.c..vdbeapi.lo
e470: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  :.$(TOP)\src\vdb
e480: 65 61 70 69 2e 63 20 24 28 48 44 52 29 0a 09 24  eapi.c $(HDR)..$
e490: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
e4a0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
e4b0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v
e4c0: 64 62 65 61 70 69 2e 63 0a 0a 76 64 62 65 61 75  dbeapi.c..vdbeau
e4d0: 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  x.lo:.$(TOP)\src
e4e0: 5c 76 64 62 65 61 75 78 2e 63 20 24 28 48 44 52  \vdbeaux.c $(HDR
e4f0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
e500: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
e510: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
e520: 72 63 5c 76 64 62 65 61 75 78 2e 63 0a 0a 76 64  rc\vdbeaux.c..vd
e530: 62 65 62 6c 6f 62 2e 6c 6f 3a 09 24 28 54 4f 50  beblob.lo:.$(TOP
e540: 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63  )\src\vdbeblob.c
e550: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
e560: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
e570: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
e580: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f  TOP)\src\vdbeblo
e590: 62 2e 63 0a 0a 76 64 62 65 6d 65 6d 2e 6c 6f 3a  b.c..vdbemem.lo:
e5a0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65  .$(TOP)\src\vdbe
e5b0: 6d 65 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28  mem.c $(HDR)..$(
e5c0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
e5d0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
e5e0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  -c $(TOP)\src\vd
e5f0: 62 65 6d 65 6d 2e 63 0a 0a 76 64 62 65 73 6f 72  bemem.c..vdbesor
e600: 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  t.lo:.$(TOP)\src
e610: 5c 76 64 62 65 73 6f 72 74 2e 63 20 24 28 48 44  \vdbesort.c $(HD
e620: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e630: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
e640: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
e650: 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 0a 0a  src\vdbesort.c..
e660: 76 64 62 65 74 72 61 63 65 2e 6c 6f 3a 09 24 28  vdbetrace.lo:.$(
e670: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61  TOP)\src\vdbetra
e680: 63 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ce.c $(HDR)..$(L
e690: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
e6a0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
e6b0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  c $(TOP)\src\vdb
e6c0: 65 74 72 61 63 65 2e 63 0a 0a 76 74 61 62 2e 6c  etrace.c..vtab.l
e6d0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 74  o:.$(TOP)\src\vt
e6e0: 61 62 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ab.c $(HDR)..$(L
e6f0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
e700: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
e710: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61  c $(TOP)\src\vta
e720: 62 2e 63 0a 0a 77 61 6c 2e 6c 6f 3a 09 24 28 54  b.c..wal.lo:.$(T
e730: 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20 24 28  OP)\src\wal.c $(
e740: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
e750: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
e760: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
e770: 29 5c 73 72 63 5c 77 61 6c 2e 63 0a 0a 77 61 6c  )\src\wal.c..wal
e780: 6b 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ker.lo:.$(TOP)\s
e790: 72 63 5c 77 61 6c 6b 65 72 2e 63 20 24 28 48 44  rc\walker.c $(HD
e7a0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e7b0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
e7c0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
e7d0: 73 72 63 5c 77 61 6c 6b 65 72 2e 63 0a 0a 77 68  src\walker.c..wh
e7e0: 65 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ere.lo:.$(TOP)\s
e7f0: 72 63 5c 77 68 65 72 65 2e 63 20 24 28 48 44 52  rc\where.c $(HDR
e800: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
e810: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
e820: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
e830: 72 63 5c 77 68 65 72 65 2e 63 0a 0a 77 68 65 72  rc\where.c..wher
e840: 65 63 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  ecode.lo:.$(TOP)
e850: 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63  \src\wherecode.c
e860: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
e870: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
e880: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
e890: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 63 6f  TOP)\src\whereco
e8a0: 64 65 2e 63 0a 0a 77 68 65 72 65 65 78 70 72 2e  de.c..whereexpr.
e8b0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77  lo:.$(TOP)\src\w
e8c0: 68 65 72 65 65 78 70 72 2e 63 20 24 28 48 44 52  hereexpr.c $(HDR
e8d0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
e8e0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
e8f0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
e900: 72 63 5c 77 68 65 72 65 65 78 70 72 2e 63 0a 0a  rc\whereexpr.c..
e910: 77 69 6e 64 6f 77 2e 6c 6f 3a 09 24 28 54 4f 50  window.lo:.$(TOP
e920: 29 5c 73 72 63 5c 77 69 6e 64 6f 77 2e 63 20 24  )\src\window.c $
e930: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
e940: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
e950: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
e960: 50 29 5c 73 72 63 5c 77 69 6e 64 6f 77 2e 63 0a  P)\src\window.c.
e970: 0a 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 3a 09 24  .tclsqlite.lo:.$
e980: 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c  (TOP)\src\tclsql
e990: 69 74 65 2e 63 20 24 28 48 44 52 29 20 24 28 53  ite.c $(HDR) $(S
e9a0: 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09  QLITE_TCL_DEP)..
e9b0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e  $(LTCOMPILE) $(N
e9c0: 4f 5f 57 41 52 4e 29 20 2d 44 55 53 45 5f 54 43  O_WARN) -DUSE_TC
e9d0: 4c 5f 53 54 55 42 53 3d 31 20 2d 44 42 55 49 4c  L_STUBS=1 -DBUIL
e9e0: 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c  D_sqlite -I$(TCL
e9f0: 49 4e 43 44 49 52 29 20 2d 63 20 24 28 54 4f 50  INCDIR) -c $(TOP
ea00: 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e  )\src\tclsqlite.
ea10: 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2d 73 68 65  c..tclsqlite-she
ea20: 6c 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ll.lo:.$(TOP)\sr
ea30: 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28  c\tclsqlite.c $(
ea40: 48 44 52 29 20 24 28 53 51 4c 49 54 45 5f 54 43  HDR) $(SQLITE_TC
ea50: 4c 5f 44 45 50 29 0a 09 24 28 4c 54 43 4f 4d 50  L_DEP)..$(LTCOMP
ea60: 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  ILE) $(NO_WARN) 
ea70: 2d 44 54 43 4c 53 48 20 2d 44 42 55 49 4c 44 5f  -DTCLSH -DBUILD_
ea80: 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e  sqlite -I$(TCLIN
ea90: 43 44 49 52 29 20 2d 63 20 24 28 54 4f 50 29 5c  CDIR) -c $(TOP)\
eaa0: 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a  src\tclsqlite.c.
eab0: 0a 74 63 6c 73 71 6c 69 74 65 33 2e 65 78 65 3a  .tclsqlite3.exe:
eac0: 09 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c  .tclsqlite-shell
ead0: 2e 6c 6f 20 24 28 53 51 4c 49 54 45 33 43 29 20  .lo $(SQLITE3C) 
eae0: 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49  $(SQLITE3H) $(LI
eaf0: 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c  BRESOBJS)..$(LTL
eb00: 49 4e 4b 29 20 24 28 53 51 4c 49 54 45 33 43 29  INK) $(SQLITE3C)
eb10: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
eb20: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  ) $(LTLINKOPTS) 
eb30: 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24  $(TCLLIBPATHS) $
eb40: 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f 55  (LTLIBPATHS) /OU
eb50: 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2d 73  T:$@ tclsqlite-s
eb60: 68 65 6c 6c 2e 6c 6f 20 24 28 4c 49 42 52 45 53  hell.lo $(LIBRES
eb70: 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29  OBJS) $(TCLLIBS)
eb80: 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49   $(LTLIBS) $(TLI
eb90: 42 53 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20  BS)..# Rules to 
eba0: 62 75 69 6c 64 20 6f 70 63 6f 64 65 73 2e 63 20  build opcodes.c 
ebb0: 61 6e 64 20 6f 70 63 6f 64 65 73 2e 68 0a 23 0a  and opcodes.h.#.
ebc0: 6f 70 63 6f 64 65 73 2e 63 3a 09 6f 70 63 6f 64  opcodes.c:.opcod
ebd0: 65 73 2e 68 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  es.h $(TOP)\tool
ebe0: 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 6c 0a 09  \mkopcodec.tcl..
ebf0: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
ec00: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64  OP)\tool\mkopcod
ec10: 65 63 2e 74 63 6c 20 6f 70 63 6f 64 65 73 2e 68  ec.tcl opcodes.h
ec20: 20 3e 20 6f 70 63 6f 64 65 73 2e 63 0a 0a 6f 70   > opcodes.c..op
ec30: 63 6f 64 65 73 2e 68 3a 09 70 61 72 73 65 2e 68  codes.h:.parse.h
ec40: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
ec50: 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  .c $(TOP)\tool\m
ec60: 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 0a 09 74 79  kopcodeh.tcl..ty
ec70: 70 65 20 70 61 72 73 65 2e 68 20 24 28 54 4f 50  pe parse.h $(TOP
ec80: 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 7c 20 24  )\src\vdbe.c | $
ec90: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
eca0: 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65  P)\tool\mkopcode
ecb0: 68 2e 74 63 6c 20 3e 20 6f 70 63 6f 64 65 73 2e  h.tcl > opcodes.
ecc0: 68 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75  h..# Rules to bu
ecd0: 69 6c 64 20 70 61 72 73 65 2e 63 20 61 6e 64 20  ild parse.c and 
ece0: 70 61 72 73 65 2e 68 20 2d 20 74 68 65 20 6f 75  parse.h - the ou
ecf0: 74 70 75 74 73 20 6f 66 20 6c 65 6d 6f 6e 2e 0a  tputs of lemon..
ed00: 23 0a 70 61 72 73 65 2e 68 3a 09 70 61 72 73 65  #.parse.h:.parse
ed10: 2e 63 0a 0a 70 61 72 73 65 2e 63 3a 09 24 28 54  .c..parse.c:.$(T
ed20: 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e 79 20  OP)\src\parse.y 
ed30: 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 54 4f 50 29  lemon.exe $(TOP)
ed40: 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 65 73  \tool\addopcodes
ed50: 2e 74 63 6c 0a 09 64 65 6c 20 2f 51 20 70 61 72  .tcl..del /Q par
ed60: 73 65 2e 79 20 70 61 72 73 65 2e 68 20 70 61 72  se.y parse.h par
ed70: 73 65 2e 68 2e 74 65 6d 70 20 32 3e 4e 55 4c 0a  se.h.temp 2>NUL.
ed80: 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 73 72 63  .copy $(TOP)\src
ed90: 5c 70 61 72 73 65 2e 79 20 2e 0a 09 2e 5c 6c 65  \parse.y ....\le
eda0: 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f 46 45  mon.exe $(REQ_FE
edb0: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f  ATURE_FLAGS) $(O
edc0: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
edd0: 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f  ) $(EXT_FEATURE_
ede0: 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20 70  FLAGS) $(OPTS) p
edf0: 61 72 73 65 2e 79 0a 09 6d 6f 76 65 20 70 61 72  arse.y..move par
ee00: 73 65 2e 68 20 70 61 72 73 65 2e 68 2e 74 65 6d  se.h parse.h.tem
ee10: 70 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  p..$(TCLSH_CMD) 
ee20: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64 6f  $(TOP)\tool\addo
ee30: 70 63 6f 64 65 73 2e 74 63 6c 20 70 61 72 73 65  pcodes.tcl parse
ee40: 2e 68 2e 74 65 6d 70 20 3e 20 70 61 72 73 65 2e  .h.temp > parse.
ee50: 68 0a 0a 24 28 53 51 4c 49 54 45 33 48 29 3a 09  h..$(SQLITE3H):.
ee60: 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74  $(TOP)\src\sqlit
ee70: 65 2e 68 2e 69 6e 20 24 28 54 4f 50 29 5c 6d 61  e.h.in $(TOP)\ma
ee80: 6e 69 66 65 73 74 20 6d 6b 73 6f 75 72 63 65 69  nifest mksourcei
ee90: 64 2e 65 78 65 20 24 28 54 4f 50 29 5c 56 45 52  d.exe $(TOP)\VER
eea0: 53 49 4f 4e 0a 09 24 28 54 43 4c 53 48 5f 43 4d  SION..$(TCLSH_CM
eeb0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  D) $(TOP)\tool\m
eec0: 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 24 28  ksqlite3h.tcl $(
eed0: 54 4f 50 3a 5c 3d 2f 29 20 3e 20 24 28 53 51 4c  TOP:\=/) > $(SQL
eee0: 49 54 45 33 48 29 20 24 28 4d 4b 53 51 4c 49 54  ITE3H) $(MKSQLIT
eef0: 45 33 48 5f 41 52 47 53 29 0a 0a 73 71 6c 69 74  E3H_ARGS)..sqlit
ef00: 65 33 65 78 74 2e 68 3a 09 2e 74 61 72 67 65 74  e3ext.h:..target
ef10: 5f 73 6f 75 72 63 65 0a 21 49 46 20 24 28 55 53  _source.!IF $(US
ef20: 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c  E_STDCALL)!=0 ||
ef30: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0
ef40: 0a 09 74 79 70 65 20 74 73 72 63 5c 73 71 6c 69  ..type tsrc\sqli
ef50: 74 65 33 65 78 74 2e 68 20 7c 20 24 28 54 43 4c  te3ext.h | $(TCL
ef60: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
ef70: 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20  ool\replace.tcl 
ef80: 72 65 67 73 75 62 20 22 5c 28 5c 2a 5c 29 22 20  regsub "\(\*\)" 
ef90: 22 28 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43  "(SQLITE_CALLBAC
efa0: 4b 20 2a 29 22 20 5c 0a 09 09 7c 20 24 28 54 43  K *)" \...| $(TC
efb0: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
efc0: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
efd0: 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 22 20 22   regsub "\(\*" "
efe0: 28 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 20  (SQLITE_APICALL 
eff0: 2a 22 20 3e 20 73 71 6c 69 74 65 33 65 78 74 2e  *" > sqlite3ext.
f000: 68 0a 09 63 6f 70 79 20 2f 59 20 73 71 6c 69 74  h..copy /Y sqlit
f010: 65 33 65 78 74 2e 68 20 74 73 72 63 5c 73 71 6c  e3ext.h tsrc\sql
f020: 69 74 65 33 65 78 74 2e 68 0a 21 45 4c 53 45 0a  ite3ext.h.!ELSE.
f030: 09 63 6f 70 79 20 2f 59 20 74 73 72 63 5c 73 71  .copy /Y tsrc\sq
f040: 6c 69 74 65 33 65 78 74 2e 68 20 73 71 6c 69 74  lite3ext.h sqlit
f050: 65 33 65 78 74 2e 68 0a 21 45 4e 44 49 46 0a 0a  e3ext.h.!ENDIF..
f060: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78  mkkeywordhash.ex
f070: 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  e:.$(TOP)\tool\m
f080: 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 0a 09  kkeywordhash.c..
f090: 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e  $(BCC) $(NO_WARN
f0a0: 29 20 2d 46 65 24 40 20 24 28 52 45 51 5f 46 45  ) -Fe$@ $(REQ_FE
f0b0: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f  ATURE_FLAGS) $(O
f0c0: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
f0d0: 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f  ) $(EXT_FEATURE_
f0e0: 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20 5c  FLAGS) $(OPTS) \
f0f0: 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  ...$(TOP)\tool\m
f100: 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 20 2f  kkeywordhash.c /
f110: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
f120: 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24  $(NLTLINKOPTS) $
f130: 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a 6b  (NLTLIBPATHS)..k
f140: 65 79 77 6f 72 64 68 61 73 68 2e 68 3a 09 24 28  eywordhash.h:.$(
f150: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77  TOP)\tool\mkkeyw
f160: 6f 72 64 68 61 73 68 2e 63 20 6d 6b 6b 65 79 77  ordhash.c mkkeyw
f170: 6f 72 64 68 61 73 68 2e 65 78 65 0a 09 2e 5c 6d  ordhash.exe...\m
f180: 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65  kkeywordhash.exe
f190: 20 3e 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68   > keywordhash.h
f1a0: 0a 0a 23 20 53 6f 75 72 63 65 20 66 69 6c 65 73  ..# Source files
f1b0: 20 74 68 61 74 20 67 6f 20 69 6e 74 6f 20 6d 61   that go into ma
f1c0: 6b 69 6e 67 20 73 68 65 6c 6c 2e 63 0a 53 48 45  king shell.c.SHE
f1d0: 4c 4c 5f 53 52 43 20 3d 20 5c 0a 09 24 28 54 4f  LL_SRC = \..$(TO
f1e0: 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63 2e 69  P)\src\shell.c.i
f1f0: 6e 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c  n \..$(TOP)\ext\
f200: 6d 69 73 63 5c 61 70 70 65 6e 64 76 66 73 2e 63  misc\appendvfs.c
f210: 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d   \..$(TOP)\ext\m
f220: 69 73 63 5c 73 68 61 74 68 72 65 65 2e 63 20 5c  isc\shathree.c \
f230: 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  ..$(TOP)\ext\mis
f240: 63 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a 09 24 28  c\fileio.c \..$(
f250: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 6f  TOP)\ext\misc\co
f260: 6d 70 6c 65 74 69 6f 6e 2e 63 20 5c 0a 09 24 28  mpletion.c \..$(
f270: 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c  TOP)\ext\expert\
f280: 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 63 20  sqlite3expert.c 
f290: 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 65 78  \..$(TOP)\ext\ex
f2a0: 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65  pert\sqlite3expe
f2b0: 72 74 2e 68 20 5c 0a 09 24 28 54 4f 50 29 5c 65  rt.h \..$(TOP)\e
f2c0: 78 74 5c 6d 69 73 63 5c 6d 65 6d 74 72 61 63 65  xt\misc\memtrace
f2d0: 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 73 72 63  .c \..$(TOP)\src
f2e0: 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 6e 74 2e  \test_windirent.
f2f0: 63 0a 0a 23 20 49 66 20 75 73 65 20 6f 66 20 7a  c..# If use of z
f300: 6c 69 62 20 69 73 20 65 6e 61 62 6c 65 64 2c 20  lib is enabled, 
f310: 61 64 64 20 74 68 65 20 22 7a 69 70 66 69 6c 65  add the "zipfile
f320: 2e 63 22 20 73 6f 75 72 63 65 20 66 69 6c 65 2e  .c" source file.
f330: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49  .#.!IF $(USE_ZLI
f340: 42 29 21 3d 30 0a 53 48 45 4c 4c 5f 53 52 43 20  B)!=0.SHELL_SRC 
f350: 3d 20 24 28 53 48 45 4c 4c 5f 53 52 43 29 20 24  = $(SHELL_SRC) $
f360: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73  (TOP)\ext\misc\s
f370: 71 6c 61 72 2e 63 0a 53 48 45 4c 4c 5f 53 52 43  qlar.c.SHELL_SRC
f380: 20 3d 20 24 28 53 48 45 4c 4c 5f 53 52 43 29 20   = $(SHELL_SRC) 
f390: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
f3a0: 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e 44 49 46  zipfile.c.!ENDIF
f3b0: 0a 0a 73 68 65 6c 6c 2e 63 3a 09 24 28 53 48 45  ..shell.c:.$(SHE
f3c0: 4c 4c 5f 53 52 43 29 20 24 28 54 4f 50 29 5c 74  LL_SRC) $(TOP)\t
f3d0: 6f 6f 6c 5c 6d 6b 73 68 65 6c 6c 63 2e 74 63 6c  ool\mkshellc.tcl
f3e0: 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  ..$(TCLSH_CMD) $
f3f0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 68 65  (TOP)\tool\mkshe
f400: 6c 6c 63 2e 74 63 6c 20 3e 20 73 68 65 6c 6c 2e  llc.tcl > shell.
f410: 63 0a 0a 7a 6c 69 62 3a 0a 09 70 75 73 68 64 20  c..zlib:..pushd 
f420: 24 28 5a 4c 49 42 44 49 52 29 20 26 26 20 24 28  $(ZLIBDIR) && $(
f430: 4d 41 4b 45 29 20 2f 66 20 77 69 6e 33 32 5c 4d  MAKE) /f win32\M
f440: 61 6b 65 66 69 6c 65 2e 6d 73 63 20 63 6c 65 61  akefile.msc clea
f450: 6e 20 24 28 5a 4c 49 42 4c 49 42 29 20 26 26 20  n $(ZLIBLIB) && 
f460: 70 6f 70 64 0a 0a 23 20 52 75 6c 65 73 20 74 6f  popd..# Rules to
f470: 20 62 75 69 6c 64 20 74 68 65 20 65 78 74 65 6e   build the exten
f480: 73 69 6f 6e 20 6f 62 6a 65 63 74 73 2e 0a 23 0a  sion objects..#.
f490: 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  icu.lo:.$(TOP)\e
f4a0: 78 74 5c 69 63 75 5c 69 63 75 2e 63 20 24 28 48  xt\icu\icu.c $(H
f4b0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
f4c0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
f4d0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
f4e0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
f4f0: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
f500: 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e  OP)\ext\icu\icu.
f510: 63 0a 0a 66 74 73 32 2e 6c 6f 3a 09 24 28 54 4f  c..fts2.lo:.$(TO
f520: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
f530: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
f540: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
f550: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
f560: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
f570: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
f580: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
f590: 73 32 5c 66 74 73 32 2e 63 0a 0a 66 74 73 32 5f  s2\fts2.c..fts2_
f5a0: 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  hash.lo:.$(TOP)\
f5b0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61  ext\fts2\fts2_ha
f5c0: 73 68 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  sh.c $(HDR) $(EX
f5d0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
f5e0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
f5f0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
f600: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
f610: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
f620: 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 63  fts2\fts2_hash.c
f630: 0a 0a 66 74 73 32 5f 69 63 75 2e 6c 6f 3a 09 24  ..fts2_icu.lo:.$
f640: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
f650: 74 73 32 5f 69 63 75 2e 63 20 24 28 48 44 52 29  ts2_icu.c $(HDR)
f660: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
f670: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
f680: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
f690: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
f6a0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
f6b0: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 69  \ext\fts2\fts2_i
f6c0: 63 75 2e 63 0a 0a 66 74 73 32 5f 70 6f 72 74 65  cu.c..fts2_porte
f6d0: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  r.lo:.$(TOP)\ext
f6e0: 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74 65  \fts2\fts2_porte
f6f0: 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  r.c $(HDR) $(EXT
f700: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
f710: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
f720: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
f730: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
f740: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
f750: 74 73 32 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e  ts2\fts2_porter.
f760: 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65  c..fts2_tokenize
f770: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  r.lo:.$(TOP)\ext
f780: 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e  \fts2\fts2_token
f790: 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20 24 28  izer.c $(HDR) $(
f7a0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
f7b0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
f7c0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
f7d0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
f7e0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
f7f0: 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65  t\fts2\fts2_toke
f800: 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 32 5f 74 6f  nizer.c..fts2_to
f810: 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 28 54  kenizer1.lo:.$(T
f820: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
f830: 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 24  2_tokenizer1.c $
f840: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
f850: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
f860: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
f870: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
f880: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
f890: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
f8a0: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63  ts2_tokenizer1.c
f8b0: 0a 0a 66 74 73 33 2e 6c 6f 3a 09 24 28 54 4f 50  ..fts3.lo:.$(TOP
f8c0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e  )\ext\fts3\fts3.
f8d0: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
f8e0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
f8f0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
f900: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
f910: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
f920: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
f930: 33 5c 66 74 73 33 2e 63 0a 0a 66 74 73 33 5f 61  3\fts3.c..fts3_a
f940: 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  ux.lo:.$(TOP)\ex
f950: 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 78 2e  t\fts3\fts3_aux.
f960: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
f970: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
f980: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
f990: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
f9a0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
f9b0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
f9c0: 33 5c 66 74 73 33 5f 61 75 78 2e 63 0a 0a 66 74  3\fts3_aux.c..ft
f9d0: 73 33 5f 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f  s3_expr.lo:.$(TO
f9e0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
f9f0: 5f 65 78 70 72 2e 63 20 24 28 48 44 52 29 20 24  _expr.c $(HDR) $
fa00: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
fa10: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
fa20: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
fa30: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
fa40: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
fa50: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70  xt\fts3\fts3_exp
fa60: 72 2e 63 0a 0a 66 74 73 33 5f 68 61 73 68 2e 6c  r.c..fts3_hash.l
fa70: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
fa80: 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 63 20 24  s3\fts3_hash.c $
fa90: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
faa0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
fab0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
fac0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
fad0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
fae0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
faf0: 74 73 33 5f 68 61 73 68 2e 63 0a 0a 66 74 73 33  ts3_hash.c..fts3
fb00: 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  _icu.lo:.$(TOP)\
fb10: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63  ext\fts3\fts3_ic
fb20: 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  u.c $(HDR) $(EXT
fb30: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
fb40: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
fb50: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
fb60: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
fb70: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
fb80: 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 0a 0a  ts3\fts3_icu.c..
fb90: 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 3a  fts3_snippet.lo:
fba0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
fbb0: 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 20  \fts3_snippet.c 
fbc0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
fbd0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
fbe0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
fbf0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
fc00: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
fc10: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
fc20: 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 0a 0a  fts3_snippet.c..
fc30: 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09  fts3_porter.lo:.
fc40: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
fc50: 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 20 24 28  fts3_porter.c $(
fc60: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
fc70: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
fc80: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
fc90: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
fca0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
fcb0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
fcc0: 73 33 5f 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73  s3_porter.c..fts
fcd0: 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09  3_tokenizer.lo:.
fce0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
fcf0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63  fts3_tokenizer.c
fd00: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
fd10: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
fd20: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
fd30: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
fd40: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
fd50: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
fd60: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts3_tokenizer.
fd70: 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  c..fts3_tokenize
fd80: 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  r1.lo:.$(TOP)\ex
fd90: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
fda0: 6e 69 7a 65 72 31 2e 63 20 24 28 48 44 52 29 20  nizer1.c $(HDR) 
fdb0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
fdc0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
fdd0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
fde0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
fdf0: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
fe00: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
fe10: 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33  kenizer1.c..fts3
fe20: 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c  _tokenize_vtab.l
fe30: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
fe40: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
fe50: 5f 76 74 61 62 2e 63 20 24 28 48 44 52 29 20 24  _vtab.c $(HDR) $
fe60: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
fe70: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
fe80: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
fe90: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
fea0: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
feb0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
fec0: 65 6e 69 7a 65 5f 76 74 61 62 2e 63 0a 0a 66 74  enize_vtab.c..ft
fed0: 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 3a 09 24  s3_unicode.lo:.$
fee0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
fef0: 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20 24 28  ts3_unicode.c $(
ff00: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
ff10: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
ff20: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
ff30: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
ff40: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
ff50: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
ff60: 73 33 5f 75 6e 69 63 6f 64 65 2e 63 0a 0a 66 74  s3_unicode.c..ft
ff70: 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f 3a 09  s3_unicode2.lo:.
ff80: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
ff90: 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63 20  fts3_unicode2.c 
ffa0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
ffb0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
ffc0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ffd0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
ffe0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
fff0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
10000 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63 0a  fts3_unicode2.c.
10010 0a 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f 3a 09  .fts3_write.lo:.
10020 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
10030 66 74 73 33 5f 77 72 69 74 65 2e 63 20 24 28 48  fts3_write.c $(H
10040 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
10050 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
10060 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
10070 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
10080 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
10090 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
100a0 33 5f 77 72 69 74 65 2e 63 0a 0a 6a 73 6f 6e 31  3_write.c..json1
100b0 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
100c0 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 20 24 28 48  misc\json1.c $(H
100d0 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
100e0 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
100f0 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
10100 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
10110 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
10120 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a 73 6f  OP)\ext\misc\jso
10130 6e 31 2e 63 0a 0a 73 74 6d 74 2e 6c 6f 3a 09 24  n1.c..stmt.lo:.$
10140 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73  (TOP)\ext\misc\s
10150 74 6d 74 2e 63 20 24 28 48 44 52 29 20 24 28 45  tmt.c $(HDR) $(E
10160 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
10170 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
10180 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
10190 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
101a0 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
101b0 5c 6d 69 73 63 5c 73 74 6d 74 2e 63 0a 0a 72 74  \misc\stmt.c..rt
101c0 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ree.lo:.$(TOP)\e
101d0 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 63  xt\rtree\rtree.c
101e0 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
101f0 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
10200 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
10210 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
10220 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
10230 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65   $(TOP)\ext\rtre
10240 65 5c 72 74 72 65 65 2e 63 0a 0a 73 71 6c 69 74  e\rtree.c..sqlit
10250 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 3a 09 24 28  e3session.lo:.$(
10260 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
10270 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e  \sqlite3session.
10280 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
10290 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
102a0 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
102b0 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
102c0 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
102d0 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73  c $(TOP)\ext\ses
102e0 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73  sion\sqlite3sess
102f0 69 6f 6e 2e 63 0a 0a 23 20 46 54 53 35 20 74 68  ion.c..# FTS5 th
10300 69 6e 67 73 0a 23 0a 46 54 53 35 5f 53 52 43 20  ings.#.FTS5_SRC 
10310 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  = \.   $(TOP)\ex
10320 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 5c 0a  t\fts5\fts5.h \.
10330 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
10340 73 35 5c 66 74 73 35 49 6e 74 2e 68 20 5c 0a 20  s5\fts5Int.h \. 
10350 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
10360 35 5c 66 74 73 35 5f 61 75 78 2e 63 20 5c 0a 20  5\fts5_aux.c \. 
10370 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
10380 35 5c 66 74 73 35 5f 62 75 66 66 65 72 2e 63 20  5\fts5_buffer.c 
10390 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
103a0 66 74 73 35 5c 66 74 73 35 5f 6d 61 69 6e 2e 63  fts5\fts5_main.c
103b0 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
103c0 5c 66 74 73 35 5c 66 74 73 35 5f 63 6f 6e 66 69  \fts5\fts5_confi
103d0 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  g.c \.   $(TOP)\
103e0 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 65 78  ext\fts5\fts5_ex
103f0 70 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  pr.c \.   $(TOP)
10400 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 68  \ext\fts5\fts5_h
10410 61 73 68 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  ash.c \.   $(TOP
10420 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
10430 69 6e 64 65 78 2e 63 20 5c 0a 20 20 20 66 74 73  index.c \.   fts
10440 35 70 61 72 73 65 2e 63 20 66 74 73 35 70 61 72  5parse.c fts5par
10450 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  se.h \.   $(TOP)
10460 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 73  \ext\fts5\fts5_s
10470 74 6f 72 61 67 65 2e 63 20 5c 0a 20 20 20 24 28  torage.c \.   $(
10480 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
10490 73 35 5f 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a  s5_tokenize.c \.
104a0 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
104b0 73 35 5c 66 74 73 35 5f 75 6e 69 63 6f 64 65 32  s5\fts5_unicode2
104c0 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e
104d0 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 76 61 72  xt\fts5\fts5_var
104e0 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  int.c \.   $(TOP
104f0 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
10500 76 6f 63 61 62 2e 63 0a 0a 4c 53 4d 31 5f 53 52  vocab.c..LSM1_SR
10510 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  C = \.   $(TOP)\
10520 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e 68 20 5c  ext\lsm1\lsm.h \
10530 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
10540 73 6d 31 5c 6c 73 6d 49 6e 74 2e 68 20 5c 0a 20  sm1\lsmInt.h \. 
10550 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
10560 31 5c 6c 73 6d 5f 63 6b 70 74 2e 63 20 5c 0a 20  1\lsm_ckpt.c \. 
10570 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
10580 31 5c 6c 73 6d 5f 66 69 6c 65 2e 63 20 5c 0a 20  1\lsm_file.c \. 
10590 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
105a0 31 5c 6c 73 6d 5f 6c 6f 67 2e 63 20 5c 0a 20 20  1\lsm_log.c \.  
105b0 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
105c0 5c 6c 73 6d 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20  \lsm_main.c \.  
105d0 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
105e0 5c 6c 73 6d 5f 6d 65 6d 2e 63 20 5c 0a 20 20 20  \lsm_mem.c \.   
105f0 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c  $(TOP)\ext\lsm1\
10600 6c 73 6d 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20  lsm_mutex.c \.  
10610 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
10620 5c 6c 73 6d 5f 73 68 61 72 65 64 2e 63 20 5c 0a  \lsm_shared.c \.
10630 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls
10640 6d 31 5c 6c 73 6d 5f 73 6f 72 74 65 64 2e 63 20  m1\lsm_sorted.c 
10650 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
10660 6c 73 6d 31 5c 6c 73 6d 5f 73 74 72 2e 63 20 5c  lsm1\lsm_str.c \
10670 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
10680 73 6d 31 5c 6c 73 6d 5f 74 72 65 65 2e 63 20 5c  sm1\lsm_tree.c \
10690 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
106a0 73 6d 31 5c 6c 73 6d 5f 75 6e 69 78 2e 63 20 5c  sm1\lsm_unix.c \
106b0 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
106c0 73 6d 31 5c 6c 73 6d 5f 76 61 72 69 6e 74 2e 63  sm1\lsm_varint.c
106d0 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
106e0 5c 6c 73 6d 31 5c 6c 73 6d 5f 76 74 61 62 2e 63  \lsm1\lsm_vtab.c
106f0 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
10700 5c 6c 73 6d 31 5c 6c 73 6d 5f 77 69 6e 33 32 2e  \lsm1\lsm_win32.
10710 63 0a 0a 66 74 73 35 70 61 72 73 65 2e 63 3a 09  c..fts5parse.c:.
10720 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\
10730 66 74 73 35 70 61 72 73 65 2e 79 20 6c 65 6d 6f  fts5parse.y lemo
10740 6e 2e 65 78 65 0a 09 63 6f 70 79 20 24 28 54 4f  n.exe..copy $(TO
10750 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
10760 70 61 72 73 65 2e 79 20 2e 0a 09 64 65 6c 20 2f  parse.y ...del /
10770 51 20 66 74 73 35 70 61 72 73 65 2e 68 20 32 3e  Q fts5parse.h 2>
10780 4e 55 4c 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65  NUL...\lemon.exe
10790 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46   $(REQ_FEATURE_F
107a0 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54  LAGS) $(OPT_FEAT
107b0 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54  URE_FLAGS) $(EXT
107c0 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
107d0 24 28 4f 50 54 53 29 20 66 74 73 35 70 61 72 73  $(OPTS) fts5pars
107e0 65 2e 79 0a 0a 66 74 73 35 70 61 72 73 65 2e 68  e.y..fts5parse.h
107f0 3a 09 66 74 73 35 70 61 72 73 65 2e 63 0a 0a 66  :.fts5parse.c..f
10800 74 73 35 2e 63 3a 09 24 28 46 54 53 35 5f 53 52  ts5.c:.$(FTS5_SR
10810 43 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  C)..$(TCLSH_CMD)
10820 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
10830 5c 74 6f 6f 6c 5c 6d 6b 66 74 73 35 63 2e 74 63  \tool\mkfts5c.tc
10840 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65  l..copy $(TOP)\e
10850 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 2e  xt\fts5\fts5.h .
10860 0a 0a 6c 73 6d 31 2e 63 3a 09 24 28 4c 53 4d 31  ..lsm1.c:.$(LSM1
10870 5f 53 52 43 29 0a 09 24 28 54 43 4c 53 48 5f 43  _SRC)..$(TCLSH_C
10880 4d 44 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  MD) $(TOP)\ext\l
10890 73 6d 31 5c 74 6f 6f 6c 5c 6d 6b 6c 73 6d 31 63  sm1\tool\mklsm1c
108a0 2e 74 63 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50  .tcl..copy $(TOP
108b0 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e 68  )\ext\lsm1\lsm.h
108c0 20 2e 0a 0a 66 74 73 35 2e 6c 6f 3a 09 66 74 73   ...fts5.lo:.fts
108d0 35 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  5.c $(HDR) $(EXT
108e0 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
108f0 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
10900 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
10910 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
10920 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 73 35   -c fts5.c..fts5
10930 5f 65 78 74 2e 6c 6f 3a 09 66 74 73 35 2e 63 20  _ext.lo:.fts5.c 
10940 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
10950 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
10960 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 66 74 73  (NO_WARN) -c fts
10970 35 2e 63 0a 0a 66 74 73 35 2e 64 6c 6c 3a 09 66  5.c..fts5.dll:.f
10980 74 73 35 5f 65 78 74 2e 6c 6f 0a 09 24 28 4c 44  ts5_ext.lo..$(LD
10990 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  ) $(LDFLAGS) $(L
109a0 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c  TLINKOPTS) $(LTL
109b0 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f  IBPATHS) /DLL /O
109c0 55 54 3a 24 40 20 66 74 73 35 5f 65 78 74 2e 6c  UT:$@ fts5_ext.l
109d0 6f 0a 0a 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f  o..sqlite3rbu.lo
109e0 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75  :.$(TOP)\ext\rbu
109f0 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20 24 28  \sqlite3rbu.c $(
10a00 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
10a10 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53  $(LTCOMPILE) -DS
10a20 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
10a30 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c  TOP)\ext\rbu\sql
10a40 69 74 65 33 72 62 75 2e 63 0a 0a 23 20 52 75 6c  ite3rbu.c..# Rul
10a50 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20  es to build the 
10a60 27 74 65 73 74 66 69 78 74 75 72 65 27 20 61 70  'testfixture' ap
10a70 70 6c 69 63 61 74 69 6f 6e 2e 0a 23 0a 23 20 49  plication..#.# I
10a80 66 20 75 73 69 6e 67 20 74 68 65 20 61 6d 61 6c  f using the amal
10a90 67 61 6d 61 74 69 6f 6e 2c 20 75 73 65 20 73 71  gamation, use sq
10aa0 6c 69 74 65 33 2e 63 20 64 69 72 65 63 74 6c 79  lite3.c directly
10ab0 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 74 65   to build the te
10ac0 73 74 0a 23 20 66 69 78 74 75 72 65 2e 20 20 4f  st.# fixture.  O
10ad0 74 68 65 72 77 69 73 65 20 6c 69 6e 6b 20 61 67  therwise link ag
10ae0 61 69 6e 73 74 20 6c 69 62 73 71 6c 69 74 65 33  ainst libsqlite3
10af0 2e 6c 69 62 2e 20 20 28 54 68 69 73 20 64 69 73  .lib.  (This dis
10b00 74 69 6e 63 74 69 6f 6e 20 69 73 0a 23 20 6e 65  tinction is.# ne
10b10 63 65 73 73 61 72 79 20 62 65 63 61 75 73 65 20  cessary because 
10b20 74 68 65 20 74 65 73 74 20 66 69 78 74 75 72 65  the test fixture
10b30 20 72 65 71 75 69 72 65 73 20 6e 6f 6e 2d 41 50   requires non-AP
10b40 49 20 73 79 6d 62 6f 6c 73 20 77 68 69 63 68 20  I symbols which 
10b50 61 72 65 0a 23 20 68 69 64 64 65 6e 20 77 68 65  are.# hidden whe
10b60 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 69 73  n the library is
10b70 20 62 75 69 6c 74 20 76 69 61 20 74 68 65 20 61   built via the a
10b80 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a  malgamation)..#.
10b90 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
10ba0 53 20 3d 20 2d 44 54 43 4c 53 48 5f 49 4e 49 54  S = -DTCLSH_INIT
10bb0 5f 50 52 4f 43 3d 73 71 6c 69 74 65 33 54 65 73  _PROC=sqlite3Tes
10bc0 74 49 6e 69 74 20 2d 44 53 51 4c 49 54 45 5f 54  tInit -DSQLITE_T
10bd0 45 53 54 3d 31 20 2d 44 53 51 4c 49 54 45 5f 43  EST=1 -DSQLITE_C
10be0 52 41 53 48 5f 54 45 53 54 3d 31 0a 54 45 53 54  RASH_TEST=1.TEST
10bf0 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FIXTURE_FLAGS = 
10c00 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  $(TESTFIXTURE_FL
10c10 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53 45  AGS) -DSQLITE_SE
10c20 52 56 45 52 3d 31 20 2d 44 53 51 4c 49 54 45 5f  RVER=1 -DSQLITE_
10c30 50 52 49 56 41 54 45 3d 22 22 0a 54 45 53 54 46  PRIVATE="".TESTF
10c40 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  IXTURE_FLAGS = $
10c50 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  (TESTFIXTURE_FLA
10c60 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  GS) -DSQLITE_COR
10c70 45 20 24 28 4e 4f 5f 57 41 52 4e 29 0a 54 45 53  E $(NO_WARN).TES
10c80 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d  TFIXTURE_FLAGS =
10c90 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46   $(TESTFIXTURE_F
10ca0 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53  LAGS) -DSQLITE_S
10cb0 45 52 49 45 53 5f 43 4f 4e 53 54 52 41 49 4e 54  ERIES_CONSTRAINT
10cc0 5f 56 45 52 49 46 59 3d 31 0a 54 45 53 54 46 49  _VERIFY=1.TESTFI
10cd0 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  XTURE_FLAGS = $(
10ce0 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
10cf0 53 29 20 2d 44 53 51 4c 49 54 45 5f 44 45 46 41  S) -DSQLITE_DEFA
10d00 55 4c 54 5f 50 41 47 45 5f 53 49 5a 45 3d 31 30  ULT_PAGE_SIZE=10
10d10 32 34 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46  24.TESTFIXTURE_F
10d20 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58  LAGS = $(TESTFIX
10d30 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
10d40 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 4d 54  LITE_ENABLE_STMT
10d50 56 54 41 42 3d 31 0a 54 45 53 54 46 49 58 54 55  VTAB=1.TESTFIXTU
10d60 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53  RE_FLAGS = $(TES
10d70 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20  TFIXTURE_FLAGS) 
10d80 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
10d90 44 42 50 41 47 45 5f 56 54 41 42 3d 31 0a 54 45  DBPAGE_VTAB=1.TE
10da0 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20  STFIXTURE_FLAGS 
10db0 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  = $(TESTFIXTURE_
10dc0 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
10dd0 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 3d 31 0a 54  ENABLE_JSON1=1.T
10de0 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
10df0 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45   = $(TESTFIXTURE
10e00 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
10e10 5f 45 4e 41 42 4c 45 5f 44 45 53 45 52 49 41 4c  _ENABLE_DESERIAL
10e20 49 5a 45 3d 31 0a 54 45 53 54 46 49 58 54 55 52  IZE=1.TESTFIXTUR
10e30 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54  E_FLAGS = $(TEST
10e40 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FIXTURE_FLAGS) $
10e50 28 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53  (TEST_CCONV_OPTS
10e60 29 0a 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53  )..TESTFIXTURE_S
10e70 52 43 30 20 3d 20 24 28 54 45 53 54 45 58 54 29  RC0 = $(TESTEXT)
10e80 20 24 28 54 45 53 54 53 52 43 32 29 0a 54 45 53   $(TESTSRC2).TES
10e90 54 46 49 58 54 55 52 45 5f 53 52 43 31 20 3d 20  TFIXTURE_SRC1 = 
10ea0 24 28 54 45 53 54 45 58 54 29 20 24 28 53 51 4c  $(TESTEXT) $(SQL
10eb0 49 54 45 33 43 29 0a 21 49 46 20 24 28 55 53 45  ITE3C).!IF $(USE
10ec0 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d  _AMALGAMATION)==
10ed0 30 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53 52  0.TESTFIXTURE_SR
10ee0 43 20 3d 20 24 28 54 45 53 54 53 52 43 29 20 24  C = $(TESTSRC) $
10ef0 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c  (TOP)\src\tclsql
10f00 69 74 65 2e 63 20 24 28 54 45 53 54 46 49 58 54  ite.c $(TESTFIXT
10f10 55 52 45 5f 53 52 43 30 29 0a 21 45 4c 53 45 0a  URE_SRC0).!ELSE.
10f20 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 20  TESTFIXTURE_SRC 
10f30 3d 20 24 28 54 45 53 54 53 52 43 29 20 24 28 54  = $(TESTSRC) $(T
10f40 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74  OP)\src\tclsqlit
10f50 65 2e 63 20 24 28 54 45 53 54 46 49 58 54 55 52  e.c $(TESTFIXTUR
10f60 45 5f 53 52 43 31 29 0a 21 45 4e 44 49 46 0a 0a  E_SRC1).!ENDIF..
10f70 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c  !IF $(USE_STDCAL
10f80 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57  L)!=0 || $(FOR_W
10f90 49 4e 31 30 29 21 3d 30 0a 73 71 6c 69 74 65 5f  IN10)!=0.sqlite_
10fa0 74 63 6c 44 65 63 6c 73 2e 68 3a 0a 09 65 63 68  tclDecls.h:..ech
10fb0 6f 20 23 69 66 6e 64 65 66 20 53 51 4c 49 54 45  o #ifndef SQLITE
10fc0 5f 54 43 4c 41 50 49 20 3e 20 24 28 53 51 4c 49  _TCLAPI > $(SQLI
10fd0 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 65 63  TETCLDECLSH)..ec
10fe0 68 6f 20 23 20 20 64 65 66 69 6e 65 20 53 51 4c  ho #  define SQL
10ff0 49 54 45 5f 54 43 4c 41 50 49 20 3e 3e 20 24 28  ITE_TCLAPI >> $(
11000 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29  SQLITETCLDECLSH)
11010 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 20 3e 3e  ..echo #endif >>
11020 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c   $(SQLITETCLDECL
11030 53 48 29 0a 09 74 79 70 65 20 22 24 28 54 43 4c  SH)..type "$(TCL
11040 49 4e 43 44 49 52 29 5c 74 63 6c 44 65 63 6c 73  INCDIR)\tclDecls
11050 2e 68 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53  .h" \...| $(TCLS
11060 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
11070 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72  ol\replace.tcl r
11080 65 67 73 75 62 20 22 5e 28 45 58 54 45 52 4e 28  egsub "^(EXTERN(
11090 3f 3a 20 43 4f 4e 53 54 5c 64 2b 3f 29 3f 5c 73  ?: CONST\d+?)?\s
110a0 2b 3f 5b 5e 5c 28 5d 2a 3f 5c 73 2b 3f 29 54 63  +?[^\(]*?\s+?)Tc
110b0 6c 5f 22 20 22 5c 31 20 53 51 4c 49 54 45 5f 54  l_" "\1 SQLITE_T
110c0 43 4c 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09 09  CLAPI Tcl_" \...
110d0 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
110e0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
110f0 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5e  ce.tcl regsub "^
11100 28 45 58 54 45 52 4e 5c 73 2b 3f 28 3f 3a 76 6f  (EXTERN\s+?(?:vo
11110 69 64 7c 56 4f 49 44 29 5c 73 2b 3f 29 54 63 6c  id|VOID)\s+?)Tcl
11120 46 72 65 65 4f 62 6a 22 20 22 5c 31 20 53 51 4c  FreeObj" "\1 SQL
11130 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c 46 72  ITE_TCLAPI TclFr
11140 65 65 4f 62 6a 22 20 5c 0a 09 09 7c 20 24 28 54  eeObj" \...| $(T
11150 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
11160 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
11170 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 74 63  l regsub "\(\*tc
11180 6c 5f 22 20 22 28 53 51 4c 49 54 45 5f 54 43 4c  l_" "(SQLITE_TCL
11190 41 50 49 20 2a 74 63 6c 5f 22 20 5c 0a 09 09 7c  API *tcl_" \...|
111a0 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD) $(
111b0 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
111c0 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28  e.tcl regsub "\(
111d0 5c 2a 74 63 6c 46 72 65 65 4f 62 6a 22 20 22 28  \*tclFreeObj" "(
111e0 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 74  SQLITE_TCLAPI *t
111f0 63 6c 46 72 65 65 4f 62 6a 22 20 5c 0a 09 09 7c  clFreeObj" \...|
11200 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD) $(
11210 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
11220 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28  e.tcl regsub "\(
11230 5c 2a 22 20 22 28 53 51 4c 49 54 45 5f 54 43 4c  \*" "(SQLITE_TCL
11240 41 50 49 20 2a 22 20 3e 3e 20 24 28 53 51 4c 49  API *" >> $(SQLI
11250 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 0a 73 71  TETCLDECLSH)..sq
11260 6c 69 74 65 5f 74 63 6c 2e 68 3a 0a 09 74 79 70  lite_tcl.h:..typ
11270 65 20 22 24 28 54 43 4c 49 4e 43 44 49 52 29 5c  e "$(TCLINCDIR)\
11280 74 63 6c 2e 68 22 20 7c 20 24 28 54 43 4c 53 48  tcl.h" | $(TCLSH
11290 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
112a0 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78  l\replace.tcl ex
112b0 61 63 74 20 74 63 6c 44 65 63 6c 73 2e 68 20 73  act tclDecls.h s
112c0 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e 68  qlite_tclDecls.h
112d0 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43   \...| $(TCLSH_C
112e0 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
112f0 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73  replace.tcl regs
11300 75 62 20 22 74 79 70 65 64 65 66 20 28 2e 2a 3f  ub "typedef (.*?
11310 29 5c 28 54 63 6c 5f 22 20 22 74 79 70 65 64 65  )\(Tcl_" "typede
11320 66 20 5c 31 20 28 53 51 4c 49 54 45 5f 54 43 4c  f \1 (SQLITE_TCL
11330 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09 09 7c 20  API Tcl_" \...| 
11340 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
11350 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
11360 2e 74 63 6c 20 65 78 61 63 74 20 22 76 6f 69 64  .tcl exact "void
11370 20 28 2a 66 72 65 65 50 72 6f 63 29 22 20 22 76   (*freeProc)" "v
11380 6f 69 64 20 28 53 51 4c 49 54 45 5f 54 43 4c 41  oid (SQLITE_TCLA
11390 50 49 20 2a 66 72 65 65 50 72 6f 63 29 22 20 5c  PI *freeProc)" \
113a0 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  ...| $(TCLSH_CMD
113b0 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re
113c0 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20  place.tcl exact 
113d0 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a  "Tcl_HashEntry *
113e0 28 2a 66 69 6e 64 50 72 6f 63 29 22 20 22 54 63  (*findProc)" "Tc
113f0 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 53 51  l_HashEntry *(SQ
11400 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 69 6e  LITE_TCLAPI *fin
11410 64 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 24 28  dProc)" \...| $(
11420 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
11430 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
11440 63 6c 20 65 78 61 63 74 20 22 54 63 6c 5f 48 61  cl exact "Tcl_Ha
11450 73 68 45 6e 74 72 79 20 2a 28 2a 63 72 65 61 74  shEntry *(*creat
11460 65 50 72 6f 63 29 22 20 22 54 63 6c 5f 48 61 73  eProc)" "Tcl_Has
11470 68 45 6e 74 72 79 20 2a 28 53 51 4c 49 54 45 5f  hEntry *(SQLITE_
11480 54 43 4c 41 50 49 20 2a 63 72 65 61 74 65 50 72  TCLAPI *createPr
11490 6f 63 29 22 20 3e 3e 20 24 28 53 51 4c 49 54 45  oc)" >> $(SQLITE
114a0 54 43 4c 48 29 0a 21 45 4e 44 49 46 0a 0a 74 65  TCLH).!ENDIF..te
114b0 73 74 66 69 78 74 75 72 65 2e 65 78 65 3a 09 24  stfixture.exe:.$
114c0 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43  (TESTFIXTURE_SRC
114d0 29 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  ) $(TESTFIXTURE_
114e0 44 45 50 29 20 24 28 53 51 4c 49 54 45 33 48 29  DEP) $(SQLITE3H)
114f0 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS) $
11500 28 48 44 52 29 20 24 28 53 51 4c 49 54 45 5f 54  (HDR) $(SQLITE_T
11510 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 4c 49 4e  CL_DEP)..$(LTLIN
11520 4b 29 20 2d 44 53 51 4c 49 54 45 5f 4e 4f 5f 53  K) -DSQLITE_NO_S
11530 59 4e 43 3d 31 20 24 28 54 45 53 54 46 49 58 54  YNC=1 $(TESTFIXT
11540 55 52 45 5f 46 4c 41 47 53 29 20 5c 0a 09 09 2d  URE_FLAGS) \...-
11550 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49  DBUILD_sqlite -I
11560 24 28 54 43 4c 49 4e 43 44 49 52 29 20 5c 0a 09  $(TCLINCDIR) \..
11570 09 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 53  .$(TESTFIXTURE_S
11580 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28  RC) \.../link $(
11590 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
115a0 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50  KOPTS) $(TCLLIBP
115b0 41 54 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54  ATHS) $(LTLIBPAT
115c0 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  HS) $(LIBRESOBJS
115d0 29 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c  ) $(TCLLIBS) $(L
115e0 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a  TLIBS) $(TLIBS).
115f0 0a 65 78 74 65 6e 73 69 6f 6e 74 65 73 74 3a 09  .extensiontest:.
11600 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe 
11610 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 0a  testloadext.dll.
11620 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42  .@set PATH=$(LIB
11630 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29  TCLPATH);$(PATH)
11640 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e  ...\testfixture.
11650 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  exe $(TOP)\test\
11660 6c 6f 61 64 65 78 74 2e 74 65 73 74 20 24 28 54  loadext.test $(T
11670 45 53 54 4f 50 54 53 29 0a 0a 63 6f 72 65 74 65  ESTOPTS)..corete
11680 73 74 70 72 6f 67 73 3a 09 24 28 54 45 53 54 50  stprogs:.$(TESTP
11690 52 4f 47 53 29 0a 0a 74 65 73 74 70 72 6f 67 73  ROGS)..testprogs
116a0 3a 09 63 6f 72 65 74 65 73 74 70 72 6f 67 73 20  :.coretestprogs 
116b0 73 72 63 63 6b 31 2e 65 78 65 20 66 75 7a 7a 63  srcck1.exe fuzzc
116c0 68 65 63 6b 2e 65 78 65 20 73 65 73 73 69 6f 6e  heck.exe session
116d0 66 75 7a 7a 2e 65 78 65 0a 0a 66 75 6c 6c 74 65  fuzz.exe..fullte
116e0 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29  st:.$(TESTPROGS)
116f0 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20   fuzztest..@set 
11700 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54  PATH=$(LIBTCLPAT
11710 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65  H);$(PATH)...\te
11720 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28  stfixture.exe $(
11730 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65  TOP)\test\all.te
11740 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a  st $(TESTOPTS)..
11750 73 6f 61 6b 74 65 73 74 3a 09 24 28 54 45 53 54  soaktest:.$(TEST
11760 50 52 4f 47 53 29 0a 09 40 73 65 74 20 50 41 54  PROGS)..@set PAT
11770 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b  H=$(LIBTCLPATH);
11780 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66  $(PATH)...\testf
11790 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50  ixture.exe $(TOP
117a0 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74 20  )\test\all.test 
117b0 2d 73 6f 61 6b 3d 31 20 24 28 54 45 53 54 4f 50  -soak=1 $(TESTOP
117c0 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74 6f 6e 6c  TS)..fulltestonl
117d0 79 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 20  y:.$(TESTPROGS) 
117e0 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50  fuzztest..@set P
117f0 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48  ATH=$(LIBTCLPATH
11800 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73  );$(PATH)...\tes
11810 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54  tfixture.exe $(T
11820 4f 50 29 5c 74 65 73 74 5c 66 75 6c 6c 2e 74 65  OP)\test\full.te
11830 73 74 0a 0a 71 75 65 72 79 70 6c 61 6e 74 65 73  st..queryplantes
11840 74 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e 65  t:.testfixture.e
11850 78 65 20 73 68 65 6c 6c 0a 09 40 73 65 74 20 50  xe shell..@set P
11860 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48  ATH=$(LIBTCLPATH
11870 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73  );$(PATH)...\tes
11880 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54  tfixture.exe $(T
11890 4f 50 29 5c 74 65 73 74 5c 70 65 72 6d 75 74 61  OP)\test\permuta
118a0 74 69 6f 6e 73 2e 74 65 73 74 20 71 75 65 72 79  tions.test query
118b0 70 6c 61 6e 6e 65 72 20 24 28 54 45 53 54 4f 50  planner $(TESTOP
118c0 54 53 29 0a 0a 66 75 7a 7a 74 65 73 74 3a 09 66  TS)..fuzztest:.f
118d0 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a 09 2e 5c  uzzcheck.exe...\
118e0 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20 24 28  fuzzcheck.exe $(
118f0 46 55 5a 5a 44 41 54 41 29 0a 0a 66 61 73 74 66  FUZZDATA)..fastf
11900 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68 65  uzztest:.fuzzche
11910 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63 68  ck.exe...\fuzzch
11920 65 63 6b 2e 65 78 65 20 2d 2d 6c 69 6d 69 74 2d  eck.exe --limit-
11930 6d 65 6d 20 31 30 30 4d 20 24 28 46 55 5a 5a 44  mem 100M $(FUZZD
11940 41 54 41 29 0a 0a 23 20 4d 69 6e 69 6d 61 6c 20  ATA)..# Minimal 
11950 74 65 73 74 69 6e 67 20 74 68 61 74 20 72 75 6e  testing that run
11960 73 20 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 33  s in less than 3
11970 20 6d 69 6e 75 74 65 73 20 28 6f 6e 20 61 20 66   minutes (on a f
11980 61 73 74 20 6d 61 63 68 69 6e 65 29 0a 23 0a 71  ast machine).#.q
11990 75 69 63 6b 74 65 73 74 3a 09 74 65 73 74 66 69  uicktest:.testfi
119a0 78 74 75 72 65 2e 65 78 65 20 73 6f 75 72 63 65  xture.exe source
119b0 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d  test..@set PATH=
119c0 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28  $(LIBTCLPATH);$(
119d0 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78  PATH)...\testfix
119e0 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c  ture.exe $(TOP)\
119f0 74 65 73 74 5c 65 78 74 72 61 71 75 69 63 6b 2e  test\extraquick.
11a00 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29  test $(TESTOPTS)
11a10 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20  ..# This is the 
11a20 63 6f 6d 6d 6f 6e 20 63 61 73 65 2e 20 20 52 75  common case.  Ru
11a30 6e 20 6d 61 6e 79 20 74 65 73 74 73 20 74 68 61  n many tests tha
11a40 74 20 64 6f 20 6e 6f 74 20 74 61 6b 65 20 74 6f  t do not take to
11a50 6f 20 6c 6f 6e 67 2c 0a 23 20 69 6e 63 6c 75 64  o long,.# includ
11a60 69 6e 67 20 66 75 7a 7a 63 68 65 63 6b 2c 20 73  ing fuzzcheck, s
11a70 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2c  qlite3_analyzer,
11a80 20 61 6e 64 20 73 71 6c 64 69 66 66 20 74 65 73   and sqldiff tes
11a90 74 73 2e 0a 23 0a 74 65 73 74 3a 09 24 28 54 45  ts..#.test:.$(TE
11aa0 53 54 50 52 4f 47 53 29 20 73 6f 75 72 63 65 74  STPROGS) sourcet
11ab0 65 73 74 20 66 61 73 74 66 75 7a 7a 74 65 73 74  est fastfuzztest
11ac0 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI
11ad0 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH
11ae0 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
11af0 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test
11b00 5c 76 65 72 79 71 75 69 63 6b 2e 74 65 73 74 20  \veryquick.test 
11b10 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 6d 6f  $(TESTOPTS)..smo
11b20 6b 65 74 65 73 74 3a 09 24 28 54 45 53 54 50 52  ketest:.$(TESTPR
11b30 4f 47 53 29 0a 09 40 73 65 74 20 50 41 54 48 3d  OGS)..@set PATH=
11b40 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28  $(LIBTCLPATH);$(
11b50 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78  PATH)...\testfix
11b60 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c  ture.exe $(TOP)\
11b70 74 65 73 74 5c 6d 61 69 6e 2e 74 65 73 74 20 24  test\main.test $
11b80 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 71 6c 69  (TESTOPTS)..sqli
11b90 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 3a 09  te3_analyzer.c:.
11ba0 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
11bb0 4c 49 54 45 33 48 29 20 24 28 54 4f 50 29 5c 73  LITE3H) $(TOP)\s
11bc0 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24  rc\tclsqlite.c $
11bd0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 61 63 65  (TOP)\tool\space
11be0 61 6e 61 6c 2e 74 63 6c 20 24 28 54 4f 50 29 5c  anal.tcl $(TOP)\
11bf0 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c  tool\mkccode.tcl
11c00 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c   $(TOP)\tool\sql
11c10 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 2e  ite3_analyzer.c.
11c20 69 6e 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f  in $(SQLITE_TCL_
11c30 44 45 50 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d  DEP)..$(TCLSH_CM
11c40 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  D) $(TOP)\tool\m
11c50 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50  kccode.tcl $(TOP
11c60 29 5c 74 6f 6f 6c 5c 73 71 6c 69 74 65 33 5f 61  )\tool\sqlite3_a
11c70 6e 61 6c 79 7a 65 72 2e 63 2e 69 6e 20 3e 20 24  nalyzer.c.in > $
11c80 40 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79  @..sqlite3_analy
11c90 7a 65 72 2e 65 78 65 3a 09 73 71 6c 69 74 65 33  zer.exe:.sqlite3
11ca0 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 24 28 4c 49  _analyzer.c $(LI
11cb0 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c  BRESOBJS)..$(LTL
11cc0 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
11cd0 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d  -DBUILD_sqlite -
11ce0 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 73 71  I$(TCLINCDIR) sq
11cf0 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63  lite3_analyzer.c
11d00 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46   \.../link $(LDF
11d10 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
11d20 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48  TS) $(TCLLIBPATH
11d30 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29  S) $(LTLIBPATHS)
11d40 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS) $
11d50 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49  (TCLLIBS) $(LTLI
11d60 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 73 71  BS) $(TLIBS)..sq
11d70 6c 74 63 6c 73 68 2e 63 3a 20 73 71 6c 69 74 65  ltclsh.c: sqlite
11d80 33 2e 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  3.c $(TOP)\src\t
11d90 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 4f 50  clsqlite.c $(TOP
11da0 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e  )\tool\sqltclsh.
11db0 74 63 6c 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  tcl $(TOP)\ext\m
11dc0 69 73 63 5c 61 70 70 65 6e 64 76 66 73 2e 63 20  isc\appendvfs.c 
11dd0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63  $(TOP)\tool\mkcc
11de0 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74  ode.tcl $(TOP)\t
11df0 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e 63 2e 69  ool\sqltclsh.c.i
11e00 6e 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  n..$(TCLSH_CMD) 
11e10 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63  $(TOP)\tool\mkcc
11e20 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74  ode.tcl $(TOP)\t
11e30 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e 63 2e 69  ool\sqltclsh.c.i
11e40 6e 20 3e 73 71 6c 74 63 6c 73 68 2e 63 0a 0a 73  n >sqltclsh.c..s
11e50 71 6c 74 63 6c 73 68 2e 65 78 65 3a 20 73 71 6c  qltclsh.exe: sql
11e60 74 63 6c 73 68 2e 63 20 20 24 28 53 48 45 4c 4c  tclsh.c  $(SHELL
11e70 5f 43 4f 52 45 5f 44 45 50 29 20 24 28 4c 49 42  _CORE_DEP) $(LIB
11e80 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49  RESOBJS)..$(LTLI
11e90 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) -
11ea0 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49  DBUILD_sqlite -I
11eb0 24 28 54 43 4c 49 4e 43 44 49 52 29 20 73 71 6c  $(TCLINCDIR) sql
11ec0 74 63 6c 73 68 2e 63 20 5c 0a 09 09 2f 6c 69 6e  tclsh.c \.../lin
11ed0 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
11ee0 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c  TLINKOPTS) $(TCL
11ef0 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49  LIBPATHS) $(LTLI
11f00 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53  BPATHS) $(LIBRES
11f10 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29  OBJS) $(TCLLIBS)
11f20 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49   $(LTLIBS) $(TLI
11f30 42 53 29 0a 0a 73 71 6c 69 74 65 33 5f 65 78 70  BS)..sqlite3_exp
11f40 65 72 74 2e 65 78 65 3a 20 24 28 53 51 4c 49 54  ert.exe: $(SQLIT
11f50 45 33 43 29 20 24 28 54 4f 50 29 5c 65 78 74 5c  E3C) $(TOP)\ext\
11f60 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78  expert\sqlite3ex
11f70 70 65 72 74 2e 68 20 24 28 54 4f 50 29 5c 65 78  pert.h $(TOP)\ex
11f80 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33  t\expert\sqlite3
11f90 65 78 70 65 72 74 2e 63 20 24 28 54 4f 50 29 5c  expert.c $(TOP)\
11fa0 65 78 74 5c 65 78 70 65 72 74 5c 65 78 70 65 72  ext\expert\exper
11fb0 74 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  t.c..$(LTLINK) $
11fc0 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f 50 29  (NO_WARN).$(TOP)
11fd0 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69  \ext\expert\sqli
11fe0 74 65 33 65 78 70 65 72 74 2e 63 20 24 28 54 4f  te3expert.c $(TO
11ff0 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 65 78  P)\ext\expert\ex
12000 70 65 72 74 2e 63 20 24 28 53 51 4c 49 54 45 33  pert.c $(SQLITE3
12010 43 29 20 24 28 54 4c 49 42 53 29 0a 0a 43 48 45  C) $(TLIBS)..CHE
12020 43 4b 45 52 5f 44 45 50 53 20 3d 5c 0a 20 20 24  CKER_DEPS =\.  $
12030 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6d 6b 63 63 6f  (TOP)/tool/mkcco
12040 64 65 2e 74 63 6c 20 5c 0a 20 20 73 71 6c 69 74  de.tcl \.  sqlit
12050 65 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  e3.c \.  $(TOP)/
12060 73 72 63 2f 74 63 6c 73 71 6c 69 74 65 2e 63 20  src/tclsqlite.c 
12070 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72  \.  $(TOP)/ext/r
12080 65 70 61 69 72 2f 73 71 6c 69 74 65 33 5f 63 68  epair/sqlite3_ch
12090 65 63 6b 65 72 2e 74 63 6c 20 5c 0a 20 20 24 28  ecker.tcl \.  $(
120a0 54 4f 50 29 2f 65 78 74 2f 72 65 70 61 69 72 2f  TOP)/ext/repair/
120b0 63 68 65 63 6b 69 6e 64 65 78 2e 63 20 5c 0a 20  checkindex.c \. 
120c0 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61   $(TOP)/ext/repa
120d0 69 72 2f 63 68 65 63 6b 66 72 65 65 6c 69 73 74  ir/checkfreelist
120e0 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78  .c \.  $(TOP)/ex
120f0 74 2f 6d 69 73 63 2f 62 74 72 65 65 69 6e 66 6f  t/misc/btreeinfo
12100 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78  .c \.  $(TOP)/ex
12110 74 2f 72 65 70 61 69 72 2f 73 71 6c 69 74 65 33  t/repair/sqlite3
12120 5f 63 68 65 63 6b 65 72 2e 63 2e 69 6e 0a 0a 73  _checker.c.in..s
12130 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63  qlite3_checker.c
12140 3a 09 24 28 43 48 45 43 4b 45 52 5f 44 45 50 53  :.$(CHECKER_DEPS
12150 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  )..$(TCLSH_CMD) 
12160 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63  $(TOP)\tool\mkcc
12170 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c 65  ode.tcl $(TOP)\e
12180 78 74 5c 72 65 70 61 69 72 5c 73 71 6c 69 74 65  xt\repair\sqlite
12190 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69 6e 20 3e  3_checker.c.in >
121a0 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f 63 68 65   $@..sqlite3_che
121b0 63 6b 65 72 2e 65 78 65 3a 09 73 71 6c 69 74 65  cker.exe:.sqlite
121c0 33 5f 63 68 65 63 6b 65 72 2e 63 20 24 28 4c 49  3_checker.c $(LI
121d0 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c  BRESOBJS)..$(LTL
121e0 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
121f0 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d  -DBUILD_sqlite -
12200 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 73 71  I$(TCLINCDIR) sq
12210 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 20  lite3_checker.c 
12220 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  \.../link $(LDFL
12230 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
12240 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53  S) $(TCLLIBPATHS
12250 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  ) $(LTLIBPATHS) 
12260 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28  $(LIBRESOBJS) $(
12270 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49 42  TCLLIBS) $(LTLIB
12280 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 64 62 64  S) $(TLIBS)..dbd
12290 75 6d 70 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  ump.exe:.$(TOP)\
122a0 65 78 74 5c 6d 69 73 63 5c 64 62 64 75 6d 70 2e  ext\misc\dbdump.
122b0 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
122c0 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52  SQLITE3H) $(LIBR
122d0 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e  ESOBJS)..$(LTLIN
122e0 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
122f0 44 42 44 55 4d 50 5f 53 54 41 4e 44 41 4c 4f 4e  DBDUMP_STANDALON
12300 45 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  E $(TOP)\ext\mis
12310 63 5c 64 62 64 75 6d 70 2e 63 20 24 28 53 51 4c  c\dbdump.c $(SQL
12320 49 54 45 33 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b  ITE3C) \.../link
12330 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
12340 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49  LINKOPTS) $(LTLI
12350 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53  BPATHS) $(LIBRES
12360 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 0a  OBJS) $(LTLIBS).
12370 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 3a  .testloadext.lo:
12380 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74  .$(TOP)\src\test
12390 5f 6c 6f 61 64 65 78 74 2e 63 20 24 28 53 51 4c  _loadext.c $(SQL
123a0 49 54 45 33 48 29 0a 09 24 28 4c 54 43 4f 4d 50  ITE3H)..$(LTCOMP
123b0 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  ILE) $(NO_WARN) 
123c0 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  -c $(TOP)\src\te
123d0 73 74 5f 6c 6f 61 64 65 78 74 2e 63 0a 0a 74 65  st_loadext.c..te
123e0 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 3a 09 74  stloadext.dll:.t
123f0 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a 09 24  estloadext.lo..$
12400 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20  (LD) $(LDFLAGS) 
12410 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS) $(
12420 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c  LTLIBPATHS) /DLL
12430 20 2f 4f 55 54 3a 24 40 20 74 65 73 74 6c 6f 61   /OUT:$@ testloa
12440 64 65 78 74 2e 6c 6f 0a 0a 64 62 74 6f 74 78 74  dext.lo..dbtotxt
12450 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
12460 6c 5c 64 62 74 6f 74 78 74 2e 63 0a 09 24 28 4c  l\dbtotxt.c..$(L
12470 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
12480 29 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62  ).$(TOP)\tool\db
12490 74 6f 74 78 74 2e 63 20 2f 6c 69 6e 6b 20 24 28  totxt.c /link $(
124a0 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
124b0 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 64 62 2e 65  KOPTS)..showdb.e
124c0 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
124d0 73 68 6f 77 64 62 2e 63 20 24 28 53 51 4c 49 54  showdb.c $(SQLIT
124e0 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
124f0 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
12500 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
12510 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
12520 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
12530 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28  EXTENSION \...$(
12540 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64 62  TOP)\tool\showdb
12550 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
12560 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
12570 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73  $(LTLINKOPTS)..s
12580 68 6f 77 73 74 61 74 34 2e 65 78 65 3a 09 24 28  howstat4.exe:.$(
12590 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 74  TOP)\tool\showst
125a0 61 74 34 2e 63 20 24 28 53 51 4c 49 54 45 33 43  at4.c $(SQLITE3C
125b0 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
125c0 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
125d0 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  RN) -DSQLITE_THR
125e0 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49  EADSAFE=0 -DSQLI
125f0 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
12600 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50  ENSION \...$(TOP
12610 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 74 61 74 34  )\tool\showstat4
12620 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
12630 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
12640 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73  $(LTLINKOPTS)..s
12650 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 3a 09  howjournal.exe:.
12660 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show
12670 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c 49  journal.c $(SQLI
12680 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
12690 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
126a0 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
126b0 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
126c0 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
126d0 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$
126e0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 6a  (TOP)\tool\showj
126f0 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c 49 54  ournal.c $(SQLIT
12700 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
12710 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
12720 54 53 29 0a 0a 73 68 6f 77 77 61 6c 2e 65 78 65  TS)..showwal.exe
12730 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  :.$(TOP)\tool\sh
12740 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c 49 54 45  owwal.c $(SQLITE
12750 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
12760 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
12770 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54  WARN) -DSQLITE_T
12780 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51  HREADSAFE=0 -DSQ
12790 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45  LITE_OMIT_LOAD_E
127a0 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54  XTENSION \...$(T
127b0 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c  OP)\tool\showwal
127c0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
127d0 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
127e0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73  $(LTLINKOPTS)..s
127f0 68 6f 77 73 68 6d 2e 65 78 65 3a 09 24 28 54 4f  howshm.exe:.$(TO
12800 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 68 6d 2e  P)\tool\showshm.
12810 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  c..$(LTLINK) $(N
12820 4f 5f 57 41 52 4e 29 09 24 28 54 4f 50 29 5c 74  O_WARN).$(TOP)\t
12830 6f 6f 6c 5c 73 68 6f 77 73 68 6d 2e 63 20 2f 6c  ool\showshm.c /l
12840 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
12850 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 69 6e  (LTLINKOPTS)..in
12860 64 65 78 5f 75 73 61 67 65 2e 65 78 65 3a 20 24  dex_usage.exe: $
12870 28 54 4f 50 29 5c 74 6f 6f 6c 5c 69 6e 64 65 78  (TOP)\tool\index
12880 5f 75 73 61 67 65 2e 63 20 24 28 53 51 4c 49 54  _usage.c $(SQLIT
12890 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
128a0 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
128b0 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
128c0 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
128d0 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
128e0 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28  EXTENSION \...$(
128f0 54 4f 50 29 5c 74 6f 6f 6c 5c 69 6e 64 65 78 5f  TOP)\tool\index_
12900 75 73 61 67 65 2e 63 20 24 28 53 51 4c 49 54 45  usage.c $(SQLITE
12910 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
12920 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
12930 53 29 0a 0a 63 68 61 6e 67 65 73 65 74 2e 65 78  S)..changeset.ex
12940 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 73 65  e:.$(TOP)\ext\se
12950 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74 2e  ssion\changeset.
12960 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
12970 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
12980 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
12990 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
129a0 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f  AFE=0 -DSQLITE_O
129b0 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
129c0 4f 4e 20 5c 0a 09 09 2d 44 53 51 4c 49 54 45 5f  ON \...-DSQLITE_
129d0 45 4e 41 42 4c 45 5f 53 45 53 53 49 4f 4e 3d 31  ENABLE_SESSION=1
129e0 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
129f0 5f 50 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b 3d  _PREUPDATE_HOOK=
12a00 31 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74  1 \...$(TOP)\ext
12a10 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73  \session\changes
12a20 65 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  et.c $(SQLITE3C)
12a30 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
12a40 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS).
12a50 0a 63 68 61 6e 67 65 73 65 74 66 75 7a 7a 2e 65  .changesetfuzz.e
12a60 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 73  xe:.$(TOP)\ext\s
12a70 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74  ession\changeset
12a80 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45 33  fuzz.c $(SQLITE3
12a90 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
12aa0 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
12ab0 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
12ac0 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
12ad0 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
12ae0 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 2d 44 53 51  TENSION \...-DSQ
12af0 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 53 53  LITE_ENABLE_SESS
12b00 49 4f 4e 3d 31 20 2d 44 53 51 4c 49 54 45 5f 45  ION=1 -DSQLITE_E
12b10 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45 5f  NABLE_PREUPDATE_
12b20 48 4f 4f 4b 3d 31 20 5c 0a 09 09 24 28 54 4f 50  HOOK=1 \...$(TOP
12b30 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68  )\ext\session\ch
12b40 61 6e 67 65 73 65 74 66 75 7a 7a 2e 63 20 24 28  angesetfuzz.c $(
12b50 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
12b60 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
12b70 49 4e 4b 4f 50 54 53 29 0a 0a 66 74 73 33 76 69  INKOPTS)..fts3vi
12b80 65 77 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65  ew.exe:.$(TOP)\e
12b90 78 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 74 73  xt\fts3\tool\fts
12ba0 33 76 69 65 77 2e 63 20 24 28 53 51 4c 49 54 45  3view.c $(SQLITE
12bb0 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
12bc0 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
12bd0 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54  WARN) -DSQLITE_T
12be0 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51  HREADSAFE=0 -DSQ
12bf0 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45  LITE_OMIT_LOAD_E
12c00 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54  XTENSION \...$(T
12c10 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f  OP)\ext\fts3\too
12c20 6c 5c 66 74 73 33 76 69 65 77 2e 63 20 24 28 53  l\fts3view.c $(S
12c30 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
12c40 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
12c50 4e 4b 4f 50 54 53 29 0a 0a 72 6f 6c 6c 62 61 63  NKOPTS)..rollbac
12c60 6b 2d 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f  k-test.exe:.$(TO
12c70 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b  P)\tool\rollback
12c80 2d 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45  -test.c $(SQLITE
12c90 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
12ca0 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
12cb0 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54  WARN) -DSQLITE_T
12cc0 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51  HREADSAFE=0 -DSQ
12cd0 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45  LITE_OMIT_LOAD_E
12ce0 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54  XTENSION \...$(T
12cf0 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63  OP)\tool\rollbac
12d00 6b 2d 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54  k-test.c $(SQLIT
12d10 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
12d20 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
12d30 54 53 29 0a 0a 61 74 72 63 2e 65 78 65 3a 09 24  TS)..atrc.exe:.$
12d40 28 54 4f 50 29 5c 74 65 73 74 5c 61 74 72 63 2e  (TOP)\test\atrc.
12d50 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
12d60 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
12d70 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
12d80 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
12d90 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f  AFE=0 -DSQLITE_O
12da0 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
12db0 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65  ON \...$(TOP)\te
12dc0 73 74 5c 61 74 72 63 2e 63 20 24 28 53 51 4c 49  st\atrc.c $(SQLI
12dd0 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
12de0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
12df0 50 54 53 29 0a 0a 4c 6f 67 45 73 74 2e 65 78 65  PTS)..LogEst.exe
12e00 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 6f  :.$(TOP)\tool\lo
12e10 67 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33  gest.c $(SQLITE3
12e20 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
12e30 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50 29 5c  NO_WARN) $(TOP)\
12e40 74 6f 6f 6c 5c 4c 6f 67 45 73 74 2e 63 20 2f 6c  tool\LogEst.c /l
12e50 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
12e60 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 77 6f  (LTLINKOPTS)..wo
12e70 72 64 63 6f 75 6e 74 2e 65 78 65 3a 09 24 28 54  rdcount.exe:.$(T
12e80 4f 50 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75  OP)\test\wordcou
12e90 6e 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  nt.c $(SQLITE3C)
12ea0 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
12eb0 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
12ec0 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45  N) -DSQLITE_THRE
12ed0 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54  ADSAFE=0 -DSQLIT
12ee0 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45  E_OMIT_LOAD_EXTE
12ef0 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29  NSION \...$(TOP)
12f00 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e  \test\wordcount.
12f10 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
12f20 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
12f30 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 70  (LTLINKOPTS)..sp
12f40 65 65 64 74 65 73 74 31 2e 65 78 65 3a 09 24 28  eedtest1.exe:.$(
12f50 54 4f 50 29 5c 74 65 73 74 5c 73 70 65 65 64 74  TOP)\test\speedt
12f60 65 73 74 31 2e 63 20 24 28 53 51 4c 49 54 45 33  est1.c $(SQLITE3
12f70 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
12f80 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
12f90 41 52 4e 29 20 24 28 53 54 5f 43 4f 4d 50 49 4c  ARN) $(ST_COMPIL
12fa0 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45  E_OPTS) -DSQLITE
12fb0 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
12fc0 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c  SION \...$(TOP)\
12fd0 74 65 73 74 5c 73 70 65 65 64 74 65 73 74 31 2e  test\speedtest1.
12fe0 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
12ff0 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
13000 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6b 76  (LTLINKOPTS)..kv
13010 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f 50 29  test.exe:.$(TOP)
13020 5c 74 65 73 74 5c 6b 76 74 65 73 74 2e 63 20 24  \test\kvtest.c $
13030 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
13040 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
13050 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 4b  ) $(NO_WARN) $(K
13060 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  V_COMPILE_OPTS) 
13070 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c  \...$(TOP)\test\
13080 6b 76 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54  kvtest.c $(SQLIT
13090 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
130a0 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
130b0 54 53 29 0a 0a 72 62 75 2e 65 78 65 3a 09 24 28  TS)..rbu.exe:.$(
130c0 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72 62 75  TOP)\ext\rbu\rbu
130d0 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62  .c $(TOP)\ext\rb
130e0 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20 24  u\sqlite3rbu.c $
130f0 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
13100 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
13110 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
13120 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52 42 55  QLITE_ENABLE_RBU
13130 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74 5c   \...$(TOP)\ext\
13140 72 62 75 5c 72 62 75 2e 63 20 24 28 53 51 4c 49  rbu\rbu.c $(SQLI
13150 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
13160 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
13170 50 54 53 29 0a 0a 4c 53 4d 44 49 52 3d 24 28 54  PTS)..LSMDIR=$(T
13180 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 0a 21 49 4e  OP)\ext\lsm1.!IN
13190 43 4c 55 44 45 20 24 28 4c 53 4d 44 49 52 29 5c  CLUDE $(LSMDIR)\
131a0 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 0a 0a 6d 6f  Makefile.msc..mo
131b0 72 65 63 6c 65 61 6e 3a 09 63 6c 65 61 6e 0a 09  reclean:.clean..
131c0 64 65 6c 20 2f 51 20 24 28 53 51 4c 49 54 45 33  del /Q $(SQLITE3
131d0 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 20 32  C) $(SQLITE3H) 2
131e0 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  >NUL.# <</mark>>
131f0 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65 6c 20 2f 51  ..clean:..del /Q
13200 20 2a 2e 65 78 70 20 2a 2e 6c 6f 20 2a 2e 69 6c   *.exp *.lo *.il
13210 6b 20 2a 2e 6c 69 62 20 2a 2e 6f 62 6a 20 2a 2e  k *.lib *.obj *.
13220 6e 63 62 20 2a 2e 70 64 62 20 2a 2e 73 64 66 20  ncb *.pdb *.sdf 
13230 2a 2e 73 75 6f 20 32 3e 4e 55 4c 0a 09 64 65 6c  *.suo 2>NUL..del
13240 20 2f 51 20 2a 2e 62 73 63 20 2a 2e 64 65 66 20   /Q *.bsc *.def 
13250 2a 2e 63 6f 64 20 2a 2e 64 61 20 2a 2e 62 62 20  *.cod *.da *.bb 
13260 2a 2e 62 62 67 20 2a 2e 76 63 20 67 6d 6f 6e 2e  *.bbg *.vc gmon.
13270 6f 75 74 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  out 2>NUL..del /
13280 51 20 24 28 53 51 4c 49 54 45 33 45 58 45 29 20  Q $(SQLITE3EXE) 
13290 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 20 52 65  $(SQLITE3DLL) Re
132a0 70 6c 61 63 65 2e 65 78 65 20 32 3e 4e 55 4c 0a  place.exe 2>NUL.
132b0 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 09 64 65 6c 20  # <<mark>>..del 
132c0 2f 51 20 24 28 53 51 4c 49 54 45 33 54 43 4c 44  /Q $(SQLITE3TCLD
132d0 4c 4c 29 20 70 6b 67 49 6e 64 65 78 2e 74 63 6c  LL) pkgIndex.tcl
132e0 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6f   2>NUL..del /Q o
132f0 70 63 6f 64 65 73 2e 63 20 6f 70 63 6f 64 65 73  pcodes.c opcodes
13300 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  .h 2>NUL..del /Q
13310 20 6c 65 6d 6f 6e 2e 2a 20 6c 65 6d 70 61 72 2e   lemon.* lempar.
13320 63 20 70 61 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a  c parse.* 2>NUL.
13330 09 64 65 6c 20 2f 51 20 6d 6b 73 6f 75 72 63 65  .del /Q mksource
13340 69 64 2e 2a 20 6d 6b 6b 65 79 77 6f 72 64 68 61  id.* mkkeywordha
13350 73 68 2e 2a 20 6b 65 79 77 6f 72 64 68 61 73 68  sh.* keywordhash
13360 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  .h 2>NUL..del /Q
13370 20 6e 6f 74 61 73 68 61 72 65 64 6c 69 62 2e 2a   notasharedlib.*
13380 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f   2>NUL..-rmdir /
13390 51 2f 53 20 2e 64 65 70 73 20 32 3e 4e 55 4c 0a  Q/S .deps 2>NUL.
133a0 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e 6c 69  .-rmdir /Q/S .li
133b0 62 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72  bs 2>NUL..-rmdir
133c0 20 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e 55 4c   /Q/S tsrc 2>NUL
133d0 0a 09 64 65 6c 20 2f 51 20 2e 74 61 72 67 65 74  ..del /Q .target
133e0 5f 73 6f 75 72 63 65 20 32 3e 4e 55 4c 0a 09 64  _source 2>NUL..d
133f0 65 6c 20 2f 51 20 74 63 6c 73 71 6c 69 74 65 33  el /Q tclsqlite3
13400 2e 65 78 65 20 24 28 53 51 4c 49 54 45 54 43 4c  .exe $(SQLITETCL
13410 48 29 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45  H) $(SQLITETCLDE
13420 43 4c 53 48 29 20 32 3e 4e 55 4c 0a 09 64 65 6c  CLSH) 2>NUL..del
13430 20 2f 51 20 6c 73 6d 2e 64 6c 6c 20 6c 73 6d 74   /Q lsm.dll lsmt
13440 65 73 74 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  est.exe 2>NUL..d
13450 65 6c 20 2f 51 20 61 74 72 63 2e 65 78 65 20 63  el /Q atrc.exe c
13460 68 61 6e 67 65 73 65 74 66 75 7a 7a 2e 65 78 65  hangesetfuzz.exe
13470 20 64 62 74 6f 74 78 74 2e 65 78 65 20 69 6e 64   dbtotxt.exe ind
13480 65 78 5f 75 73 61 67 65 2e 65 78 65 20 32 3e 4e  ex_usage.exe 2>N
13490 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 74 6c  UL..del /Q testl
134a0 6f 61 64 65 78 74 2e 64 6c 6c 20 32 3e 4e 55 4c  oadext.dll 2>NUL
134b0 0a 09 64 65 6c 20 2f 51 20 74 65 73 74 66 69 78  ..del /Q testfix
134c0 74 75 72 65 2e 65 78 65 20 74 65 73 74 2e 64 62  ture.exe test.db
134d0 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 4c   2>NUL..del /Q L
134e0 6f 67 45 73 74 2e 65 78 65 20 66 74 73 33 76 69  ogEst.exe fts3vi
134f0 65 77 2e 65 78 65 20 72 6f 6c 6c 62 61 63 6b 2d  ew.exe rollback-
13500 74 65 73 74 2e 65 78 65 20 73 68 6f 77 64 62 2e  test.exe showdb.
13510 65 78 65 20 64 62 64 75 6d 70 2e 65 78 65 20 32  exe dbdump.exe 2
13520 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 63 68 61  >NUL..del /Q cha
13530 6e 67 65 73 65 74 2e 65 78 65 20 32 3e 4e 55 4c  ngeset.exe 2>NUL
13540 0a 09 64 65 6c 20 2f 51 20 73 68 6f 77 6a 6f 75  ..del /Q showjou
13550 72 6e 61 6c 2e 65 78 65 20 73 68 6f 77 73 74 61  rnal.exe showsta
13560 74 34 2e 65 78 65 20 73 68 6f 77 77 61 6c 2e 65  t4.exe showwal.e
13570 78 65 20 73 70 65 65 64 74 65 73 74 31 2e 65 78  xe speedtest1.ex
13580 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q 
13590 6d 70 74 65 73 74 65 72 2e 65 78 65 20 77 6f 72  mptester.exe wor
135a0 64 63 6f 75 6e 74 2e 65 78 65 20 72 62 75 2e 65  dcount.exe rbu.e
135b0 78 65 20 73 72 63 63 6b 31 2e 65 78 65 20 32 3e  xe srcck1.exe 2>
135c0 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69  NUL..del /Q sqli
135d0 74 65 33 2e 63 20 73 71 6c 69 74 65 33 2d 2a 2e  te3.c sqlite3-*.
135e0 63 20 73 71 6c 69 74 65 33 2e 68 20 32 3e 4e 55  c sqlite3.h 2>NU
135f0 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65  L..del /Q sqlite
13600 33 72 63 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c  3rc.h 2>NUL..del
13610 20 2f 51 20 73 68 65 6c 6c 2e 63 20 73 71 6c 69   /Q shell.c sqli
13620 74 65 33 65 78 74 2e 68 20 73 71 6c 69 74 65 33  te3ext.h sqlite3
13630 73 65 73 73 69 6f 6e 2e 68 20 32 3e 4e 55 4c 0a  session.h 2>NUL.
13640 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 5f  .del /Q sqlite3_
13650 61 6e 61 6c 79 7a 65 72 2e 65 78 65 20 73 71 6c  analyzer.exe sql
13660 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20  ite3_analyzer.c 
13670 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71  2>NUL..del /Q sq
13680 6c 69 74 65 2d 2a 2d 6f 75 74 70 75 74 2e 76 73  lite-*-output.vs
13690 69 78 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  ix 2>NUL..del /Q
136a0 20 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65 78 65   fuzzershell.exe
136b0 20 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20 73   fuzzcheck.exe s
136c0 71 6c 64 69 66 66 2e 65 78 65 20 64 62 68 61 73  qldiff.exe dbhas
136d0 68 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c  h.exe 2>NUL..del
136e0 20 2f 51 20 73 71 6c 74 63 6c 73 68 2e 2a 20 32   /Q sqltclsh.* 2
136f0 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 64 62 66  >NUL..del /Q dbf
13700 75 7a 7a 2e 65 78 65 20 73 65 73 73 69 6f 6e 66  uzz.exe sessionf
13710 75 7a 7a 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  uzz.exe 2>NUL..d
13720 65 6c 20 2f 51 20 6b 76 74 65 73 74 2e 65 78 65  el /Q kvtest.exe
13730 20 6f 73 73 73 68 65 6c 6c 2e 65 78 65 20 73 63   ossshell.exe sc
13740 72 75 62 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  rub.exe 2>NUL..d
13750 65 6c 20 2f 51 20 73 68 6f 77 73 68 6d 2e 65 78  el /Q showshm.ex
13760 65 20 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65  e sqlite3_checke
13770 72 2e 2a 20 73 71 6c 69 74 65 33 5f 65 78 70 65  r.* sqlite3_expe
13780 72 74 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65  rt.exe 2>NUL..de
13790 6c 20 2f 51 20 66 74 73 35 2e 2a 20 66 74 73 35  l /Q fts5.* fts5
137a0 70 61 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a 09 64  parse.* 2>NUL..d
137b0 65 6c 20 2f 51 20 6c 73 6d 2e 68 20 6c 73 6d 31  el /Q lsm.h lsm1
137c0 2e 63 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61  .c 2>NUL.# <</ma
137d0 72 6b 3e 3e 0a                                   rk>>.