/ Hex Artifact Content
Login

Artifact fd51f9eba2cc0da0c26344b7f08addc16a2094640bb60e481dcd6408b901a293:


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 65 73  h.!ENDIF..# Thes
1d90: 65 20 61 72 65 20 74 68 65 20 61 64 64 69 74 69  e are the additi
1da0: 6f 6e 61 6c 20 74 61 72 67 65 74 73 20 74 68 61  onal targets tha
1db0: 74 20 74 68 65 20 74 61 72 67 65 74 73 20 74 68  t the targets th
1dc0: 61 74 20 69 6e 74 65 67 72 61 74 65 20 77 69 74  at integrate wit
1dd0: 68 20 74 68 65 0a 23 20 54 63 6c 20 6c 69 62 72  h the.# Tcl libr
1de0: 61 72 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e  ary should depen
1df0: 64 20 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c  d on when compil
1e00: 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 21 49 46 4e  ing, etc..#.!IFN
1e10: 44 45 46 20 53 51 4c 49 54 45 5f 54 43 4c 5f 44  DEF SQLITE_TCL_D
1e20: 45 50 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44  EP.!IF $(USE_STD
1e30: 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  CALL)!=0 || $(FO
1e40: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49  R_WIN10)!=0.SQLI
1e50: 54 45 5f 54 43 4c 5f 44 45 50 20 3d 20 24 28 53  TE_TCL_DEP = $(S
1e60: 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20  QLITETCLDECLSH) 
1e70: 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45  $(SQLITETCLH).!E
1e80: 4c 53 45 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44  LSE.SQLITE_TCL_D
1e90: 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44  EP =.!ENDIF.!END
1ea0: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  IF.# <</mark>>..
1eb0: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20  # These are the 
1ec0: 22 73 74 61 6e 64 61 72 64 22 20 53 51 4c 69 74  "standard" SQLit
1ed0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70  e compilation op
1ee0: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20  tions used when 
1ef0: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20  compiling for.# 
1f00: 74 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74  the Windows plat
1f10: 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20  form..#.!IFNDEF 
1f20: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
1f30: 53 0a 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f  S.!IF $(MINIMAL_
1f40: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30  AMALGAMATION)==0
1f50: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
1f60: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU
1f70: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1f80: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 33 3d 31  TE_ENABLE_FTS3=1
1f90: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
1fa0: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU
1fb0: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1fc0: 54 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 3d  TE_ENABLE_RTREE=
1fd0: 31 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  1.OPT_FEATURE_FL
1fe0: 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54  AGS = $(OPT_FEAT
1ff0: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
2000: 49 54 45 5f 45 4e 41 42 4c 45 5f 47 45 4f 50 4f  ITE_ENABLE_GEOPO
2010: 4c 59 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52 45  LY=1.OPT_FEATURE
2020: 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46  _FLAGS = $(OPT_F
2030: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  EATURE_FLAGS) -D
2040: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53  SQLITE_ENABLE_JS
2050: 4f 4e 31 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52  ON1=1.OPT_FEATUR
2060: 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f  E_FLAGS = $(OPT_
2070: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
2080: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53  DSQLITE_ENABLE_S
2090: 54 4d 54 56 54 41 42 3d 31 0a 4f 50 54 5f 46 45  TMTVTAB=1.OPT_FE
20a0: 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  ATURE_FLAGS = $(
20b0: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
20c0: 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
20d0: 4c 45 5f 44 42 50 41 47 45 5f 56 54 41 42 3d 31  LE_DBPAGE_VTAB=1
20e0: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
20f0: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU
2100: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
2110: 54 45 5f 45 4e 41 42 4c 45 5f 44 42 53 54 41 54  TE_ENABLE_DBSTAT
2120: 5f 56 54 41 42 3d 31 0a 4f 50 54 5f 46 45 41 54  _VTAB=1.OPT_FEAT
2130: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50  URE_FLAGS = $(OP
2140: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
2150: 20 2d 44 53 51 4c 49 54 45 5f 49 4e 54 52 4f 53   -DSQLITE_INTROS
2160: 50 45 43 54 49 4f 4e 5f 50 52 41 47 4d 41 53 3d  PECTION_PRAGMAS=
2170: 31 0a 21 45 4e 44 49 46 0a 4f 50 54 5f 46 45 41  1.!ENDIF.OPT_FEA
2180: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f  TURE_FLAGS = $(O
2190: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
21a0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
21b0: 45 5f 43 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54  E_COLUMN_METADAT
21c0: 41 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68  A=1.!ENDIF..# Sh
21d0: 6f 75 6c 64 20 74 68 65 20 73 65 73 73 69 6f 6e  ould the session
21e0: 20 65 78 74 65 6e 73 69 6f 6e 20 62 65 20 65 6e   extension be en
21f0: 61 62 6c 65 64 3f 20 20 49 66 20 73 6f 2c 20 61  abled?  If so, a
2200: 64 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f  dd compilation o
2210: 70 74 69 6f 6e 73 0a 23 20 74 6f 20 65 6e 61 62  ptions.# to enab
2220: 6c 65 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 53  le it..#.!IF $(S
2230: 45 53 53 49 4f 4e 29 21 3d 30 0a 4f 50 54 5f 46  ESSION)!=0.OPT_F
2240: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $
2250: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
2260: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  GS) -DSQLITE_ENA
2270: 42 4c 45 5f 53 45 53 53 49 4f 4e 3d 31 0a 4f 50  BLE_SESSION=1.OP
2280: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20  T_FEATURE_FLAGS 
2290: 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f  = $(OPT_FEATURE_
22a0: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
22b0: 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45  ENABLE_PREUPDATE
22c0: 5f 48 4f 4f 4b 3d 31 0a 21 45 4e 44 49 46 0a 0a  _HOOK=1.!ENDIF..
22d0: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20  # These are the 
22e0: 22 65 78 74 65 6e 64 65 64 22 20 53 51 4c 69 74  "extended" SQLit
22f0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70  e compilation op
2300: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20  tions used when 
2310: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20  compiling for.# 
2320: 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30 20 70  the Windows 10 p
2330: 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44  latform..#.!IFND
2340: 45 46 20 45 58 54 5f 46 45 41 54 55 52 45 5f 46  EF EXT_FEATURE_F
2350: 4c 41 47 53 0a 21 49 46 20 24 28 46 4f 52 5f 57  LAGS.!IF $(FOR_W
2360: 49 4e 31 30 29 21 3d 30 0a 45 58 54 5f 46 45 41  IN10)!=0.EXT_FEA
2370: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45  TURE_FLAGS = $(E
2380: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
2390: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
23a0: 45 5f 46 54 53 34 3d 31 0a 45 58 54 5f 46 45 41  E_FTS4=1.EXT_FEA
23b0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45  TURE_FLAGS = $(E
23c0: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
23d0: 29 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 54 45  ) -DSQLITE_SYSTE
23e0: 4d 5f 4d 41 4c 4c 4f 43 3d 31 0a 45 58 54 5f 46  M_MALLOC=1.EXT_F
23f0: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $
2400: 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (EXT_FEATURE_FLA
2410: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  GS) -DSQLITE_OMI
2420: 54 5f 4c 4f 43 41 4c 54 49 4d 45 3d 31 0a 21 45  T_LOCALTIME=1.!E
2430: 4c 53 45 0a 45 58 54 5f 46 45 41 54 55 52 45 5f  LSE.EXT_FEATURE_
2440: 46 4c 41 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21  FLAGS =.!ENDIF.!
2450: 45 4e 44 49 46 0a 0a 23 23 23 23 23 23 23 23 23  ENDIF..#########
2460: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2470: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2480: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2490: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
24a0: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23  ######.#########
24b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
24c0: 23 23 23 23 23 23 20 45 4e 44 20 4f 46 20 4f 50  ###### END OF OP
24d0: 54 49 4f 4e 53 20 23 23 23 23 23 23 23 23 23 23  TIONS ##########
24e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
24f0: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23  ######.#########
2500: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2510: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2520: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2530: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2540: 23 23 23 23 23 23 0a 0a 23 20 57 68 65 6e 20 63  ######..# When c
2550: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 74 68 65  ompiling for the
2560: 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74   Windows 10 plat
2570: 66 6f 72 6d 2c 20 74 68 65 20 50 4c 41 54 46 4f  form, the PLATFO
2580: 52 4d 20 6d 61 63 72 6f 20 6d 75 73 74 20 62 65  RM macro must be
2590: 20 73 65 74 0a 23 20 74 6f 20 61 6e 20 61 70 70   set.# to an app
25a0: 72 6f 70 72 69 61 74 65 20 76 61 6c 75 65 20 28  ropriate value (
25b0: 65 2e 67 2e 20 78 38 36 2c 20 78 36 34 2c 20 61  e.g. x86, x64, a
25c0: 72 6d 2c 20 61 72 6d 36 34 2c 20 65 74 63 29 2e  rm, arm64, etc).
25d0: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  .#.!IF $(FOR_WIN
25e0: 31 30 29 21 3d 30 0a 21 49 46 4e 44 45 46 20 50  10)!=0.!IFNDEF P
25f0: 4c 41 54 46 4f 52 4d 0a 21 45 52 52 4f 52 20 55  LATFORM.!ERROR U
2600: 73 69 6e 67 20 74 68 65 20 46 4f 52 5f 57 49 4e  sing the FOR_WIN
2610: 31 30 20 6f 70 74 69 6f 6e 20 72 65 71 75 69 72  10 option requir
2620: 65 73 20 61 20 76 61 6c 75 65 20 66 6f 72 20 50  es a value for P
2630: 4c 41 54 46 4f 52 4d 2e 0a 21 45 4e 44 49 46 0a  LATFORM..!ENDIF.
2640: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 61  !ENDIF..# This a
2650: 73 73 75 6d 65 73 20 74 68 61 74 20 4d 53 56 43  ssumes that MSVC
2660: 20 69 73 20 61 6c 77 61 79 73 20 69 6e 73 74 61   is always insta
2670: 6c 6c 65 64 20 69 6e 20 33 32 2d 62 69 74 20 50  lled in 32-bit P
2680: 72 6f 67 72 61 6d 20 46 69 6c 65 73 20 64 69 72  rogram Files dir
2690: 65 63 74 6f 72 79 0a 23 20 61 6e 64 20 73 65 74  ectory.# and set
26a0: 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 66  s the variable f
26b0: 6f 72 20 75 73 65 20 69 6e 20 6c 6f 63 61 74 69  or use in locati
26c0: 6e 67 20 6f 74 68 65 72 20 33 32 2d 62 69 74 20  ng other 32-bit 
26d0: 69 6e 73 74 61 6c 6c 73 20 61 63 63 6f 72 64 69  installs accordi
26e0: 6e 67 6c 79 2e 0a 23 0a 50 52 4f 47 52 41 4d 46  ngly..#.PROGRAMF
26f0: 49 4c 45 53 5f 58 38 36 20 3d 20 24 28 56 43 49  ILES_X86 = $(VCI
2700: 4e 53 54 41 4c 4c 44 49 52 29 5c 2e 2e 5c 2e 2e  NSTALLDIR)\..\..
2710: 0a 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38  .PROGRAMFILES_X8
2720: 36 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c  6 = $(PROGRAMFIL
2730: 45 53 5f 58 38 36 3a 5c 5c 3d 5c 29 0a 0a 23 20  ES_X86:\\=\)..# 
2740: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72  Check for the pr
2750: 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64  edefined command
2760: 20 6d 61 63 72 6f 20 43 43 2e 20 20 54 68 69 73   macro CC.  This
2770: 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f   should point to
2780: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 23 20   the compiler.# 
2790: 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65 20 74  binary for the t
27a0: 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20  arget platform. 
27b0: 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65   If it is not de
27c0: 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65  fined, simply de
27d0: 66 69 6e 65 20 69 74 20 74 6f 0a 23 20 74 68 65  fine it to.# the
27e0: 20 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74 20   legacy default 
27f0: 76 61 6c 75 65 20 27 63 6c 2e 65 78 65 27 2e 0a  value 'cl.exe'..
2800: 23 0a 21 49 46 4e 44 45 46 20 43 43 0a 43 43 20  #.!IFNDEF CC.CC 
2810: 3d 20 63 6c 2e 65 78 65 0a 21 45 4e 44 49 46 0a  = cl.exe.!ENDIF.
2820: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65  .# Check for the
2830: 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d   predefined comm
2840: 61 6e 64 20 6d 61 63 72 6f 20 43 53 43 2e 20 20  and macro CSC.  
2850: 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e  This should poin
2860: 74 20 74 6f 20 61 20 77 6f 72 6b 69 6e 67 0a 23  t to a working.#
2870: 20 43 20 53 68 61 72 70 20 63 6f 6d 70 69 6c 65   C Sharp compile
2880: 72 20 62 69 6e 61 72 79 2e 20 20 49 66 20 69 74  r binary.  If it
2890: 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c   is not defined,
28a0: 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69   simply define i
28b0: 74 20 74 6f 20 74 68 65 0a 23 20 6c 65 67 61 63  t to the.# legac
28c0: 79 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20  y default value 
28d0: 27 63 73 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46  'csc.exe'..#.!IF
28e0: 4e 44 45 46 20 43 53 43 0a 43 53 43 20 3d 20 63  NDEF CSC.CSC = c
28f0: 73 63 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23  sc.exe.!ENDIF..#
2900: 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63   Check for the c
2910: 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4c 44 2e  ommand macro LD.
2920: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f    This should po
2930: 69 6e 74 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65  int to the linke
2940: 72 20 62 69 6e 61 72 79 20 66 6f 72 0a 23 20 74  r binary for.# t
2950: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f  he target platfo
2960: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f  rm.  If it is no
2970: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c  t defined, simpl
2980: 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 74  y define it to t
2990: 68 65 20 6c 65 67 61 63 79 0a 23 20 64 65 66 61  he legacy.# defa
29a0: 75 6c 74 20 76 61 6c 75 65 20 27 6c 69 6e 6b 2e  ult value 'link.
29b0: 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20  exe'..#.!IFNDEF 
29c0: 4c 44 0a 4c 44 20 3d 20 6c 69 6e 6b 2e 65 78 65  LD.LD = link.exe
29d0: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b  .!ENDIF..# Check
29e0: 20 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 69   for the predefi
29f0: 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72  ned command macr
2a00: 6f 20 52 43 2e 20 20 54 68 69 73 20 73 68 6f 75  o RC.  This shou
2a10: 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20  ld point to the 
2a20: 72 65 73 6f 75 72 63 65 0a 23 20 63 6f 6d 70 69  resource.# compi
2a30: 6c 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74  ler binary for t
2a40: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f  he target platfo
2a50: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f  rm.  If it is no
2a60: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c  t defined, simpl
2a70: 79 20 64 65 66 69 6e 65 0a 23 20 69 74 20 74 6f  y define.# it to
2a80: 20 74 68 65 20 6c 65 67 61 63 79 20 64 65 66 61   the legacy defa
2a90: 75 6c 74 20 76 61 6c 75 65 20 27 72 63 2e 65 78  ult value 'rc.ex
2aa0: 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 52 43  e'..#.!IFNDEF RC
2ab0: 0a 52 43 20 3d 20 72 63 2e 65 78 65 0a 21 45 4e  .RC = rc.exe.!EN
2ac0: 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72  DIF..# Check for
2ad0: 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69 6d   the MSVC runtim
2ae0: 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d  e library path m
2af0: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65  acro.  Otherwise
2b00: 2c 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c  , this value wil
2b10: 6c 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74  l.# default to t
2b20: 68 65 20 27 6c 69 62 27 20 64 69 72 65 63 74 6f  he 'lib' directo
2b30: 72 79 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68  ry underneath th
2b40: 65 20 4d 53 56 43 20 69 6e 73 74 61 6c 6c 61 74  e MSVC installat
2b50: 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23  ion directory..#
2b60: 0a 21 49 46 4e 44 45 46 20 43 52 54 4c 49 42 50  .!IFNDEF CRTLIBP
2b70: 41 54 48 0a 43 52 54 4c 49 42 50 41 54 48 20 3d  ATH.CRTLIBPATH =
2b80: 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29   $(VCINSTALLDIR)
2b90: 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 43 52 54  \lib.!ENDIF..CRT
2ba0: 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c  LIBPATH = $(CRTL
2bb0: 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20  IBPATH:\\=\)..# 
2bc0: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f  Check for the co
2bd0: 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4e 43 43 2e  mmand macro NCC.
2be0: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f    This should po
2bf0: 69 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69  int to the compi
2c00: 6c 65 72 20 62 69 6e 61 72 79 0a 23 20 66 6f 72  ler binary.# for
2c10: 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68   the platform th
2c20: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72  e compilation pr
2c30: 6f 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20  ocess is taking 
2c40: 70 6c 61 63 65 20 6f 6e 2e 20 20 49 66 20 69 74  place on.  If it
2c50: 20 69 73 20 6e 6f 74 0a 23 20 64 65 66 69 6e 65   is not.# define
2c60: 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65  d, simply define
2c70: 20 69 74 20 74 6f 20 68 61 76 65 20 74 68 65 20   it to have the 
2c80: 73 61 6d 65 20 76 61 6c 75 65 20 61 73 20 74 68  same value as th
2c90: 65 20 43 43 20 6d 61 63 72 6f 2e 20 20 57 68 65  e CC macro.  Whe
2ca0: 6e 0a 23 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c  n.# cross-compil
2cb0: 69 6e 67 2c 20 69 74 20 69 73 20 73 75 67 67 65  ing, it is sugge
2cc0: 73 74 65 64 20 74 68 61 74 20 74 68 69 73 20 6d  sted that this m
2cd0: 61 63 72 6f 20 62 65 20 6d 6f 64 69 66 69 65 64  acro be modified
2ce0: 20 76 69 61 20 74 68 65 20 63 6f 6d 6d 61 6e 64   via the command
2cf0: 0a 23 20 6c 69 6e 65 20 28 73 69 6e 63 65 20 6e  .# line (since n
2d00: 6d 61 6b 65 20 69 74 73 65 6c 66 20 64 6f 65 73  make itself does
2d10: 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 61 20 62   not provide a b
2d20: 75 69 6c 74 2d 69 6e 20 6d 65 74 68 6f 64 20 74  uilt-in method t
2d30: 6f 20 67 75 65 73 73 20 69 74 29 2e 0a 23 20 46  o guess it)..# F
2d40: 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 75  or example, to u
2d50: 73 65 20 74 68 65 20 78 38 36 20 63 6f 6d 70 69  se the x86 compi
2d60: 6c 65 72 20 77 68 65 6e 20 63 72 6f 73 73 2d 63  ler when cross-c
2d70: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 78 36 34  ompiling for x64
2d80: 2c 20 61 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69  , a command.# li
2d90: 6e 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68  ne similar to th
2da0: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 75 6c  e following coul
2db0: 64 20 62 65 20 75 73 65 64 20 28 61 6c 6c 20 6f  d be used (all o
2dc0: 6e 20 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23  n one line):.#.#
2dd0: 20 20 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61       nmake /f Ma
2de0: 6b 65 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74  kefile.msc sqlit
2df0: 65 33 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20  e3.dll.#        
2e00: 20 20 20 58 43 4f 4d 50 49 4c 45 3d 31 20 55 53     XCOMPILE=1 US
2e10: 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48  E_NATIVE_LIBPATH
2e20: 53 3d 31 0a 23 0a 23 20 41 6c 74 65 72 6e 61 74  S=1.#.# Alternat
2e30: 69 76 65 6c 79 2c 20 74 68 65 20 66 75 6c 6c 20  ively, the full 
2e40: 70 61 74 68 20 61 6e 64 20 66 69 6c 65 20 6e 61  path and file na
2e50: 6d 65 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c  me to the compil
2e60: 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68  er binary for th
2e70: 65 0a 23 20 70 6c 61 74 66 6f 72 6d 20 74 68 65  e.# platform the
2e80: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f   compilation pro
2e90: 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70  cess is taking p
2ea0: 6c 61 63 65 20 6d 61 79 20 62 65 20 73 70 65 63  lace may be spec
2eb0: 69 66 69 65 64 20 28 61 6c 6c 20 6f 6e 0a 23 20  ified (all on.# 
2ec0: 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20  one line):.#.#  
2ed0: 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65     nmake /f Make
2ee0: 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65 33  file.msc sqlite3
2ef0: 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 20 20  .dll.#          
2f00: 20 22 4e 43 43 3d 22 22 25 56 43 49 4e 53 54 41   "NCC=""%VCINSTA
2f10: 4c 4c 44 49 52 25 5c 62 69 6e 5c 63 6c 2e 65 78  LLDIR%\bin\cl.ex
2f20: 65 22 22 22 0a 23 20 20 20 20 20 20 20 20 20 20  e""".#          
2f30: 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50   USE_NATIVE_LIBP
2f40: 41 54 48 53 3d 31 0a 23 0a 21 49 46 44 45 46 20  ATHS=1.#.!IFDEF 
2f50: 4e 43 43 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a  NCC.NCC = $(NCC:
2f60: 5c 5c 3d 5c 29 0a 21 45 4c 53 45 49 46 20 24 28  \\=\).!ELSEIF $(
2f70: 58 43 4f 4d 50 49 4c 45 29 21 3d 30 0a 4e 43 43  XCOMPILE)!=0.NCC
2f80: 20 3d 20 22 24 28 56 43 49 4e 53 54 41 4c 4c 44   = "$(VCINSTALLD
2f90: 49 52 29 5c 62 69 6e 5c 24 28 43 43 29 22 0a 4e  IR)\bin\$(CC)".N
2fa0: 43 43 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29  CC = $(NCC:\\=\)
2fb0: 0a 21 45 4c 53 45 0a 4e 43 43 20 3d 20 24 28 43  .!ELSE.NCC = $(C
2fc0: 43 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65  C).!ENDIF..# Che
2fd0: 63 6b 20 66 6f 72 20 74 68 65 20 4d 53 56 43 20  ck for the MSVC 
2fe0: 6e 61 74 69 76 65 20 72 75 6e 74 69 6d 65 20 6c  native runtime l
2ff0: 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72  ibrary path macr
3000: 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 0a 23  o.  Otherwise,.#
3010: 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c   this value will
3020: 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20   default to the 
3030: 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20  'lib' directory 
3040: 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 4d  underneath the M
3050: 53 56 43 0a 23 20 69 6e 73 74 61 6c 6c 61 74 69  SVC.# installati
3060: 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a  on directory..#.
3070: 21 49 46 4e 44 45 46 20 4e 43 52 54 4c 49 42 50  !IFNDEF NCRTLIBP
3080: 41 54 48 0a 4e 43 52 54 4c 49 42 50 41 54 48 20  ATH.NCRTLIBPATH 
3090: 3d 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52  = $(VCINSTALLDIR
30a0: 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 4e 43  )\lib.!ENDIF..NC
30b0: 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 43  RTLIBPATH = $(NC
30c0: 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a  RTLIBPATH:\\=\).
30d0: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65  .# Check for the
30e0: 20 50 6c 61 74 66 6f 72 6d 20 53 44 4b 20 6c 69   Platform SDK li
30f0: 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f  brary path macro
3100: 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68  .  Otherwise, th
3110: 69 73 0a 23 20 76 61 6c 75 65 20 77 69 6c 6c 20  is.# value will 
3120: 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27  default to the '
3130: 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 75  lib' directory u
3140: 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 57 69  nderneath the Wi
3150: 6e 64 6f 77 73 0a 23 20 53 44 4b 20 69 6e 73 74  ndows.# SDK inst
3160: 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f  allation directo
3170: 72 79 20 28 74 68 65 20 65 6e 76 69 72 6f 6e 6d  ry (the environm
3180: 65 6e 74 20 76 61 72 69 61 62 6c 65 20 75 73 65  ent variable use
3190: 64 20 61 70 70 65 61 72 73 0a 23 20 74 6f 20 62  d appears.# to b
31a0: 65 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e  e available when
31b0: 20 75 73 69 6e 67 20 56 69 73 75 61 6c 20 43 2b   using Visual C+
31c0: 2b 20 32 30 30 38 20 6f 72 20 6c 61 74 65 72 20  + 2008 or later 
31d0: 76 69 61 20 74 68 65 0a 23 20 63 6f 6d 6d 61 6e  via the.# comman
31e0: 64 20 6c 69 6e 65 29 2e 0a 23 0a 21 49 46 4e 44  d line)..#.!IFND
31f0: 45 46 20 4e 53 44 4b 4c 49 42 50 41 54 48 0a 4e  EF NSDKLIBPATH.N
3200: 53 44 4b 4c 49 42 50 41 54 48 20 3d 20 24 28 57  SDKLIBPATH = $(W
3210: 49 4e 44 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69  INDOWSSDKDIR)\li
3220: 62 0a 21 45 4e 44 49 46 0a 0a 4e 53 44 4b 4c 49  b.!ENDIF..NSDKLI
3230: 42 50 41 54 48 20 3d 20 24 28 4e 53 44 4b 4c 49  BPATH = $(NSDKLI
3240: 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43  BPATH:\\=\)..# C
3250: 68 65 63 6b 20 66 6f 72 20 74 68 65 20 55 43 52  heck for the UCR
3260: 54 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d  T library path m
3270: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65  acro.  Otherwise
3280: 2c 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c  , this value wil
3290: 6c 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74  l.# default to t
32a0: 68 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69  he version-speci
32b0: 66 69 63 2c 20 70 6c 61 74 66 6f 72 6d 2d 73 70  fic, platform-sp
32c0: 65 63 69 66 69 63 20 27 6c 69 62 27 20 64 69 72  ecific 'lib' dir
32d0: 65 63 74 6f 72 79 0a 23 20 75 6e 64 65 72 6e 65  ectory.# underne
32e0: 61 74 68 20 74 68 65 20 57 69 6e 64 6f 77 73 20  ath the Windows 
32f0: 53 44 4b 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e  SDK installation
3300: 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49   directory..#.!I
3310: 46 4e 44 45 46 20 55 43 52 54 4c 49 42 50 41 54  FNDEF UCRTLIBPAT
3320: 48 0a 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20  H.UCRTLIBPATH = 
3330: 24 28 57 49 4e 44 4f 57 53 53 44 4b 44 49 52 29  $(WINDOWSSDKDIR)
3340: 5c 6c 69 62 5c 24 28 57 49 4e 44 4f 57 53 53 44  \lib\$(WINDOWSSD
3350: 4b 4c 49 42 56 45 52 53 49 4f 4e 29 5c 75 63 72  KLIBVERSION)\ucr
3360: 74 5c 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45  t\$(PLATFORM).!E
3370: 4e 44 49 46 0a 0a 55 43 52 54 4c 49 42 50 41 54  NDIF..UCRTLIBPAT
3380: 48 20 3d 20 24 28 55 43 52 54 4c 49 42 50 41 54  H = $(UCRTLIBPAT
3390: 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 20 63 6f 6d  H:\\=\)..# C com
33a0: 70 69 6c 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e  piler and option
33b0: 73 20 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69  s for use in bui
33c0: 6c 64 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65  lding executable
33d0: 73 20 74 68 61 74 0a 23 20 77 69 6c 6c 20 72 75  s that.# will ru
33e0: 6e 20 6f 6e 20 74 68 65 20 70 6c 61 74 66 6f 72  n on the platfor
33f0: 6d 20 74 68 61 74 20 69 73 20 64 6f 69 6e 67 20  m that is doing 
3400: 74 68 65 20 62 75 69 6c 64 2e 0a 23 0a 21 49 46  the build..#.!IF
3410: 20 24 28 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29   $(USE_FULLWARN)
3420: 21 3d 30 0a 42 43 43 20 3d 20 24 28 4e 43 43 29  !=0.BCC = $(NCC)
3430: 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 24 28 43   -nologo -W4 $(C
3440: 43 4f 50 54 53 29 20 24 28 42 43 43 4f 50 54 53  COPTS) $(BCCOPTS
3450: 29 0a 21 45 4c 53 45 0a 42 43 43 20 3d 20 24 28  ).!ELSE.BCC = $(
3460: 4e 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33  NCC) -nologo -W3
3470: 20 24 28 43 43 4f 50 54 53 29 20 24 28 42 43 43   $(CCOPTS) $(BCC
3480: 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20  OPTS).!ENDIF..# 
3490: 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c  Check if assembl
34a0: 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20  y code listings 
34b0: 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61  should be genera
34c0: 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72  ted for the sour
34d0: 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20  ce.# code files 
34e0: 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a  to be compiled..
34f0: 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54  #.!IF $(USE_LIST
3500: 49 4e 47 53 29 21 3d 30 0a 42 43 43 20 3d 20 24  INGS)!=0.BCC = $
3510: 28 42 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44  (BCC) -FAcs.!END
3520: 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 74  IF..# Check if t
3530: 68 65 20 6e 61 74 69 76 65 20 6c 69 62 72 61 72  he native librar
3540: 79 20 70 61 74 68 73 20 73 68 6f 75 6c 64 20 62  y paths should b
3550: 65 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70  e used when comp
3560: 69 6c 69 6e 67 0a 23 20 74 68 65 20 63 6f 6d 6d  iling.# the comm
3570: 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73 20 75  and line tools u
3580: 73 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 63  sed during the c
3590: 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65  ompilation proce
35a0: 73 73 2e 20 20 49 66 0a 23 20 73 6f 2c 20 73 65  ss.  If.# so, se
35b0: 74 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20  t the necessary 
35c0: 6d 61 63 72 6f 20 6e 6f 77 2e 0a 23 0a 21 49 46  macro now..#.!IF
35d0: 20 24 28 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49   $(USE_NATIVE_LI
35e0: 42 50 41 54 48 53 29 21 3d 30 0a 4e 4c 54 4c 49  BPATHS)!=0.NLTLI
35f0: 42 50 41 54 48 53 20 3d 20 22 2f 4c 49 42 50 41  BPATHS = "/LIBPA
3600: 54 48 3a 24 28 4e 43 52 54 4c 49 42 50 41 54 48  TH:$(NCRTLIBPATH
3610: 29 22 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e  )" "/LIBPATH:$(N
3620: 53 44 4b 4c 49 42 50 41 54 48 29 22 0a 0a 21 49  SDKLIBPATH)"..!I
3630: 46 44 45 46 20 4e 55 43 52 54 4c 49 42 50 41 54  FDEF NUCRTLIBPAT
3640: 48 0a 4e 55 43 52 54 4c 49 42 50 41 54 48 20 3d  H.NUCRTLIBPATH =
3650: 20 24 28 4e 55 43 52 54 4c 49 42 50 41 54 48 3a   $(NUCRTLIBPATH:
3660: 5c 5c 3d 5c 29 0a 4e 4c 54 4c 49 42 50 41 54 48  \\=\).NLTLIBPATH
3670: 53 20 3d 20 24 28 4e 4c 54 4c 49 42 50 41 54 48  S = $(NLTLIBPATH
3680: 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e  S) "/LIBPATH:$(N
3690: 55 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21 45  UCRTLIBPATH)".!E
36a0: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 43  NDIF.!ENDIF..# C
36b0: 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70   compiler and op
36c0: 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e  tions for use in
36d0: 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74   building execut
36e0: 61 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69 6c  ables that.# wil
36f0: 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20 74 61 72  l run on the tar
3700: 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 28  get platform.  (
3710: 42 43 43 20 61 6e 64 20 54 43 43 20 61 72 65 20  BCC and TCC are 
3720: 75 73 75 61 6c 6c 79 20 74 68 65 0a 23 20 73 61  usually the.# sa
3730: 6d 65 20 75 6e 6c 65 73 73 20 79 6f 75 72 20 61  me unless your a
3740: 72 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69  re cross-compili
3750: 6e 67 2e 29 0a 23 0a 21 49 46 20 24 28 55 53 45  ng.).#.!IF $(USE
3760: 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 54 43  _FULLWARN)!=0.TC
3770: 43 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67  C = $(CC) -nolog
3780: 6f 20 2d 57 34 20 2d 44 49 4e 43 4c 55 44 45 5f  o -W4 -DINCLUDE_
3790: 4d 53 56 43 5f 48 3d 31 20 24 28 43 43 4f 50 54  MSVC_H=1 $(CCOPT
37a0: 53 29 20 24 28 54 43 43 4f 50 54 53 29 0a 21 45  S) $(TCCOPTS).!E
37b0: 4c 53 45 0a 54 43 43 20 3d 20 24 28 43 43 29 20  LSE.TCC = $(CC) 
37c0: 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43  -nologo -W3 $(CC
37d0: 4f 50 54 53 29 20 24 28 54 43 43 4f 50 54 53 29  OPTS) $(TCCOPTS)
37e0: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b  .!ENDIF..# Check
37f0: 20 69 66 20 77 61 72 6e 69 6e 67 73 20 73 68 6f   if warnings sho
3800: 75 6c 64 20 62 65 20 74 72 65 61 74 65 64 20 61  uld be treated a
3810: 73 20 65 72 72 6f 72 73 20 77 68 65 6e 20 63 6f  s errors when co
3820: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 20 24  mpiling..#.!IF $
3830: 28 55 53 45 5f 46 41 54 41 4c 5f 57 41 52 4e 29  (USE_FATAL_WARN)
3840: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC)
3850: 20 2d 57 58 0a 21 45 4e 44 49 46 0a 0a 54 43 43   -WX.!ENDIF..TCC
3860: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49   = $(TCC) -DSQLI
3870: 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20  TE_OS_WIN=1 -I. 
3880: 2d 49 24 28 54 4f 50 29 20 2d 49 24 28 54 4f 50  -I$(TOP) -I$(TOP
3890: 29 5c 73 72 63 20 2d 66 70 3a 70 72 65 63 69 73  )\src -fp:precis
38a0: 65 0a 52 43 43 20 3d 20 24 28 52 43 29 20 2d 44  e.RCC = $(RC) -D
38b0: 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31 20  SQLITE_OS_WIN=1 
38c0: 2d 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49 24  -I. -I$(TOP) -I$
38d0: 28 54 4f 50 29 5c 73 72 63 20 24 28 52 43 4f 50  (TOP)\src $(RCOP
38e0: 54 53 29 20 24 28 52 43 43 4f 50 54 53 29 0a 0a  TS) $(RCCOPTS)..
38f0: 23 20 43 68 65 63 6b 20 69 66 20 77 65 20 77 61  # Check if we wa
3900: 6e 74 20 74 6f 20 75 73 65 20 74 68 65 20 22 73  nt to use the "s
3910: 74 64 63 61 6c 6c 22 20 63 61 6c 6c 69 6e 67 20  tdcall" calling 
3920: 63 6f 6e 76 65 6e 74 69 6f 6e 20 77 68 65 6e 20  convention when 
3930: 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 20 54 68 69  compiling..# Thi
3940: 73 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74  s is not support
3950: 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c  ed by the compil
3960: 65 72 73 20 66 6f 72 20 6e 6f 6e 2d 78 38 36 20  ers for non-x86 
3970: 70 6c 61 74 66 6f 72 6d 73 2e 20 20 49 74 20 73  platforms.  It s
3980: 68 6f 75 6c 64 0a 23 20 61 6c 73 6f 20 62 65 20  hould.# also be 
3990: 6e 6f 74 65 64 20 68 65 72 65 20 74 68 61 74 20  noted here that 
39a0: 62 75 69 6c 64 69 6e 67 20 61 6e 79 20 74 61 72  building any tar
39b0: 67 65 74 20 77 69 74 68 20 74 68 65 73 65 20 22  get with these "
39c0: 73 74 64 63 61 6c 6c 22 20 6f 70 74 69 6f 6e 73  stdcall" options
39d0: 0a 23 20 77 69 6c 6c 20 6d 6f 73 74 20 6c 69 6b  .# will most lik
39e0: 65 6c 79 20 66 61 69 6c 20 69 66 20 74 68 65 20  ely fail if the 
39f0: 54 63 6c 20 6c 69 62 72 61 72 79 20 69 73 20 61  Tcl library is a
3a00: 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 20 20 54  lso required.  T
3a10: 68 69 73 20 69 73 20 64 75 65 0a 23 20 74 6f 20  his is due.# to 
3a20: 68 6f 77 20 74 68 65 20 54 63 6c 20 6c 69 62 72  how the Tcl libr
3a30: 61 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 61 72  ary functions ar
3a40: 65 20 64 65 63 6c 61 72 65 64 20 61 6e 64 20 65  e declared and e
3a50: 78 70 6f 72 74 65 64 20 28 69 2e 65 2e 20 77 69  xported (i.e. wi
3a60: 74 68 6f 75 74 0a 23 20 61 6e 20 65 78 70 6c 69  thout.# an expli
3a70: 63 69 74 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76  cit calling conv
3a80: 65 6e 74 69 6f 6e 2c 20 77 68 69 63 68 20 72 65  ention, which re
3a90: 73 75 6c 74 73 20 69 6e 20 22 63 64 65 63 6c 22  sults in "cdecl"
3aa0: 29 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 53  )..#.!IF $(USE_S
3ab0: 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  TDCALL)!=0 || $(
3ac0: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21 49  FOR_WIN10)!=0.!I
3ad0: 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d  F "$(PLATFORM)"=
3ae0: 3d 22 78 38 36 22 0a 43 4f 52 45 5f 43 43 4f 4e  ="x86".CORE_CCON
3af0: 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53  V_OPTS = -Gz -DS
3b00: 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64  QLITE_CDECL=__cd
3b10: 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49  ecl -DSQLITE_API
3b20: 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  CALL=__stdcall -
3b30: 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b  DSQLITE_CALLBACK
3b40: 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c  =__stdcall -DSQL
3b50: 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64  ITE_SYSAPI=__std
3b60: 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56  call.SHELL_CCONV
3b70: 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51  _OPTS = -Gz -DSQ
3b80: 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65  LITE_CDECL=__cde
3b90: 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43  cl -DSQLITE_APIC
3ba0: 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  ALL=__stdcall -D
3bb0: 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d  SQLITE_CALLBACK=
3bc0: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
3bd0: 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63  TE_SYSAPI=__stdc
3be0: 61 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54  all.# <<mark>>.T
3bf0: 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  EST_CCONV_OPTS =
3c00: 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44   -Gz -DSQLITE_CD
3c10: 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51  ECL=__cdecl -DSQ
3c20: 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73  LITE_APICALL=__s
3c30: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f  tdcall -DSQLITE_
3c40: 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61  CALLBACK=__stdca
3c50: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41  ll -DSQLITE_SYSA
3c60: 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 49  PI=__stdcall -DI
3c70: 4e 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f 54 43  NCLUDE_SQLITE_TC
3c80: 4c 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f 54  L_H=1 -DSQLITE_T
3c90: 43 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a 23 20  CLAPI=__cdecl.# 
3ca0: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a  <</mark>>.!ELSE.
3cb0: 21 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d  !IFNDEF PLATFORM
3cc0: 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  .CORE_CCONV_OPTS
3cd0: 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f   = -Gz -DSQLITE_
3ce0: 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44  CDECL=__cdecl -D
3cf0: 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f  SQLITE_APICALL=_
3d00: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
3d10: 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64  E_CALLBACK=__std
3d20: 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59  call -DSQLITE_SY
3d30: 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53  SAPI=__stdcall.S
3d40: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20  HELL_CCONV_OPTS 
3d50: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43  = -Gz -DSQLITE_C
3d60: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53  DECL=__cdecl -DS
3d70: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f  QLITE_APICALL=__
3d80: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45  stdcall -DSQLITE
3d90: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63  _CALLBACK=__stdc
3da0: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53  all -DSQLITE_SYS
3db0: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 20  API=__stdcall.# 
3dc0: 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43  <<mark>>.TEST_CC
3dd0: 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d  ONV_OPTS = -Gz -
3de0: 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f  DSQLITE_CDECL=__
3df0: 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41  cdecl -DSQLITE_A
3e00: 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c  PICALL=__stdcall
3e10: 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41   -DSQLITE_CALLBA
3e20: 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  CK=__stdcall -DS
3e30: 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73  QLITE_SYSAPI=__s
3e40: 74 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 45  tdcall -DINCLUDE
3e50: 5f 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 20  _SQLITE_TCL_H=1 
3e60: 2d 44 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 3d  -DSQLITE_TCLAPI=
3e70: 5f 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72  __cdecl.# <</mar
3e80: 6b 3e 3e 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43  k>>.!ELSE.CORE_C
3e90: 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45 4c  CONV_OPTS =.SHEL
3ea0: 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23  L_CCONV_OPTS =.#
3eb0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43   <<mark>>.TEST_C
3ec0: 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c  CONV_OPTS =.# <<
3ed0: 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 21  /mark>>.!ENDIF.!
3ee0: 45 4e 44 49 46 0a 21 45 4c 53 45 0a 43 4f 52 45  ENDIF.!ELSE.CORE
3ef0: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48  _CCONV_OPTS =.SH
3f00: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  ELL_CCONV_OPTS =
3f10: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54  .# <<mark>>.TEST
3f20: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20  _CCONV_OPTS =.# 
3f30: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46  <</mark>>.!ENDIF
3f40: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64  ..# These are ad
3f50: 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65  ditional compile
3f60: 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66  r options used f
3f70: 6f 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72  or the core libr
3f80: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43  ary..#.!IFNDEF C
3f90: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
3fa0: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S
3fb0: 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  HELL)!=0 || $(FO
3fc0: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 43 4f 52 45  R_WIN10)!=0.CORE
3fd0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS = 
3fe0: 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54  $(CORE_CCONV_OPT
3ff0: 53 29 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d  S) -DSQLITE_API=
4000: 5f 5f 64 65 63 6c 73 70 65 63 28 64 6c 6c 65 78  __declspec(dllex
4010: 70 6f 72 74 29 0a 21 45 4c 53 45 0a 43 4f 52 45  port).!ELSE.CORE
4020: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS = 
4030: 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54  $(CORE_CCONV_OPT
4040: 53 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  S).!ENDIF.!ENDIF
4050: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68  ..# These are th
4060: 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 61 72  e additional tar
4070: 67 65 74 73 20 74 68 61 74 20 74 68 65 20 63 6f  gets that the co
4080: 72 65 20 6c 69 62 72 61 72 79 20 73 68 6f 75 6c  re library shoul
4090: 64 20 64 65 70 65 6e 64 20 6f 6e 0a 23 20 77 68  d depend on.# wh
40a0: 65 6e 20 6c 69 6e 6b 69 6e 67 2e 0a 23 0a 21 49  en linking..#.!I
40b0: 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f  FNDEF CORE_LINK_
40c0: 44 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d 49  DEP.!IF $(DYNAMI
40d0: 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52 45  C_SHELL)!=0.CORE
40e0: 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4c 53  _LINK_DEP =.!ELS
40f0: 45 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29  EIF $(FOR_WIN10)
4100: 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f  ==0 || "$(PLATFO
4110: 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45  RM)"=="x86".CORE
4120: 5f 4c 49 4e 4b 5f 44 45 50 20 3d 20 73 71 6c 69  _LINK_DEP = sqli
4130: 74 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a 43 4f  te3.def.!ELSE.CO
4140: 52 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45  RE_LINK_DEP =.!E
4150: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54  NDIF.!ENDIF..# T
4160: 68 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f  hese are additio
4170: 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f  nal linker optio
4180: 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20  ns used for the 
4190: 63 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a  core library..#.
41a0: 21 49 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e  !IFNDEF CORE_LIN
41b0: 4b 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e  K_OPTS.!IF $(DYN
41c0: 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43  AMIC_SHELL)!=0.C
41d0: 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a  ORE_LINK_OPTS =.
41e0: 21 45 4c 53 45 49 46 20 24 28 46 4f 52 5f 57 49  !ELSEIF $(FOR_WI
41f0: 4e 31 30 29 3d 3d 30 20 7c 7c 20 22 24 28 50 4c  N10)==0 || "$(PL
4200: 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a  ATFORM)"=="x86".
4210: 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d  CORE_LINK_OPTS =
4220: 20 2f 44 45 46 3a 73 71 6c 69 74 65 33 2e 64 65   /DEF:sqlite3.de
4230: 66 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e  f.!ELSE.CORE_LIN
4240: 4b 5f 4f 50 54 53 20 3d 0a 21 45 4e 44 49 46 0a  K_OPTS =.!ENDIF.
4250: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20  !ENDIF..# These 
4260: 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 63  are additional c
4270: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options 
4280: 75 73 65 64 20 66 6f 72 20 74 68 65 20 73 68 65  used for the she
4290: 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23  ll executable..#
42a0: 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43  .!IFNDEF SHELL_C
42b0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46 20  OMPILE_OPTS.!IF 
42c0: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL)
42d0: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e  !=0 || $(FOR_WIN
42e0: 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d  10)!=0.SHELL_COM
42f0: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48  PILE_OPTS = $(SH
4300: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 20  ELL_CCONV_OPTS) 
4310: 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f 64  -DSQLITE_API=__d
4320: 65 63 6c 73 70 65 63 28 64 6c 6c 69 6d 70 6f 72  eclspec(dllimpor
4330: 74 29 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43  t).!ELSE.SHELL_C
4340: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28  OMPILE_OPTS = $(
4350: 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53  SHELL_CCONV_OPTS
4360: 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  ).!ENDIF.!ENDIF.
4370: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 73  .# This is the s
4380: 6f 75 72 63 65 20 63 6f 64 65 20 74 68 61 74 20  ource code that 
4390: 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74  the shell execut
43a0: 61 62 6c 65 20 73 68 6f 75 6c 64 20 62 65 20 63  able should be c
43b0: 6f 6d 70 69 6c 65 64 0a 23 20 77 69 74 68 2e 0a  ompiled.# with..
43c0: 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f  #.!IFNDEF SHELL_
43d0: 43 4f 52 45 5f 53 52 43 0a 21 49 46 20 24 28 44  CORE_SRC.!IF $(D
43e0: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30  YNAMIC_SHELL)!=0
43f0: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10)
4400: 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53  !=0.SHELL_CORE_S
4410: 52 43 20 3d 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  RC =.# <<mark>>.
4420: 21 45 4c 53 45 49 46 20 24 28 55 53 45 5f 41 4d  !ELSEIF $(USE_AM
4430: 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 53  ALGAMATION)==0.S
4440: 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d 0a  HELL_CORE_SRC =.
4450: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53  # <</mark>>.!ELS
4460: 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43  E.SHELL_CORE_SRC
4470: 20 3d 20 24 28 53 51 4c 49 54 45 33 43 29 0a 21   = $(SQLITE3C).!
4480: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
4490: 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 72 65  This is the core
44a0: 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 74 68   library that th
44b0: 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62  e shell executab
44c0: 6c 65 20 73 68 6f 75 6c 64 20 64 65 70 65 6e 64  le should depend
44d0: 20 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53   on..#.!IFNDEF S
44e0: 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 0a 21 49  HELL_CORE_DEP.!I
44f0: 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c  F $(DYNAMIC_SHEL
4500: 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57  L)!=0 || $(FOR_W
4510: 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43  IN10)!=0.SHELL_C
4520: 4f 52 45 5f 44 45 50 20 3d 20 24 28 53 51 4c 49  ORE_DEP = $(SQLI
4530: 54 45 33 44 4c 4c 29 0a 23 20 3c 3c 6d 61 72 6b  TE3DLL).# <<mark
4540: 3e 3e 0a 21 45 4c 53 45 49 46 20 24 28 55 53 45  >>.!ELSEIF $(USE
4550: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d  _AMALGAMATION)==
4560: 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50  0.SHELL_CORE_DEP
4570: 20 3d 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69   = libsqlite3.li
4580: 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45  b.# <</mark>>.!E
4590: 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44  LSE.SHELL_CORE_D
45a0: 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44  EP =.!ENDIF.!END
45b0: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  IF..# <<mark>>.#
45c0: 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 74   If zlib support
45d0: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64   is enabled, add
45e0: 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 69 65   the dependencie
45f0: 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20  s for it..#.!IF 
4600: 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 20 26  $(USE_ZLIB)!=0 &
4610: 26 20 24 28 42 55 49 4c 44 5f 5a 4c 49 42 29 21  & $(BUILD_ZLIB)!
4620: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45  =0.SHELL_CORE_DE
4630: 50 20 3d 20 7a 6c 69 62 20 24 28 53 48 45 4c 4c  P = zlib $(SHELL
4640: 5f 43 4f 52 45 5f 44 45 50 29 0a 54 45 53 54 46  _CORE_DEP).TESTF
4650: 49 58 54 55 52 45 5f 44 45 50 20 3d 20 7a 6c 69  IXTURE_DEP = zli
4660: 62 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  b $(TESTFIXTURE_
4670: 44 45 50 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c  DEP).!ENDIF.# <<
4680: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 73 20  /mark>>..# This 
4690: 69 73 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72  is the core libr
46a0: 61 72 79 20 74 68 61 74 20 74 68 65 20 73 68 65  ary that the she
46b0: 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 73 68  ll executable sh
46c0: 6f 75 6c 64 20 6c 69 6e 6b 20 77 69 74 68 2e 0a  ould link with..
46d0: 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f  #.!IFNDEF SHELL_
46e0: 43 4f 52 45 5f 4c 49 42 0a 21 49 46 20 24 28 44  CORE_LIB.!IF $(D
46f0: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30  YNAMIC_SHELL)!=0
4700: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10)
4710: 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c  !=0.SHELL_CORE_L
4720: 49 42 20 3d 20 24 28 53 51 4c 49 54 45 33 4c 49  IB = $(SQLITE3LI
4730: 42 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45  B).# <<mark>>.!E
4740: 4c 53 45 49 46 20 24 28 55 53 45 5f 41 4d 41 4c  LSEIF $(USE_AMAL
4750: 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 53 48 45  GAMATION)==0.SHE
4760: 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 6c 69  LL_CORE_LIB = li
4770: 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 23 20 3c  bsqlite3.lib.# <
4780: 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 53  </mark>>.!ELSE.S
4790: 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 0a  HELL_CORE_LIB =.
47a0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
47b0: 20 54 68 65 73 65 20 61 72 65 20 61 64 64 69 74   These are addit
47c0: 69 6f 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74  ional linker opt
47d0: 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68  ions used for th
47e0: 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62  e shell executab
47f0: 6c 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 48  le..#.!IFNDEF SH
4800: 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 53 48  ELL_LINK_OPTS.SH
4810: 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20  ELL_LINK_OPTS = 
4820: 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42  $(SHELL_CORE_LIB
4830: 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63  ).!ENDIF..# Chec
4840: 6b 20 69 66 20 61 73 73 65 6d 62 6c 79 20 63 6f  k if assembly co
4850: 64 65 20 6c 69 73 74 69 6e 67 73 20 73 68 6f 75  de listings shou
4860: 6c 64 20 62 65 20 67 65 6e 65 72 61 74 65 64 20  ld be generated 
4870: 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 0a 23  for the source.#
4880: 20 63 6f 64 65 20 66 69 6c 65 73 20 74 6f 20 62   code files to b
4890: 65 20 63 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21 49  e compiled..#.!I
48a0: 46 20 24 28 55 53 45 5f 4c 49 53 54 49 4e 47 53  F $(USE_LISTINGS
48b0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC
48c0: 29 20 2d 46 41 63 73 0a 21 45 4e 44 49 46 0a 0a  ) -FAcs.!ENDIF..
48d0: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  # When compiling
48e0: 20 74 68 65 20 6c 69 62 72 61 72 79 20 66 6f 72   the library for
48f0: 20 75 73 65 20 69 6e 20 74 68 65 20 57 69 6e 52   use in the WinR
4900: 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0a 23  T environment,.#
4910: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63   the following c
4920: 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6f 70 74 69  ompile-time opti
4930: 6f 6e 73 20 6d 75 73 74 20 62 65 20 75 73 65 64  ons must be used
4940: 20 61 73 20 77 65 6c 6c 20 74 6f 0a 23 20 64 69   as well to.# di
4950: 73 61 62 6c 65 20 75 73 65 20 6f 66 20 57 69 6e  sable use of Win
4960: 33 32 20 41 50 49 73 20 74 68 61 74 20 61 72 65  32 APIs that are
4970: 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 61   not available a
4980: 6e 64 20 74 6f 20 65 6e 61 62 6c 65 0a 23 20 75  nd to enable.# u
4990: 73 65 20 6f 66 20 57 69 6e 33 32 20 41 50 49 73  se of Win32 APIs
49a0: 20 74 68 61 74 20 61 72 65 20 73 70 65 63 69 66   that are specif
49b0: 69 63 20 74 6f 20 57 69 6e 64 6f 77 73 20 38 20  ic to Windows 8 
49c0: 61 6e 64 2f 6f 72 20 57 69 6e 52 54 2e 0a 23 0a  and/or WinRT..#.
49d0: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29  !IF $(FOR_WINRT)
49e0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC)
49f0: 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e   -DSQLITE_OS_WIN
4a00: 52 54 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  RT=1.RCC = $(RCC
4a10: 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49  ) -DSQLITE_OS_WI
4a20: 4e 52 54 3d 31 0a 54 43 43 20 3d 20 24 28 54 43  NRT=1.TCC = $(TC
4a30: 43 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49  C) -DWINAPI_FAMI
4a40: 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59  LY=WINAPI_FAMILY
4a50: 5f 41 50 50 0a 52 43 43 20 3d 20 24 28 52 43 43  _APP.RCC = $(RCC
4a60: 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49 4c  ) -DWINAPI_FAMIL
4a70: 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 5f  Y=WINAPI_FAMILY_
4a80: 41 50 50 0a 21 45 4e 44 49 46 0a 0a 23 20 43 20  APP.!ENDIF..# C 
4a90: 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73  compiler options
4aa0: 20 66 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73   for the Windows
4ab0: 20 31 30 20 70 6c 61 74 66 6f 72 6d 20 28 6e 65   10 platform (ne
4ac0: 65 64 73 20 4d 53 56 43 20 32 30 31 35 29 2e 0a  eds MSVC 2015)..
4ad0: 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31  #.!IF $(FOR_WIN1
4ae0: 30 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  0)!=0.TCC = $(TC
4af0: 43 29 20 2f 64 32 67 75 61 72 64 34 20 2d 44 5f  C) /d2guard4 -D_
4b00: 41 52 4d 5f 57 49 4e 41 50 49 5f 50 41 52 54 49  ARM_WINAPI_PARTI
4b10: 54 49 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53 44 4b  TION_DESKTOP_SDK
4b20: 5f 41 56 41 49 4c 41 42 4c 45 0a 42 43 43 20 3d  _AVAILABLE.BCC =
4b30: 20 24 28 42 43 43 29 20 2f 64 32 67 75 61 72 64   $(BCC) /d2guard
4b40: 34 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 49 5f  4 -D_ARM_WINAPI_
4b50: 50 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b 54 4f  PARTITION_DESKTO
4b60: 50 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c 45 0a  P_SDK_AVAILABLE.
4b70: 21 45 4e 44 49 46 0a 0a 23 20 41 6c 73 6f 2c 20  !ENDIF..# Also, 
4b80: 77 65 20 6e 65 65 64 20 74 6f 20 64 79 6e 61 6d  we need to dynam
4b90: 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74 6f 20 74  ically link to t
4ba0: 68 65 20 63 6f 72 72 65 63 74 20 4d 53 56 43 20  he correct MSVC 
4bb0: 72 75 6e 74 69 6d 65 0a 23 20 77 68 65 6e 20 63  runtime.# when c
4bc0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e  ompiling for Win
4bd0: 52 54 20 28 65 2e 67 2e 20 64 65 62 75 67 20 6f  RT (e.g. debug o
4be0: 72 20 72 65 6c 65 61 73 65 29 20 4f 52 20 69 66  r release) OR if
4bf0: 20 74 68 65 0a 23 20 55 53 45 5f 43 52 54 5f 44   the.# USE_CRT_D
4c00: 4c 4c 20 6f 70 74 69 6f 6e 20 69 73 20 73 65 74  LL option is set
4c10: 20 74 6f 20 66 6f 72 63 65 20 64 79 6e 61 6d 69   to force dynami
4c20: 63 61 6c 6c 79 20 6c 69 6e 6b 69 6e 67 20 74 6f  cally linking to
4c30: 20 74 68 65 0a 23 20 4d 53 56 43 20 72 75 6e 74   the.# MSVC runt
4c40: 69 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ime library..#.!
4c50: 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 21  IF $(FOR_WINRT)!
4c60: 3d 30 20 7c 7c 20 24 28 55 53 45 5f 43 52 54 5f  =0 || $(USE_CRT_
4c70: 44 4c 4c 29 21 3d 30 0a 21 49 46 20 24 28 44 45  DLL)!=0.!IF $(DE
4c80: 42 55 47 29 3e 31 0a 54 43 43 20 3d 20 24 28 54  BUG)>1.TCC = $(T
4c90: 43 43 29 20 2d 4d 44 64 0a 42 43 43 20 3d 20 24  CC) -MDd.BCC = $
4ca0: 28 42 43 43 29 20 2d 4d 44 64 0a 21 45 4c 53 45  (BCC) -MDd.!ELSE
4cb0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d  .TCC = $(TCC) -M
4cc0: 44 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  D.BCC = $(BCC) -
4cd0: 4d 44 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45 0a  MD.!ENDIF.!ELSE.
4ce0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a 54  !IF $(DEBUG)>1.T
4cf0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 54 64  CC = $(TCC) -MTd
4d00: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d  .BCC = $(BCC) -M
4d10: 54 64 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20 24  Td.!ELSE.TCC = $
4d20: 28 54 43 43 29 20 2d 4d 54 0a 42 43 43 20 3d 20  (TCC) -MT.BCC = 
4d30: 24 28 42 43 43 29 20 2d 4d 54 0a 21 45 4e 44 49  $(BCC) -MT.!ENDI
4d40: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  F.!ENDIF..# <<ma
4d50: 72 6b 3e 3e 0a 23 20 54 68 65 20 6d 6b 73 71 6c  rk>>.# The mksql
4d60: 69 74 65 33 63 2e 74 63 6c 20 61 6e 64 20 6d 6b  ite3c.tcl and mk
4d70: 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 73 63 72  sqlite3h.tcl scr
4d80: 69 70 74 73 20 77 69 6c 6c 20 70 75 6c 6c 20 69  ipts will pull i
4d90: 6e 0a 23 20 61 6e 79 20 65 78 74 65 6e 73 69 6f  n.# any extensio
4da0: 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 62  n header files b
4db0: 79 20 64 65 66 61 75 6c 74 2e 20 20 46 6f 72 20  y default.  For 
4dc0: 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  non-amalgamation
4dd0: 0a 23 20 62 75 69 6c 64 73 2c 20 77 65 20 6e 65  .# builds, we ne
4de0: 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20  ed to make sure 
4df0: 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61 6e  the compiler can
4e00: 20 66 69 6e 64 20 74 68 65 73 65 2e 0a 23 0a 21   find these..#.!
4e10: 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d  IF $(USE_AMALGAM
4e20: 41 54 49 4f 4e 29 3d 3d 30 0a 54 43 43 20 3d 20  ATION)==0.TCC = 
4e30: 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c  $(TCC) -I$(TOP)\
4e40: 65 78 74 5c 66 74 73 33 0a 52 43 43 20 3d 20 24  ext\fts3.RCC = $
4e50: 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65  (RCC) -I$(TOP)\e
4e60: 78 74 5c 66 74 73 33 0a 54 43 43 20 3d 20 24 28  xt\fts3.TCC = $(
4e70: 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78  TCC) -I$(TOP)\ex
4e80: 74 5c 72 74 72 65 65 0a 52 43 43 20 3d 20 24 28  t\rtree.RCC = $(
4e90: 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78  RCC) -I$(TOP)\ex
4ea0: 74 5c 72 74 72 65 65 0a 54 43 43 20 3d 20 24 28  t\rtree.TCC = $(
4eb0: 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78  TCC) -I$(TOP)\ex
4ec0: 74 5c 73 65 73 73 69 6f 6e 0a 52 43 43 20 3d 20  t\session.RCC = 
4ed0: 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c  $(RCC) -I$(TOP)\
4ee0: 65 78 74 5c 73 65 73 73 69 6f 6e 0a 21 45 4e 44  ext\session.!END
4ef0: 49 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69  IF..# The mksqli
4f00: 74 65 33 63 2e 74 63 6c 20 73 63 72 69 70 74 20  te3c.tcl script 
4f10: 61 63 63 65 70 74 73 20 73 6f 6d 65 20 6f 70 74  accepts some opt
4f20: 69 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d 6d  ions on the comm
4f30: 61 6e 64 0a 23 20 6c 69 6e 65 2e 20 20 57 68 65  and.# line.  Whe
4f40: 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68  n compiling with
4f50: 20 64 65 62 75 67 67 69 6e 67 20 65 6e 61 62 6c   debugging enabl
4f60: 65 64 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 73  ed, some of thes
4f70: 65 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65 20  e.# options are 
4f80: 6e 65 63 65 73 73 61 72 79 20 69 6e 20 6f 72 64  necessary in ord
4f90: 65 72 20 74 6f 20 61 6c 6c 6f 77 20 64 65 62 75  er to allow debu
4fa0: 67 67 69 6e 67 20 73 79 6d 62 6f 6c 73 20 74 6f  gging symbols to
4fb0: 0a 23 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c  .# work correctl
4fc0: 79 20 77 69 74 68 20 56 69 73 75 61 6c 20 53 74  y with Visual St
4fd0: 75 64 69 6f 20 77 68 65 6e 20 75 73 69 6e 67 20  udio when using 
4fe0: 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  the amalgamation
4ff0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51  ..#.!IFNDEF MKSQ
5000: 4c 49 54 45 33 43 5f 54 4f 4f 4c 0a 21 49 46 20  LITE3C_TOOL.!IF 
5010: 24 28 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41  $(MINIMAL_AMALGA
5020: 4d 41 54 49 4f 4e 29 21 3d 30 0a 4d 4b 53 51 4c  MATION)!=0.MKSQL
5030: 49 54 45 33 43 5f 54 4f 4f 4c 20 3d 20 24 28 54  ITE3C_TOOL = $(T
5040: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74  OP)\tool\mksqlit
5050: 65 33 63 2d 6e 6f 65 78 74 2e 74 63 6c 0a 21 45  e3c-noext.tcl.!E
5060: 4c 53 45 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 54  LSE.MKSQLITE3C_T
5070: 4f 4f 4c 20 3d 20 24 28 54 4f 50 29 5c 74 6f 6f  OOL = $(TOP)\too
5080: 6c 5c 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c  l\mksqlite3c.tcl
5090: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
50a0: 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54 45  !IFNDEF MKSQLITE
50b0: 33 43 5f 41 52 47 53 0a 21 49 46 20 24 28 44 45  3C_ARGS.!IF $(DE
50c0: 42 55 47 29 3e 31 0a 4d 4b 53 51 4c 49 54 45 33  BUG)>1.MKSQLITE3
50d0: 43 5f 41 52 47 53 20 3d 20 2d 2d 6c 69 6e 65 6d  C_ARGS = --linem
50e0: 61 63 72 6f 73 0a 21 45 4c 53 45 0a 4d 4b 53 51  acros.!ELSE.MKSQ
50f0: 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 0a 21 45  LITE3C_ARGS =.!E
5100: 4e 44 49 46 0a 21 49 46 20 24 28 55 53 45 5f 53  NDIF.!IF $(USE_S
5110: 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  TDCALL)!=0 || $(
5120: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4d 4b  FOR_WIN10)!=0.MK
5130: 53 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 20  SQLITE3C_ARGS = 
5140: 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47  $(MKSQLITE3C_ARG
5150: 53 29 20 2d 2d 75 73 65 61 70 69 63 61 6c 6c 0a  S) --useapicall.
5160: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
5170: 20 54 68 65 20 6d 6b 73 71 6c 69 74 65 33 68 2e   The mksqlite3h.
5180: 74 63 6c 20 73 63 72 69 70 74 20 61 63 63 65 70  tcl script accep
5190: 74 73 20 73 6f 6d 65 20 6f 70 74 69 6f 6e 73 20  ts some options 
51a0: 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c  on the command l
51b0: 69 6e 65 2e 0a 23 20 57 68 65 6e 20 63 6f 6d 70  ine..# When comp
51c0: 69 6c 69 6e 67 20 77 69 74 68 20 73 74 64 63 61  iling with stdca
51d0: 6c 6c 20 73 75 70 70 6f 72 74 2c 20 73 6f 6d 65  ll support, some
51e0: 20 6f 66 20 74 68 65 73 65 20 6f 70 74 69 6f 6e   of these option
51f0: 73 20 61 72 65 0a 23 20 6e 65 63 65 73 73 61 72  s are.# necessar
5200: 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53  y..#.!IFNDEF MKS
5210: 51 4c 49 54 45 33 48 5f 41 52 47 53 0a 21 49 46  QLITE3H_ARGS.!IF
5220: 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21   $(USE_STDCALL)!
5230: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1
5240: 30 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 48  0)!=0.MKSQLITE3H
5250: 5f 41 52 47 53 20 3d 20 2d 2d 75 73 65 61 70 69  _ARGS = --useapi
5260: 63 61 6c 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c  call.!ELSE.MKSQL
5270: 49 54 45 33 48 5f 41 52 47 53 20 3d 0a 21 45 4e  ITE3H_ARGS =.!EN
5280: 44 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f  DIF.!ENDIF.# <</
5290: 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65 66 69 6e 65  mark>>..# Define
52a0: 20 2d 44 4e 44 45 42 55 47 20 74 6f 20 63 6f 6d   -DNDEBUG to com
52b0: 70 69 6c 65 20 77 69 74 68 6f 75 74 20 64 65 62  pile without deb
52c0: 75 67 67 69 6e 67 20 28 69 2e 65 2e 2c 20 66 6f  ugging (i.e., fo
52d0: 72 20 70 72 6f 64 75 63 74 69 6f 6e 20 75 73 61  r production usa
52e0: 67 65 29 0a 23 20 4f 6d 69 74 74 69 6e 67 20 74  ge).# Omitting t
52f0: 68 65 20 64 65 66 69 6e 65 20 77 69 6c 6c 20 63  he define will c
5300: 61 75 73 65 20 65 78 74 72 61 20 64 65 62 75 67  ause extra debug
5310: 67 69 6e 67 20 63 6f 64 65 20 74 6f 20 62 65 20  ging code to be 
5320: 69 6e 73 65 72 74 65 64 20 61 6e 64 0a 23 20 69  inserted and.# i
5330: 6e 63 6c 75 64 65 73 20 65 78 74 72 61 20 63 6f  ncludes extra co
5340: 6d 6d 65 6e 74 73 20 77 68 65 6e 20 22 45 58 50  mments when "EXP
5350: 4c 41 49 4e 20 73 74 6d 74 22 20 69 73 20 75 73  LAIN stmt" is us
5360: 65 64 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55  ed..#.!IF $(DEBU
5370: 47 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  G)==0.TCC = $(TC
5380: 43 29 20 2d 44 4e 44 45 42 55 47 0a 42 43 43 20  C) -DNDEBUG.BCC 
5390: 3d 20 24 28 42 43 43 29 20 2d 44 4e 44 45 42 55  = $(BCC) -DNDEBU
53a0: 47 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  G.RCC = $(RCC) -
53b0: 44 4e 44 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a  DNDEBUG.!ENDIF..
53c0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 30 20 7c  !IF $(DEBUG)>0 |
53d0: 7c 20 24 28 41 50 49 5f 41 52 4d 4f 52 29 21 3d  | $(API_ARMOR)!=
53e0: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10
53f0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC
5400: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
5410: 45 5f 41 50 49 5f 41 52 4d 4f 52 3d 31 0a 52 43  E_API_ARMOR=1.RC
5420: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c  C = $(RCC) -DSQL
5430: 49 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41  ITE_ENABLE_API_A
5440: 52 4d 4f 52 3d 31 0a 21 45 4e 44 49 46 0a 0a 21  RMOR=1.!ENDIF..!
5450: 49 46 20 24 28 44 45 42 55 47 29 3e 32 0a 54 43  IF $(DEBUG)>2.TC
5460: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c  C = $(TCC) -DSQL
5470: 49 54 45 5f 44 45 42 55 47 3d 31 0a 52 43 43 20  ITE_DEBUG=1.RCC 
5480: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT
5490: 45 5f 44 45 42 55 47 3d 31 0a 21 49 46 20 24 28  E_DEBUG=1.!IF $(
54a0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d  DYNAMIC_SHELL)==
54b0: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) -
54c0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 57  DSQLITE_ENABLE_W
54d0: 48 45 52 45 54 52 41 43 45 20 2d 44 53 51 4c 49  HERETRACE -DSQLI
54e0: 54 45 5f 45 4e 41 42 4c 45 5f 53 45 4c 45 43 54  TE_ENABLE_SELECT
54f0: 54 52 41 43 45 0a 52 43 43 20 3d 20 24 28 52 43  TRACE.RCC = $(RC
5500: 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  C) -DSQLITE_ENAB
5510: 4c 45 5f 57 48 45 52 45 54 52 41 43 45 20 2d 44  LE_WHERETRACE -D
5520: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45  SQLITE_ENABLE_SE
5530: 4c 45 43 54 54 52 41 43 45 0a 21 45 4e 44 49 46  LECTTRACE.!ENDIF
5540: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44  .!ENDIF..!IF $(D
5550: 45 42 55 47 29 3e 34 20 7c 7c 20 24 28 4f 53 54  EBUG)>4 || $(OST
5560: 52 41 43 45 29 21 3d 30 0a 54 43 43 20 3d 20 24  RACE)!=0.TCC = $
5570: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46  (TCC) -DSQLITE_F
5580: 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20  ORCE_OS_TRACE=1 
5590: 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f  -DSQLITE_DEBUG_O
55a0: 53 5f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20  S_TRACE=1.RCC = 
55b0: 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(RCC) -DSQLITE_
55c0: 46 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31  FORCE_OS_TRACE=1
55d0: 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f   -DSQLITE_DEBUG_
55e0: 4f 53 5f 54 52 41 43 45 3d 31 0a 21 45 4e 44 49  OS_TRACE=1.!ENDI
55f0: 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e  F..!IF $(DEBUG)>
5600: 35 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  5.TCC = $(TCC) -
5610: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49  DSQLITE_ENABLE_I
5620: 4f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24  OTRACE=1.RCC = $
5630: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45  (RCC) -DSQLITE_E
5640: 4e 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a  NABLE_IOTRACE=1.
5650: 21 45 4e 44 49 46 0a 0a 23 20 50 72 65 76 65 6e  !ENDIF..# Preven
5660: 74 20 77 61 72 6e 69 6e 67 73 20 61 62 6f 75 74  t warnings about
5670: 20 22 69 6e 73 65 63 75 72 65 22 20 4d 53 56 43   "insecure" MSVC
5680: 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79   runtime library
5690: 20 66 75 6e 63 74 69 6f 6e 73 0a 23 20 62 65 69   functions.# bei
56a0: 6e 67 20 75 73 65 64 2e 0a 23 0a 54 43 43 20 3d  ng used..#.TCC =
56b0: 20 24 28 54 43 43 29 20 2d 44 5f 43 52 54 5f 53   $(TCC) -D_CRT_S
56c0: 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41  ECURE_NO_DEPRECA
56d0: 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45  TE -D_CRT_SECURE
56e0: 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43  _NO_WARNINGS.BCC
56f0: 20 3d 20 24 28 42 43 43 29 20 2d 44 5f 43 52 54   = $(BCC) -D_CRT
5700: 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45  _SECURE_NO_DEPRE
5710: 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55  CATE -D_CRT_SECU
5720: 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52  RE_NO_WARNINGS.R
5730: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43  CC = $(RCC) -D_C
5740: 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50  RT_SECURE_NO_DEP
5750: 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45  RECATE -D_CRT_SE
5760: 43 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53  CURE_NO_WARNINGS
5770: 0a 0a 23 20 50 72 65 76 65 6e 74 20 77 61 72 6e  ..# Prevent warn
5780: 69 6e 67 73 20 61 62 6f 75 74 20 22 64 65 70 72  ings about "depr
5790: 65 63 61 74 65 64 22 20 50 4f 53 49 58 20 66 75  ecated" POSIX fu
57a0: 6e 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 75 73  nctions being us
57b0: 65 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43  ed..#.TCC = $(TC
57c0: 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44  C) -D_CRT_NONSTD
57d0: 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d  C_NO_DEPRECATE -
57e0: 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f  D_CRT_NONSTDC_NO
57f0: 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20  _WARNINGS.BCC = 
5800: 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f  $(BCC) -D_CRT_NO
5810: 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41  NSTDC_NO_DEPRECA
5820: 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44  TE -D_CRT_NONSTD
5830: 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43  C_NO_WARNINGS.RC
5840: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52  C = $(RCC) -D_CR
5850: 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50  T_NONSTDC_NO_DEP
5860: 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f  RECATE -D_CRT_NO
5870: 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47  NSTDC_NO_WARNING
5880: 53 0a 0a 23 20 55 73 65 20 74 68 65 20 53 51 4c  S..# Use the SQL
5890: 69 74 65 20 64 65 62 75 67 67 69 6e 67 20 68 65  ite debugging he
58a0: 61 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a  ap subsystem?.#.
58b0: 21 49 46 20 24 28 4d 45 4d 44 45 42 55 47 29 21  !IF $(MEMDEBUG)!
58c0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
58d0: 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55  -DSQLITE_MEMDEBU
58e0: 47 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29  G=1.RCC = $(RCC)
58f0: 20 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42   -DSQLITE_MEMDEB
5900: 55 47 3d 31 0a 0a 23 20 55 73 65 20 6e 61 74 69  UG=1..# Use nati
5910: 76 65 20 57 69 6e 33 32 20 68 65 61 70 20 73 75  ve Win32 heap su
5920: 62 73 79 73 74 65 6d 20 69 6e 73 74 65 61 64 20  bsystem instead 
5930: 6f 66 20 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f 0a  of malloc/free?.
5940: 23 0a 21 45 4c 53 45 49 46 20 24 28 57 49 4e 33  #.!ELSEIF $(WIN3
5950: 32 48 45 41 50 29 21 3d 30 0a 54 43 43 20 3d 20  2HEAP)!=0.TCC = 
5960: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_
5970: 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 52  WIN32_MALLOC=1.R
5980: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ
5990: 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f  LITE_WIN32_MALLO
59a0: 43 3d 31 0a 0a 23 20 56 61 6c 69 64 61 74 65 20  C=1..# Validate 
59b0: 74 68 65 20 68 65 61 70 20 6f 6e 20 65 76 65 72  the heap on ever
59c0: 79 20 63 61 6c 6c 20 69 6e 74 6f 20 74 68 65 20  y call into the 
59d0: 6e 61 74 69 76 65 20 57 69 6e 33 32 20 68 65 61  native Win32 hea
59e0: 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21  p subsystem?.#.!
59f0: 49 46 20 24 28 44 45 42 55 47 29 3e 33 0a 54 43  IF $(DEBUG)>3.TC
5a00: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c  C = $(TCC) -DSQL
5a10: 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43  ITE_WIN32_MALLOC
5a20: 5f 56 41 4c 49 44 41 54 45 3d 31 0a 52 43 43 20  _VALIDATE=1.RCC 
5a30: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT
5a40: 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56  E_WIN32_MALLOC_V
5a50: 41 4c 49 44 41 54 45 3d 31 0a 21 45 4e 44 49 46  ALIDATE=1.!ENDIF
5a60: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72  .!ENDIF..# <<mar
5a70: 6b 3e 3e 0a 23 20 54 68 65 20 6c 6f 63 61 74 69  k>>.# The locati
5a80: 6f 6e 73 20 6f 66 20 74 68 65 20 54 63 6c 20 68  ons of the Tcl h
5a90: 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61 72  eader and librar
5aa0: 79 20 66 69 6c 65 73 2e 20 20 41 6c 73 6f 2c 20  y files.  Also, 
5ab0: 74 68 65 20 6c 69 62 72 61 72 79 20 74 68 61 74  the library that
5ac0: 0a 23 20 6e 6f 6e 2d 73 74 75 62 73 20 65 6e 61  .# non-stubs ena
5ad0: 62 6c 65 64 20 70 72 6f 67 72 61 6d 73 20 75 73  bled programs us
5ae0: 69 6e 67 20 54 63 6c 20 6d 75 73 74 20 6c 69 6e  ing Tcl must lin
5af0: 6b 20 61 67 61 69 6e 73 74 2e 20 20 54 68 65 73  k against.  Thes
5b00: 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 54  e variables.# (T
5b10: 43 4c 49 4e 43 44 49 52 2c 20 54 43 4c 4c 49 42  CLINCDIR, TCLLIB
5b20: 44 49 52 2c 20 61 6e 64 20 4c 49 42 54 43 4c 29  DIR, and LIBTCL)
5b30: 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64 64   may be overridd
5b40: 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69 72  en via the envir
5b50: 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 74  onment.# prior t
5b60: 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20  o running nmake 
5b70: 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 63  in order to matc
5b80: 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e 73  h the actual ins
5b90: 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20  talled location 
5ba0: 61 6e 64 0a 23 20 76 65 72 73 69 6f 6e 20 6f 6e  and.# version on
5bb0: 20 74 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23   this machine..#
5bc0: 0a 21 49 46 4e 44 45 46 20 54 43 4c 44 49 52 0a  .!IFNDEF TCLDIR.
5bd0: 54 43 4c 44 49 52 20 3d 20 24 28 54 4f 50 29 5c  TCLDIR = $(TOP)\
5be0: 63 6f 6d 70 61 74 5c 74 63 6c 0a 21 45 4e 44 49  compat\tcl.!ENDI
5bf0: 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c 49 4e  F..!IFNDEF TCLIN
5c00: 43 44 49 52 0a 54 43 4c 49 4e 43 44 49 52 20 3d  CDIR.TCLINCDIR =
5c10: 20 24 28 54 43 4c 44 49 52 29 5c 69 6e 63 6c 75   $(TCLDIR)\inclu
5c20: 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44  de.!ENDIF..!IFND
5c30: 45 46 20 54 43 4c 4c 49 42 44 49 52 0a 54 43 4c  EF TCLLIBDIR.TCL
5c40: 4c 49 42 44 49 52 20 3d 20 24 28 54 43 4c 44 49  LIBDIR = $(TCLDI
5c50: 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21  R)\lib.!ENDIF..!
5c60: 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 0a 4c 49  IFNDEF LIBTCL.LI
5c70: 42 54 43 4c 20 3d 20 74 63 6c 38 36 2e 6c 69 62  BTCL = tcl86.lib
5c80: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46  .!ENDIF..!IFNDEF
5c90: 20 4c 49 42 54 43 4c 53 54 55 42 0a 4c 49 42 54   LIBTCLSTUB.LIBT
5ca0: 43 4c 53 54 55 42 20 3d 20 74 63 6c 73 74 75 62  CLSTUB = tclstub
5cb0: 38 36 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21  86.lib.!ENDIF..!
5cc0: 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 50 41 54  IFNDEF LIBTCLPAT
5cd0: 48 0a 4c 49 42 54 43 4c 50 41 54 48 20 3d 20 24  H.LIBTCLPATH = $
5ce0: 28 54 43 4c 44 49 52 29 5c 62 69 6e 0a 21 45 4e  (TCLDIR)\bin.!EN
5cf0: 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63 61 74  DIF..# The locat
5d00: 69 6f 6e 73 20 6f 66 20 74 68 65 20 7a 6c 69 62  ions of the zlib
5d10: 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72   header and libr
5d20: 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68 65 73  ary files.  Thes
5d30: 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 5a  e variables.# (Z
5d40: 4c 49 42 49 4e 43 44 49 52 2c 20 5a 4c 49 42 4c  LIBINCDIR, ZLIBL
5d50: 49 42 44 49 52 2c 20 61 6e 64 20 5a 4c 49 42 4c  IBDIR, and ZLIBL
5d60: 49 42 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72  IB) may be overr
5d70: 69 64 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e  idden via the en
5d80: 76 69 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f  vironment.# prio
5d90: 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61  r to running nma
5da0: 6b 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d  ke in order to m
5db0: 61 74 63 68 20 74 68 65 20 61 63 74 75 61 6c 20  atch the actual 
5dc0: 69 6e 73 74 61 6c 6c 65 64 20 28 6f 72 20 73 6f  installed (or so
5dd0: 75 72 63 65 0a 23 20 63 6f 64 65 29 20 6c 6f 63  urce.# code) loc
5de0: 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 20 6d 61  ation on this ma
5df0: 63 68 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46  chine..#.!IFNDEF
5e00: 20 5a 4c 49 42 44 49 52 0a 5a 4c 49 42 44 49 52   ZLIBDIR.ZLIBDIR
5e10: 20 3d 20 24 28 54 4f 50 29 5c 63 6f 6d 70 61 74   = $(TOP)\compat
5e20: 5c 7a 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49  \zlib.!ENDIF..!I
5e30: 46 4e 44 45 46 20 5a 4c 49 42 49 4e 43 44 49 52  FNDEF ZLIBINCDIR
5e40: 0a 5a 4c 49 42 49 4e 43 44 49 52 20 3d 20 24 28  .ZLIBINCDIR = $(
5e50: 5a 4c 49 42 44 49 52 29 0a 21 45 4e 44 49 46 0a  ZLIBDIR).!ENDIF.
5e60: 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42 4c 49 42  .!IFNDEF ZLIBLIB
5e70: 44 49 52 0a 5a 4c 49 42 4c 49 42 44 49 52 20 3d  DIR.ZLIBLIBDIR =
5e80: 20 24 28 5a 4c 49 42 44 49 52 29 0a 21 45 4e 44   $(ZLIBDIR).!END
5e90: 49 46 0a 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42  IF..!IFNDEF ZLIB
5ea0: 4c 49 42 0a 21 49 46 20 24 28 44 59 4e 41 4d 49  LIB.!IF $(DYNAMI
5eb0: 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 5a 4c 49 42  C_SHELL)!=0.ZLIB
5ec0: 4c 49 42 20 3d 20 7a 64 6c 6c 2e 6c 69 62 0a 21  LIB = zdll.lib.!
5ed0: 45 4c 53 45 0a 5a 4c 49 42 4c 49 42 20 3d 20 7a  ELSE.ZLIBLIB = z
5ee0: 6c 69 62 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21  lib.lib.!ENDIF.!
5ef0: 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63  ENDIF..# The loc
5f00: 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 49 43  ations of the IC
5f10: 55 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62  U header and lib
5f20: 72 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68 65  rary files.  The
5f30: 73 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28  se variables.# (
5f40: 49 43 55 49 4e 43 44 49 52 2c 20 49 43 55 4c 49  ICUINCDIR, ICULI
5f50: 42 44 49 52 2c 20 61 6e 64 20 4c 49 42 49 43 55  BDIR, and LIBICU
5f60: 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64  ) may be overrid
5f70: 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69  den via the envi
5f80: 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20  ronment.# prior 
5f90: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65  to running nmake
5fa0: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74   in order to mat
5fb0: 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e  ch the actual in
5fc0: 73 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e  stalled location
5fd0: 20 6f 6e 0a 23 20 74 68 69 73 20 6d 61 63 68 69   on.# this machi
5fe0: 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 49 43  ne..#.!IFNDEF IC
5ff0: 55 44 49 52 0a 49 43 55 44 49 52 20 3d 20 24 28  UDIR.ICUDIR = $(
6000: 54 4f 50 29 5c 63 6f 6d 70 61 74 5c 69 63 75 0a  TOP)\compat\icu.
6010: 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20  !ENDIF..!IFNDEF 
6020: 49 43 55 49 4e 43 44 49 52 0a 49 43 55 49 4e 43  ICUINCDIR.ICUINC
6030: 44 49 52 20 3d 20 24 28 49 43 55 44 49 52 29 5c  DIR = $(ICUDIR)\
6040: 69 6e 63 6c 75 64 65 0a 21 45 4e 44 49 46 0a 0a  include.!ENDIF..
6050: 21 49 46 4e 44 45 46 20 49 43 55 4c 49 42 44 49  !IFNDEF ICULIBDI
6060: 52 0a 49 43 55 4c 49 42 44 49 52 20 3d 20 24 28  R.ICULIBDIR = $(
6070: 49 43 55 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44  ICUDIR)\lib.!END
6080: 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 49  IF..!IFNDEF LIBI
6090: 43 55 0a 4c 49 42 49 43 55 20 3d 20 69 63 75 75  CU.LIBICU = icuu
60a0: 63 2e 6c 69 62 20 69 63 75 69 6e 2e 6c 69 62 0a  c.lib icuin.lib.
60b0: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69  !ENDIF..# This i
60c0: 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f  s the command to
60d0: 20 75 73 65 20 66 6f 72 20 74 63 6c 73 68 20 2d   use for tclsh -
60e0: 20 6e 6f 72 6d 61 6c 6c 79 20 6a 75 73 74 20 22   normally just "
60f0: 74 63 6c 73 68 22 2c 20 62 75 74 20 77 65 20 6d  tclsh", but we m
6100: 61 79 0a 23 20 6b 6e 6f 77 20 74 68 65 20 73 70  ay.# know the sp
6110: 65 63 69 66 69 63 20 76 65 72 73 69 6f 6e 20 77  ecific version w
6120: 65 20 77 61 6e 74 20 74 6f 20 75 73 65 2e 20 20  e want to use.  
6130: 54 68 69 73 20 76 61 72 69 61 62 6c 65 20 28 54  This variable (T
6140: 43 4c 53 48 5f 43 4d 44 29 20 6d 61 79 20 62 65  CLSH_CMD) may be
6150: 0a 23 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69  .# overridden vi
6160: 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e  a the environmen
6170: 74 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69  t prior to runni
6180: 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65  ng nmake in orde
6190: 72 20 74 6f 20 73 65 6c 65 63 74 20 61 0a 23 20  r to select a.# 
61a0: 73 70 65 63 69 66 69 63 20 54 63 6c 20 73 68 65  specific Tcl she
61b0: 6c 6c 20 74 6f 20 75 73 65 2e 0a 23 0a 21 49 46  ll to use..#.!IF
61c0: 4e 44 45 46 20 54 43 4c 53 48 5f 43 4d 44 0a 21  NDEF TCLSH_CMD.!
61d0: 49 46 20 24 28 55 53 45 5f 54 43 4c 53 48 5f 49  IF $(USE_TCLSH_I
61e0: 4e 5f 50 41 54 48 29 21 3d 30 20 7c 7c 20 21 45  N_PATH)!=0 || !E
61f0: 58 49 53 54 28 22 24 28 54 43 4c 44 49 52 29 5c  XIST("$(TCLDIR)\
6200: 62 69 6e 5c 74 63 6c 73 68 2e 65 78 65 22 29 0a  bin\tclsh.exe").
6210: 54 43 4c 53 48 5f 43 4d 44 20 3d 20 74 63 6c 73  TCLSH_CMD = tcls
6220: 68 0a 21 45 4c 53 45 0a 54 43 4c 53 48 5f 43 4d  h.!ELSE.TCLSH_CM
6230: 44 20 3d 20 24 28 54 43 4c 44 49 52 29 5c 62 69  D = $(TCLDIR)\bi
6240: 6e 5c 74 63 6c 73 68 2e 65 78 65 0a 21 45 4e 44  n\tclsh.exe.!END
6250: 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d  IF.!ENDIF.# <</m
6260: 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 70 69 6c 65  ark>>..# Compile
6270: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 65 64 65 64  r options needed
6280: 20 66 6f 72 20 70 72 6f 67 72 61 6d 73 20 74 68   for programs th
6290: 61 74 20 75 73 65 20 74 68 65 20 72 65 61 64 6c  at use the readl
62a0: 69 6e 65 28 29 20 6c 69 62 72 61 72 79 2e 0a 23  ine() library..#
62b0: 0a 21 49 46 4e 44 45 46 20 52 45 41 44 4c 49 4e  .!IFNDEF READLIN
62c0: 45 5f 46 4c 41 47 53 0a 52 45 41 44 4c 49 4e 45  E_FLAGS.READLINE
62d0: 5f 46 4c 41 47 53 20 3d 20 2d 44 48 41 56 45 5f  _FLAGS = -DHAVE_
62e0: 52 45 41 44 4c 49 4e 45 3d 30 0a 21 45 4e 44 49  READLINE=0.!ENDI
62f0: 46 0a 0a 23 20 54 68 65 20 6c 69 62 72 61 72 79  F..# The library
6300: 20 74 68 61 74 20 70 72 6f 67 72 61 6d 73 20 75   that programs u
6310: 73 69 6e 67 20 72 65 61 64 6c 69 6e 65 28 29 20  sing readline() 
6320: 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73  must link agains
6330: 74 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c 49 42  t..#.!IFNDEF LIB
6340: 52 45 41 44 4c 49 4e 45 0a 4c 49 42 52 45 41 44  READLINE.LIBREAD
6350: 4c 49 4e 45 20 3d 0a 21 45 4e 44 49 46 0a 0a 23  LINE =.!ENDIF..#
6360: 20 53 68 6f 75 6c 64 20 74 68 65 20 64 61 74 61   Should the data
6370: 62 61 73 65 20 65 6e 67 69 6e 65 20 62 65 20 63  base engine be c
6380: 6f 6d 70 69 6c 65 64 20 74 68 72 65 61 64 73 61  ompiled threadsa
6390: 66 65 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43  fe.#.TCC = $(TCC
63a0: 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
63b0: 44 53 41 46 45 3d 31 0a 52 43 43 20 3d 20 24 28  DSAFE=1.RCC = $(
63c0: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  RCC) -DSQLITE_TH
63d0: 52 45 41 44 53 41 46 45 3d 31 0a 0a 23 20 44 6f  READSAFE=1..# Do
63e0: 20 74 68 72 65 61 64 73 20 6f 76 65 72 72 69 64   threads overrid
63f0: 65 20 65 61 63 68 20 6f 74 68 65 72 73 20 6c 6f  e each others lo
6400: 63 6b 73 20 62 79 20 64 65 66 61 75 6c 74 20 28  cks by default (
6410: 31 29 2c 20 6f 72 20 64 6f 20 77 65 20 74 65 73  1), or do we tes
6420: 74 20 28 2d 31 29 0a 23 0a 54 43 43 20 3d 20 24  t (-1).#.TCC = $
6430: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54  (TCC) -DSQLITE_T
6440: 48 52 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c  HREAD_OVERRIDE_L
6450: 4f 43 4b 3d 2d 31 0a 52 43 43 20 3d 20 24 28 52  OCK=-1.RCC = $(R
6460: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  CC) -DSQLITE_THR
6470: 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c 4f 43  EAD_OVERRIDE_LOC
6480: 4b 3d 2d 31 0a 0a 23 20 41 6e 79 20 74 61 72 67  K=-1..# Any targ
6490: 65 74 20 6c 69 62 72 61 72 69 65 73 20 77 68 69  et libraries whi
64a0: 63 68 20 6c 69 62 73 71 6c 69 74 65 20 6d 75 73  ch libsqlite mus
64b0: 74 20 62 65 20 6c 69 6e 6b 65 64 20 61 67 61 69  t be linked agai
64c0: 6e 73 74 0a 23 0a 21 49 46 4e 44 45 46 20 54 4c  nst.#.!IFNDEF TL
64d0: 49 42 53 0a 54 4c 49 42 53 20 3d 0a 21 45 4e 44  IBS.TLIBS =.!END
64e0: 49 46 0a 0a 23 20 46 6c 61 67 73 20 63 6f 6e 74  IF..# Flags cont
64f0: 72 6f 6c 6c 69 6e 67 20 75 73 65 20 6f 66 20 74  rolling use of t
6500: 68 65 20 69 6e 20 6d 65 6d 6f 72 79 20 62 74 72  he in memory btr
6510: 65 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  ee implementatio
6520: 6e 0a 23 0a 23 20 53 51 4c 49 54 45 5f 54 45 4d  n.#.# SQLITE_TEM
6530: 50 5f 53 54 4f 52 45 20 69 73 20 30 20 74 6f 20  P_STORE is 0 to 
6540: 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79 20  force temporary 
6550: 74 61 62 6c 65 73 20 74 6f 20 62 65 20 69 6e 20  tables to be in 
6560: 61 20 66 69 6c 65 2c 20 31 20 74 6f 0a 23 20 64  a file, 1 to.# d
6570: 65 66 61 75 6c 74 20 74 6f 20 66 69 6c 65 2c 20  efault to file, 
6580: 32 20 74 6f 20 64 65 66 61 75 6c 74 20 74 6f 20  2 to default to 
6590: 6d 65 6d 6f 72 79 2c 20 61 6e 64 20 33 20 74 6f  memory, and 3 to
65a0: 20 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79   force temporary
65b0: 0a 23 20 74 61 62 6c 65 73 20 74 6f 20 61 6c 77  .# tables to alw
65c0: 61 79 73 20 62 65 20 69 6e 20 6d 65 6d 6f 72 79  ays be in memory
65d0: 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29  ..#.TCC = $(TCC)
65e0: 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53   -DSQLITE_TEMP_S
65f0: 54 4f 52 45 3d 31 0a 52 43 43 20 3d 20 24 28 52  TORE=1.RCC = $(R
6600: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d  CC) -DSQLITE_TEM
6610: 50 5f 53 54 4f 52 45 3d 31 0a 0a 23 20 45 6e 61  P_STORE=1..# Ena
6620: 62 6c 65 2f 64 69 73 61 62 6c 65 20 6c 6f 61 64  ble/disable load
6630: 61 62 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 2c  able extensions,
6640: 20 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69 6f   and other optio
6650: 6e 61 6c 20 66 65 61 74 75 72 65 73 0a 23 20 62  nal features.# b
6660: 61 73 65 64 20 6f 6e 20 63 6f 6e 66 69 67 75 72  ased on configur
6670: 61 74 69 6f 6e 2e 20 28 2d 44 53 51 4c 49 54 45  ation. (-DSQLITE
6680: 5f 4f 4d 49 54 2a 2c 20 2d 44 53 51 4c 49 54 45  _OMIT*, -DSQLITE
6690: 5f 45 4e 41 42 4c 45 2a 29 2e 0a 23 20 54 68 65  _ENABLE*)..# The
66a0: 20 73 61 6d 65 20 73 65 74 20 6f 66 20 4f 4d 49   same set of OMI
66b0: 54 20 61 6e 64 20 45 4e 41 42 4c 45 20 66 6c 61  T and ENABLE fla
66c0: 67 73 20 73 68 6f 75 6c 64 20 62 65 20 70 61 73  gs should be pas
66d0: 73 65 64 20 74 6f 20 74 68 65 0a 23 20 4c 45 4d  sed to the.# LEM
66e0: 4f 4e 20 70 61 72 73 65 72 20 67 65 6e 65 72 61  ON parser genera
66f0: 74 6f 72 20 61 6e 64 20 74 68 65 20 6d 6b 6b 65  tor and the mkke
6700: 79 77 6f 72 64 68 61 73 68 20 74 6f 6f 6c 20 61  ywordhash tool a
6710: 73 20 77 65 6c 6c 2e 0a 0a 23 20 54 68 65 73 65  s well...# These
6720: 20 61 72 65 20 74 68 65 20 72 65 71 75 69 72 65   are the require
6730: 64 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61  d SQLite compila
6740: 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65  tion options use
6750: 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  d when compiling
6760: 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64 6f   for.# the Windo
6770: 77 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 52  ws platform..#.R
6780: 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  EQ_FEATURE_FLAGS
6790: 20 3d 20 24 28 52 45 51 5f 46 45 41 54 55 52 45   = $(REQ_FEATURE
67a0: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
67b0: 5f 4d 41 58 5f 54 52 49 47 47 45 52 5f 44 45 50  _MAX_TRIGGER_DEP
67c0: 54 48 3d 31 30 30 0a 0a 23 20 49 66 20 77 65 20  TH=100..# If we 
67d0: 61 72 65 20 6c 69 6e 6b 69 6e 67 20 74 6f 20 74  are linking to t
67e0: 68 65 20 52 50 43 52 54 34 20 6c 69 62 72 61 72  he RPCRT4 librar
67f0: 79 2c 20 65 6e 61 62 6c 65 20 66 65 61 74 75 72  y, enable featur
6800: 65 73 20 74 68 61 74 20 6e 65 65 64 20 69 74 2e  es that need it.
6810: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 50 43  .#.!IF $(USE_RPC
6820: 52 54 34 5f 4c 49 42 29 21 3d 30 0a 52 45 51 5f  RT4_LIB)!=0.REQ_
6830: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FEATURE_FLAGS = 
6840: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c  $(REQ_FEATURE_FL
6850: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 57 49  AGS) -DSQLITE_WI
6860: 4e 33 32 5f 55 53 45 5f 55 55 49 44 3d 31 0a 21  N32_USE_UUID=1.!
6870: 45 4e 44 49 46 0a 0a 23 20 41 64 64 20 74 68 65  ENDIF..# Add the
6880: 20 72 65 71 75 69 72 65 64 20 61 6e 64 20 6f 70   required and op
6890: 74 69 6f 6e 61 6c 20 53 51 4c 69 74 65 20 63 6f  tional SQLite co
68a0: 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e  mpilation option
68b0: 73 20 69 6e 74 6f 20 74 68 65 20 63 6f 6d 6d 61  s into the comma
68c0: 6e 64 0a 23 20 6c 69 6e 65 73 20 75 73 65 64 20  nd.# lines used 
68d0: 74 6f 20 69 6e 76 6f 6b 65 20 74 68 65 20 4d 53  to invoke the MS
68e0: 56 43 20 63 6f 64 65 20 61 6e 64 20 72 65 73 6f  VC code and reso
68f0: 75 72 63 65 20 63 6f 6d 70 69 6c 65 72 73 2e 0a  urce compilers..
6900: 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 24  #.TCC = $(TCC) $
6910: 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41  (REQ_FEATURE_FLA
6920: 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52  GS) $(OPT_FEATUR
6930: 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46  E_FLAGS) $(EXT_F
6940: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 0a 52 43  EATURE_FLAGS).RC
6950: 43 20 3d 20 24 28 52 43 43 29 20 24 28 52 45 51  C = $(RCC) $(REQ
6960: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
6970: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(OPT_FEATURE_FL
6980: 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55  AGS) $(EXT_FEATU
6990: 52 45 5f 46 4c 41 47 53 29 0a 0a 23 20 41 64 64  RE_FLAGS)..# Add
69a0: 20 69 6e 20 61 6e 79 20 6f 70 74 69 6f 6e 61 6c   in any optional
69b0: 20 70 61 72 61 6d 65 74 65 72 73 20 73 70 65 63   parameters spec
69c0: 69 66 69 65 64 20 6f 6e 20 74 68 65 20 63 6f 6d  ified on the com
69d0: 6d 61 6e 65 20 6c 69 6e 65 2c 20 65 2e 67 2e 0a  mane line, e.g..
69e0: 23 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66  # nmake /f Makef
69f0: 69 6c 65 2e 6d 73 63 20 61 6c 6c 20 22 4f 50 54  ile.msc all "OPT
6a00: 53 3d 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  S=-DSQLITE_ENABL
6a10: 45 5f 46 4f 4f 3d 31 20 2d 44 53 51 4c 49 54 45  E_FOO=1 -DSQLITE
6a20: 5f 4f 4d 49 54 5f 46 4f 4f 3d 31 22 0a 23 0a 54  _OMIT_FOO=1".#.T
6a30: 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 4f 50  CC = $(TCC) $(OP
6a40: 54 53 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29  TS).RCC = $(RCC)
6a50: 20 24 28 4f 50 54 53 29 0a 0a 23 20 49 66 20 63   $(OPTS)..# If c
6a60: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65 62  ompiling for deb
6a70: 75 67 67 69 6e 67 2c 20 61 64 64 20 73 6f 6d 65  ugging, add some
6a80: 20 64 65 66 69 6e 65 73 2e 0a 23 0a 21 49 46 20   defines..#.!IF 
6a90: 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20 3d  $(DEBUG)>1.TCC =
6aa0: 20 24 28 54 43 43 29 20 2d 44 5f 44 45 42 55 47   $(TCC) -D_DEBUG
6ab0: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44  .BCC = $(BCC) -D
6ac0: 5f 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28 52  _DEBUG.RCC = $(R
6ad0: 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 21 45 4e  CC) -D_DEBUG.!EN
6ae0: 44 49 46 0a 0a 23 20 49 66 20 6f 70 74 69 6d 69  DIF..# If optimi
6af0: 7a 61 74 69 6f 6e 73 20 61 72 65 20 65 6e 61 62  zations are enab
6b00: 6c 65 64 20 6f 72 20 64 69 73 61 62 6c 65 64 20  led or disabled 
6b10: 28 65 69 74 68 65 72 20 69 6d 70 6c 69 63 69 74  (either implicit
6b20: 6c 79 20 6f 72 0a 23 20 65 78 70 6c 69 63 69 74  ly or.# explicit
6b30: 6c 79 29 2c 20 61 64 64 20 74 68 65 20 6e 65 63  ly), add the nec
6b40: 65 73 73 61 72 79 20 66 6c 61 67 73 2e 0a 23 0a  essary flags..#.
6b50: 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 20 7c  !IF $(DEBUG)>1 |
6b60: 7c 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e  | $(OPTIMIZATION
6b70: 53 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  S)==0.TCC = $(TC
6b80: 43 29 20 2d 4f 64 0a 42 43 43 20 3d 20 24 28 42  C) -Od.BCC = $(B
6b90: 43 43 29 20 2d 4f 64 0a 21 49 46 20 24 28 55 53  CC) -Od.!IF $(US
6ba0: 45 5f 52 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53  E_RUNTIME_CHECKS
6bb0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC
6bc0: 29 20 2d 52 54 43 31 0a 42 43 43 20 3d 20 24 28  ) -RTC1.BCC = $(
6bd0: 42 43 43 29 20 2d 52 54 43 31 0a 21 45 4e 44 49  BCC) -RTC1.!ENDI
6be0: 46 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49  F.!ELSEIF $(OPTI
6bf0: 4d 49 5a 41 54 49 4f 4e 53 29 3e 3d 33 0a 54 43  MIZATIONS)>=3.TC
6c00: 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 78 0a 42  C = $(TCC) -Ox.B
6c10: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 78 0a  CC = $(BCC) -Ox.
6c20: 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49  !ELSEIF $(OPTIMI
6c30: 5a 41 54 49 4f 4e 53 29 3d 3d 32 0a 54 43 43 20  ZATIONS)==2.TCC 
6c40: 3d 20 24 28 54 43 43 29 20 2d 4f 32 0a 42 43 43  = $(TCC) -O2.BCC
6c50: 20 3d 20 24 28 42 43 43 29 20 2d 4f 32 0a 21 45   = $(BCC) -O2.!E
6c60: 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41  LSEIF $(OPTIMIZA
6c70: 54 49 4f 4e 53 29 3d 3d 31 0a 54 43 43 20 3d 20  TIONS)==1.TCC = 
6c80: 24 28 54 43 43 29 20 2d 4f 31 0a 42 43 43 20 3d  $(TCC) -O1.BCC =
6c90: 20 24 28 42 43 43 29 20 2d 4f 31 0a 21 45 4e 44   $(BCC) -O1.!END
6ca0: 49 46 0a 0a 23 20 49 66 20 73 79 6d 62 6f 6c 73  IF..# If symbols
6cb0: 20 61 72 65 20 65 6e 61 62 6c 65 64 20 28 6f 72   are enabled (or
6cc0: 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64   compiling for d
6cd0: 65 62 75 67 67 69 6e 67 29 2c 20 65 6e 61 62 6c  ebugging), enabl
6ce0: 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 24 28  e PDBs..#.!IF $(
6cf0: 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 53 59  DEBUG)>1 || $(SY
6d00: 4d 42 4f 4c 53 29 21 3d 30 0a 54 43 43 20 3d 20  MBOLS)!=0.TCC = 
6d10: 24 28 54 43 43 29 20 2d 5a 69 0a 42 43 43 20 3d  $(TCC) -Zi.BCC =
6d20: 20 24 28 42 43 43 29 20 2d 5a 69 0a 21 45 4e 44   $(BCC) -Zi.!END
6d30: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  IF..# <<mark>>.#
6d40: 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 74   If zlib support
6d50: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64   is enabled, add
6d60: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70   the compiler op
6d70: 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a  tions for it..#.
6d80: 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29 21  !IF $(USE_ZLIB)!
6d90: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
6da0: 2d 44 53 51 4c 49 54 45 5f 48 41 56 45 5f 5a 4c  -DSQLITE_HAVE_ZL
6db0: 49 42 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  IB=1.RCC = $(RCC
6dc0: 29 20 2d 44 53 51 4c 49 54 45 5f 48 41 56 45 5f  ) -DSQLITE_HAVE_
6dd0: 5a 4c 49 42 3d 31 0a 54 43 43 20 3d 20 24 28 54  ZLIB=1.TCC = $(T
6de0: 43 43 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44  CC) -I$(ZLIBINCD
6df0: 49 52 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29  IR).RCC = $(RCC)
6e00: 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49 52 29   -I$(ZLIBINCDIR)
6e10: 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 49 43  .!ENDIF..# If IC
6e20: 55 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61  U support is ena
6e30: 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 63 6f  bled, add the co
6e40: 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66  mpiler options f
6e50: 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 55  or it..#.!IF $(U
6e60: 53 45 5f 49 43 55 29 21 3d 30 0a 54 43 43 20 3d  SE_ICU)!=0.TCC =
6e70: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE
6e80: 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 52 43  _ENABLE_ICU=1.RC
6e90: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c  C = $(RCC) -DSQL
6ea0: 49 54 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31  ITE_ENABLE_ICU=1
6eb0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49  .TCC = $(TCC) -I
6ec0: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 52  $(TOP)\ext\icu.R
6ed0: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28  CC = $(RCC) -I$(
6ee0: 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 54 43 43  TOP)\ext\icu.TCC
6ef0: 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 49 43   = $(TCC) -I$(IC
6f00: 55 49 4e 43 44 49 52 29 0a 52 43 43 20 3d 20 24  UINCDIR).RCC = $
6f10: 28 52 43 43 29 20 2d 49 24 28 49 43 55 49 4e 43  (RCC) -I$(ICUINC
6f20: 44 49 52 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c  DIR).!ENDIF.# <<
6f30: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d 61  /mark>>..# Comma
6f40: 6e 64 20 6c 69 6e 65 20 70 72 65 66 69 78 65 73  nd line prefixes
6f50: 20 66 6f 72 20 63 6f 6d 70 69 6c 69 6e 67 20 63   for compiling c
6f60: 6f 64 65 2c 20 63 6f 6d 70 69 6c 69 6e 67 20 72  ode, compiling r
6f70: 65 73 6f 75 72 63 65 73 2c 0a 23 20 6c 69 6e 6b  esources,.# link
6f80: 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 4c 54 43 4f  ing, etc..#.LTCO
6f90: 4d 50 49 4c 45 20 3d 20 24 28 54 43 43 29 20 2d  MPILE = $(TCC) -
6fa0: 46 6f 24 40 0a 4c 54 52 43 4f 4d 50 49 4c 45 20  Fo$@.LTRCOMPILE 
6fb0: 3d 20 24 28 52 43 43 29 20 2d 72 0a 4c 54 4c 49  = $(RCC) -r.LTLI
6fc0: 42 20 3d 20 6c 69 62 2e 65 78 65 0a 4c 54 4c 49  B = lib.exe.LTLI
6fd0: 4e 4b 20 3d 20 24 28 54 43 43 29 20 2d 46 65 24  NK = $(TCC) -Fe$
6fe0: 40 0a 0a 23 20 49 66 20 72 65 71 75 65 73 74 65  @..# If requeste
6ff0: 64 2c 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 52  d, link to the R
7000: 50 43 52 54 34 20 6c 69 62 72 61 72 79 2e 0a 23  PCRT4 library..#
7010: 0a 21 49 46 20 24 28 55 53 45 5f 52 50 43 52 54  .!IF $(USE_RPCRT
7020: 34 5f 4c 49 42 29 21 3d 30 0a 4c 54 4c 49 42 53  4_LIB)!=0.LTLIBS
7030: 20 3d 20 24 28 4c 54 4c 49 42 53 29 20 72 70 63   = $(LTLIBS) rpc
7040: 72 74 34 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a  rt4.lib.!ENDIF..
7050: 23 20 49 66 20 61 20 70 6c 61 74 66 6f 72 6d 20  # If a platform 
7060: 77 61 73 20 73 65 74 2c 20 66 6f 72 63 65 20 74  was set, force t
7070: 68 65 20 6c 69 6e 6b 65 72 20 74 6f 20 74 61 72  he linker to tar
7080: 67 65 74 20 74 68 61 74 2e 0a 23 20 4e 6f 74 65  get that..# Note
7090: 20 74 68 61 74 20 74 68 65 20 76 63 76 61 72 73   that the vcvars
70a0: 2a 2e 62 61 74 20 66 61 6d 69 6c 79 20 6f 66 20  *.bat family of 
70b0: 62 61 74 63 68 20 66 69 6c 65 73 20 74 79 70 69  batch files typi
70c0: 63 61 6c 6c 79 0a 23 20 73 65 74 20 74 68 69 73  cally.# set this
70d0: 20 66 6f 72 20 79 6f 75 2e 20 20 4f 74 68 65 72   for you.  Other
70e0: 77 69 73 65 2c 20 74 68 65 20 6c 69 6e 6b 65 72  wise, the linker
70f0: 20 77 69 6c 6c 20 61 74 74 65 6d 70 74 0a 23 20   will attempt.# 
7100: 74 6f 20 64 65 64 75 63 65 20 74 68 65 20 62 69  to deduce the bi
7110: 6e 61 72 79 20 74 79 70 65 20 62 61 73 65 64 20  nary type based 
7120: 6f 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 66 69  on the object fi
7130: 6c 65 73 2e 0a 21 49 46 44 45 46 20 50 4c 41 54  les..!IFDEF PLAT
7140: 46 4f 52 4d 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  FORM.LTLINKOPTS 
7150: 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49  = /NOLOGO /MACHI
7160: 4e 45 3a 24 28 50 4c 41 54 46 4f 52 4d 29 0a 4c  NE:$(PLATFORM).L
7170: 54 4c 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f  TLIBOPTS = /NOLO
7180: 47 4f 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50 4c  GO /MACHINE:$(PL
7190: 41 54 46 4f 52 4d 29 0a 21 45 4c 53 45 0a 4c 54  ATFORM).!ELSE.LT
71a0: 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f  LINKOPTS = /NOLO
71b0: 47 4f 0a 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f  GO.LTLIBOPTS = /
71c0: 4e 4f 4c 4f 47 4f 0a 21 45 4e 44 49 46 0a 0a 23  NOLOGO.!ENDIF..#
71d0: 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20   When compiling 
71e0: 66 6f 72 20 75 73 65 20 69 6e 20 74 68 65 20 57  for use in the W
71f0: 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74  inRT environment
7200: 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a  , the following.
7210: 23 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 20  # linker option 
7220: 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 6f 20  must be used to 
7230: 6d 61 72 6b 20 74 68 65 20 65 78 65 63 75 74 61  mark the executa
7240: 62 6c 65 20 61 73 20 72 75 6e 6e 61 62 6c 65 0a  ble as runnable.
7250: 23 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 63 6f  # only in the co
7260: 6e 74 65 78 74 20 6f 66 20 61 6e 20 61 70 70 6c  ntext of an appl
7270: 69 63 61 74 69 6f 6e 20 63 6f 6e 74 61 69 6e 65  ication containe
7280: 72 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57  r..#.!IF $(FOR_W
7290: 49 4e 52 54 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f  INRT)!=0.LTLINKO
72a0: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50  PTS = $(LTLINKOP
72b0: 54 53 29 20 2f 41 50 50 43 4f 4e 54 41 49 4e 45  TS) /APPCONTAINE
72c0: 52 0a 21 49 46 20 22 24 28 56 49 53 55 41 4c 53  R.!IF "$(VISUALS
72d0: 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d  TUDIOVERSION)"==
72e0: 22 31 32 2e 30 22 20 7c 7c 20 22 24 28 56 49 53  "12.0" || "$(VIS
72f0: 55 41 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e  UALSTUDIOVERSION
7300: 29 22 3d 3d 22 31 34 2e 30 22 0a 21 49 46 4e 44  )"=="14.0".!IFND
7310: 45 46 20 53 54 4f 52 45 4c 49 42 50 41 54 48 0a  EF STORELIBPATH.
7320: 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  !IF "$(PLATFORM)
7330: 22 3d 3d 22 78 38 36 22 0a 53 54 4f 52 45 4c 49  "=="x86".STORELI
7340: 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42  BPATH = $(CRTLIB
7350: 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 4c 53  PATH)\store.!ELS
7360: 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  EIF "$(PLATFORM)
7370: 22 3d 3d 22 78 36 34 22 0a 53 54 4f 52 45 4c 49  "=="x64".STORELI
7380: 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42  BPATH = $(CRTLIB
7390: 50 41 54 48 29 5c 73 74 6f 72 65 5c 61 6d 64 36  PATH)\store\amd6
73a0: 34 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c 41  4.!ELSEIF "$(PLA
73b0: 54 46 4f 52 4d 29 22 3d 3d 22 41 52 4d 22 0a 53  TFORM)"=="ARM".S
73c0: 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28  TORELIBPATH = $(
73d0: 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72  CRTLIBPATH)\stor
73e0: 65 5c 61 72 6d 0a 21 45 4c 53 45 0a 53 54 4f 52  e\arm.!ELSE.STOR
73f0: 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54  ELIBPATH = $(CRT
7400: 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65 0a 21  LIBPATH)\store.!
7410: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 53 54 4f  ENDIF.!ENDIF.STO
7420: 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 53 54  RELIBPATH = $(ST
7430: 4f 52 45 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29  ORELIBPATH:\\=\)
7440: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $(
7450: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49  LTLINKOPTS) "/LI
7460: 42 50 41 54 48 3a 24 28 53 54 4f 52 45 4c 49 42  BPATH:$(STORELIB
7470: 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45  PATH)".!ENDIF.!E
7480: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d  NDIF..# When com
7490: 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f  piling for Windo
74a0: 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 61 6e  ws Phone 8.1, an
74b0: 20 65 78 74 72 61 20 6c 69 62 72 61 72 79 20 70   extra library p
74c0: 61 74 68 20 69 73 0a 23 20 72 65 71 75 69 72 65  ath is.# require
74d0: 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 57  d..#.!IF $(USE_W
74e0: 50 38 31 5f 4f 50 54 53 29 21 3d 30 0a 21 49 46  P81_OPTS)!=0.!IF
74f0: 4e 44 45 46 20 57 50 38 31 4c 49 42 50 41 54 48  NDEF WP81LIBPATH
7500: 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d  .!IF "$(PLATFORM
7510: 29 22 3d 3d 22 78 38 36 22 0a 57 50 38 31 4c 49  )"=="x86".WP81LI
7520: 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41  BPATH = $(PROGRA
7530: 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64  MFILES_X86)\Wind
7540: 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38  ows Phone Kits\8
7550: 2e 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4c 53 45  .1\lib\x86.!ELSE
7560: 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22  IF "$(PLATFORM)"
7570: 3d 3d 22 41 52 4d 22 0a 57 50 38 31 4c 49 42 50  =="ARM".WP81LIBP
7580: 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d 46  ATH = $(PROGRAMF
7590: 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77  ILES_X86)\Window
75a0: 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31  s Phone Kits\8.1
75b0: 5c 6c 69 62 5c 41 52 4d 0a 21 45 4c 53 45 0a 57  \lib\ARM.!ELSE.W
75c0: 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24 28 50  P81LIBPATH = $(P
75d0: 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 29  ROGRAMFILES_X86)
75e0: 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b  \Windows Phone K
75f0: 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38 36 0a  its\8.1\lib\x86.
7600: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 21 45  !ENDIF.!ENDIF.!E
7610: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d  NDIF..# When com
7620: 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f  piling for Windo
7630: 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 73 6f  ws Phone 8.1, so
7640: 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b 65 72 20  me extra linker 
7650: 6f 70 74 69 6f 6e 73 0a 23 20 61 72 65 20 61 6c  options.# are al
7660: 73 6f 20 72 65 71 75 69 72 65 64 2e 0a 23 0a 21  so required..#.!
7670: 49 46 20 24 28 55 53 45 5f 57 50 38 31 5f 4f 50  IF $(USE_WP81_OP
7680: 54 53 29 21 3d 30 0a 21 49 46 44 45 46 20 57 50  TS)!=0.!IFDEF WP
7690: 38 31 4c 49 42 50 41 54 48 0a 4c 54 4c 49 4e 4b  81LIBPATH.LTLINK
76a0: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO
76b0: 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24  PTS) "/LIBPATH:$
76c0: 28 57 50 38 31 4c 49 42 50 41 54 48 29 22 0a 21  (WP81LIBPATH)".!
76d0: 45 4e 44 49 46 0a 4c 54 4c 49 4e 4b 4f 50 54 53  ENDIF.LTLINKOPTS
76e0: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS)
76f0: 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 0a 4c 54   /DYNAMICBASE.LT
7700: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL
7710: 49 4e 4b 4f 50 54 53 29 20 57 69 6e 64 6f 77 73  INKOPTS) Windows
7720: 50 68 6f 6e 65 43 6f 72 65 2e 6c 69 62 20 52 75  PhoneCore.lib Ru
7730: 6e 74 69 6d 65 4f 62 6a 65 63 74 2e 6c 69 62 20  ntimeObject.lib 
7740: 50 68 6f 6e 65 41 70 70 4d 6f 64 65 6c 48 6f 73  PhoneAppModelHos
7750: 74 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53  t.lib.LTLINKOPTS
7760: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS)
7770: 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b   /NODEFAULTLIB:k
7780: 65 72 6e 65 6c 33 32 2e 6c 69 62 20 2f 4e 4f 44  ernel32.lib /NOD
7790: 45 46 41 55 4c 54 4c 49 42 3a 6f 6c 65 33 32 2e  EFAULTLIB:ole32.
77a0: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68  lib.!ENDIF..# Wh
77b0: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72  en compiling for
77c0: 20 55 57 50 20 6f 72 20 74 68 65 20 57 69 6e 64   UWP or the Wind
77d0: 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 2c  ows 10 platform,
77e0: 20 73 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b   some extra link
77f0: 65 72 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65  er.# options are
7800: 20 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 0a   also required..
7810: 23 0a 21 49 46 20 24 28 46 4f 52 5f 55 57 50 29  #.!IF $(FOR_UWP)
7820: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e  !=0 || $(FOR_WIN
7830: 31 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54  10)!=0.LTLINKOPT
7840: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS
7850: 29 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 20 2f  ) /DYNAMICBASE /
7860: 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65 72  NODEFAULTLIB:ker
7870: 6e 65 6c 33 32 2e 6c 69 62 0a 4c 54 4c 49 4e 4b  nel32.lib.LTLINK
7880: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO
7890: 50 54 53 29 20 6d 69 6e 63 6f 72 65 2e 6c 69 62  PTS) mincore.lib
78a0: 0a 21 49 46 44 45 46 20 50 53 44 4b 4c 49 42 50  .!IFDEF PSDKLIBP
78b0: 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  ATH.LTLINKOPTS =
78c0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22   $(LTLINKOPTS) "
78d0: 2f 4c 49 42 50 41 54 48 3a 24 28 50 53 44 4b 4c  /LIBPATH:$(PSDKL
78e0: 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a  IBPATH)".!ENDIF.
78f0: 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 46 4f  !ENDIF..!IF $(FO
7900: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54 4c 49  R_WIN10)!=0.LTLI
7910: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e  NKOPTS = $(LTLIN
7920: 4b 4f 50 54 53 29 20 2f 67 75 61 72 64 3a 63 66  KOPTS) /guard:cf
7930: 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 55 43 52   "/LIBPATH:$(UCR
7940: 54 4c 49 42 50 41 54 48 29 22 0a 21 49 46 20 24  TLIBPATH)".!IF $
7950: 28 44 45 42 55 47 29 3e 31 0a 4c 54 4c 49 4e 4b  (DEBUG)>1.LTLINK
7960: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO
7970: 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c  PTS) /NODEFAULTL
7980: 49 42 3a 6c 69 62 75 63 72 74 64 2e 6c 69 62 20  IB:libucrtd.lib 
7990: 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 72 74  /DEFAULTLIB:ucrt
79a0: 64 2e 6c 69 62 0a 21 45 4c 53 45 0a 4c 54 4c 49  d.lib.!ELSE.LTLI
79b0: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e  NKOPTS = $(LTLIN
79c0: 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c  KOPTS) /NODEFAUL
79d0: 54 4c 49 42 3a 6c 69 62 75 63 72 74 2e 6c 69 62  TLIB:libucrt.lib
79e0: 20 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 72   /DEFAULTLIB:ucr
79f0: 74 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21 45 4e  t.lib.!ENDIF.!EN
7a00: 44 49 46 0a 0a 23 20 49 66 20 65 69 74 68 65 72  DIF..# If either
7a10: 20 64 65 62 75 67 67 69 6e 67 20 6f 72 20 73 79   debugging or sy
7a20: 6d 62 6f 6c 73 20 61 72 65 20 65 6e 61 62 6c 65  mbols are enable
7a30: 64 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 2e 0a  d, enable PDBs..
7a40: 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31  #.!IF $(DEBUG)>1
7a50: 20 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21 3d   || $(SYMBOLS)!=
7a60: 30 0a 4c 44 46 4c 41 47 53 20 3d 20 2f 44 45 42  0.LDFLAGS = /DEB
7a70: 55 47 20 24 28 4c 44 4f 50 54 53 29 0a 21 45 4c  UG $(LDOPTS).!EL
7a80: 53 45 0a 4c 44 46 4c 41 47 53 20 3d 20 24 28 4c  SE.LDFLAGS = $(L
7a90: 44 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23  DOPTS).!ENDIF..#
7aa0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 74 61 72   <<mark>>.# Star
7ab0: 74 20 77 69 74 68 20 74 68 65 20 54 63 6c 20 72  t with the Tcl r
7ac0: 65 6c 61 74 65 64 20 6c 69 6e 6b 65 72 20 6f 70  elated linker op
7ad0: 74 69 6f 6e 73 2e 0a 23 0a 21 49 46 20 24 28 4e  tions..#.!IF $(N
7ae0: 4f 5f 54 43 4c 29 3d 3d 30 0a 54 43 4c 4c 49 42  O_TCL)==0.TCLLIB
7af0: 50 41 54 48 53 20 3d 20 24 28 54 43 4c 4c 49 42  PATHS = $(TCLLIB
7b00: 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54 48 3a  PATHS) /LIBPATH:
7b10: 24 28 54 43 4c 4c 49 42 44 49 52 29 0a 54 43 4c  $(TCLLIBDIR).TCL
7b20: 4c 49 42 53 20 3d 20 24 28 54 43 4c 4c 49 42 53  LIBS = $(TCLLIBS
7b30: 29 20 24 28 4c 49 42 54 43 4c 29 0a 21 45 4e 44  ) $(LIBTCL).!END
7b40: 49 46 0a 0a 23 20 49 66 20 7a 6c 69 62 20 73 75  IF..# If zlib su
7b50: 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64  pport is enabled
7b60: 2c 20 61 64 64 20 74 68 65 20 6c 69 6e 6b 65 72  , add the linker
7b70: 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e   options for it.
7b80: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49  .#.!IF $(USE_ZLI
7b90: 42 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54 48 53  B)!=0.LTLIBPATHS
7ba0: 20 3d 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29   = $(LTLIBPATHS)
7bb0: 20 2f 4c 49 42 50 41 54 48 3a 24 28 5a 4c 49 42   /LIBPATH:$(ZLIB
7bc0: 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d  LIBDIR).LTLIBS =
7bd0: 20 24 28 4c 54 4c 49 42 53 29 20 24 28 5a 4c 49   $(LTLIBS) $(ZLI
7be0: 42 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20  BLIB).!ENDIF..# 
7bf0: 49 66 20 49 43 55 20 73 75 70 70 6f 72 74 20 69  If ICU support i
7c00: 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74  s enabled, add t
7c10: 68 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e  he linker option
7c20: 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20  s for it..#.!IF 
7c30: 24 28 55 53 45 5f 49 43 55 29 21 3d 30 0a 4c 54  $(USE_ICU)!=0.LT
7c40: 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4c 54 4c  LIBPATHS = $(LTL
7c50: 49 42 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54  IBPATHS) /LIBPAT
7c60: 48 3a 24 28 49 43 55 4c 49 42 44 49 52 29 0a 4c  H:$(ICULIBDIR).L
7c70: 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49 42 53  TLIBS = $(LTLIBS
7c80: 29 20 24 28 4c 49 42 49 43 55 29 0a 21 45 4e 44  ) $(LIBICU).!END
7c90: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  IF.# <</mark>>..
7ca0: 23 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74  # You should not
7cb0: 20 68 61 76 65 20 74 6f 20 63 68 61 6e 67 65 20   have to change 
7cc0: 61 6e 79 74 68 69 6e 67 20 62 65 6c 6f 77 20 74  anything below t
7cd0: 68 69 73 20 6c 69 6e 65 0a 23 23 23 23 23 23 23  his line.#######
7ce0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7cf0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7d00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7d10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7d20: 23 23 23 23 23 23 23 23 0a 0a 23 20 3c 3c 6d 61  ########..# <<ma
7d30: 72 6b 3e 3e 0a 23 20 4f 62 6a 65 63 74 20 66 69  rk>>.# Object fi
7d40: 6c 65 73 20 66 6f 72 20 74 68 65 20 53 51 4c 69  les for the SQLi
7d50: 74 65 20 6c 69 62 72 61 72 79 20 28 6e 6f 6e 2d  te library (non-
7d60: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23  amalgamation)..#
7d70: 0a 4c 49 42 4f 42 4a 53 30 20 3d 20 76 64 62 65  .LIBOBJS0 = vdbe
7d80: 2e 6c 6f 20 70 61 72 73 65 2e 6c 6f 20 61 6c 74  .lo parse.lo alt
7d90: 65 72 2e 6c 6f 20 61 6e 61 6c 79 7a 65 2e 6c 6f  er.lo analyze.lo
7da0: 20 61 74 74 61 63 68 2e 6c 6f 20 61 75 74 68 2e   attach.lo auth.
7db0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 62 61  lo \.         ba
7dc0: 63 6b 75 70 2e 6c 6f 20 62 69 74 76 65 63 2e 6c  ckup.lo bitvec.l
7dd0: 6f 20 62 74 6d 75 74 65 78 2e 6c 6f 20 62 74 72  o btmutex.lo btr
7de0: 65 65 2e 6c 6f 20 62 75 69 6c 64 2e 6c 6f 20 5c  ee.lo build.lo \
7df0: 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 61  .         callba
7e00: 63 6b 2e 6c 6f 20 63 6f 6d 70 6c 65 74 65 2e 6c  ck.lo complete.l
7e10: 6f 20 63 74 69 6d 65 2e 6c 6f 20 5c 0a 20 20 20  o ctime.lo \.   
7e20: 20 20 20 20 20 20 64 61 74 65 2e 6c 6f 20 64 62        date.lo db
7e30: 70 61 67 65 2e 6c 6f 20 64 62 73 74 61 74 2e 6c  page.lo dbstat.l
7e40: 6f 20 64 65 6c 65 74 65 2e 6c 6f 20 5c 0a 20 20  o delete.lo \.  
7e50: 20 20 20 20 20 20 20 65 78 70 72 2e 6c 6f 20 66         expr.lo f
7e60: 61 75 6c 74 2e 6c 6f 20 66 6b 65 79 2e 6c 6f 20  ault.lo fkey.lo 
7e70: 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 2e  \.         fts3.
7e80: 6c 6f 20 66 74 73 33 5f 61 75 78 2e 6c 6f 20 66  lo fts3_aux.lo f
7e90: 74 73 33 5f 65 78 70 72 2e 6c 6f 20 66 74 73 33  ts3_expr.lo fts3
7ea0: 5f 68 61 73 68 2e 6c 6f 20 66 74 73 33 5f 69 63  _hash.lo fts3_ic
7eb0: 75 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  u.lo \.         
7ec0: 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f 20 66  fts3_porter.lo f
7ed0: 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 20 66  ts3_snippet.lo f
7ee0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f  ts3_tokenizer.lo
7ef0: 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31   fts3_tokenizer1
7f00: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66  .lo \.         f
7f10: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61  ts3_tokenize_vta
7f20: 62 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64  b.lo fts3_unicod
7f30: 65 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64  e.lo fts3_unicod
7f40: 65 32 2e 6c 6f 20 66 74 73 33 5f 77 72 69 74 65  e2.lo fts3_write
7f50: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66  .lo \.         f
7f60: 74 73 35 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ts5.lo \.       
7f70: 20 20 66 75 6e 63 2e 6c 6f 20 67 6c 6f 62 61 6c    func.lo global
7f80: 2e 6c 6f 20 68 61 73 68 2e 6c 6f 20 5c 0a 20 20  .lo hash.lo \.  
7f90: 20 20 20 20 20 20 20 69 63 75 2e 6c 6f 20 69 6e         icu.lo in
7fa0: 73 65 72 74 2e 6c 6f 20 6a 73 6f 6e 31 2e 6c 6f  sert.lo json1.lo
7fb0: 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f 61 64 65   legacy.lo loade
7fc0: 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  xt.lo \.        
7fd0: 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c 6f 63 2e   main.lo malloc.
7fe0: 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65 6d 31 2e  lo mem0.lo mem1.
7ff0: 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65 6d 33 2e  lo mem2.lo mem3.
8000: 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a 20 20 20  lo mem5.lo \.   
8010: 20 20 20 20 20 20 6d 65 6d 64 62 2e 6c 6f 20 6d        memdb.lo m
8020: 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 20 5c 0a 20  emjournal.lo \. 
8030: 20 20 20 20 20 20 20 20 6d 75 74 65 78 2e 6c 6f          mutex.lo
8040: 20 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 20 6d   mutex_noop.lo m
8050: 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 20 6d 75 74  utex_unix.lo mut
8060: 65 78 5f 77 33 32 2e 6c 6f 20 5c 0a 20 20 20 20  ex_w32.lo \.    
8070: 20 20 20 20 20 6e 6f 74 69 66 79 2e 6c 6f 20 6f       notify.lo o
8080: 70 63 6f 64 65 73 2e 6c 6f 20 6f 73 2e 6c 6f 20  pcodes.lo os.lo 
8090: 6f 73 5f 75 6e 69 78 2e 6c 6f 20 6f 73 5f 77 69  os_unix.lo os_wi
80a0: 6e 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  n.lo \.         
80b0: 70 61 67 65 72 2e 6c 6f 20 70 63 61 63 68 65 2e  pager.lo pcache.
80c0: 6c 6f 20 70 63 61 63 68 65 31 2e 6c 6f 20 70 72  lo pcache1.lo pr
80d0: 61 67 6d 61 2e 6c 6f 20 70 72 65 70 61 72 65 2e  agma.lo prepare.
80e0: 6c 6f 20 70 72 69 6e 74 66 2e 6c 6f 20 5c 0a 20  lo printf.lo \. 
80f0: 20 20 20 20 20 20 20 20 72 61 6e 64 6f 6d 2e 6c          random.l
8100: 6f 20 72 65 73 6f 6c 76 65 2e 6c 6f 20 72 6f 77  o resolve.lo row
8110: 73 65 74 2e 6c 6f 20 72 74 72 65 65 2e 6c 6f 20  set.lo rtree.lo 
8120: 5c 0a 20 20 20 20 20 20 20 20 20 73 71 6c 69 74  \.         sqlit
8130: 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 20 73 65 6c  e3session.lo sel
8140: 65 63 74 2e 6c 6f 20 73 71 6c 69 74 65 33 72 62  ect.lo sqlite3rb
8150: 75 2e 6c 6f 20 73 74 61 74 75 73 2e 6c 6f 20 73  u.lo status.lo s
8160: 74 6d 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  tmt.lo \.       
8170: 20 20 74 61 62 6c 65 2e 6c 6f 20 74 68 72 65 61    table.lo threa
8180: 64 73 2e 6c 6f 20 74 6f 6b 65 6e 69 7a 65 2e 6c  ds.lo tokenize.l
8190: 6f 20 74 72 65 65 76 69 65 77 2e 6c 6f 20 74 72  o treeview.lo tr
81a0: 69 67 67 65 72 2e 6c 6f 20 5c 0a 20 20 20 20 20  igger.lo \.     
81b0: 20 20 20 20 75 70 64 61 74 65 2e 6c 6f 20 75 70      update.lo up
81c0: 73 65 72 74 2e 6c 6f 20 75 74 69 6c 2e 6c 6f 20  sert.lo util.lo 
81d0: 76 61 63 75 75 6d 2e 6c 6f 20 5c 0a 20 20 20 20  vacuum.lo \.    
81e0: 20 20 20 20 20 76 64 62 65 61 70 69 2e 6c 6f 20       vdbeapi.lo 
81f0: 76 64 62 65 61 75 78 2e 6c 6f 20 76 64 62 65 62  vdbeaux.lo vdbeb
8200: 6c 6f 62 2e 6c 6f 20 76 64 62 65 6d 65 6d 2e 6c  lob.lo vdbemem.l
8210: 6f 20 76 64 62 65 73 6f 72 74 2e 6c 6f 20 5c 0a  o vdbesort.lo \.
8220: 20 20 20 20 20 20 20 20 20 76 64 62 65 74 72 61           vdbetra
8230: 63 65 2e 6c 6f 20 77 61 6c 2e 6c 6f 20 77 61 6c  ce.lo wal.lo wal
8240: 6b 65 72 2e 6c 6f 20 77 68 65 72 65 2e 6c 6f 20  ker.lo where.lo 
8250: 77 68 65 72 65 63 6f 64 65 2e 6c 6f 20 77 68 65  wherecode.lo whe
8260: 72 65 65 78 70 72 2e 6c 6f 20 5c 0a 20 20 20 20  reexpr.lo \.    
8270: 20 20 20 20 20 77 69 6e 64 6f 77 2e 6c 6f 20 75       window.lo u
8280: 74 66 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a 23 20  tf.lo vtab.lo.# 
8290: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f 62 6a  <</mark>>..# Obj
82a0: 65 63 74 20 66 69 6c 65 73 20 66 6f 72 20 74 68  ect files for th
82b0: 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a  e amalgamation..
82c0: 23 0a 4c 49 42 4f 42 4a 53 31 20 3d 20 73 71 6c  #.LIBOBJS1 = sql
82d0: 69 74 65 33 2e 6c 6f 0a 0a 23 20 44 65 74 65 72  ite3.lo..# Deter
82e0: 6d 69 6e 65 20 74 68 65 20 72 65 61 6c 20 76 61  mine the real va
82f0: 6c 75 65 20 6f 66 20 4c 49 42 4f 42 4a 20 62 61  lue of LIBOBJ ba
8300: 73 65 64 20 6f 6e 20 74 68 65 20 27 63 6f 6e 66  sed on the 'conf
8310: 69 67 75 72 65 27 20 73 63 72 69 70 74 0a 23 0a  igure' script.#.
8320: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46 20 24  # <<mark>>.!IF $
8330: 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f  (USE_AMALGAMATIO
8340: 4e 29 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d 20 24  N)==0.LIBOBJ = $
8350: 28 4c 49 42 4f 42 4a 53 30 29 0a 21 45 4c 53 45  (LIBOBJS0).!ELSE
8360: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c 49 42  .# <</mark>>.LIB
8370: 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53 31  OBJ = $(LIBOBJS1
8380: 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4e  ).# <<mark>>.!EN
8390: 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  DIF.# <</mark>>.
83a0: 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 69 66 20  .# Determine if 
83b0: 65 6d 62 65 64 64 65 64 20 72 65 73 6f 75 72 63  embedded resourc
83c0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e  e compilation an
83d0: 64 20 75 73 61 67 65 20 61 72 65 20 65 6e 61 62  d usage are enab
83e0: 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45  led..#.!IF $(USE
83f0: 5f 52 43 29 21 3d 30 0a 4c 49 42 52 45 53 4f 42  _RC)!=0.LIBRESOB
8400: 4a 53 20 3d 20 73 71 6c 69 74 65 33 72 65 73 2e  JS = sqlite3res.
8410: 6c 6f 0a 21 45 4c 53 45 0a 4c 49 42 52 45 53 4f  lo.!ELSE.LIBRESO
8420: 42 4a 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20  BJS =.!ENDIF..# 
8430: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 43 6f 72 65 20  <<mark>>.# Core 
8440: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65  source code file
8450: 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43  s, part 1..#.SRC
8460: 30 30 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c  00 = \.  $(TOP)\
8470: 73 72 63 5c 61 6c 74 65 72 2e 63 20 5c 0a 20 20  src\alter.c \.  
8480: 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79  $(TOP)\src\analy
8490: 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ze.c \.  $(TOP)\
84a0: 73 72 63 5c 61 74 74 61 63 68 2e 63 20 5c 0a 20  src\attach.c \. 
84b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68   $(TOP)\src\auth
84c0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
84d0: 63 5c 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24  c\backup.c \.  $
84e0: 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63  (TOP)\src\bitvec
84f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8500: 63 5c 62 74 6d 75 74 65 78 2e 63 20 5c 0a 20 20  c\btmutex.c \.  
8510: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree
8520: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8530: 63 5c 62 75 69 6c 64 2e 63 20 5c 0a 20 20 24 28  c\build.c \.  $(
8540: 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63  TOP)\src\callbac
8550: 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  k.c \.  $(TOP)\s
8560: 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 5c 0a  rc\complete.c \.
8570: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69    $(TOP)\src\cti
8580: 6d 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  me.c \.  $(TOP)\
8590: 73 72 63 5c 64 61 74 65 2e 63 20 5c 0a 20 20 24  src\date.c \.  $
85a0: 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67 65  (TOP)\src\dbpage
85b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
85c0: 63 5c 64 62 73 74 61 74 2e 63 20 5c 0a 20 20 24  c\dbstat.c \.  $
85d0: 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65  (TOP)\src\delete
85e0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
85f0: 63 5c 65 78 70 72 2e 63 20 5c 0a 20 20 24 28 54  c\expr.c \.  $(T
8600: 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20  OP)\src\fault.c 
8610: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66  \.  $(TOP)\src\f
8620: 6b 65 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  key.c \.  $(TOP)
8630: 5c 73 72 63 5c 66 75 6e 63 2e 63 20 5c 0a 20 20  \src\func.c \.  
8640: 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61  $(TOP)\src\globa
8650: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  l.c \.  $(TOP)\s
8660: 72 63 5c 68 61 73 68 2e 63 20 5c 0a 20 20 24 28  rc\hash.c \.  $(
8670: 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e  TOP)\src\insert.
8680: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8690: 5c 6c 65 67 61 63 79 2e 63 20 5c 0a 20 20 24 28  \legacy.c \.  $(
86a0: 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74  TOP)\src\loadext
86b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
86c0: 63 5c 6d 61 69 6e 2e 63 20 5c 0a 20 20 24 28 54  c\main.c \.  $(T
86d0: 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63  OP)\src\malloc.c
86e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
86f0: 6d 65 6d 30 2e 63 20 5c 0a 20 20 24 28 54 4f 50  mem0.c \.  $(TOP
8700: 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 5c 0a 20  )\src\mem1.c \. 
8710: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32   $(TOP)\src\mem2
8720: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8730: 63 5c 6d 65 6d 33 2e 63 20 5c 0a 20 20 24 28 54  c\mem3.c \.  $(T
8740: 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 5c  OP)\src\mem5.c \
8750: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  .  $(TOP)\src\me
8760: 6d 64 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  mdb.c \.  $(TOP)
8770: 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e  \src\memjournal.
8780: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8790: 5c 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 54  \mutex.c \.  $(T
87a0: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f  OP)\src\mutex_no
87b0: 6f 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  op.c \.  $(TOP)\
87c0: 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63  src\mutex_unix.c
87d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
87e0: 6d 75 74 65 78 5f 77 33 32 2e 63 20 5c 0a 20 20  mutex_w32.c \.  
87f0: 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66  $(TOP)\src\notif
8800: 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  y.c \.  $(TOP)\s
8810: 72 63 5c 6f 73 2e 63 20 5c 0a 20 20 24 28 54 4f  rc\os.c \.  $(TO
8820: 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63  P)\src\os_unix.c
8830: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8840: 6f 73 5f 77 69 6e 2e 63 0a 0a 23 20 43 6f 72 65  os_win.c..# Core
8850: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c   source code fil
8860: 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52  es, part 2..#.SR
8870: 43 30 31 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C01 = \.  $(TOP)
8880: 5c 73 72 63 5c 70 61 67 65 72 2e 63 20 5c 0a 20  \src\pager.c \. 
8890: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63   $(TOP)\src\pcac
88a0: 68 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  he.c \.  $(TOP)\
88b0: 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20 5c 0a  src\pcache1.c \.
88c0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61    $(TOP)\src\pra
88d0: 67 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  gma.c \.  $(TOP)
88e0: 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 20 5c  \src\prepare.c \
88f0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  .  $(TOP)\src\pr
8900: 69 6e 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50  intf.c \.  $(TOP
8910: 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 5c  )\src\random.c \
8920: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 65  .  $(TOP)\src\re
8930: 73 6f 6c 76 65 2e 63 20 5c 0a 20 20 24 28 54 4f  solve.c \.  $(TO
8940: 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20  P)\src\rowset.c 
8950: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s
8960: 65 6c 65 63 74 2e 63 20 5c 0a 20 20 24 28 54 4f  elect.c \.  $(TO
8970: 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20  P)\src\status.c 
8980: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8990: 61 62 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  able.c \.  $(TOP
89a0: 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20  )\src\threads.c 
89b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
89c0: 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24  clsqlite.c \.  $
89d0: 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69  (TOP)\src\tokeni
89e0: 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ze.c \.  $(TOP)\
89f0: 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63 20 5c  src\treeview.c \
8a00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72  .  $(TOP)\src\tr
8a10: 69 67 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  igger.c \.  $(TO
8a20: 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 5c 0a 20  P)\src\utf.c \. 
8a30: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61   $(TOP)\src\upda
8a40: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\
8a50: 73 72 63 5c 75 70 73 65 72 74 2e 63 20 5c 0a 20  src\upsert.c \. 
8a60: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c   $(TOP)\src\util
8a70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8a80: 63 5c 76 61 63 75 75 6d 2e 63 20 5c 0a 20 20 24  c\vacuum.c \.  $
8a90: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
8aa0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8ab0: 76 64 62 65 61 70 69 2e 63 20 5c 0a 20 20 24 28  vdbeapi.c \.  $(
8ac0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78  TOP)\src\vdbeaux
8ad0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8ae0: 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 5c 0a 20  c\vdbeblob.c \. 
8af0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
8b00: 6d 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  mem.c \.  $(TOP)
8b10: 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 20  \src\vdbesort.c 
8b20: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  \.  $(TOP)\src\v
8b30: 64 62 65 74 72 61 63 65 2e 63 20 5c 0a 20 20 24  dbetrace.c \.  $
8b40: 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63  (TOP)\src\vtab.c
8b50: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8b60: 77 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  wal.c \.  $(TOP)
8b70: 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20 5c 0a  \src\walker.c \.
8b80: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65    $(TOP)\src\whe
8b90: 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  re.c \.  $(TOP)\
8ba0: 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 20  src\wherecode.c 
8bb0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77  \.  $(TOP)\src\w
8bc0: 68 65 72 65 65 78 70 72 2e 63 20 5c 0a 20 20 24  hereexpr.c \.  $
8bd0: 28 54 4f 50 29 5c 73 72 63 5c 77 69 6e 64 6f 77  (TOP)\src\window
8be0: 2e 63 0a 0a 23 20 43 6f 72 65 20 6d 69 73 63 65  .c..# Core misce
8bf0: 6c 6c 61 6e 65 6f 75 73 20 66 69 6c 65 73 2e 0a  llaneous files..
8c00: 23 0a 53 52 43 30 33 20 3d 20 5c 0a 20 20 24 28  #.SRC03 = \.  $(
8c10: 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e 79  TOP)\src\parse.y
8c20: 0a 0a 23 20 43 6f 72 65 20 68 65 61 64 65 72 20  ..# Core header 
8c30: 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23  files, part 1..#
8c40: 0a 53 52 43 30 34 20 3d 20 5c 0a 20 20 24 28 54  .SRC04 = \.  $(T
8c50: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 68 20  OP)\src\btree.h 
8c60: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62  \.  $(TOP)\src\b
8c70: 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28  treeInt.h \.  $(
8c80: 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 68 20  TOP)\src\hash.h 
8c90: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68  \.  $(TOP)\src\h
8ca0: 77 74 69 6d 65 2e 68 20 5c 0a 20 20 24 28 54 4f  wtime.h \.  $(TO
8cb0: 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c 0a  P)\src\msvc.h \.
8cc0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74    $(TOP)\src\mut
8cd0: 65 78 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ex.h \.  $(TOP)\
8ce0: 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 24 28 54  src\os.h \.  $(T
8cf0: 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f  OP)\src\os_commo
8d00: 6e 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  n.h \.  $(TOP)\s
8d10: 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20 5c 0a  rc\os_setup.h \.
8d20: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f    $(TOP)\src\os_
8d30: 77 69 6e 2e 68 0a 0a 23 20 43 6f 72 65 20 68 65  win.h..# Core he
8d40: 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74  ader files, part
8d50: 20 32 2e 0a 23 0a 53 52 43 30 35 20 3d 20 5c 0a   2..#.SRC05 = \.
8d60: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67    $(TOP)\src\pag
8d70: 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.h \.  $(TOP)\
8d80: 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20  src\pcache.h \. 
8d90: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67   $(TOP)\src\prag
8da0: 6d 61 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ma.h \.  $(TOP)\
8db0: 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20  src\sqlite.h.in 
8dc0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s
8dd0: 71 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a 20 20  qlite3ext.h \.  
8de0: 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74  $(TOP)\src\sqlit
8df0: 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50  eInt.h \.  $(TOP
8e00: 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c 69 6d 69  )\src\sqliteLimi
8e10: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.h \.  $(TOP)\s
8e20: 72 63 5c 76 64 62 65 2e 68 20 5c 0a 20 20 24 28  rc\vdbe.h \.  $(
8e30: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 49 6e 74  TOP)\src\vdbeInt
8e40: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
8e50: 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20  c\vxworks.h \.  
8e60: 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 68  $(TOP)\src\wal.h
8e70: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8e80: 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20 45 78  whereInt.h..# Ex
8e90: 74 65 6e 73 69 6f 6e 20 73 6f 75 72 63 65 20 63  tension source c
8ea0: 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20  ode files, part 
8eb0: 31 2e 0a 23 0a 53 52 43 30 36 20 3d 20 5c 0a 20  1..#.SRC06 = \. 
8ec0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31   $(TOP)\ext\fts1
8ed0: 5c 66 74 73 31 2e 63 20 5c 0a 20 20 24 28 54 4f  \fts1.c \.  $(TO
8ee0: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
8ef0: 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f  _hash.c \.  $(TO
8f00: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
8f10: 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24 28  _porter.c \.  $(
8f20: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
8f30: 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20  s1_tokenizer1.c 
8f40: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
8f50: 74 73 32 5c 66 74 73 32 2e 63 20 5c 0a 20 20 24  ts2\fts2.c \.  $
8f60: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
8f70: 74 73 32 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24  ts2_hash.c \.  $
8f80: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
8f90: 74 73 32 5f 69 63 75 2e 63 20 5c 0a 20 20 24 28  ts2_icu.c \.  $(
8fa0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
8fb0: 73 32 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20  s2_porter.c \.  
8fc0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
8fd0: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63  fts2_tokenizer.c
8fe0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8ff0: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69  fts2\fts2_tokeni
9000: 7a 65 72 31 2e 63 0a 0a 23 20 45 78 74 65 6e 73  zer1.c..# Extens
9010: 69 6f 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20  ion source code 
9020: 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23  files, part 2..#
9030: 0a 53 52 43 30 37 20 3d 20 5c 0a 20 20 24 28 54  .SRC07 = \.  $(T
9040: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
9050: 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  3.c \.  $(TOP)\e
9060: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 78  xt\fts3\fts3_aux
9070: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9080: 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70 72  t\fts3\fts3_expr
9090: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
90a0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68  t\fts3\fts3_hash
90b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
90c0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e  t\fts3\fts3_icu.
90d0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
90e0: 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65  \fts3\fts3_porte
90f0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e
9100: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69  xt\fts3\fts3_sni
9110: 70 70 65 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ppet.c \.  $(TOP
9120: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
9130: 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20  tokenizer.c \.  
9140: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
9150: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts3_tokenizer1.
9160: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9170: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e  \fts3\fts3_token
9180: 69 7a 65 5f 76 74 61 62 2e 63 20 5c 0a 20 20 24  ize_vtab.c \.  $
9190: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
91a0: 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20 5c 0a  ts3_unicode.c \.
91b0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
91c0: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e  3\fts3_unicode2.
91d0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
91e0: 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65  \fts3\fts3_write
91f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9200: 74 5c 69 63 75 5c 69 63 75 2e 63 20 5c 0a 20 20  t\icu\icu.c \.  
9210: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65  $(TOP)\ext\rtree
9220: 5c 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 54  \rtree.c \.  $(T
9230: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
9240: 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 63  sqlite3session.c
9250: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9260: 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63  rbu\sqlite3rbu.c
9270: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9280: 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 20 5c 0a 20  misc\json1.c \. 
9290: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
92a0: 5c 73 74 6d 74 2e 63 0a 0a 23 20 45 78 74 65 6e  \stmt.c..# Exten
92b0: 73 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65  sion header file
92c0: 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43  s, part 1..#.SRC
92d0: 30 38 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c  08 = \.  $(TOP)\
92e0: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 68 20  ext\fts1\fts1.h 
92f0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9300: 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 68 20  ts1\fts1_hash.h 
9310: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9320: 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69 7a  ts1\fts1_tokeniz
9330: 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.h \.  $(TOP)\
9340: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 68 20  ext\fts2\fts2.h 
9350: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9360: 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 68 20  ts2\fts2_hash.h 
9370: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9380: 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a  ts2\fts2_tokeniz
9390: 65 72 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f  er.h..# Extensio
93a0: 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20  n header files, 
93b0: 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 39 20  part 2..#.SRC09 
93c0: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  = \.  $(TOP)\ext
93d0: 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a 20  \fts3\fts3.h \. 
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 49 6e 74 2e 68 20 5c 0a 20 20 24  \fts3Int.h \.  $
9400: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
9410: 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24  ts3_hash.h \.  $
9420: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
9430: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20  ts3_tokenizer.h 
9440: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69  \.  $(TOP)\ext\i
9450: 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 20 5c  cu\sqliteicu.h \
9460: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74  .  $(TOP)\ext\rt
9470: 72 65 65 5c 72 74 72 65 65 2e 68 20 5c 0a 20 20  ree\rtree.h \.  
9480: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65  $(TOP)\ext\rtree
9490: 5c 67 65 6f 70 6f 6c 79 2e 63 20 5c 0a 20 20 24  \geopoly.c \.  $
94a0: 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71  (TOP)\ext\rbu\sq
94b0: 6c 69 74 65 33 72 62 75 2e 68 20 5c 0a 20 20 24  lite3rbu.h \.  $
94c0: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
94d0: 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  n\sqlite3session
94e0: 2e 68 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20  .h..# Generated 
94f0: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65  source code file
9500: 73 0a 23 0a 53 52 43 31 30 20 3d 20 5c 0a 20 20  s.#.SRC10 = \.  
9510: 6f 70 63 6f 64 65 73 2e 63 20 5c 0a 20 20 70 61  opcodes.c \.  pa
9520: 72 73 65 2e 63 0a 0a 23 20 47 65 6e 65 72 61 74  rse.c..# Generat
9530: 65 64 20 68 65 61 64 65 72 20 66 69 6c 65 73 0a  ed header files.
9540: 23 0a 53 52 43 31 31 20 3d 20 5c 0a 20 20 6b 65  #.SRC11 = \.  ke
9550: 79 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a 20 20  ywordhash.h \.  
9560: 6f 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20 70 61  opcodes.h \.  pa
9570: 72 73 65 2e 68 20 5c 0a 20 20 73 68 65 6c 6c 2e  rse.h \.  shell.
9580: 63 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 33 48  c \.  $(SQLITE3H
9590: 29 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20 54  )..# Generated T
95a0: 63 6c 20 68 65 61 64 65 72 20 66 69 6c 65 73 0a  cl header files.
95b0: 23 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43  #.!IF $(USE_STDC
95c0: 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ALL)!=0 || $(FOR
95d0: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 52 43 31 32  _WIN10)!=0.SRC12
95e0: 20 3d 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 54   = \.  $(SQLITET
95f0: 43 4c 48 29 20 5c 0a 20 20 24 28 53 51 4c 49 54  CLH) \.  $(SQLIT
9600: 45 54 43 4c 44 45 43 4c 53 48 29 0a 21 45 4c 53  ETCLDECLSH).!ELS
9610: 45 0a 53 52 43 31 32 20 3d 0a 21 45 4e 44 49 46  E.SRC12 =.!ENDIF
9620: 0a 0a 23 20 41 6c 6c 20 73 6f 75 72 63 65 20 63  ..# All source c
9630: 6f 64 65 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43  ode files..#.SRC
9640: 20 3d 20 24 28 53 52 43 30 30 29 20 24 28 53 52   = $(SRC00) $(SR
9650: 43 30 31 29 20 24 28 53 52 43 30 33 29 20 24 28  C01) $(SRC03) $(
9660: 53 52 43 30 34 29 20 24 28 53 52 43 30 35 29 20  SRC04) $(SRC05) 
9670: 24 28 53 52 43 30 36 29 20 24 28 53 52 43 30 37  $(SRC06) $(SRC07
9680: 29 20 24 28 53 52 43 30 38 29 20 24 28 53 52 43  ) $(SRC08) $(SRC
9690: 30 39 29 20 24 28 53 52 43 31 30 29 20 24 28 53  09) $(SRC10) $(S
96a0: 52 43 31 31 29 0a 0a 23 20 53 6f 75 72 63 65 20  RC11)..# Source 
96b0: 63 6f 64 65 20 74 6f 20 74 68 65 20 74 65 73 74  code to the test
96c0: 20 66 69 6c 65 73 2e 0a 23 0a 54 45 53 54 53 52   files..#.TESTSR
96d0: 43 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  C = \.  $(TOP)\s
96e0: 72 63 5c 74 65 73 74 31 2e 63 20 5c 0a 20 20 24  rc\test1.c \.  $
96f0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 32 2e  (TOP)\src\test2.
9700: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9710: 5c 74 65 73 74 33 2e 63 20 5c 0a 20 20 24 28 54  \test3.c \.  $(T
9720: 4f 50 29 5c 73 72 63 5c 74 65 73 74 34 2e 63 20  OP)\src\test4.c 
9730: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9740: 65 73 74 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est5.c \.  $(TOP
9750: 29 5c 73 72 63 5c 74 65 73 74 36 2e 63 20 5c 0a  )\src\test6.c \.
9760: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9770: 74 37 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  t7.c \.  $(TOP)\
9780: 73 72 63 5c 74 65 73 74 38 2e 63 20 5c 0a 20 20  src\test8.c \.  
9790: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 39  $(TOP)\src\test9
97a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
97b0: 63 5c 74 65 73 74 5f 61 75 74 6f 65 78 74 2e 63  c\test_autoext.c
97c0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
97d0: 74 65 73 74 5f 61 73 79 6e 63 2e 63 20 5c 0a 20  test_async.c \. 
97e0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
97f0: 5f 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24 28  _backup.c \.  $(
9800: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 65  TOP)\src\test_be
9810: 73 74 69 6e 64 65 78 2e 63 20 5c 0a 20 20 24 28  stindex.c \.  $(
9820: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 6c  TOP)\src\test_bl
9830: 6f 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ob.c \.  $(TOP)\
9840: 73 72 63 5c 74 65 73 74 5f 62 74 72 65 65 2e 63  src\test_btree.c
9850: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9860: 74 65 73 74 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a  test_config.c \.
9870: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9880: 74 5f 64 65 6c 65 74 65 2e 63 20 5c 0a 20 20 24  t_delete.c \.  $
9890: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64  (TOP)\src\test_d
98a0: 65 6d 6f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54  emovfs.c \.  $(T
98b0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 76  OP)\src\test_dev
98c0: 73 79 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  sym.c \.  $(TOP)
98d0: 5c 73 72 63 5c 74 65 73 74 5f 66 73 2e 63 20 5c  \src\test_fs.c \
98e0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
98f0: 73 74 5f 66 75 6e 63 2e 63 20 5c 0a 20 20 24 28  st_func.c \.  $(
9900: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 68 65  TOP)\src\test_he
9910: 78 69 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  xio.c \.  $(TOP)
9920: 5c 73 72 63 5c 74 65 73 74 5f 69 6e 69 74 2e 63  \src\test_init.c
9930: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9940: 74 65 73 74 5f 69 6e 74 61 72 72 61 79 2e 63 20  test_intarray.c 
9950: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9960: 65 73 74 5f 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a  est_journal.c \.
9970: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9980: 74 5f 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24  t_malloc.c \.  $
9990: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6d  (TOP)\src\test_m
99a0: 64 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  d5.c \.  $(TOP)\
99b0: 73 72 63 5c 74 65 73 74 5f 6d 75 6c 74 69 70 6c  src\test_multipl
99c0: 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ex.c \.  $(TOP)\
99d0: 73 72 63 5c 74 65 73 74 5f 6d 75 74 65 78 2e 63  src\test_mutex.c
99e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
99f0: 74 65 73 74 5f 6f 6e 65 66 69 6c 65 2e 63 20 5c  test_onefile.c \
9a00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9a10: 73 74 5f 6f 73 69 6e 73 74 2e 63 20 5c 0a 20 20  st_osinst.c \.  
9a20: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9a30: 70 63 61 63 68 65 2e 63 20 5c 0a 20 20 24 28 54  pcache.c \.  $(T
9a40: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 71 75 6f  OP)\src\test_quo
9a50: 74 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ta.c \.  $(TOP)\
9a60: 73 72 63 5c 74 65 73 74 5f 72 74 72 65 65 2e 63  src\test_rtree.c
9a70: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9a80: 74 65 73 74 5f 73 63 68 65 6d 61 2e 63 20 5c 0a  test_schema.c \.
9a90: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9aa0: 74 5f 73 65 72 76 65 72 2e 63 20 5c 0a 20 20 24  t_server.c \.  $
9ab0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73  (TOP)\src\test_s
9ac0: 75 70 65 72 6c 6f 63 6b 2e 63 20 5c 0a 20 20 24  uperlock.c \.  $
9ad0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73  (TOP)\src\test_s
9ae0: 79 73 63 61 6c 6c 2e 63 20 5c 0a 20 20 24 28 54  yscall.c \.  $(T
9af0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 74 63 6c  OP)\src\test_tcl
9b00: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.c \.  $(TOP)\
9b10: 73 72 63 5c 74 65 73 74 5f 74 63 6c 76 61 72 2e  src\test_tclvar.
9b20: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9b30: 5c 74 65 73 74 5f 74 68 72 65 61 64 2e 63 20 5c  \test_thread.c \
9b40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9b50: 73 74 5f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54  st_vfs.c \.  $(T
9b60: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e  OP)\src\test_win
9b70: 64 69 72 65 6e 74 2e 63 20 5c 0a 20 20 24 28 54  dirent.c \.  $(T
9b80: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e  OP)\src\test_win
9b90: 64 6f 77 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  dow.c \.  $(TOP)
9ba0: 5c 73 72 63 5c 74 65 73 74 5f 77 73 64 2e 63 20  \src\test_wsd.c 
9bb0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9bc0: 74 73 33 5c 66 74 73 33 5f 74 65 72 6d 2e 63 20  ts3\fts3_term.c 
9bd0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9be0: 74 73 33 5c 66 74 73 33 5f 74 65 73 74 2e 63 20  ts3\fts3_test.c 
9bf0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  \.  $(TOP)\ext\r
9c00: 62 75 5c 74 65 73 74 5f 72 62 75 2e 63 20 5c 0a  bu\test_rbu.c \.
9c10: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73    $(TOP)\ext\ses
9c20: 73 69 6f 6e 5c 74 65 73 74 5f 73 65 73 73 69 6f  sion\test_sessio
9c30: 6e 2e 63 0a 0a 23 20 53 74 61 74 69 63 61 6c 6c  n.c..# Staticall
9c40: 79 20 6c 69 6e 6b 65 64 20 65 78 74 65 6e 73 69  y linked extensi
9c50: 6f 6e 73 2e 0a 23 0a 54 45 53 54 45 58 54 20 3d  ons..#.TESTEXT =
9c60: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9c70: 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78  expert\sqlite3ex
9c80: 70 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  pert.c \.  $(TOP
9c90: 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 74 65 73  )\ext\expert\tes
9ca0: 74 5f 65 78 70 65 72 74 2e 63 20 5c 0a 20 20 24  t_expert.c \.  $
9cb0: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61  (TOP)\ext\misc\a
9cc0: 6d 61 74 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f  match.c \.  $(TO
9cd0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 61 72 72  P)\ext\misc\carr
9ce0: 61 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ay.c \.  $(TOP)\
9cf0: 65 78 74 5c 6d 69 73 63 5c 63 6c 6f 73 75 72 65  ext\misc\closure
9d00: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9d10: 74 5c 6d 69 73 63 5c 63 73 76 2e 63 20 5c 0a 20  t\misc\csv.c \. 
9d20: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
9d30: 5c 65 76 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f  \eval.c \.  $(TO
9d40: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 65 78 70 6c  P)\ext\misc\expl
9d50: 61 69 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ain.c \.  $(TOP)
9d60: 5c 65 78 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f  \ext\misc\fileio
9d70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9d80: 74 5c 6d 69 73 63 5c 66 75 7a 7a 65 72 2e 63 20  t\misc\fuzzer.c 
9d90: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9da0: 74 73 35 5c 66 74 73 35 5f 74 63 6c 2e 63 20 5c  ts5\fts5_tcl.c \
9db0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
9dc0: 73 35 5c 66 74 73 35 5f 74 65 73 74 5f 6d 69 2e  s5\fts5_test_mi.
9dd0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9de0: 5c 66 74 73 35 5c 66 74 73 35 5f 74 65 73 74 5f  \fts5\fts5_test_
9df0: 74 6f 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tok.c \.  $(TOP)
9e00: 5c 65 78 74 5c 6d 69 73 63 5c 69 65 65 65 37 35  \ext\misc\ieee75
9e10: 34 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  4.c \.  $(TOP)\e
9e20: 78 74 5c 6d 69 73 63 5c 6d 6d 61 70 77 61 72 6d  xt\misc\mmapwarm
9e30: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9e40: 74 5c 6d 69 73 63 5c 6e 65 78 74 63 68 61 72 2e  t\misc\nextchar.
9e50: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9e60: 5c 6d 69 73 63 5c 6e 6f 72 6d 61 6c 69 7a 65 2e  \misc\normalize.
9e70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9e80: 5c 6d 69 73 63 5c 70 65 72 63 65 6e 74 69 6c 65  \misc\percentile
9e90: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9ea0: 74 5c 6d 69 73 63 5c 72 65 67 65 78 70 2e 63 20  t\misc\regexp.c 
9eb0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
9ec0: 69 73 63 5c 72 65 6d 65 6d 62 65 72 2e 63 20 5c  isc\remember.c \
9ed0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
9ee0: 73 63 5c 73 65 72 69 65 73 2e 63 20 5c 0a 20 20  sc\series.c \.  
9ef0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
9f00: 73 70 65 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24  spellfix.c \.  $
9f10: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 74  (TOP)\ext\misc\t
9f20: 6f 74 79 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f  otype.c \.  $(TO
9f30: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 75 6e 69 6f  P)\ext\misc\unio
9f40: 6e 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f  nvtab.c \.  $(TO
9f50: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 77 68 6f 6c  P)\ext\misc\whol
9f60: 65 6e 75 6d 62 65 72 2e 63 0a 0a 23 20 49 66 20  enumber.c..# If 
9f70: 75 73 65 20 6f 66 20 7a 6c 69 62 20 69 73 20 65  use of zlib is e
9f80: 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20  nabled, add the 
9f90: 22 7a 69 70 66 69 6c 65 2e 63 22 20 73 6f 75 72  "zipfile.c" sour
9fa0: 63 65 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24  ce file..#.!IF $
9fb0: 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a 54 45  (USE_ZLIB)!=0.TE
9fc0: 53 54 45 58 54 20 3d 20 24 28 54 45 53 54 45 58  STEXT = $(TESTEX
9fd0: 54 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  T) $(TOP)\ext\mi
9fe0: 73 63 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e  sc\zipfile.c.!EN
9ff0: 44 49 46 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f  DIF..# Source co
a000: 64 65 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72  de to the librar
a010: 79 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20 62  y files needed b
a020: 79 20 74 68 65 20 74 65 73 74 20 66 69 78 74 75  y the test fixtu
a030: 72 65 0a 23 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61  re.# (non-amalga
a040: 6d 61 74 69 6f 6e 29 0a 23 0a 54 45 53 54 53 52  mation).#.TESTSR
a050: 43 32 20 3d 20 5c 0a 20 20 24 28 53 52 43 30 30  C2 = \.  $(SRC00
a060: 29 20 5c 0a 20 20 24 28 53 52 43 30 31 29 20 5c  ) \.  $(SRC01) \
a070: 0a 20 20 24 28 53 52 43 30 36 29 20 5c 0a 20 20  .  $(SRC06) \.  
a080: 24 28 53 52 43 30 37 29 20 5c 0a 20 20 24 28 53  $(SRC07) \.  $(S
a090: 52 43 31 30 29 20 5c 0a 20 20 24 28 54 4f 50 29  RC10) \.  $(TOP)
a0a0: 5c 65 78 74 5c 61 73 79 6e 63 5c 73 71 6c 69 74  \ext\async\sqlit
a0b0: 65 33 61 73 79 6e 63 2e 63 0a 0a 23 20 48 65 61  e3async.c..# Hea
a0c0: 64 65 72 20 66 69 6c 65 73 20 75 73 65 64 20 62  der files used b
a0d0: 79 20 61 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f  y all library so
a0e0: 75 72 63 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44  urce files..#.HD
a0f0: 52 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  R = \.   $(TOP)\
a100: 73 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20  src\btree.h \.  
a110: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65   $(TOP)\src\btre
a120: 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f  eInt.h \.   $(TO
a130: 50 29 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a  P)\src\hash.h \.
a140: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 77     $(TOP)\src\hw
a150: 74 69 6d 65 2e 68 20 5c 0a 20 20 20 6b 65 79 77  time.h \.   keyw
a160: 6f 72 64 68 61 73 68 2e 68 20 5c 0a 20 20 20 24  ordhash.h \.   $
a170: 28 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68  (TOP)\src\msvc.h
a180: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
a190: 5c 6d 75 74 65 78 2e 68 20 5c 0a 20 20 20 6f 70  \mutex.h \.   op
a1a0: 63 6f 64 65 73 2e 68 20 5c 0a 20 20 20 24 28 54  codes.h \.   $(T
a1b0: 4f 50 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20  OP)\src\os.h \. 
a1c0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f    $(TOP)\src\os_
a1d0: 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 28  common.h \.   $(
a1e0: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75  TOP)\src\os_setu
a1f0: 70 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  p.h \.   $(TOP)\
a200: 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20  src\os_win.h \. 
a210: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67    $(TOP)\src\pag
a220: 65 72 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  er.h \.   $(TOP)
a230: 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a  \src\pcache.h \.
a240: 20 20 20 70 61 72 73 65 2e 68 20 5c 0a 20 20 20     parse.h \.   
a250: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d  $(TOP)\src\pragm
a260: 61 2e 68 20 5c 0a 20 20 20 24 28 53 51 4c 49 54  a.h \.   $(SQLIT
a270: 45 33 48 29 20 5c 0a 20 20 20 73 71 6c 69 74 65  E3H) \.   sqlite
a280: 33 65 78 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f  3ext.h \.   $(TO
a290: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74  P)\src\sqliteInt
a2a0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
a2b0: 72 63 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68  rc\sqliteLimit.h
a2c0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
a2d0: 5c 76 64 62 65 2e 68 20 5c 0a 20 20 20 24 28 54  \vdbe.h \.   $(T
a2e0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e  OP)\src\vdbeInt.
a2f0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
a300: 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20  c\vxworks.h \.  
a310: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72   $(TOP)\src\wher
a320: 65 49 6e 74 2e 68 0a 0a 23 20 48 65 61 64 65 72  eInt.h..# Header
a330: 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 65   files used by e
a340: 78 74 65 6e 73 69 6f 6e 73 0a 23 0a 45 58 54 48  xtensions.#.EXTH
a350: 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c  DR = $(EXTHDR) \
a360: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
a370: 73 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28  s1\fts1.h \.  $(
a380: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
a390: 73 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s1_hash.h \.  $(
a3a0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
a3b0: 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45  s1_tokenizer.h.E
a3c0: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52  XTHDR = $(EXTHDR
a3d0: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext
a3e0: 5c 66 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20  \fts2\fts2.h \. 
a3f0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
a400: 5c 66 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20  \fts2_hash.h \. 
a410: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
a420: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts2_tokenizer.
a430: 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54  h.EXTHDR = $(EXT
a440: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\
a450: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20  ext\fts3\fts3.h 
a460: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
a470: 74 73 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a  ts3\fts3Int.h \.
a480: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
a490: 33 5c 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a  3\fts3_hash.h \.
a4a0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
a4b0: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3\fts3_tokenizer
a4c0: 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58  .h.EXTHDR = $(EX
a4d0: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29  THDR) \.  $(TOP)
a4e0: 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65  \ext\rtree\rtree
a4f0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex
a500: 74 5c 72 74 72 65 65 5c 67 65 6f 70 6f 6c 79 2e  t\rtree\geopoly.
a510: 63 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54  c.EXTHDR = $(EXT
a520: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\
a530: 65 78 74 5c 69 63 75 5c 73 71 6c 69 74 65 69 63  ext\icu\sqliteic
a540: 75 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45  u.h.EXTHDR = $(E
a550: 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50  XTHDR) \.  $(TOP
a560: 29 5c 65 78 74 5c 72 74 72 65 65 5c 73 71 6c 69  )\ext\rtree\sqli
a570: 74 65 33 72 74 72 65 65 2e 68 0a 45 58 54 48 44  te3rtree.h.EXTHD
a580: 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a  R = $(EXTHDR) \.
a590: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73    $(TOP)\ext\ses
a5a0: 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73  sion\sqlite3sess
a5b0: 69 6f 6e 2e 68 0a 0a 23 20 65 78 65 63 75 74 61  ion.h..# executa
a5c0: 62 6c 65 73 20 6e 65 65 64 65 64 20 66 6f 72 20  bles needed for 
a5d0: 74 65 73 74 69 6e 67 0a 23 0a 54 45 53 54 50 52  testing.#.TESTPR
a5e0: 4f 47 53 20 3d 20 5c 0a 20 20 74 65 73 74 66 69  OGS = \.  testfi
a5f0: 78 74 75 72 65 2e 65 78 65 20 5c 0a 20 20 24 28  xture.exe \.  $(
a600: 53 51 4c 49 54 45 33 45 58 45 29 20 5c 0a 20 20  SQLITE3EXE) \.  
a610: 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
a620: 2e 65 78 65 20 5c 0a 20 20 73 71 6c 69 74 65 33  .exe \.  sqlite3
a630: 5f 63 68 65 63 6b 65 72 2e 65 78 65 20 5c 0a 20  _checker.exe \. 
a640: 20 73 71 6c 64 69 66 66 2e 65 78 65 20 5c 0a 20   sqldiff.exe \. 
a650: 20 64 62 68 61 73 68 2e 65 78 65 20 5c 0a 20 20   dbhash.exe \.  
a660: 73 71 6c 74 63 6c 73 68 2e 65 78 65 0a 0a 23 20  sqltclsh.exe..# 
a670: 44 61 74 61 62 61 73 65 73 20 63 6f 6e 74 61 69  Databases contai
a680: 6e 69 6e 67 20 66 75 7a 7a 65 72 20 74 65 73 74  ning fuzzer test
a690: 20 63 61 73 65 73 0a 23 0a 46 55 5a 5a 44 41 54   cases.#.FUZZDAT
a6a0: 41 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74  A = \.  $(TOP)\t
a6b0: 65 73 74 5c 66 75 7a 7a 64 61 74 61 31 2e 64 62  est\fuzzdata1.db
a6c0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74   \.  $(TOP)\test
a6d0: 5c 66 75 7a 7a 64 61 74 61 32 2e 64 62 20 5c 0a  \fuzzdata2.db \.
a6e0: 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75    $(TOP)\test\fu
a6f0: 7a 7a 64 61 74 61 33 2e 64 62 20 5c 0a 20 20 24  zzdata3.db \.  $
a700: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64  (TOP)\test\fuzzd
a710: 61 74 61 34 2e 64 62 20 5c 0a 20 20 24 28 54 4f  ata4.db \.  $(TO
a720: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61  P)\test\fuzzdata
a730: 35 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c  5.db \.  $(TOP)\
a740: 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 36 2e 64  test\fuzzdata6.d
a750: 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  b.# <</mark>>..#
a760: 20 41 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70   Additional comp
a770: 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72  iler options for
a780: 20 74 68 65 20 73 68 65 6c 6c 2e 20 20 54 68 65   the shell.  The
a790: 73 65 20 61 72 65 20 6f 6e 6c 79 20 65 66 66 65  se are only effe
a7a0: 63 74 69 76 65 0a 23 20 77 68 65 6e 20 74 68 65  ctive.# when the
a7b0: 20 73 68 65 6c 6c 20 69 73 20 6e 6f 74 20 62 65   shell is not be
a7c0: 69 6e 67 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20  ing dynamically 
a7d0: 6c 69 6e 6b 65 64 2e 0a 23 0a 21 49 46 20 24 28  linked..#.!IF $(
a7e0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d  DYNAMIC_SHELL)==
a7f0: 30 20 26 26 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 && $(FOR_WIN10
a800: 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49  )==0.SHELL_COMPI
a810: 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c  LE_OPTS = $(SHEL
a820: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  L_COMPILE_OPTS) 
a830: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
a840: 46 54 53 34 3d 31 0a 53 48 45 4c 4c 5f 43 4f 4d  FTS4=1.SHELL_COM
a850: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48  PILE_OPTS = $(SH
a860: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
a870: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
a880: 45 5f 45 58 50 4c 41 49 4e 5f 43 4f 4d 4d 45 4e  E_EXPLAIN_COMMEN
a890: 54 53 3d 31 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49  TS=1.SHELL_COMPI
a8a0: 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c  LE_OPTS = $(SHEL
a8b0: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  L_COMPILE_OPTS) 
a8c0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
a8d0: 4f 46 46 53 45 54 5f 53 51 4c 5f 46 55 4e 43 3d  OFFSET_SQL_FUNC=
a8e0: 31 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  1.!ENDIF..# <<ma
a8f0: 72 6b 3e 3e 0a 23 20 45 78 74 72 61 20 63 6f 6d  rk>>.# Extra com
a900: 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f  piler options fo
a910: 72 20 76 61 72 69 6f 75 73 20 74 65 73 74 20 74  r various test t
a920: 6f 6f 6c 73 2e 0a 23 0a 4d 50 54 45 53 54 45 52  ools..#.MPTESTER
a930: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS = 
a940: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
a950: 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45  JSON1 -DSQLITE_E
a960: 4e 41 42 4c 45 5f 46 54 53 35 0a 46 55 5a 5a 45  NABLE_FTS5.FUZZE
a970: 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f  RSHELL_COMPILE_O
a980: 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 45  PTS = -DSQLITE_E
a990: 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a 46 55 5a 5a  NABLE_JSON1.FUZZ
a9a0: 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50  CHECK_COMPILE_OP
a9b0: 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e  TS = -DSQLITE_EN
a9c0: 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c  ABLE_JSON1 -DSQL
a9d0: 49 54 45 5f 45 4e 41 42 4c 45 5f 4d 45 4d 53 59  ITE_ENABLE_MEMSY
a9e0: 53 35 20 2d 44 53 51 4c 49 54 45 5f 4f 53 53 5f  S5 -DSQLITE_OSS_
a9f0: 46 55 5a 5a 20 2d 44 53 51 4c 49 54 45 5f 4d 41  FUZZ -DSQLITE_MA
aa00: 58 5f 4d 45 4d 4f 52 59 3d 35 30 30 30 30 30 30  X_MEMORY=5000000
aa10: 30 20 2d 44 53 51 4c 49 54 45 5f 50 52 49 4e 54  0 -DSQLITE_PRINT
aa20: 46 5f 50 52 45 43 49 53 49 4f 4e 5f 4c 49 4d 49  F_PRECISION_LIMI
aa30: 54 3d 31 30 30 30 0a 46 55 5a 5a 43 48 45 43 4b  T=1000.FUZZCHECK
aa40: 5f 53 52 43 20 3d 20 24 28 54 4f 50 29 5c 74 65  _SRC = $(TOP)\te
aa50: 73 74 5c 66 75 7a 7a 63 68 65 63 6b 2e 63 20 24  st\fuzzcheck.c $
aa60: 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73 66 75  (TOP)\test\ossfu
aa70: 7a 7a 2e 63 0a 4f 53 53 53 48 45 4c 4c 5f 53 52  zz.c.OSSSHELL_SR
aa80: 43 20 3d 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  C = $(TOP)\test\
aa90: 6f 73 73 73 68 65 6c 6c 2e 63 20 24 28 54 4f 50  ossshell.c $(TOP
aaa0: 29 5c 74 65 73 74 5c 6f 73 73 66 75 7a 7a 2e 63  )\test\ossfuzz.c
aab0: 0a 44 42 46 55 5a 5a 5f 43 4f 4d 50 49 4c 45 5f  .DBFUZZ_COMPILE_
aac0: 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f  OPTS = -DSQLITE_
aad0: 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
aae0: 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
aaf0: 45 58 54 45 4e 53 49 4f 4e 0a 4b 56 5f 43 4f 4d  EXTENSION.KV_COM
ab00: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51  PILE_OPTS = -DSQ
ab10: 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
ab20: 30 20 2d 44 53 51 4c 49 54 45 5f 44 49 52 45 43  0 -DSQLITE_DIREC
ab30: 54 5f 4f 56 45 52 46 4c 4f 57 5f 52 45 41 44 0a  T_OVERFLOW_READ.
ab40: 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20  ST_COMPILE_OPTS 
ab50: 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  = -DSQLITE_THREA
ab60: 44 53 41 46 45 3d 30 0a 0a 23 20 53 74 61 6e 64  DSAFE=0..# Stand
ab70: 61 72 64 20 6f 70 74 69 6f 6e 73 20 74 6f 20 74  ard options to t
ab80: 65 73 74 66 69 78 74 75 72 65 2e 0a 23 0a 54 45  estfixture..#.TE
ab90: 53 54 4f 50 54 53 20 3d 20 2d 2d 76 65 72 62 6f  STOPTS = --verbo
aba0: 73 65 3d 66 69 6c 65 20 2d 2d 6f 75 74 70 75 74  se=file --output
abb0: 3d 74 65 73 74 2d 6f 75 74 2e 74 78 74 0a 0a 23  =test-out.txt..#
abc0: 20 45 78 74 72 61 20 74 61 72 67 65 74 73 20 66   Extra targets f
abd0: 6f 72 20 74 68 65 20 22 61 6c 6c 22 20 74 61 72  or the "all" tar
abe0: 67 65 74 20 74 68 61 74 20 72 65 71 75 69 72 65  get that require
abf0: 20 54 63 6c 2e 0a 23 0a 21 49 46 20 24 28 4e 4f   Tcl..#.!IF $(NO
ac00: 5f 54 43 4c 29 3d 3d 30 0a 41 4c 4c 5f 54 43 4c  _TCL)==0.ALL_TCL
ac10: 5f 54 41 52 47 45 54 53 20 3d 20 6c 69 62 74 63  _TARGETS = libtc
ac20: 6c 73 71 6c 69 74 65 33 2e 6c 69 62 0a 21 45 4c  lsqlite3.lib.!EL
ac30: 53 45 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45  SE.ALL_TCL_TARGE
ac40: 54 53 20 3d 0a 21 45 4e 44 49 46 0a 23 20 3c 3c  TS =.!ENDIF.# <<
ac50: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 73 20  /mark>>..# This 
ac60: 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 4d  is the default M
ac70: 61 6b 65 66 69 6c 65 20 74 61 72 67 65 74 2e 20  akefile target. 
ac80: 20 54 68 65 20 6f 62 6a 65 63 74 73 20 6c 69 73   The objects lis
ac90: 74 65 64 20 68 65 72 65 0a 23 20 61 72 65 20 77  ted here.# are w
aca0: 68 61 74 20 67 65 74 20 62 75 69 6c 64 20 77 68  hat get build wh
acb0: 65 6e 20 79 6f 75 20 74 79 70 65 20 6a 75 73 74  en you type just
acc0: 20 22 6d 61 6b 65 22 20 77 69 74 68 20 6e 6f 20   "make" with no 
acd0: 61 72 67 75 6d 65 6e 74 73 2e 0a 23 0a 63 6f 72  arguments..#.cor
ace0: 65 3a 09 64 6c 6c 20 6c 69 62 73 71 6c 69 74 65  e:.dll libsqlite
acf0: 33 2e 6c 69 62 20 73 68 65 6c 6c 0a 0a 23 20 54  3.lib shell..# T
ad00: 61 72 67 65 74 73 20 74 68 61 74 20 72 65 71 75  argets that requ
ad10: 69 72 65 20 74 68 65 20 54 63 6c 20 6c 69 62 72  ire the Tcl libr
ad20: 61 72 79 2e 0a 23 0a 74 63 6c 3a 09 24 28 41 4c  ary..#.tcl:.$(AL
ad30: 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 29 0a 0a  L_TCL_TARGETS)..
ad40: 23 20 54 68 69 73 20 4d 61 6b 65 66 69 6c 65 20  # This Makefile 
ad50: 74 61 72 67 65 74 20 62 75 69 6c 64 73 20 61 6c  target builds al
ad60: 6c 20 6f 66 20 74 68 65 20 73 74 61 6e 64 61 72  l of the standar
ad70: 64 20 62 69 6e 61 72 69 65 73 2e 0a 23 0a 61 6c  d binaries..#.al
ad80: 6c 3a 09 63 6f 72 65 20 74 63 6c 0a 0a 23 20 44  l:.core tcl..# D
ad90: 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 72  ynamic link libr
ada0: 61 72 79 20 73 65 63 74 69 6f 6e 2e 0a 23 0a 64  ary section..#.d
adb0: 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33 44 4c 4c  ll:.$(SQLITE3DLL
adc0: 29 0a 0a 23 20 53 68 65 6c 6c 20 65 78 65 63 75  )..# Shell execu
add0: 74 61 62 6c 65 2e 0a 23 0a 73 68 65 6c 6c 3a 09  table..#.shell:.
ade0: 24 28 53 51 4c 49 54 45 33 45 58 45 29 0a 0a 23  $(SQLITE3EXE)..#
adf0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 6c 69 62 73 71 6c   <<mark>>.libsql
ae00: 69 74 65 33 2e 6c 69 62 3a 09 24 28 4c 49 42 4f  ite3.lib:.$(LIBO
ae10: 42 4a 29 0a 09 24 28 4c 54 4c 49 42 29 20 24 28  BJ)..$(LTLIB) $(
ae20: 4c 54 4c 49 42 4f 50 54 53 29 20 2f 4f 55 54 3a  LTLIBOPTS) /OUT:
ae30: 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 28 54  $@ $(LIBOBJ) $(T
ae40: 4c 49 42 53 29 0a 0a 6c 69 62 74 63 6c 73 71 6c  LIBS)..libtclsql
ae50: 69 74 65 33 2e 6c 69 62 3a 09 74 63 6c 73 71 6c  ite3.lib:.tclsql
ae60: 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c 69 74 65  ite.lo libsqlite
ae70: 33 2e 6c 69 62 0a 09 24 28 4c 54 4c 49 42 29 20  3.lib..$(LTLIB) 
ae80: 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 24 28 4c  $(LTLIBOPTS) $(L
ae90: 54 4c 49 42 50 41 54 48 53 29 20 2f 4f 55 54 3a  TLIBPATHS) /OUT:
aea0: 24 40 20 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 20  $@ tclsqlite.lo 
aeb0: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20 24  libsqlite3.lib $
aec0: 28 4c 49 42 54 43 4c 53 54 55 42 29 20 24 28 54  (LIBTCLSTUB) $(T
aed0: 4c 49 42 53 29 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  LIBS).# <</mark>
aee0: 3e 0a 0a 24 28 53 51 4c 49 54 45 33 44 4c 4c 29  >..$(SQLITE3DLL)
aef0: 3a 09 24 28 4c 49 42 4f 42 4a 29 20 24 28 4c 49  :.$(LIBOBJ) $(LI
af00: 42 52 45 53 4f 42 4a 53 29 20 24 28 43 4f 52 45  BRESOBJS) $(CORE
af10: 5f 4c 49 4e 4b 5f 44 45 50 29 0a 09 24 28 4c 44  _LINK_DEP)..$(LD
af20: 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  ) $(LDFLAGS) $(L
af30: 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c  TLINKOPTS) $(LTL
af40: 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 24 28  IBPATHS) /DLL $(
af50: 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20  CORE_LINK_OPTS) 
af60: 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a  /OUT:$@ $(LIBOBJ
af70: 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20  ) $(LIBRESOBJS) 
af80: 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42  $(LTLIBS) $(TLIB
af90: 53 29 0a 0a 23 20 3c 3c 62 6c 6f 63 6b 32 3e 3e  S)..# <<block2>>
afa0: 0a 73 71 6c 69 74 65 33 2e 64 65 66 3a 09 6c 69  .sqlite3.def:.li
afb0: 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 09 65 63  bsqlite3.lib..ec
afc0: 68 6f 20 45 58 50 4f 52 54 53 20 3e 20 73 71 6c  ho EXPORTS > sql
afd0: 69 74 65 33 2e 64 65 66 0a 09 64 75 6d 70 62 69  ite3.def..dumpbi
afe0: 6e 20 2f 61 6c 6c 20 6c 69 62 73 71 6c 69 74 65  n /all libsqlite
aff0: 33 2e 6c 69 62 20 5c 0a 09 09 7c 20 24 28 54 43  3.lib \...| $(TC
b000: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
b010: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
b020: 20 69 6e 63 6c 75 64 65 20 22 5e 5c 73 2b 31 20   include "^\s+1 
b030: 5f 3f 28 73 71 6c 69 74 65 33 28 3f 3a 73 65 73  _?(sqlite3(?:ses
b040: 73 69 6f 6e 7c 63 68 61 6e 67 65 73 65 74 7c 63  sion|changeset|c
b050: 68 61 6e 67 65 67 72 6f 75 70 7c 72 65 62 61 73  hangegroup|rebas
b060: 65 72 29 3f 5f 5b 5e 40 5d 2a 29 28 3f 3a 40 5c  er)?_[^@]*)(?:@\
b070: 64 2b 29 3f 24 24 22 20 5c 31 20 5c 0a 09 09 7c  d+)?$$" \1 \...|
b080: 20 73 6f 72 74 20 3e 3e 20 73 71 6c 69 74 65 33   sort >> sqlite3
b090: 2e 64 65 66 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 32  .def.# <</block2
b0a0: 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 33 45 58 45  >>..$(SQLITE3EXE
b0b0: 29 3a 09 73 68 65 6c 6c 2e 63 20 24 28 53 48 45  ):.shell.c $(SHE
b0c0: 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 20 24 28 4c  LL_CORE_DEP) $(L
b0d0: 49 42 52 45 53 4f 42 4a 53 29 20 24 28 53 48 45  IBRESOBJS) $(SHE
b0e0: 4c 4c 5f 43 4f 52 45 5f 53 52 43 29 20 24 28 53  LL_CORE_SRC) $(S
b0f0: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
b100: 4e 4b 29 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50  NK) $(SHELL_COMP
b110: 49 4c 45 5f 4f 50 54 53 29 20 24 28 52 45 41 44  ILE_OPTS) $(READ
b120: 4c 49 4e 45 5f 46 4c 41 47 53 29 20 73 68 65 6c  LINE_FLAGS) shel
b130: 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45  l.c $(SHELL_CORE
b140: 5f 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20  _SRC) \.../link 
b150: 24 28 53 51 4c 49 54 45 33 45 58 45 50 44 42 29  $(SQLITE3EXEPDB)
b160: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
b170: 4c 49 4e 4b 4f 50 54 53 29 20 24 28 53 48 45 4c  LINKOPTS) $(SHEL
b180: 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20 24 28 4c  L_LINK_OPTS) $(L
b190: 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42  TLIBPATHS) $(LIB
b1a0: 52 45 53 4f 42 4a 53 29 20 24 28 4c 49 42 52 45  RESOBJS) $(LIBRE
b1b0: 41 44 4c 49 4e 45 29 20 24 28 4c 54 4c 49 42 53  ADLINE) $(LTLIBS
b1c0: 29 20 24 28 54 4c 49 42 53 29 0a 0a 23 20 3c 3c  ) $(TLIBS)..# <<
b1d0: 6d 61 72 6b 3e 3e 0a 73 71 6c 64 69 66 66 2e 65  mark>>.sqldiff.e
b1e0: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
b1f0: 73 71 6c 64 69 66 66 2e 63 20 24 28 53 51 4c 49  sqldiff.c $(SQLI
b200: 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
b210: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
b220: 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50 29 5c 74  O_WARN) $(TOP)\t
b230: 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e 63 20 24 28  ool\sqldiff.c $(
b240: 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
b250: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
b260: 49 4e 4b 4f 50 54 53 29 0a 0a 64 62 68 61 73 68  INKOPTS)..dbhash
b270: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
b280: 6c 5c 64 62 68 61 73 68 2e 63 20 24 28 53 51 4c  l\dbhash.c $(SQL
b290: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
b2a0: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
b2b0: 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50 29 5c  NO_WARN) $(TOP)\
b2c0: 74 6f 6f 6c 5c 64 62 68 61 73 68 2e 63 20 24 28  tool\dbhash.c $(
b2d0: 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
b2e0: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
b2f0: 49 4e 4b 4f 50 54 53 29 0a 0a 73 63 72 75 62 2e  INKOPTS)..scrub.
b300: 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  exe:.$(TOP)\ext\
b310: 6d 69 73 63 5c 73 63 72 75 62 2e 63 20 24 28 53  misc\scrub.c $(S
b320: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
b330: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
b340: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 43 52  $(NO_WARN) -DSCR
b350: 55 42 5f 53 54 41 4e 44 41 4c 4f 4e 45 3d 31 20  UB_STANDALONE=1 
b360: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
b370: 73 63 72 75 62 2e 63 20 24 28 53 51 4c 49 54 45  scrub.c $(SQLITE
b380: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
b390: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
b3a0: 53 29 0a 0a 73 72 63 63 6b 31 2e 65 78 65 3a 09  S)..srcck1.exe:.
b3b0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 72 63 63  $(TOP)\tool\srcc
b3c0: 6b 31 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e  k1.c..$(BCC) $(N
b3d0: 4f 5f 57 41 52 4e 29 20 2d 46 65 24 40 20 24 28  O_WARN) -Fe$@ $(
b3e0: 54 4f 50 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31  TOP)\tool\srcck1
b3f0: 2e 63 0a 0a 73 6f 75 72 63 65 74 65 73 74 3a 09  .c..sourcetest:.
b400: 73 72 63 63 6b 31 2e 65 78 65 20 24 28 53 51 4c  srcck1.exe $(SQL
b410: 49 54 45 33 43 29 0a 09 73 72 63 63 6b 31 2e 65  ITE3C)..srcck1.e
b420: 78 65 20 24 28 53 51 4c 49 54 45 33 43 29 0a 0a  xe $(SQLITE3C)..
b430: 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65 78 65 3a  fuzzershell.exe:
b440: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a  .$(TOP)\tool\fuz
b450: 7a 65 72 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c  zershell.c $(SQL
b460: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
b470: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
b480: 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 45  NO_WARN) $(FUZZE
b490: 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f  RSHELL_COMPILE_O
b4a0: 50 54 53 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  PTS) $(TOP)\tool
b4b0: 5c 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 63 20 24  \fuzzershell.c $
b4c0: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
b4d0: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
b4e0: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 64 62 66 75 7a  LINKOPTS)..dbfuz
b4f0: 7a 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65  z.exe:.$(TOP)\te
b500: 73 74 5c 64 62 66 75 7a 7a 2e 63 20 24 28 53 51  st\dbfuzz.c $(SQ
b510: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
b520: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
b530: 28 4e 4f 5f 57 41 52 4e 29 20 24 28 44 42 46 55  (NO_WARN) $(DBFU
b540: 5a 5a 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  ZZ_COMPILE_OPTS)
b550: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 64 62 66   $(TOP)\test\dbf
b560: 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45 33 43  uzz.c $(SQLITE3C
b570: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
b580: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
b590: 0a 0a 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 3a  ..fuzzcheck.exe:
b5a0: 09 24 28 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43  .$(FUZZCHECK_SRC
b5b0: 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  ) $(SQLITE3C) $(
b5c0: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
b5d0: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
b5e0: 24 28 46 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50  $(FUZZCHECK_COMP
b5f0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 46 55 5a 5a  ILE_OPTS) $(FUZZ
b600: 43 48 45 43 4b 5f 53 52 43 29 20 24 28 53 51 4c  CHECK_SRC) $(SQL
b610: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
b620: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
b630: 4f 50 54 53 29 0a 0a 6f 73 73 73 68 65 6c 6c 2e  OPTS)..ossshell.
b640: 65 78 65 3a 09 24 28 4f 53 53 53 48 45 4c 4c 5f  exe:.$(OSSSHELL_
b650: 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 43 29  SRC) $(SQLITE3C)
b660: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
b670: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
b680: 4e 29 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 43  N) $(FUZZCHECK_C
b690: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4f  OMPILE_OPTS) $(O
b6a0: 53 53 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 53  SSSHELL_SRC) $(S
b6b0: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
b6c0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
b6d0: 4e 4b 4f 50 54 53 29 0a 0a 73 65 73 73 69 6f 6e  NKOPTS)..session
b6e0: 66 75 7a 7a 2e 65 78 65 3a 09 7a 6c 69 62 20 24  fuzz.exe:.zlib $
b6f0: 28 54 4f 50 29 5c 74 65 73 74 5c 73 65 73 73 69  (TOP)\test\sessi
b700: 6f 6e 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54  onfuzz.c $(SQLIT
b710: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
b720: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
b730: 5f 57 41 52 4e 29 20 2d 49 24 28 5a 4c 49 42 49  _WARN) -I$(ZLIBI
b740: 4e 43 44 49 52 29 20 24 28 54 4f 50 29 5c 74 65  NCDIR) $(TOP)\te
b750: 73 74 5c 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 63  st\sessionfuzz.c
b760: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
b770: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  ) $(LTLINKOPTS) 
b780: 2f 4c 49 42 50 41 54 48 3a 24 28 5a 4c 49 42 4c  /LIBPATH:$(ZLIBL
b790: 49 42 44 49 52 29 20 24 28 5a 4c 49 42 4c 49 42  IBDIR) $(ZLIBLIB
b7a0: 29 0a 0a 6d 70 74 65 73 74 65 72 2e 65 78 65 3a  )..mptester.exe:
b7b0: 09 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d  .$(TOP)\mptest\m
b7c0: 70 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45  ptest.c $(SQLITE
b7d0: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
b7e0: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
b7f0: 57 41 52 4e 29 20 24 28 4d 50 54 45 53 54 45 52  WARN) $(MPTESTER
b800: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
b810: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74  (TOP)\mptest\mpt
b820: 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  est.c $(SQLITE3C
b830: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
b840: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
b850: 0a 0a 4d 50 54 45 53 54 31 20 3d 20 6d 70 74 65  ..MPTEST1 = mpte
b860: 73 74 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24  ster mptest.db $
b870: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 63 72 61  (TOP)\mptest\cra
b880: 73 68 30 31 2e 74 65 73 74 20 2d 2d 72 65 70 65  sh01.test --repe
b890: 61 74 20 32 30 0a 4d 50 54 45 53 54 32 20 3d 20  at 20.MPTEST2 = 
b8a0: 6d 70 74 65 73 74 65 72 20 6d 70 74 65 73 74 2e  mptester mptest.
b8b0: 64 62 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74  db $(TOP)\mptest
b8c0: 5c 6d 75 6c 74 69 77 72 69 74 65 30 31 2e 74 65  \multiwrite01.te
b8d0: 73 74 20 2d 2d 72 65 70 65 61 74 20 32 30 0a 0a  st --repeat 20..
b8e0: 6d 70 74 65 73 74 3a 09 6d 70 74 65 73 74 65 72  mptest:.mptester
b8f0: 2e 65 78 65 0a 09 64 65 6c 20 2f 51 20 6d 70 74  .exe..del /Q mpt
b900: 65 73 74 2e 64 62 20 32 3e 4e 55 4c 0a 09 24 28  est.db 2>NUL..$(
b910: 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e  MPTEST1) --journ
b920: 61 6c 6d 6f 64 65 20 44 45 4c 45 54 45 0a 09 24  almode DELETE..$
b930: 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72  (MPTEST2) --jour
b940: 6e 61 6c 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d  nalmode WAL..$(M
b950: 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61  PTEST1) --journa
b960: 6c 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54  lmode WAL..$(MPT
b970: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST2) --journalm
b980: 6f 64 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d  ode PERSIST..$(M
b990: 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61  PTEST1) --journa
b9a0: 6c 6d 6f 64 65 20 50 45 52 53 49 53 54 0a 09 24  lmode PERSIST..$
b9b0: 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72  (MPTEST2) --jour
b9c0: 6e 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45  nalmode TRUNCATE
b9d0: 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a  ..$(MPTEST1) --j
b9e0: 6f 75 72 6e 61 6c 6d 6f 64 65 20 54 52 55 4e 43  ournalmode TRUNC
b9f0: 41 54 45 0a 09 24 28 4d 50 54 45 53 54 32 29 20  ATE..$(MPTEST2) 
ba00: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45  --journalmode DE
ba10: 4c 45 54 45 0a 0a 23 20 54 68 69 73 20 74 61 72  LETE..# This tar
ba20: 67 65 74 20 63 72 65 61 74 65 73 20 61 20 64 69  get creates a di
ba30: 72 65 63 74 6f 72 79 20 6e 61 6d 65 64 20 22 74  rectory named "t
ba40: 73 72 63 22 20 61 6e 64 20 66 69 6c 6c 73 20 69  src" and fills i
ba50: 74 20 77 69 74 68 0a 23 20 63 6f 70 69 65 73 20  t with.# copies 
ba60: 6f 66 20 61 6c 6c 20 6f 66 20 74 68 65 20 43 20  of all of the C 
ba70: 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20  source code and 
ba80: 68 65 61 64 65 72 20 66 69 6c 65 73 20 6e 65 65  header files nee
ba90: 64 65 64 20 74 6f 0a 23 20 62 75 69 6c 64 20 6f  ded to.# build o
baa0: 6e 20 74 68 65 20 74 61 72 67 65 74 20 73 79 73  n the target sys
bab0: 74 65 6d 2e 20 20 53 6f 6d 65 20 6f 66 20 74 68  tem.  Some of th
bac0: 65 20 43 20 73 6f 75 72 63 65 20 63 6f 64 65 20  e C source code 
bad0: 61 6e 64 20 68 65 61 64 65 72 0a 23 20 66 69 6c  and header.# fil
bae0: 65 73 20 61 72 65 20 61 75 74 6f 6d 61 74 69 63  es are automatic
baf0: 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 2e 20  ally generated. 
bb00: 20 54 68 69 73 20 74 61 72 67 65 74 20 74 61 6b   This target tak
bb10: 65 73 20 63 61 72 65 20 6f 66 0a 23 20 61 6c 6c  es care of.# all
bb20: 20 74 68 61 74 20 61 75 74 6f 6d 61 74 69 63 20   that automatic 
bb30: 67 65 6e 65 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74  generation..#..t
bb40: 61 72 67 65 74 5f 73 6f 75 72 63 65 3a 09 24 28  arget_source:.$(
bb50: 53 52 43 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  SRC) $(TOP)\tool
bb60: 5c 76 64 62 65 2d 63 6f 6d 70 72 65 73 73 2e 74  \vdbe-compress.t
bb70: 63 6c 20 66 74 73 35 2e 63 20 24 28 53 51 4c 49  cl fts5.c $(SQLI
bb80: 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 2d 72 6d  TE_TCL_DEP)..-rm
bb90: 64 69 72 20 2f 51 2f 53 20 74 73 72 63 20 32 3e  dir /Q/S tsrc 2>
bba0: 4e 55 4c 0a 09 2d 6d 6b 64 69 72 20 74 73 72 63  NUL..-mkdir tsrc
bbb0: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S
bbc0: 52 43 30 30 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC00)) do copy /
bbd0: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
bbe0: 69 20 69 6e 20 28 24 28 53 52 43 30 31 29 29 20  i in ($(SRC01)) 
bbf0: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
bc00: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($
bc10: 28 53 52 43 30 33 29 29 20 64 6f 20 63 6f 70 79  (SRC03)) do copy
bc20: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
bc30: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 34 29   %i in ($(SRC04)
bc40: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i 
bc50: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in 
bc60: 28 24 28 53 52 43 30 35 29 29 20 64 6f 20 63 6f  ($(SRC05)) do co
bc70: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
bc80: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30  or %i in ($(SRC0
bc90: 36 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  6)) do copy /Y %
bca0: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
bcb0: 6e 20 28 24 28 53 52 43 30 37 29 29 20 64 6f 20  n ($(SRC07)) do 
bcc0: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
bcd0: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR
bce0: 43 30 38 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C08)) do copy /Y
bcf0: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69   %i tsrc..for %i
bd00: 20 69 6e 20 28 24 28 53 52 43 30 39 29 29 20 64   in ($(SRC09)) d
bd10: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
bd20: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($(
bd30: 53 52 43 31 30 29 29 20 64 6f 20 63 6f 70 79 20  SRC10)) do copy 
bd40: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for 
bd50: 25 69 20 69 6e 20 28 24 28 53 52 43 31 31 29 29  %i in ($(SRC11))
bd60: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
bd70: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
bd80: 24 28 53 52 43 31 32 29 29 20 64 6f 20 63 6f 70  $(SRC12)) do cop
bd90: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 63 6f  y /Y %i tsrc..co
bda0: 70 79 20 2f 59 20 66 74 73 35 2e 63 20 74 73 72  py /Y fts5.c tsr
bdb0: 63 0a 09 63 6f 70 79 20 2f 59 20 66 74 73 35 2e  c..copy /Y fts5.
bdc0: 68 20 74 73 72 63 0a 09 64 65 6c 20 2f 51 20 74  h tsrc..del /Q t
bdd0: 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20  src\sqlite.h.in 
bde0: 74 73 72 63 5c 70 61 72 73 65 2e 79 20 32 3e 4e  tsrc\parse.y 2>N
bdf0: 55 4c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  UL..$(TCLSH_CMD)
be00: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62   $(TOP)\tool\vdb
be10: 65 2d 63 6f 6d 70 72 65 73 73 2e 74 63 6c 20 24  e-compress.tcl $
be20: 28 4f 50 54 53 29 20 3c 20 74 73 72 63 5c 76 64  (OPTS) < tsrc\vd
be30: 62 65 2e 63 20 3e 20 76 64 62 65 2e 6e 65 77 0a  be.c > vdbe.new.
be40: 09 6d 6f 76 65 20 76 64 62 65 2e 6e 65 77 20 74  .move vdbe.new t
be50: 73 72 63 5c 76 64 62 65 2e 63 0a 09 65 63 68 6f  src\vdbe.c..echo
be60: 20 3e 20 2e 74 61 72 67 65 74 5f 73 6f 75 72 63   > .target_sourc
be70: 65 0a 0a 73 71 6c 69 74 65 33 2e 63 3a 09 2e 74  e..sqlite3.c:..t
be80: 61 72 67 65 74 5f 73 6f 75 72 63 65 20 73 71 6c  arget_source sql
be90: 69 74 65 33 65 78 74 2e 68 20 24 28 4d 4b 53 51  ite3ext.h $(MKSQ
bea0: 4c 49 54 45 33 43 5f 54 4f 4f 4c 29 0a 09 24 28  LITE3C_TOOL)..$(
beb0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 4d 4b 53  TCLSH_CMD) $(MKS
bec0: 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 29 20 24 28  QLITE3C_TOOL) $(
bed0: 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 29  MKSQLITE3C_ARGS)
bee0: 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78  ..copy $(TOP)\ex
bef0: 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65  t\session\sqlite
bf00: 33 73 65 73 73 69 6f 6e 2e 68 20 2e 0a 0a 73 71  3session.h ...sq
bf10: 6c 69 74 65 33 2d 61 6c 6c 2e 63 3a 09 73 71 6c  lite3-all.c:.sql
bf20: 69 74 65 33 2e 63 20 24 28 54 4f 50 29 5c 74 6f  ite3.c $(TOP)\to
bf30: 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c 69 74 65 33  ol\split-sqlite3
bf40: 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43  c.tcl..$(TCLSH_C
bf50: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
bf60: 73 70 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e 74  split-sqlite3c.t
bf70: 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  cl.# <</mark>>..
bf80: 23 20 52 75 6c 65 20 74 6f 20 62 75 69 6c 64 20  # Rule to build 
bf90: 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  the amalgamation
bfa0: 0a 23 0a 73 71 6c 69 74 65 33 2e 6c 6f 3a 09 24  .#.sqlite3.lo:.$
bfb0: 28 53 51 4c 49 54 45 33 43 29 0a 09 24 28 4c 54  (SQLITE3C)..$(LT
bfc0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
bfd0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
bfe0: 20 24 28 53 51 4c 49 54 45 33 43 29 0a 0a 23 20   $(SQLITE3C)..# 
bff0: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73  <<mark>>.# Rules
c000: 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 4c 45   to build the LE
c010: 4d 4f 4e 20 63 6f 6d 70 69 6c 65 72 20 67 65 6e  MON compiler gen
c020: 65 72 61 74 6f 72 0a 23 0a 6c 65 6d 70 61 72 2e  erator.#.lempar.
c030: 63 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c  c:.$(TOP)\tool\l
c040: 65 6d 70 61 72 2e 63 0a 09 63 6f 70 79 20 24 28  empar.c..copy $(
c050: 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72  TOP)\tool\lempar
c060: 2e 63 20 2e 0a 0a 6c 65 6d 6f 6e 2e 65 78 65 3a  .c ...lemon.exe:
c070: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d  .$(TOP)\tool\lem
c080: 6f 6e 2e 63 20 6c 65 6d 70 61 72 2e 63 0a 09 24  on.c lempar.c..$
c090: 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29  (BCC) $(NO_WARN)
c0a0: 20 2d 44 61 63 63 65 73 73 3d 5f 61 63 63 65 73   -Daccess=_acces
c0b0: 73 20 5c 0a 09 09 2d 46 65 24 40 20 24 28 54 4f  s \...-Fe$@ $(TO
c0c0: 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20  P)\tool\lemon.c 
c0d0: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
c0e0: 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20   $(NLTLINKOPTS) 
c0f0: 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a  $(NLTLIBPATHS)..
c100: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c  # <<mark>>.# Rul
c110: 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20  es to build the 
c120: 73 6f 75 72 63 65 2d 69 64 20 67 65 6e 65 72 61  source-id genera
c130: 74 6f 72 20 74 6f 6f 6c 0a 23 0a 6d 6b 73 6f 75  tor tool.#.mksou
c140: 72 63 65 69 64 2e 65 78 65 3a 09 24 28 54 4f 50  rceid.exe:.$(TOP
c150: 29 5c 74 6f 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69  )\tool\mksourcei
c160: 64 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f  d.c..$(BCC) $(NO
c170: 5f 57 41 52 4e 29 20 2d 46 65 24 40 20 24 28 54  _WARN) -Fe$@ $(T
c180: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 6f 75 72 63  OP)\tool\mksourc
c190: 65 69 64 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44  eid.c /link $(LD
c1a0: 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b  FLAGS) $(NLTLINK
c1b0: 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49 42 50 41  OPTS) $(NLTLIBPA
c1c0: 54 48 53 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f  THS)..# Rules to
c1d0: 20 62 75 69 6c 64 20 69 6e 64 69 76 69 64 75 61   build individua
c1e0: 6c 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f  l *.lo files fro
c1f0: 6d 20 67 65 6e 65 72 61 74 65 64 20 2a 2e 63 20  m generated *.c 
c200: 66 69 6c 65 73 2e 20 54 68 69 73 0a 23 20 61 70  files. This.# ap
c210: 70 6c 69 65 73 20 74 6f 3a 0a 23 0a 23 20 20 20  plies to:.#.#   
c220: 20 20 70 61 72 73 65 2e 6c 6f 0a 23 20 20 20 20    parse.lo.#    
c230: 20 6f 70 63 6f 64 65 73 2e 6c 6f 0a 23 0a 70 61   opcodes.lo.#.pa
c240: 72 73 65 2e 6c 6f 3a 09 70 61 72 73 65 2e 63 20  rse.lo:.parse.c 
c250: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c260: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c270: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 70 61 72  ILE_OPTS) -c par
c280: 73 65 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e 6c 6f  se.c..opcodes.lo
c290: 3a 09 6f 70 63 6f 64 65 73 2e 63 0a 09 24 28 4c  :.opcodes.c..$(L
c2a0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c2b0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c2c0: 63 20 6f 70 63 6f 64 65 73 2e 63 0a 23 20 3c 3c  c opcodes.c.# <<
c2d0: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20  /mark>>..# Rule 
c2e0: 74 6f 20 62 75 69 6c 64 20 74 68 65 20 57 69 6e  to build the Win
c2f0: 33 32 20 72 65 73 6f 75 72 63 65 73 20 6f 62 6a  32 resources obj
c300: 65 63 74 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20  ect file..#.!IF 
c310: 24 28 55 53 45 5f 52 43 29 21 3d 30 0a 23 20 3c  $(USE_RC)!=0.# <
c320: 3c 62 6c 6f 63 6b 31 3e 3e 0a 24 28 4c 49 42 52  <block1>>.$(LIBR
c330: 45 53 4f 42 4a 53 29 3a 09 24 28 54 4f 50 29 5c  ESOBJS):.$(TOP)\
c340: 73 72 63 5c 73 71 6c 69 74 65 33 2e 72 63 20 24  src\sqlite3.rc $
c350: 28 53 51 4c 49 54 45 33 48 29 0a 09 65 63 68 6f  (SQLITE3H)..echo
c360: 20 23 69 66 6e 64 65 66 20 53 51 4c 49 54 45 5f   #ifndef SQLITE_
c370: 52 45 53 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e  RESOURCE_VERSION
c380: 20 3e 20 73 71 6c 69 74 65 33 72 63 2e 68 0a 09   > sqlite3rc.h..
c390: 66 6f 72 20 2f 46 20 25 25 56 20 69 6e 20 28 27  for /F %%V in ('
c3a0: 74 79 70 65 20 22 24 28 54 4f 50 29 5c 56 45 52  type "$(TOP)\VER
c3b0: 53 49 4f 4e 22 27 29 20 64 6f 20 28 20 5c 0a 09  SION"') do ( \..
c3c0: 09 65 63 68 6f 20 23 64 65 66 69 6e 65 20 53 51  .echo #define SQ
c3d0: 4c 49 54 45 5f 52 45 53 4f 55 52 43 45 5f 56 45  LITE_RESOURCE_VE
c3e0: 52 53 49 4f 4e 20 25 25 56 20 5c 0a 09 09 09 7c  RSION %%V \....|
c3f0: 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD) $(
c400: 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
c410: 65 2e 74 63 6c 20 65 78 61 63 74 20 2e 20 5e 2c  e.tcl exact . ^,
c420: 20 3e 3e 20 73 71 6c 69 74 65 33 72 63 2e 68 20   >> sqlite3rc.h 
c430: 5c 0a 09 29 0a 09 65 63 68 6f 20 23 65 6e 64 69  \..)..echo #endi
c440: 66 20 3e 3e 20 73 71 6c 69 74 65 33 72 63 2e 68  f >> sqlite3rc.h
c450: 0a 09 24 28 4c 54 52 43 4f 4d 50 49 4c 45 29 20  ..$(LTRCOMPILE) 
c460: 2d 66 6f 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  -fo $(LIBRESOBJS
c470: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c  ) $(TOP)\src\sql
c480: 69 74 65 33 2e 72 63 0a 23 20 3c 3c 2f 62 6c 6f  ite3.rc.# <</blo
c490: 63 6b 31 3e 3e 0a 21 45 4e 44 49 46 0a 0a 23 20  ck1>>.!ENDIF..# 
c4a0: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73  <<mark>>.# Rules
c4b0: 20 74 6f 20 62 75 69 6c 64 20 69 6e 64 69 76 69   to build indivi
c4c0: 64 75 61 6c 20 2a 2e 6c 6f 20 66 69 6c 65 73 20  dual *.lo files 
c4d0: 66 72 6f 6d 20 66 69 6c 65 73 20 69 6e 20 74 68  from files in th
c4e0: 65 20 73 72 63 20 64 69 72 65 63 74 6f 72 79 2e  e src directory.
c4f0: 0a 23 0a 61 6c 74 65 72 2e 6c 6f 3a 09 24 28 54  .#.alter.lo:.$(T
c500: 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20  OP)\src\alter.c 
c510: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c520: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c530: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c540: 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63 0a  OP)\src\alter.c.
c550: 0a 61 6e 61 6c 79 7a 65 2e 6c 6f 3a 09 24 28 54  .analyze.lo:.$(T
c560: 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e  OP)\src\analyze.
c570: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c580: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c590: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c5a0: 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a  (TOP)\src\analyz
c5b0: 65 2e 63 0a 0a 61 74 74 61 63 68 2e 6c 6f 3a 09  e.c..attach.lo:.
c5c0: 24 28 54 4f 50 29 5c 73 72 63 5c 61 74 74 61 63  $(TOP)\src\attac
c5d0: 68 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  h.c $(HDR)..$(LT
c5e0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
c5f0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c600: 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 74 74 61   $(TOP)\src\atta
c610: 63 68 2e 63 0a 0a 61 75 74 68 2e 6c 6f 3a 09 24  ch.c..auth.lo:.$
c620: 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e 63  (TOP)\src\auth.c
c630: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c640: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c650: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c660: 54 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 0a  TOP)\src\auth.c.
c670: 0a 62 61 63 6b 75 70 2e 6c 6f 3a 09 24 28 54 4f  .backup.lo:.$(TO
c680: 50 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63 20  P)\src\backup.c 
c690: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c6a0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c6b0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c6c0: 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63  OP)\src\backup.c
c6d0: 0a 0a 62 69 74 76 65 63 2e 6c 6f 3a 09 24 28 54  ..bitvec.lo:.$(T
c6e0: 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63 2e 63  OP)\src\bitvec.c
c6f0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c700: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c710: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c720: 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63 2e  TOP)\src\bitvec.
c730: 63 0a 0a 62 74 6d 75 74 65 78 2e 6c 6f 3a 09 24  c..btmutex.lo:.$
c740: 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65  (TOP)\src\btmute
c750: 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  x.c $(HDR)..$(LT
c760: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
c770: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c780: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75   $(TOP)\src\btmu
c790: 74 65 78 2e 63 0a 0a 62 74 72 65 65 2e 6c 6f 3a  tex.c..btree.lo:
c7a0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65  .$(TOP)\src\btre
c7b0: 65 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f 50  e.c $(HDR) $(TOP
c7c0: 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 0a 09 24  )\src\pager.h..$
c7d0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c7e0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c7f0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62   -c $(TOP)\src\b
c800: 74 72 65 65 2e 63 0a 0a 62 75 69 6c 64 2e 6c 6f  tree.c..build.lo
c810: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 75 69  :.$(TOP)\src\bui
c820: 6c 64 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ld.c $(HDR)..$(L
c830: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c840: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c850: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 75 69  c $(TOP)\src\bui
c860: 6c 64 2e 63 0a 0a 63 61 6c 6c 62 61 63 6b 2e 6c  ld.c..callback.l
c870: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 61  o:.$(TOP)\src\ca
c880: 6c 6c 62 61 63 6b 2e 63 20 24 28 48 44 52 29 0a  llback.c $(HDR).
c890: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c8a0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c8b0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c8c0: 5c 63 61 6c 6c 62 61 63 6b 2e 63 0a 0a 63 6f 6d  \callback.c..com
c8d0: 70 6c 65 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  plete.lo:.$(TOP)
c8e0: 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20  \src\complete.c 
c8f0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c900: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c910: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c920: 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65  OP)\src\complete
c930: 2e 63 0a 0a 63 74 69 6d 65 2e 6c 6f 3a 09 24 28  .c..ctime.lo:.$(
c940: 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63  TOP)\src\ctime.c
c950: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c960: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c970: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c980: 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63  TOP)\src\ctime.c
c990: 0a 0a 64 61 74 65 2e 6c 6f 3a 09 24 28 54 4f 50  ..date.lo:.$(TOP
c9a0: 29 5c 73 72 63 5c 64 61 74 65 2e 63 20 24 28 48  )\src\date.c $(H
c9b0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c9c0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c9d0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c9e0: 5c 73 72 63 5c 64 61 74 65 2e 63 0a 0a 64 62 70  \src\date.c..dbp
c9f0: 61 67 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  age.lo:.$(TOP)\s
ca00: 72 63 5c 64 62 70 61 67 65 2e 63 20 24 28 48 44  rc\dbpage.c $(HD
ca10: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
ca20: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
ca30: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
ca40: 73 72 63 5c 64 62 70 61 67 65 2e 63 0a 0a 64 62  src\dbpage.c..db
ca50: 73 74 61 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  stat.lo:.$(TOP)\
ca60: 73 72 63 5c 64 62 73 74 61 74 2e 63 20 24 28 48  src\dbstat.c $(H
ca70: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
ca80: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
ca90: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
caa0: 5c 73 72 63 5c 64 62 73 74 61 74 2e 63 0a 0a 64  \src\dbstat.c..d
cab0: 65 6c 65 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  elete.lo:.$(TOP)
cac0: 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63 20 24 28  \src\delete.c $(
cad0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
cae0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
caf0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
cb00: 29 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63 0a 0a  )\src\delete.c..
cb10: 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  expr.lo:.$(TOP)\
cb20: 73 72 63 5c 65 78 70 72 2e 63 20 24 28 48 44 52  src\expr.c $(HDR
cb30: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
cb40: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
cb50: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
cb60: 72 63 5c 65 78 70 72 2e 63 0a 0a 66 61 75 6c 74  rc\expr.c..fault
cb70: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
cb80: 66 61 75 6c 74 2e 63 20 24 28 48 44 52 29 0a 09  fault.c $(HDR)..
cb90: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
cba0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
cbb0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
cbc0: 66 61 75 6c 74 2e 63 0a 0a 66 6b 65 79 2e 6c 6f  fault.c..fkey.lo
cbd0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65  :.$(TOP)\src\fke
cbe0: 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  y.c $(HDR)..$(LT
cbf0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
cc00: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cc10: 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79   $(TOP)\src\fkey
cc20: 2e 63 0a 0a 66 75 6e 63 2e 6c 6f 3a 09 24 28 54  .c..func.lo:.$(T
cc30: 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63 20 24  OP)\src\func.c $
cc40: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
cc50: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
cc60: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
cc70: 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63 0a 0a 67  P)\src\func.c..g
cc80: 6c 6f 62 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29  lobal.lo:.$(TOP)
cc90: 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 20 24 28  \src\global.c $(
cca0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
ccb0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
ccc0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
ccd0: 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 0a 0a  )\src\global.c..
cce0: 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  hash.lo:.$(TOP)\
ccf0: 73 72 63 5c 68 61 73 68 2e 63 20 24 28 48 44 52  src\hash.c $(HDR
cd00: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
cd10: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
cd20: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
cd30: 72 63 5c 68 61 73 68 2e 63 0a 0a 69 6e 73 65 72  rc\hash.c..inser
cd40: 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  t.lo:.$(TOP)\src
cd50: 5c 69 6e 73 65 72 74 2e 63 20 24 28 48 44 52 29  \insert.c $(HDR)
cd60: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cd70: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cd80: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cd90: 63 5c 69 6e 73 65 72 74 2e 63 0a 0a 6c 65 67 61  c\insert.c..lega
cda0: 63 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  cy.lo:.$(TOP)\sr
cdb0: 63 5c 6c 65 67 61 63 79 2e 63 20 24 28 48 44 52  c\legacy.c $(HDR
cdc0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
cdd0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
cde0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
cdf0: 72 63 5c 6c 65 67 61 63 79 2e 63 0a 0a 6c 6f 61  rc\legacy.c..loa
ce00: 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  dext.lo:.$(TOP)\
ce10: 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 20 24 28  src\loadext.c $(
ce20: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
ce30: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
ce40: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
ce50: 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 0a  )\src\loadext.c.
ce60: 0a 6d 61 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29  .main.lo:.$(TOP)
ce70: 5c 73 72 63 5c 6d 61 69 6e 2e 63 20 24 28 48 44  \src\main.c $(HD
ce80: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
ce90: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
cea0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
ceb0: 73 72 63 5c 6d 61 69 6e 2e 63 0a 0a 6d 61 6c 6c  src\main.c..mall
cec0: 6f 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  oc.lo:.$(TOP)\sr
ced0: 63 5c 6d 61 6c 6c 6f 63 2e 63 20 24 28 48 44 52  c\malloc.c $(HDR
cee0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
cef0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
cf00: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
cf10: 72 63 5c 6d 61 6c 6c 6f 63 2e 63 0a 0a 6d 65 6d  rc\malloc.c..mem
cf20: 30 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  0.lo:.$(TOP)\src
cf30: 5c 6d 65 6d 30 2e 63 20 24 28 48 44 52 29 0a 09  \mem0.c $(HDR)..
cf40: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
cf50: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
cf60: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
cf70: 6d 65 6d 30 2e 63 0a 0a 6d 65 6d 31 2e 6c 6f 3a  mem0.c..mem1.lo:
cf80: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31  .$(TOP)\src\mem1
cf90: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
cfa0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
cfb0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
cfc0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e  $(TOP)\src\mem1.
cfd0: 63 0a 0a 6d 65 6d 32 2e 6c 6f 3a 09 24 28 54 4f  c..mem2.lo:.$(TO
cfe0: 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 20 24 28  P)\src\mem2.c $(
cff0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d000: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d010: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d020: 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 0a 0a 6d 65  )\src\mem2.c..me
d030: 6d 33 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  m3.lo:.$(TOP)\sr
d040: 63 5c 6d 65 6d 33 2e 63 20 24 28 48 44 52 29 0a  c\mem3.c $(HDR).
d050: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d060: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d070: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d080: 5c 6d 65 6d 33 2e 63 0a 0a 6d 65 6d 35 2e 6c 6f  \mem3.c..mem5.lo
d090: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  :.$(TOP)\src\mem
d0a0: 35 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  5.c $(HDR)..$(LT
d0b0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d0c0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d0d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35   $(TOP)\src\mem5
d0e0: 2e 63 0a 0a 6d 65 6d 64 62 2e 6c 6f 3a 09 24 28  .c..memdb.lo:.$(
d0f0: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 64 62 2e 63  TOP)\src\memdb.c
d100: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d110: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d120: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
d130: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 64 62 2e 63  TOP)\src\memdb.c
d140: 0a 0a 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 3a  ..memjournal.lo:
d150: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a  .$(TOP)\src\memj
d160: 6f 75 72 6e 61 6c 2e 63 20 24 28 48 44 52 29 0a  ournal.c $(HDR).
d170: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d180: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d190: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d1a0: 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 0a 0a 6d  \memjournal.c..m
d1b0: 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  utex.lo:.$(TOP)\
d1c0: 73 72 63 5c 6d 75 74 65 78 2e 63 20 24 28 48 44  src\mutex.c $(HD
d1d0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d1e0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d1f0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d200: 73 72 63 5c 6d 75 74 65 78 2e 63 0a 0a 6d 75 74  src\mutex.c..mut
d210: 65 78 5f 6e 6f 6f 70 2e 6c 6f 3a 09 24 28 54 4f  ex_noop.lo:.$(TO
d220: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f  P)\src\mutex_noo
d230: 70 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  p.c $(HDR)..$(LT
d240: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d250: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d260: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65   $(TOP)\src\mute
d270: 78 5f 6e 6f 6f 70 2e 63 0a 0a 6d 75 74 65 78 5f  x_noop.c..mutex_
d280: 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  unix.lo:.$(TOP)\
d290: 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63  src\mutex_unix.c
d2a0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d2b0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d2c0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
d2d0: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75  TOP)\src\mutex_u
d2e0: 6e 69 78 2e 63 0a 0a 6d 75 74 65 78 5f 77 33 32  nix.c..mutex_w32
d2f0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d300: 6d 75 74 65 78 5f 77 33 32 2e 63 20 24 28 48 44  mutex_w32.c $(HD
d310: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d320: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d330: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d340: 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 0a  src\mutex_w32.c.
d350: 0a 6e 6f 74 69 66 79 2e 6c 6f 3a 09 24 28 54 4f  .notify.lo:.$(TO
d360: 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63 20  P)\src\notify.c 
d370: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d380: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d390: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d3a0: 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63  OP)\src\notify.c
d3b0: 0a 0a 70 61 67 65 72 2e 6c 6f 3a 09 24 28 54 4f  ..pager.lo:.$(TO
d3c0: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 20 24  P)\src\pager.c $
d3d0: 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63  (HDR) $(TOP)\src
d3e0: 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c 54 43 4f  \pager.h..$(LTCO
d3f0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d400: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d410: 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e  (TOP)\src\pager.
d420: 63 0a 0a 70 63 61 63 68 65 2e 6c 6f 3a 09 24 28  c..pcache.lo:.$(
d430: 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e  TOP)\src\pcache.
d440: 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c  c $(HDR) $(TOP)\
d450: 73 72 63 5c 70 63 61 63 68 65 2e 68 0a 09 24 28  src\pcache.h..$(
d460: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d470: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d480: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  -c $(TOP)\src\pc
d490: 61 63 68 65 2e 63 0a 0a 70 63 61 63 68 65 31 2e  ache.c..pcache1.
d4a0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70  lo:.$(TOP)\src\p
d4b0: 63 61 63 68 65 31 2e 63 20 24 28 48 44 52 29 20  cache1.c $(HDR) 
d4c0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach
d4d0: 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  e.h..$(LTCOMPILE
d4e0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d4f0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d500: 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 0a 0a  \src\pcache1.c..
d510: 6f 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  os.lo:.$(TOP)\sr
d520: 63 5c 6f 73 2e 63 20 24 28 48 44 52 29 0a 09 24  c\os.c $(HDR)..$
d530: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d540: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d550: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f   -c $(TOP)\src\o
d560: 73 2e 63 0a 0a 6f 73 5f 75 6e 69 78 2e 6c 6f 3a  s.c..os_unix.lo:
d570: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75  .$(TOP)\src\os_u
d580: 6e 69 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28  nix.c $(HDR)..$(
d590: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d5a0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d5b0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  -c $(TOP)\src\os
d5c0: 5f 75 6e 69 78 2e 63 0a 0a 6f 73 5f 77 69 6e 2e  _unix.c..os_win.
d5d0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f  lo:.$(TOP)\src\o
d5e0: 73 5f 77 69 6e 2e 63 20 24 28 48 44 52 29 0a 09  s_win.c $(HDR)..
d5f0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d600: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d610: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d620: 6f 73 5f 77 69 6e 2e 63 0a 0a 70 72 61 67 6d 61  os_win.c..pragma
d630: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d640: 70 72 61 67 6d 61 2e 63 20 24 28 48 44 52 29 0a  pragma.c $(HDR).
d650: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d660: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d670: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d680: 5c 70 72 61 67 6d 61 2e 63 0a 0a 70 72 65 70 61  \pragma.c..prepa
d690: 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  re.lo:.$(TOP)\sr
d6a0: 63 5c 70 72 65 70 61 72 65 2e 63 20 24 28 48 44  c\prepare.c $(HD
d6b0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d6c0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d6d0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d6e0: 73 72 63 5c 70 72 65 70 61 72 65 2e 63 0a 0a 70  src\prepare.c..p
d6f0: 72 69 6e 74 66 2e 6c 6f 3a 09 24 28 54 4f 50 29  rintf.lo:.$(TOP)
d700: 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 20 24 28  \src\printf.c $(
d710: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d720: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d730: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d740: 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 0a 0a  )\src\printf.c..
d750: 72 61 6e 64 6f 6d 2e 6c 6f 3a 09 24 28 54 4f 50  random.lo:.$(TOP
d760: 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 24  )\src\random.c $
d770: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d780: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d790: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d7a0: 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 0a  P)\src\random.c.
d7b0: 0a 72 65 73 6f 6c 76 65 2e 6c 6f 3a 09 24 28 54  .resolve.lo:.$(T
d7c0: 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e  OP)\src\resolve.
d7d0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d7e0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d7f0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d800: 28 54 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76  (TOP)\src\resolv
d810: 65 2e 63 0a 0a 72 6f 77 73 65 74 2e 6c 6f 3a 09  e.c..rowset.lo:.
d820: 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65  $(TOP)\src\rowse
d830: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  t.c $(HDR)..$(LT
d840: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d850: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d860: 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73   $(TOP)\src\rows
d870: 65 74 2e 63 0a 0a 73 65 6c 65 63 74 2e 6c 6f 3a  et.c..select.lo:
d880: 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65  .$(TOP)\src\sele
d890: 63 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ct.c $(HDR)..$(L
d8a0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d8b0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d8c0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 65 6c  c $(TOP)\src\sel
d8d0: 65 63 74 2e 63 0a 0a 73 74 61 74 75 73 2e 6c 6f  ect.c..status.lo
d8e0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 74 61  :.$(TOP)\src\sta
d8f0: 74 75 73 2e 63 20 24 28 48 44 52 29 0a 09 24 28  tus.c $(HDR)..$(
d900: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d910: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d920: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 74  -c $(TOP)\src\st
d930: 61 74 75 73 2e 63 0a 0a 74 61 62 6c 65 2e 6c 6f  atus.c..table.lo
d940: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 61 62  :.$(TOP)\src\tab
d950: 6c 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  le.c $(HDR)..$(L
d960: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d970: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d980: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 61 62  c $(TOP)\src\tab
d990: 6c 65 2e 63 0a 0a 74 68 72 65 61 64 73 2e 6c 6f  le.c..threads.lo
d9a0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 68 72  :.$(TOP)\src\thr
d9b0: 65 61 64 73 2e 63 20 24 28 48 44 52 29 0a 09 24  eads.c $(HDR)..$
d9c0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d9d0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d9e0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74   -c $(TOP)\src\t
d9f0: 68 72 65 61 64 73 2e 63 0a 0a 74 6f 6b 65 6e 69  hreads.c..tokeni
da00: 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ze.lo:.$(TOP)\sr
da10: 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 6b 65 79  c\tokenize.c key
da20: 77 6f 72 64 68 61 73 68 2e 68 20 24 28 48 44 52  wordhash.h $(HDR
da30: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
da40: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
da50: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
da60: 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 0a 0a 74  rc\tokenize.c..t
da70: 72 65 65 76 69 65 77 2e 6c 6f 3a 09 24 28 54 4f  reeview.lo:.$(TO
da80: 50 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e  P)\src\treeview.
da90: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
daa0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
dab0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
dac0: 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65 76 69  (TOP)\src\treevi
dad0: 65 77 2e 63 0a 0a 74 72 69 67 67 65 72 2e 6c 6f  ew.c..trigger.lo
dae0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 69  :.$(TOP)\src\tri
daf0: 67 67 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24  gger.c $(HDR)..$
db00: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
db10: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
db20: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74   -c $(TOP)\src\t
db30: 72 69 67 67 65 72 2e 63 0a 0a 75 70 64 61 74 65  rigger.c..update
db40: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
db50: 75 70 64 61 74 65 2e 63 20 24 28 48 44 52 29 0a  update.c $(HDR).
db60: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
db70: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
db80: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
db90: 5c 75 70 64 61 74 65 2e 63 0a 0a 75 70 73 65 72  \update.c..upser
dba0: 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  t.lo:.$(TOP)\src
dbb0: 5c 75 70 73 65 72 74 2e 63 20 24 28 48 44 52 29  \upsert.c $(HDR)
dbc0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
dbd0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
dbe0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
dbf0: 63 5c 75 70 73 65 72 74 2e 63 0a 0a 75 74 66 2e  c\upsert.c..utf.
dc00: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75  lo:.$(TOP)\src\u
dc10: 74 66 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  tf.c $(HDR)..$(L
dc20: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
dc30: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
dc40: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 66  c $(TOP)\src\utf
dc50: 2e 63 0a 0a 75 74 69 6c 2e 6c 6f 3a 09 24 28 54  .c..util.lo:.$(T
dc60: 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 20 24  OP)\src\util.c $
dc70: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
dc80: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
dc90: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
dca0: 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 0a 0a 76  P)\src\util.c..v
dcb0: 61 63 75 75 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29  acuum.lo:.$(TOP)
dcc0: 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63 20 24 28  \src\vacuum.c $(
dcd0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
dce0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
dcf0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
dd00: 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63 0a 0a  )\src\vacuum.c..
dd10: 76 64 62 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  vdbe.lo:.$(TOP)\
dd20: 73 72 63 5c 76 64 62 65 2e 63 20 24 28 48 44 52  src\vdbe.c $(HDR
dd30: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
dd40: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
dd50: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
dd60: 72 63 5c 76 64 62 65 2e 63 0a 0a 76 64 62 65 61  rc\vdbe.c..vdbea
dd70: 70 69 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  pi.lo:.$(TOP)\sr
dd80: 63 5c 76 64 62 65 61 70 69 2e 63 20 24 28 48 44  c\vdbeapi.c $(HD
dd90: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
dda0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
ddb0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
ddc0: 73 72 63 5c 76 64 62 65 61 70 69 2e 63 0a 0a 76  src\vdbeapi.c..v
ddd0: 64 62 65 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50  dbeaux.lo:.$(TOP
dde0: 29 5c 73 72 63 5c 76 64 62 65 61 75 78 2e 63 20  )\src\vdbeaux.c 
ddf0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
de00: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
de10: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
de20: 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78 2e  OP)\src\vdbeaux.
de30: 63 0a 0a 76 64 62 65 62 6c 6f 62 2e 6c 6f 3a 09  c..vdbeblob.lo:.
de40: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62  $(TOP)\src\vdbeb
de50: 6c 6f 62 2e 63 20 24 28 48 44 52 29 0a 09 24 28  lob.c $(HDR)..$(
de60: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
de70: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
de80: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  -c $(TOP)\src\vd
de90: 62 65 62 6c 6f 62 2e 63 0a 0a 76 64 62 65 6d 65  beblob.c..vdbeme
dea0: 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  m.lo:.$(TOP)\src
deb0: 5c 76 64 62 65 6d 65 6d 2e 63 20 24 28 48 44 52  \vdbemem.c $(HDR
dec0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
ded0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
dee0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
def0: 72 63 5c 76 64 62 65 6d 65 6d 2e 63 0a 0a 76 64  rc\vdbemem.c..vd
df00: 62 65 73 6f 72 74 2e 6c 6f 3a 09 24 28 54 4f 50  besort.lo:.$(TOP
df10: 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63  )\src\vdbesort.c
df20: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
df30: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
df40: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
df50: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72  TOP)\src\vdbesor
df60: 74 2e 63 0a 0a 76 64 62 65 74 72 61 63 65 2e 6c  t.c..vdbetrace.l
df70: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  o:.$(TOP)\src\vd
df80: 62 65 74 72 61 63 65 2e 63 20 24 28 48 44 52 29  betrace.c $(HDR)
df90: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
dfa0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
dfb0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
dfc0: 63 5c 76 64 62 65 74 72 61 63 65 2e 63 0a 0a 76  c\vdbetrace.c..v
dfd0: 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  tab.lo:.$(TOP)\s
dfe0: 72 63 5c 76 74 61 62 2e 63 20 24 28 48 44 52 29  rc\vtab.c $(HDR)
dff0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
e000: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
e010: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
e020: 63 5c 76 74 61 62 2e 63 0a 0a 77 61 6c 2e 6c 6f  c\vtab.c..wal.lo
e030: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c  :.$(TOP)\src\wal
e040: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
e050: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
e060: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
e070: 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63  $(TOP)\src\wal.c
e080: 0a 0a 77 61 6c 6b 65 72 2e 6c 6f 3a 09 24 28 54  ..walker.lo:.$(T
e090: 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63  OP)\src\walker.c
e0a0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
e0b0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
e0c0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
e0d0: 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e  TOP)\src\walker.
e0e0: 63 0a 0a 77 68 65 72 65 2e 6c 6f 3a 09 24 28 54  c..where.lo:.$(T
e0f0: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 20  OP)\src\where.c 
e100: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
e110: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
e120: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
e130: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 0a  OP)\src\where.c.
e140: 0a 77 68 65 72 65 63 6f 64 65 2e 6c 6f 3a 09 24  .wherecode.lo:.$
e150: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 63  (TOP)\src\wherec
e160: 6f 64 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ode.c $(HDR)..$(
e170: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
e180: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
e190: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  -c $(TOP)\src\wh
e1a0: 65 72 65 63 6f 64 65 2e 63 0a 0a 77 68 65 72 65  erecode.c..where
e1b0: 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  expr.lo:.$(TOP)\
e1c0: 73 72 63 5c 77 68 65 72 65 65 78 70 72 2e 63 20  src\whereexpr.c 
e1d0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
e1e0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
e1f0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
e200: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70  OP)\src\whereexp
e210: 72 2e 63 0a 0a 77 69 6e 64 6f 77 2e 6c 6f 3a 09  r.c..window.lo:.
e220: 24 28 54 4f 50 29 5c 73 72 63 5c 77 69 6e 64 6f  $(TOP)\src\windo
e230: 77 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  w.c $(HDR)..$(LT
e240: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
e250: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
e260: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 69 6e 64   $(TOP)\src\wind
e270: 6f 77 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2e  ow.c..tclsqlite.
e280: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74  lo:.$(TOP)\src\t
e290: 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 48 44 52  clsqlite.c $(HDR
e2a0: 29 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44  ) $(SQLITE_TCL_D
e2b0: 45 50 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  EP)..$(LTCOMPILE
e2c0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 55  ) $(NO_WARN) -DU
e2d0: 53 45 5f 54 43 4c 5f 53 54 55 42 53 3d 31 20 2d  SE_TCL_STUBS=1 -
e2e0: 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49  DBUILD_sqlite -I
e2f0: 24 28 54 43 4c 49 4e 43 44 49 52 29 20 2d 63 20  $(TCLINCDIR) -c 
e300: 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71  $(TOP)\src\tclsq
e310: 6c 69 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 74  lite.c..tclsqlit
e320: 65 2d 73 68 65 6c 6c 2e 6c 6f 3a 09 24 28 54 4f  e-shell.lo:.$(TO
e330: 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65  P)\src\tclsqlite
e340: 2e 63 20 24 28 48 44 52 29 20 24 28 53 51 4c 49  .c $(HDR) $(SQLI
e350: 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c  TE_TCL_DEP)..$(L
e360: 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57  TCOMPILE) $(NO_W
e370: 41 52 4e 29 20 2d 44 54 43 4c 53 48 20 2d 44 42  ARN) -DTCLSH -DB
e380: 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28  UILD_sqlite -I$(
e390: 54 43 4c 49 4e 43 44 49 52 29 20 2d 63 20 24 28  TCLINCDIR) -c $(
e3a0: 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69  TOP)\src\tclsqli
e3b0: 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 33  te.c..tclsqlite3
e3c0: 2e 65 78 65 3a 09 74 63 6c 73 71 6c 69 74 65 2d  .exe:.tclsqlite-
e3d0: 73 68 65 6c 6c 2e 6c 6f 20 24 28 53 51 4c 49 54  shell.lo $(SQLIT
e3e0: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
e3f0: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09   $(LIBRESOBJS)..
e400: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 53 51 4c 49  $(LTLINK) $(SQLI
e410: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
e420: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
e430: 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54  PTS) $(TCLLIBPAT
e440: 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53  HS) $(LTLIBPATHS
e450: 29 20 2f 4f 55 54 3a 24 40 20 74 63 6c 73 71 6c  ) /OUT:$@ tclsql
e460: 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 24 28 4c  ite-shell.lo $(L
e470: 49 42 52 45 53 4f 42 4a 53 29 20 24 28 54 43 4c  IBRESOBJS) $(TCL
e480: 4c 49 42 53 29 20 24 28 4c 54 4c 49 42 53 29 20  LIBS) $(LTLIBS) 
e490: 24 28 54 4c 49 42 53 29 0a 0a 23 20 52 75 6c 65  $(TLIBS)..# Rule
e4a0: 73 20 74 6f 20 62 75 69 6c 64 20 6f 70 63 6f 64  s to build opcod
e4b0: 65 73 2e 63 20 61 6e 64 20 6f 70 63 6f 64 65 73  es.c and opcodes
e4c0: 2e 68 0a 23 0a 6f 70 63 6f 64 65 73 2e 63 3a 09  .h.#.opcodes.c:.
e4d0: 6f 70 63 6f 64 65 73 2e 68 20 24 28 54 4f 50 29  opcodes.h $(TOP)
e4e0: 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e  \tool\mkopcodec.
e4f0: 74 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44  tcl..$(TCLSH_CMD
e500: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  ) $(TOP)\tool\mk
e510: 6f 70 63 6f 64 65 63 2e 74 63 6c 20 6f 70 63 6f  opcodec.tcl opco
e520: 64 65 73 2e 68 20 3e 20 6f 70 63 6f 64 65 73 2e  des.h > opcodes.
e530: 63 0a 0a 6f 70 63 6f 64 65 73 2e 68 3a 09 70 61  c..opcodes.h:.pa
e540: 72 73 65 2e 68 20 24 28 54 4f 50 29 5c 73 72 63  rse.h $(TOP)\src
e550: 5c 76 64 62 65 2e 63 20 24 28 54 4f 50 29 5c 74  \vdbe.c $(TOP)\t
e560: 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63  ool\mkopcodeh.tc
e570: 6c 0a 09 74 79 70 65 20 70 61 72 73 65 2e 68 20  l..type parse.h 
e580: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e  $(TOP)\src\vdbe.
e590: 63 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29  c | $(TCLSH_CMD)
e5a0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f   $(TOP)\tool\mko
e5b0: 70 63 6f 64 65 68 2e 74 63 6c 20 3e 20 6f 70 63  pcodeh.tcl > opc
e5c0: 6f 64 65 73 2e 68 0a 0a 23 20 52 75 6c 65 73 20  odes.h..# Rules 
e5d0: 74 6f 20 62 75 69 6c 64 20 70 61 72 73 65 2e 63  to build parse.c
e5e0: 20 61 6e 64 20 70 61 72 73 65 2e 68 20 2d 20 74   and parse.h - t
e5f0: 68 65 20 6f 75 74 70 75 74 73 20 6f 66 20 6c 65  he outputs of le
e600: 6d 6f 6e 2e 0a 23 0a 70 61 72 73 65 2e 68 3a 09  mon..#.parse.h:.
e610: 70 61 72 73 65 2e 63 0a 0a 70 61 72 73 65 2e 63  parse.c..parse.c
e620: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72  :.$(TOP)\src\par
e630: 73 65 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 20 24  se.y lemon.exe $
e640: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70  (TOP)\tool\addop
e650: 63 6f 64 65 73 2e 74 63 6c 0a 09 64 65 6c 20 2f  codes.tcl..del /
e660: 51 20 70 61 72 73 65 2e 79 20 70 61 72 73 65 2e  Q parse.y parse.
e670: 68 20 70 61 72 73 65 2e 68 2e 74 65 6d 70 20 32  h parse.h.temp 2
e680: 3e 4e 55 4c 0a 09 63 6f 70 79 20 24 28 54 4f 50  >NUL..copy $(TOP
e690: 29 5c 73 72 63 5c 70 61 72 73 65 2e 79 20 2e 0a  )\src\parse.y ..
e6a0: 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52  ..\lemon.exe $(R
e6b0: 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  EQ_FEATURE_FLAGS
e6c0: 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f  ) $(OPT_FEATURE_
e6d0: 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41  FLAGS) $(EXT_FEA
e6e0: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50  TURE_FLAGS) $(OP
e6f0: 54 53 29 20 70 61 72 73 65 2e 79 0a 09 6d 6f 76  TS) parse.y..mov
e700: 65 20 70 61 72 73 65 2e 68 20 70 61 72 73 65 2e  e parse.h parse.
e710: 68 2e 74 65 6d 70 0a 09 24 28 54 43 4c 53 48 5f  h.temp..$(TCLSH_
e720: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
e730: 5c 61 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c 20  \addopcodes.tcl 
e740: 70 61 72 73 65 2e 68 2e 74 65 6d 70 20 3e 20 70  parse.h.temp > p
e750: 61 72 73 65 2e 68 0a 0a 24 28 53 51 4c 49 54 45  arse.h..$(SQLITE
e760: 33 48 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  3H):.$(TOP)\src\
e770: 73 71 6c 69 74 65 2e 68 2e 69 6e 20 24 28 54 4f  sqlite.h.in $(TO
e780: 50 29 5c 6d 61 6e 69 66 65 73 74 20 6d 6b 73 6f  P)\manifest mkso
e790: 75 72 63 65 69 64 2e 65 78 65 20 24 28 54 4f 50  urceid.exe $(TOP
e7a0: 29 5c 56 45 52 53 49 4f 4e 0a 09 24 28 54 43 4c  )\VERSION..$(TCL
e7b0: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
e7c0: 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 68 2e 74  ool\mksqlite3h.t
e7d0: 63 6c 20 24 28 54 4f 50 3a 5c 3d 2f 29 20 3e 20  cl $(TOP:\=/) > 
e7e0: 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 4d 4b  $(SQLITE3H) $(MK
e7f0: 53 51 4c 49 54 45 33 48 5f 41 52 47 53 29 0a 0a  SQLITE3H_ARGS)..
e800: 73 71 6c 69 74 65 33 65 78 74 2e 68 3a 09 2e 74  sqlite3ext.h:..t
e810: 61 72 67 65 74 5f 73 6f 75 72 63 65 0a 21 49 46  arget_source.!IF
e820: 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21   $(USE_STDCALL)!
e830: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1
e840: 30 29 21 3d 30 0a 09 74 79 70 65 20 74 73 72 63  0)!=0..type tsrc
e850: 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20 7c 20  \sqlite3ext.h | 
e860: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
e870: 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
e880: 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c  .tcl regsub "\(\
e890: 2a 5c 29 22 20 22 28 53 51 4c 49 54 45 5f 43 41  *\)" "(SQLITE_CA
e8a0: 4c 4c 42 41 43 4b 20 2a 29 22 20 5c 0a 09 09 7c  LLBACK *)" \...|
e8b0: 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD) $(
e8c0: 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
e8d0: 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28  e.tcl regsub "\(
e8e0: 5c 2a 22 20 22 28 53 51 4c 49 54 45 5f 41 50 49  \*" "(SQLITE_API
e8f0: 43 41 4c 4c 20 2a 22 20 3e 20 73 71 6c 69 74 65  CALL *" > sqlite
e900: 33 65 78 74 2e 68 0a 09 63 6f 70 79 20 2f 59 20  3ext.h..copy /Y 
e910: 73 71 6c 69 74 65 33 65 78 74 2e 68 20 74 73 72  sqlite3ext.h tsr
e920: 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 0a 21  c\sqlite3ext.h.!
e930: 45 4c 53 45 0a 09 63 6f 70 79 20 2f 59 20 74 73  ELSE..copy /Y ts
e940: 72 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20  rc\sqlite3ext.h 
e950: 73 71 6c 69 74 65 33 65 78 74 2e 68 0a 21 45 4e  sqlite3ext.h.!EN
e960: 44 49 46 0a 0a 6d 6b 6b 65 79 77 6f 72 64 68 61  DIF..mkkeywordha
e970: 73 68 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  sh.exe:.$(TOP)\t
e980: 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73  ool\mkkeywordhas
e990: 68 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f  h.c..$(BCC) $(NO
e9a0: 5f 57 41 52 4e 29 20 2d 46 65 24 40 20 24 28 52  _WARN) -Fe$@ $(R
e9b0: 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  EQ_FEATURE_FLAGS
e9c0: 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f  ) $(OPT_FEATURE_
e9d0: 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41  FLAGS) $(EXT_FEA
e9e0: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50  TURE_FLAGS) $(OP
e9f0: 54 53 29 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74  TS) \...$(TOP)\t
ea00: 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73  ool\mkkeywordhas
ea10: 68 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  h.c /link $(LDFL
ea20: 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50  AGS) $(NLTLINKOP
ea30: 54 53 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48  TS) $(NLTLIBPATH
ea40: 53 29 0a 0a 6b 65 79 77 6f 72 64 68 61 73 68 2e  S)..keywordhash.
ea50: 68 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  h:.$(TOP)\tool\m
ea60: 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 20 6d  kkeywordhash.c m
ea70: 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65  kkeywordhash.exe
ea80: 0a 09 2e 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73  ...\mkkeywordhas
ea90: 68 2e 65 78 65 20 3e 20 6b 65 79 77 6f 72 64 68  h.exe > keywordh
eaa0: 61 73 68 2e 68 0a 0a 23 20 53 6f 75 72 63 65 20  ash.h..# Source 
eab0: 66 69 6c 65 73 20 74 68 61 74 20 67 6f 20 69 6e  files that go in
eac0: 74 6f 20 6d 61 6b 69 6e 67 20 73 68 65 6c 6c 2e  to making shell.
ead0: 63 0a 53 48 45 4c 4c 5f 53 52 43 20 3d 20 5c 0a  c.SHELL_SRC = \.
eae0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c  .$(TOP)\src\shel
eaf0: 6c 2e 63 2e 69 6e 20 5c 0a 09 24 28 54 4f 50 29  l.c.in \..$(TOP)
eb00: 5c 65 78 74 5c 6d 69 73 63 5c 61 70 70 65 6e 64  \ext\misc\append
eb10: 76 66 73 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c  vfs.c \..$(TOP)\
eb20: 65 78 74 5c 6d 69 73 63 5c 73 68 61 74 68 72 65  ext\misc\shathre
eb30: 65 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78  e.c \..$(TOP)\ex
eb40: 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f 2e 63 20  t\misc\fileio.c 
eb50: 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  \..$(TOP)\ext\mi
eb60: 73 63 5c 63 6f 6d 70 6c 65 74 69 6f 6e 2e 63 20  sc\completion.c 
eb70: 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 65 78  \..$(TOP)\ext\ex
eb80: 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65  pert\sqlite3expe
eb90: 72 74 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65  rt.c \..$(TOP)\e
eba0: 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65  xt\expert\sqlite
ebb0: 33 65 78 70 65 72 74 2e 68 20 5c 0a 09 24 28 54  3expert.h \..$(T
ebc0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e  OP)\src\test_win
ebd0: 64 69 72 65 6e 74 2e 63 0a 0a 23 20 49 66 20 75  dirent.c..# If u
ebe0: 73 65 20 6f 66 20 7a 6c 69 62 20 69 73 20 65 6e  se of zlib is en
ebf0: 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 22  abled, add the "
ec00: 7a 69 70 66 69 6c 65 2e 63 22 20 73 6f 75 72 63  zipfile.c" sourc
ec10: 65 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28  e file..#.!IF $(
ec20: 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a 53 48 45  USE_ZLIB)!=0.SHE
ec30: 4c 4c 5f 53 52 43 20 3d 20 24 28 53 48 45 4c 4c  LL_SRC = $(SHELL
ec40: 5f 53 52 43 29 20 24 28 54 4f 50 29 5c 65 78 74  _SRC) $(TOP)\ext
ec50: 5c 6d 69 73 63 5c 73 71 6c 61 72 2e 63 0a 53 48  \misc\sqlar.c.SH
ec60: 45 4c 4c 5f 53 52 43 20 3d 20 24 28 53 48 45 4c  ELL_SRC = $(SHEL
ec70: 4c 5f 53 52 43 29 20 24 28 54 4f 50 29 5c 65 78  L_SRC) $(TOP)\ex
ec80: 74 5c 6d 69 73 63 5c 7a 69 70 66 69 6c 65 2e 63  t\misc\zipfile.c
ec90: 0a 21 45 4e 44 49 46 0a 0a 73 68 65 6c 6c 2e 63  .!ENDIF..shell.c
eca0: 3a 09 24 28 53 48 45 4c 4c 5f 53 52 43 29 20 24  :.$(SHELL_SRC) $
ecb0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 68 65  (TOP)\tool\mkshe
ecc0: 6c 6c 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53 48  llc.tcl..$(TCLSH
ecd0: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
ece0: 6c 5c 6d 6b 73 68 65 6c 6c 63 2e 74 63 6c 20 3e  l\mkshellc.tcl >
ecf0: 20 73 68 65 6c 6c 2e 63 0a 0a 7a 6c 69 62 3a 0a   shell.c..zlib:.
ed00: 09 70 75 73 68 64 20 24 28 5a 4c 49 42 44 49 52  .pushd $(ZLIBDIR
ed10: 29 20 26 26 20 24 28 4d 41 4b 45 29 20 2f 66 20  ) && $(MAKE) /f 
ed20: 77 69 6e 33 32 5c 4d 61 6b 65 66 69 6c 65 2e 6d  win32\Makefile.m
ed30: 73 63 20 63 6c 65 61 6e 20 24 28 5a 4c 49 42 4c  sc clean $(ZLIBL
ed40: 49 42 29 20 26 26 20 70 6f 70 64 0a 0a 23 20 52  IB) && popd..# R
ed50: 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68  ules to build th
ed60: 65 20 65 78 74 65 6e 73 69 6f 6e 20 6f 62 6a 65  e extension obje
ed70: 63 74 73 2e 0a 23 0a 69 63 75 2e 6c 6f 3a 09 24  cts..#.icu.lo:.$
ed80: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63  (TOP)\ext\icu\ic
ed90: 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  u.c $(HDR) $(EXT
eda0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
edb0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
edc0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
edd0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
ede0: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 69   -c $(TOP)\ext\i
edf0: 63 75 5c 69 63 75 2e 63 0a 0a 66 74 73 32 2e 6c  cu\icu.c..fts2.l
ee00: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
ee10: 73 32 5c 66 74 73 32 2e 63 20 24 28 48 44 52 29  s2\fts2.c $(HDR)
ee20: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
ee30: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
ee40: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
ee50: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
ee60: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
ee70: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 63  \ext\fts2\fts2.c
ee80: 0a 0a 66 74 73 32 5f 68 61 73 68 2e 6c 6f 3a 09  ..fts2_hash.lo:.
ee90: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
eea0: 66 74 73 32 5f 68 61 73 68 2e 63 20 24 28 48 44  fts2_hash.c $(HD
eeb0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
eec0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
eed0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
eee0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
eef0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
ef00: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
ef10: 5f 68 61 73 68 2e 63 0a 0a 66 74 73 32 5f 69 63  _hash.c..fts2_ic
ef20: 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  u.lo:.$(TOP)\ext
ef30: 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e 63  \fts2\fts2_icu.c
ef40: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
ef50: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
ef60: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
ef70: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
ef80: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
ef90: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
efa0: 5c 66 74 73 32 5f 69 63 75 2e 63 0a 0a 66 74 73  \fts2_icu.c..fts
efb0: 32 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 54  2_porter.lo:.$(T
efc0: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
efd0: 32 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 44 52  2_porter.c $(HDR
efe0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
eff0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
f000: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
f010: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
f020: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
f030: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
f040: 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73 32 5f 74  porter.c..fts2_t
f050: 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 54  okenizer.lo:.$(T
f060: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
f070: 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 28  2_tokenizer.c $(
f080: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
f090: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
f0a0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
f0b0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
f0c0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
f0d0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
f0e0: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a  s2_tokenizer.c..
f0f0: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts2_tokenizer1.
f100: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
f110: 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a  ts2\fts2_tokeniz
f120: 65 72 31 2e 63 20 24 28 48 44 52 29 20 24 28 45  er1.c $(HDR) $(E
f130: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
f140: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
f150: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
f160: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
f170: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
f180: 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e  \fts2\fts2_token
f190: 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33 2e 6c 6f  izer1.c..fts3.lo
f1a0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
f1b0: 33 5c 66 74 73 33 2e 63 20 24 28 48 44 52 29 20  3\fts3.c $(HDR) 
f1c0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
f1d0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
f1e0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
f1f0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
f200: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
f210: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 0a  ext\fts3\fts3.c.
f220: 0a 66 74 73 33 5f 61 75 78 2e 6c 6f 3a 09 24 28  .fts3_aux.lo:.$(
f230: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
f240: 73 33 5f 61 75 78 2e 63 20 24 28 48 44 52 29 20  s3_aux.c $(HDR) 
f250: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
f260: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
f270: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
f280: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
f290: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
f2a0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75  ext\fts3\fts3_au
f2b0: 78 2e 63 0a 0a 66 74 73 33 5f 65 78 70 72 2e 6c  x.c..fts3_expr.l
f2c0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
f2d0: 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 20 24  s3\fts3_expr.c $
f2e0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
f2f0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
f300: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
f310: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
f320: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
f330: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
f340: 74 73 33 5f 65 78 70 72 2e 63 0a 0a 66 74 73 33  ts3_expr.c..fts3
f350: 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29  _hash.lo:.$(TOP)
f360: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68  \ext\fts3\fts3_h
f370: 61 73 68 2e 63 20 24 28 48 44 52 29 20 24 28 45  ash.c $(HDR) $(E
f380: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
f390: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
f3a0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
f3b0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
f3c0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
f3d0: 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e  \fts3\fts3_hash.
f3e0: 63 0a 0a 66 74 73 33 5f 69 63 75 2e 6c 6f 3a 09  c..fts3_icu.lo:.
f3f0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
f400: 66 74 73 33 5f 69 63 75 2e 63 20 24 28 48 44 52  fts3_icu.c $(HDR
f410: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
f420: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
f430: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
f440: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
f450: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
f460: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
f470: 69 63 75 2e 63 0a 0a 66 74 73 33 5f 73 6e 69 70  icu.c..fts3_snip
f480: 70 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  pet.lo:.$(TOP)\e
f490: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69  xt\fts3\fts3_sni
f4a0: 70 70 65 74 2e 63 20 24 28 48 44 52 29 20 24 28  ppet.c $(HDR) $(
f4b0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
f4c0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
f4d0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
f4e0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
f4f0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
f500: 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 70  t\fts3\fts3_snip
f510: 70 65 74 2e 63 0a 0a 66 74 73 33 5f 70 6f 72 74  pet.c..fts3_port
f520: 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  er.lo:.$(TOP)\ex
f530: 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74  t\fts3\fts3_port
f540: 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  er.c $(HDR) $(EX
f550: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
f560: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
f570: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
f580: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
f590: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
f5a0: 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65 72  fts3\fts3_porter
f5b0: 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  .c..fts3_tokeniz
f5c0: 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  er.lo:.$(TOP)\ex
f5d0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
f5e0: 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20 24  nizer.c $(HDR) $
f5f0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
f600: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
f610: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
f620: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
f630: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
f640: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
f650: 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 33 5f 74  enizer.c..fts3_t
f660: 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 28  okenizer1.lo:.$(
f670: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
f680: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20  s3_tokenizer1.c 
f690: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
f6a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
f6b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
f6c0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
f6d0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
f6e0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
f6f0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts3_tokenizer1.
f700: 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  c..fts3_tokenize
f710: 5f 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29  _vtab.lo:.$(TOP)
f720: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
f730: 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 20 24  okenize_vtab.c $
f740: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
f750: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
f760: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
f770: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
f780: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
f790: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
f7a0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61  ts3_tokenize_vta
f7b0: 62 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64  b.c..fts3_unicod
f7c0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  e.lo:.$(TOP)\ext
f7d0: 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f  \fts3\fts3_unico
f7e0: 64 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  de.c $(HDR) $(EX
f7f0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
f800: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
f810: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
f820: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
f830: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
f840: 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64  fts3\fts3_unicod
f850: 65 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64  e.c..fts3_unicod
f860: 65 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  e2.lo:.$(TOP)\ex
f870: 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63  t\fts3\fts3_unic
f880: 6f 64 65 32 2e 63 20 24 28 48 44 52 29 20 24 28  ode2.c $(HDR) $(
f890: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
f8a0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
f8b0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
f8c0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
f8d0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
f8e0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63  t\fts3\fts3_unic
f8f0: 6f 64 65 32 2e 63 0a 0a 66 74 73 33 5f 77 72 69  ode2.c..fts3_wri
f900: 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  te.lo:.$(TOP)\ex
f910: 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74  t\fts3\fts3_writ
f920: 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  e.c $(HDR) $(EXT
f930: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
f940: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
f950: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
f960: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
f970: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
f980: 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63  ts3\fts3_write.c
f990: 0a 0a 6a 73 6f 6e 31 2e 6c 6f 3a 09 24 28 54 4f  ..json1.lo:.$(TO
f9a0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a 73 6f 6e  P)\ext\misc\json
f9b0: 31 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  1.c $(HDR) $(EXT
f9c0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
f9d0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
f9e0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
f9f0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
fa00: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d   -c $(TOP)\ext\m
fa10: 69 73 63 5c 6a 73 6f 6e 31 2e 63 0a 0a 73 74 6d  isc\json1.c..stm
fa20: 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  t.lo:.$(TOP)\ext
fa30: 5c 6d 69 73 63 5c 73 74 6d 74 2e 63 20 24 28 48  \misc\stmt.c $(H
fa40: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
fa50: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
fa60: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
fa70: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
fa80: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
fa90: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 74 6d  OP)\ext\misc\stm
faa0: 74 2e 63 0a 0a 72 74 72 65 65 2e 6c 6f 3a 09 24  t.c..rtree.lo:.$
fab0: 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c  (TOP)\ext\rtree\
fac0: 72 74 72 65 65 2e 63 20 24 28 48 44 52 29 20 24  rtree.c $(HDR) $
fad0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
fae0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
faf0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
fb00: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
fb10: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
fb20: 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 63  xt\rtree\rtree.c
fb30: 0a 0a 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  ..sqlite3session
fb40: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
fb50: 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73  session\sqlite3s
fb60: 65 73 73 69 6f 6e 2e 63 20 24 28 48 44 52 29 20  ession.c $(HDR) 
fb70: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
fb80: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
fb90: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
fba0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
fbb0: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
fbc0: 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69  ext\session\sqli
fbd0: 74 65 33 73 65 73 73 69 6f 6e 2e 63 0a 0a 23 20  te3session.c..# 
fbe0: 46 54 53 35 20 74 68 69 6e 67 73 0a 23 0a 46 54  FTS5 things.#.FT
fbf0: 53 35 5f 53 52 43 20 3d 20 5c 0a 20 20 20 24 28  S5_SRC = \.   $(
fc00: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
fc10: 73 35 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  s5.h \.   $(TOP)
fc20: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 49 6e  \ext\fts5\fts5In
fc30: 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  t.h \.   $(TOP)\
fc40: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 61 75  ext\fts5\fts5_au
fc50: 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  x.c \.   $(TOP)\
fc60: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 62 75  ext\fts5\fts5_bu
fc70: 66 66 65 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f  ffer.c \.   $(TO
fc80: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
fc90: 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20 20 24 28 54  _main.c \.   $(T
fca0: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
fcb0: 35 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a 20 20 20  5_config.c \.   
fcc0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\
fcd0: 66 74 73 35 5f 65 78 70 72 2e 63 20 5c 0a 20 20  fts5_expr.c \.  
fce0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
fcf0: 5c 66 74 73 35 5f 68 61 73 68 2e 63 20 5c 0a 20  \fts5_hash.c \. 
fd00: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
fd10: 35 5c 66 74 73 35 5f 69 6e 64 65 78 2e 63 20 5c  5\fts5_index.c \
fd20: 0a 20 20 20 66 74 73 35 70 61 72 73 65 2e 63 20  .   fts5parse.c 
fd30: 66 74 73 35 70 61 72 73 65 2e 68 20 5c 0a 20 20  fts5parse.h \.  
fd40: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
fd50: 5c 66 74 73 35 5f 73 74 6f 72 61 67 65 2e 63 20  \fts5_storage.c 
fd60: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
fd70: 66 74 73 35 5c 66 74 73 35 5f 74 6f 6b 65 6e 69  fts5\fts5_tokeni
fd80: 7a 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  ze.c \.   $(TOP)
fd90: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 75  \ext\fts5\fts5_u
fda0: 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20 20 24  nicode2.c \.   $
fdb0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
fdc0: 74 73 35 5f 76 61 72 69 6e 74 2e 63 20 5c 0a 20  ts5_varint.c \. 
fdd0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
fde0: 35 5c 66 74 73 35 5f 76 6f 63 61 62 2e 63 0a 0a  5\fts5_vocab.c..
fdf0: 4c 53 4d 31 5f 53 52 43 20 3d 20 5c 0a 20 20 20  LSM1_SRC = \.   
fe00: 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c  $(TOP)\ext\lsm1\
fe10: 6c 73 6d 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  lsm.h \.   $(TOP
fe20: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 49 6e  )\ext\lsm1\lsmIn
fe30: 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  t.h \.   $(TOP)\
fe40: 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 63 6b 70  ext\lsm1\lsm_ckp
fe50: 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  t.c \.   $(TOP)\
fe60: 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 66 69 6c  ext\lsm1\lsm_fil
fe70: 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  e.c \.   $(TOP)\
fe80: 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6c 6f 67  ext\lsm1\lsm_log
fe90: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e
fea0: 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d 61 69 6e  xt\lsm1\lsm_main
feb0: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e
fec0: 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d 65 6d 2e  xt\lsm1\lsm_mem.
fed0: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex
fee0: 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d 75 74 65 78  t\lsm1\lsm_mutex
fef0: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e
ff00: 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 68 61 72  xt\lsm1\lsm_shar
ff10: 65 64 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  ed.c \.   $(TOP)
ff20: 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 6f  \ext\lsm1\lsm_so
ff30: 72 74 65 64 2e 63 20 5c 0a 20 20 20 24 28 54 4f  rted.c \.   $(TO
ff40: 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f  P)\ext\lsm1\lsm_
ff50: 73 74 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  str.c \.   $(TOP
ff60: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 74  )\ext\lsm1\lsm_t
ff70: 72 65 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  ree.c \.   $(TOP
ff80: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 75  )\ext\lsm1\lsm_u
ff90: 6e 69 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  nix.c \.   $(TOP
ffa0: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 76  )\ext\lsm1\lsm_v
ffb0: 61 72 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54  arint.c \.   $(T
ffc0: 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d  OP)\ext\lsm1\lsm
ffd0: 5f 76 74 61 62 2e 63 20 5c 0a 20 20 20 24 28 54  _vtab.c \.   $(T
ffe0: 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d  OP)\ext\lsm1\lsm
fff0: 5f 77 69 6e 33 32 2e 63 0a 0a 66 74 73 35 70 61  _win32.c..fts5pa
10000 72 73 65 2e 63 3a 09 24 28 54 4f 50 29 5c 65 78  rse.c:.$(TOP)\ex
10010 74 5c 66 74 73 35 5c 66 74 73 35 70 61 72 73 65  t\fts5\fts5parse
10020 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 0a 09 63 6f  .y lemon.exe..co
10030 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  py $(TOP)\ext\ft
10040 73 35 5c 66 74 73 35 70 61 72 73 65 2e 79 20 2e  s5\fts5parse.y .
10050 0a 09 64 65 6c 20 2f 51 20 66 74 73 35 70 61 72  ..del /Q fts5par
10060 73 65 2e 68 20 32 3e 4e 55 4c 0a 09 2e 5c 6c 65  se.h 2>NUL...\le
10070 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f 46 45  mon.exe $(REQ_FE
10080 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f  ATURE_FLAGS) $(O
10090 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
100a0 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f  ) $(EXT_FEATURE_
100b0 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20 66  FLAGS) $(OPTS) f
100c0 74 73 35 70 61 72 73 65 2e 79 0a 0a 66 74 73 35  ts5parse.y..fts5
100d0 70 61 72 73 65 2e 68 3a 09 66 74 73 35 70 61 72  parse.h:.fts5par
100e0 73 65 2e 63 0a 0a 66 74 73 35 2e 63 3a 09 24 28  se.c..fts5.c:.$(
100f0 46 54 53 35 5f 53 52 43 29 0a 09 24 28 54 43 4c  FTS5_SRC)..$(TCL
10100 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 65  SH_CMD) $(TOP)\e
10110 78 74 5c 66 74 73 35 5c 74 6f 6f 6c 5c 6d 6b 66  xt\fts5\tool\mkf
10120 74 73 35 63 2e 74 63 6c 0a 09 63 6f 70 79 20 24  ts5c.tcl..copy $
10130 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
10140 74 73 35 2e 68 20 2e 0a 0a 6c 73 6d 31 2e 63 3a  ts5.h ...lsm1.c:
10150 09 24 28 4c 53 4d 31 5f 53 52 43 29 0a 09 24 28  .$(LSM1_SRC)..$(
10160 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
10170 29 5c 65 78 74 5c 6c 73 6d 31 5c 74 6f 6f 6c 5c  )\ext\lsm1\tool\
10180 6d 6b 6c 73 6d 31 63 2e 74 63 6c 0a 09 63 6f 70  mklsm1c.tcl..cop
10190 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d  y $(TOP)\ext\lsm
101a0 31 5c 6c 73 6d 2e 68 20 2e 0a 0a 66 74 73 35 2e  1\lsm.h ...fts5.
101b0 6c 6f 3a 09 66 74 73 35 2e 63 20 24 28 48 44 52  lo:.fts5.c $(HDR
101c0 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
101d0 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
101e0 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
101f0 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
10200 54 45 5f 43 4f 52 45 20 2d 63 20 66 74 73 35 2e  TE_CORE -c fts5.
10210 63 0a 0a 66 74 73 35 5f 65 78 74 2e 6c 6f 3a 09  c..fts5_ext.lo:.
10220 66 74 73 35 2e 63 20 24 28 48 44 52 29 20 24 28  fts5.c $(HDR) $(
10230 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
10240 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29  PILE) $(NO_WARN)
10250 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 73 35   -c fts5.c..fts5
10260 2e 64 6c 6c 3a 09 66 74 73 35 5f 65 78 74 2e 6c  .dll:.fts5_ext.l
10270 6f 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41  o..$(LD) $(LDFLA
10280 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
10290 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  ) $(LTLIBPATHS) 
102a0 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40 20 66 74 73  /DLL /OUT:$@ fts
102b0 35 5f 65 78 74 2e 6c 6f 0a 0a 73 71 6c 69 74 65  5_ext.lo..sqlite
102c0 33 72 62 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  3rbu.lo:.$(TOP)\
102d0 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72  ext\rbu\sqlite3r
102e0 62 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  bu.c $(HDR) $(EX
102f0 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
10300 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  LE) -DSQLITE_COR
10310 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
10320 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63  rbu\sqlite3rbu.c
10330 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69  ..# Rules to bui
10340 6c 64 20 74 68 65 20 27 74 65 73 74 66 69 78 74  ld the 'testfixt
10350 75 72 65 27 20 61 70 70 6c 69 63 61 74 69 6f 6e  ure' application
10360 2e 0a 23 0a 23 20 49 66 20 75 73 69 6e 67 20 74  ..#.# If using t
10370 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2c  he amalgamation,
10380 20 75 73 65 20 73 71 6c 69 74 65 33 2e 63 20 64   use sqlite3.c d
10390 69 72 65 63 74 6c 79 20 74 6f 20 62 75 69 6c 64  irectly to build
103a0 20 74 68 65 20 74 65 73 74 0a 23 20 66 69 78 74   the test.# fixt
103b0 75 72 65 2e 20 20 4f 74 68 65 72 77 69 73 65 20  ure.  Otherwise 
103c0 6c 69 6e 6b 20 61 67 61 69 6e 73 74 20 6c 69 62  link against lib
103d0 73 71 6c 69 74 65 33 2e 6c 69 62 2e 20 20 28 54  sqlite3.lib.  (T
103e0 68 69 73 20 64 69 73 74 69 6e 63 74 69 6f 6e 20  his distinction 
103f0 69 73 0a 23 20 6e 65 63 65 73 73 61 72 79 20 62  is.# necessary b
10400 65 63 61 75 73 65 20 74 68 65 20 74 65 73 74 20  ecause the test 
10410 66 69 78 74 75 72 65 20 72 65 71 75 69 72 65 73  fixture requires
10420 20 6e 6f 6e 2d 41 50 49 20 73 79 6d 62 6f 6c 73   non-API symbols
10430 20 77 68 69 63 68 20 61 72 65 0a 23 20 68 69 64   which are.# hid
10440 64 65 6e 20 77 68 65 6e 20 74 68 65 20 6c 69 62  den when the lib
10450 72 61 72 79 20 69 73 20 62 75 69 6c 74 20 76 69  rary is built vi
10460 61 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69  a the amalgamati
10470 6f 6e 29 2e 0a 23 0a 54 45 53 54 46 49 58 54 55  on)..#.TESTFIXTU
10480 52 45 5f 46 4c 41 47 53 20 3d 20 2d 44 54 43 4c  RE_FLAGS = -DTCL
10490 53 48 5f 49 4e 49 54 5f 50 52 4f 43 3d 73 71 6c  SH_INIT_PROC=sql
104a0 69 74 65 33 54 65 73 74 49 6e 69 74 20 2d 44 53  ite3TestInit -DS
104b0 51 4c 49 54 45 5f 54 45 53 54 3d 31 20 2d 44 53  QLITE_TEST=1 -DS
104c0 51 4c 49 54 45 5f 43 52 41 53 48 5f 54 45 53 54  QLITE_CRASH_TEST
104d0 3d 31 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46  =1.TESTFIXTURE_F
104e0 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58  LAGS = $(TESTFIX
104f0 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
10500 4c 49 54 45 5f 53 45 52 56 45 52 3d 31 20 2d 44  LITE_SERVER=1 -D
10510 53 51 4c 49 54 45 5f 50 52 49 56 41 54 45 3d 22  SQLITE_PRIVATE="
10520 22 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  ".TESTFIXTURE_FL
10530 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54  AGS = $(TESTFIXT
10540 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
10550 49 54 45 5f 43 4f 52 45 20 24 28 4e 4f 5f 57 41  ITE_CORE $(NO_WA
10560 52 4e 29 0a 54 45 53 54 46 49 58 54 55 52 45 5f  RN).TESTFIXTURE_
10570 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49  FLAGS = $(TESTFI
10580 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  XTURE_FLAGS) -DS
10590 51 4c 49 54 45 5f 53 45 52 49 45 53 5f 43 4f 4e  QLITE_SERIES_CON
105a0 53 54 52 41 49 4e 54 5f 56 45 52 49 46 59 3d 31  STRAINT_VERIFY=1
105b0 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  .TESTFIXTURE_FLA
105c0 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55  GS = $(TESTFIXTU
105d0 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
105e0 54 45 5f 44 45 46 41 55 4c 54 5f 50 41 47 45 5f  TE_DEFAULT_PAGE_
105f0 53 49 5a 45 3d 31 30 32 34 0a 54 45 53 54 46 49  SIZE=1024.TESTFI
10600 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  XTURE_FLAGS = $(
10610 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
10620 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
10630 4c 45 5f 53 54 4d 54 56 54 41 42 3d 31 0a 54 45  LE_STMTVTAB=1.TE
10640 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20  STFIXTURE_FLAGS 
10650 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  = $(TESTFIXTURE_
10660 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
10670 45 4e 41 42 4c 45 5f 44 42 50 41 47 45 5f 56 54  ENABLE_DBPAGE_VT
10680 41 42 3d 31 0a 54 45 53 54 46 49 58 54 55 52 45  AB=1.TESTFIXTURE
10690 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46  _FLAGS = $(TESTF
106a0 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  IXTURE_FLAGS) -D
106b0 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53  SQLITE_ENABLE_JS
106c0 4f 4e 31 3d 31 0a 54 45 53 54 46 49 58 54 55 52  ON1=1.TESTFIXTUR
106d0 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54  E_FLAGS = $(TEST
106e0 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FIXTURE_FLAGS) $
106f0 28 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53  (TEST_CCONV_OPTS
10700 29 0a 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53  )..TESTFIXTURE_S
10710 52 43 30 20 3d 20 24 28 54 45 53 54 45 58 54 29  RC0 = $(TESTEXT)
10720 20 24 28 54 45 53 54 53 52 43 32 29 0a 54 45 53   $(TESTSRC2).TES
10730 54 46 49 58 54 55 52 45 5f 53 52 43 31 20 3d 20  TFIXTURE_SRC1 = 
10740 24 28 54 45 53 54 45 58 54 29 20 24 28 53 51 4c  $(TESTEXT) $(SQL
10750 49 54 45 33 43 29 0a 21 49 46 20 24 28 55 53 45  ITE3C).!IF $(USE
10760 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d  _AMALGAMATION)==
10770 30 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53 52  0.TESTFIXTURE_SR
10780 43 20 3d 20 24 28 54 45 53 54 53 52 43 29 20 24  C = $(TESTSRC) $
10790 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c  (TOP)\src\tclsql
107a0 69 74 65 2e 63 20 24 28 54 45 53 54 46 49 58 54  ite.c $(TESTFIXT
107b0 55 52 45 5f 53 52 43 30 29 0a 21 45 4c 53 45 0a  URE_SRC0).!ELSE.
107c0 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 20  TESTFIXTURE_SRC 
107d0 3d 20 24 28 54 45 53 54 53 52 43 29 20 24 28 54  = $(TESTSRC) $(T
107e0 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74  OP)\src\tclsqlit
107f0 65 2e 63 20 24 28 54 45 53 54 46 49 58 54 55 52  e.c $(TESTFIXTUR
10800 45 5f 53 52 43 31 29 0a 21 45 4e 44 49 46 0a 0a  E_SRC1).!ENDIF..
10810 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c  !IF $(USE_STDCAL
10820 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57  L)!=0 || $(FOR_W
10830 49 4e 31 30 29 21 3d 30 0a 73 71 6c 69 74 65 5f  IN10)!=0.sqlite_
10840 74 63 6c 44 65 63 6c 73 2e 68 3a 0a 09 65 63 68  tclDecls.h:..ech
10850 6f 20 23 69 66 6e 64 65 66 20 53 51 4c 49 54 45  o #ifndef SQLITE
10860 5f 54 43 4c 41 50 49 20 3e 20 24 28 53 51 4c 49  _TCLAPI > $(SQLI
10870 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 65 63  TETCLDECLSH)..ec
10880 68 6f 20 23 20 20 64 65 66 69 6e 65 20 53 51 4c  ho #  define SQL
10890 49 54 45 5f 54 43 4c 41 50 49 20 3e 3e 20 24 28  ITE_TCLAPI >> $(
108a0 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29  SQLITETCLDECLSH)
108b0 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 20 3e 3e  ..echo #endif >>
108c0 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c   $(SQLITETCLDECL
108d0 53 48 29 0a 09 74 79 70 65 20 22 24 28 54 43 4c  SH)..type "$(TCL
108e0 49 4e 43 44 49 52 29 5c 74 63 6c 44 65 63 6c 73  INCDIR)\tclDecls
108f0 2e 68 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53  .h" \...| $(TCLS
10900 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
10910 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72  ol\replace.tcl r
10920 65 67 73 75 62 20 22 5e 28 45 58 54 45 52 4e 28  egsub "^(EXTERN(
10930 3f 3a 20 43 4f 4e 53 54 5c 64 2b 3f 29 3f 5c 73  ?: CONST\d+?)?\s
10940 2b 3f 5b 5e 5c 28 5d 2a 3f 5c 73 2b 3f 29 54 63  +?[^\(]*?\s+?)Tc
10950 6c 5f 22 20 22 5c 31 20 53 51 4c 49 54 45 5f 54  l_" "\1 SQLITE_T
10960 43 4c 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09 09  CLAPI Tcl_" \...
10970 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
10980 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
10990 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5e  ce.tcl regsub "^
109a0 28 45 58 54 45 52 4e 5c 73 2b 3f 28 3f 3a 76 6f  (EXTERN\s+?(?:vo
109b0 69 64 7c 56 4f 49 44 29 5c 73 2b 3f 29 54 63 6c  id|VOID)\s+?)Tcl
109c0 46 72 65 65 4f 62 6a 22 20 22 5c 31 20 53 51 4c  FreeObj" "\1 SQL
109d0 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c 46 72  ITE_TCLAPI TclFr
109e0 65 65 4f 62 6a 22 20 5c 0a 09 09 7c 20 24 28 54  eeObj" \...| $(T
109f0 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
10a00 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
10a10 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 74 63  l regsub "\(\*tc
10a20 6c 5f 22 20 22 28 53 51 4c 49 54 45 5f 54 43 4c  l_" "(SQLITE_TCL
10a30 41 50 49 20 2a 74 63 6c 5f 22 20 5c 0a 09 09 7c  API *tcl_" \...|
10a40 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD) $(
10a50 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
10a60 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28  e.tcl regsub "\(
10a70 5c 2a 74 63 6c 46 72 65 65 4f 62 6a 22 20 22 28  \*tclFreeObj" "(
10a80 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 74  SQLITE_TCLAPI *t
10a90 63 6c 46 72 65 65 4f 62 6a 22 20 5c 0a 09 09 7c  clFreeObj" \...|
10aa0 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD) $(
10ab0 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
10ac0 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28  e.tcl regsub "\(
10ad0 5c 2a 22 20 22 28 53 51 4c 49 54 45 5f 54 43 4c  \*" "(SQLITE_TCL
10ae0 41 50 49 20 2a 22 20 3e 3e 20 24 28 53 51 4c 49  API *" >> $(SQLI
10af0 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 0a 73 71  TETCLDECLSH)..sq
10b00 6c 69 74 65 5f 74 63 6c 2e 68 3a 0a 09 74 79 70  lite_tcl.h:..typ
10b10 65 20 22 24 28 54 43 4c 49 4e 43 44 49 52 29 5c  e "$(TCLINCDIR)\
10b20 74 63 6c 2e 68 22 20 7c 20 24 28 54 43 4c 53 48  tcl.h" | $(TCLSH
10b30 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
10b40 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78  l\replace.tcl ex
10b50 61 63 74 20 74 63 6c 44 65 63 6c 73 2e 68 20 73  act tclDecls.h s
10b60 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e 68  qlite_tclDecls.h
10b70 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43   \...| $(TCLSH_C
10b80 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
10b90 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73  replace.tcl regs
10ba0 75 62 20 22 74 79 70 65 64 65 66 20 28 2e 2a 3f  ub "typedef (.*?
10bb0 29 5c 28 54 63 6c 5f 22 20 22 74 79 70 65 64 65  )\(Tcl_" "typede
10bc0 66 20 5c 31 20 28 53 51 4c 49 54 45 5f 54 43 4c  f \1 (SQLITE_TCL
10bd0 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09 09 7c 20  API Tcl_" \...| 
10be0 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
10bf0 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
10c00 2e 74 63 6c 20 65 78 61 63 74 20 22 76 6f 69 64  .tcl exact "void
10c10 20 28 2a 66 72 65 65 50 72 6f 63 29 22 20 22 76   (*freeProc)" "v
10c20 6f 69 64 20 28 53 51 4c 49 54 45 5f 54 43 4c 41  oid (SQLITE_TCLA
10c30 50 49 20 2a 66 72 65 65 50 72 6f 63 29 22 20 5c  PI *freeProc)" \
10c40 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  ...| $(TCLSH_CMD
10c50 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re
10c60 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20  place.tcl exact 
10c70 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a  "Tcl_HashEntry *
10c80 28 2a 66 69 6e 64 50 72 6f 63 29 22 20 22 54 63  (*findProc)" "Tc
10c90 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 53 51  l_HashEntry *(SQ
10ca0 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 69 6e  LITE_TCLAPI *fin
10cb0 64 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 24 28  dProc)" \...| $(
10cc0 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
10cd0 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
10ce0 63 6c 20 65 78 61 63 74 20 22 54 63 6c 5f 48 61  cl exact "Tcl_Ha
10cf0 73 68 45 6e 74 72 79 20 2a 28 2a 63 72 65 61 74  shEntry *(*creat
10d00 65 50 72 6f 63 29 22 20 22 54 63 6c 5f 48 61 73  eProc)" "Tcl_Has
10d10 68 45 6e 74 72 79 20 2a 28 53 51 4c 49 54 45 5f  hEntry *(SQLITE_
10d20 54 43 4c 41 50 49 20 2a 63 72 65 61 74 65 50 72  TCLAPI *createPr
10d30 6f 63 29 22 20 3e 3e 20 24 28 53 51 4c 49 54 45  oc)" >> $(SQLITE
10d40 54 43 4c 48 29 0a 21 45 4e 44 49 46 0a 0a 74 65  TCLH).!ENDIF..te
10d50 73 74 66 69 78 74 75 72 65 2e 65 78 65 3a 09 24  stfixture.exe:.$
10d60 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43  (TESTFIXTURE_SRC
10d70 29 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  ) $(TESTFIXTURE_
10d80 44 45 50 29 20 24 28 53 51 4c 49 54 45 33 48 29  DEP) $(SQLITE3H)
10d90 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS) $
10da0 28 48 44 52 29 20 24 28 53 51 4c 49 54 45 5f 54  (HDR) $(SQLITE_T
10db0 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 4c 49 4e  CL_DEP)..$(LTLIN
10dc0 4b 29 20 2d 44 53 51 4c 49 54 45 5f 4e 4f 5f 53  K) -DSQLITE_NO_S
10dd0 59 4e 43 3d 31 20 24 28 54 45 53 54 46 49 58 54  YNC=1 $(TESTFIXT
10de0 55 52 45 5f 46 4c 41 47 53 29 20 5c 0a 09 09 2d  URE_FLAGS) \...-
10df0 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49  DBUILD_sqlite -I
10e00 24 28 54 43 4c 49 4e 43 44 49 52 29 20 5c 0a 09  $(TCLINCDIR) \..
10e10 09 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 53  .$(TESTFIXTURE_S
10e20 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28  RC) \.../link $(
10e30 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
10e40 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50  KOPTS) $(TCLLIBP
10e50 41 54 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54  ATHS) $(LTLIBPAT
10e60 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  HS) $(LIBRESOBJS
10e70 29 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c  ) $(TCLLIBS) $(L
10e80 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a  TLIBS) $(TLIBS).
10e90 0a 65 78 74 65 6e 73 69 6f 6e 74 65 73 74 3a 09  .extensiontest:.
10ea0 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe 
10eb0 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 0a  testloadext.dll.
10ec0 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42  .@set PATH=$(LIB
10ed0 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29  TCLPATH);$(PATH)
10ee0 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e  ...\testfixture.
10ef0 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  exe $(TOP)\test\
10f00 6c 6f 61 64 65 78 74 2e 74 65 73 74 20 24 28 54  loadext.test $(T
10f10 45 53 54 4f 50 54 53 29 0a 0a 63 6f 72 65 74 65  ESTOPTS)..corete
10f20 73 74 70 72 6f 67 73 3a 09 24 28 54 45 53 54 50  stprogs:.$(TESTP
10f30 52 4f 47 53 29 0a 0a 74 65 73 74 70 72 6f 67 73  ROGS)..testprogs
10f40 3a 09 63 6f 72 65 74 65 73 74 70 72 6f 67 73 20  :.coretestprogs 
10f50 73 72 63 63 6b 31 2e 65 78 65 20 66 75 7a 7a 63  srcck1.exe fuzzc
10f60 68 65 63 6b 2e 65 78 65 20 73 65 73 73 69 6f 6e  heck.exe session
10f70 66 75 7a 7a 2e 65 78 65 0a 0a 66 75 6c 6c 74 65  fuzz.exe..fullte
10f80 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29  st:.$(TESTPROGS)
10f90 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20   fuzztest..@set 
10fa0 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54  PATH=$(LIBTCLPAT
10fb0 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65  H);$(PATH)...\te
10fc0 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28  stfixture.exe $(
10fd0 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65  TOP)\test\all.te
10fe0 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a  st $(TESTOPTS)..
10ff0 73 6f 61 6b 74 65 73 74 3a 09 24 28 54 45 53 54  soaktest:.$(TEST
11000 50 52 4f 47 53 29 0a 09 40 73 65 74 20 50 41 54  PROGS)..@set PAT
11010 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b  H=$(LIBTCLPATH);
11020 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66  $(PATH)...\testf
11030 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50  ixture.exe $(TOP
11040 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74 20  )\test\all.test 
11050 2d 73 6f 61 6b 3d 31 20 24 28 54 45 53 54 4f 50  -soak=1 $(TESTOP
11060 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74 6f 6e 6c  TS)..fulltestonl
11070 79 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 20  y:.$(TESTPROGS) 
11080 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50  fuzztest..@set P
11090 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48  ATH=$(LIBTCLPATH
110a0 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73  );$(PATH)...\tes
110b0 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54  tfixture.exe $(T
110c0 4f 50 29 5c 74 65 73 74 5c 66 75 6c 6c 2e 74 65  OP)\test\full.te
110d0 73 74 0a 0a 71 75 65 72 79 70 6c 61 6e 74 65 73  st..queryplantes
110e0 74 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e 65  t:.testfixture.e
110f0 78 65 20 73 68 65 6c 6c 0a 09 40 73 65 74 20 50  xe shell..@set P
11100 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48  ATH=$(LIBTCLPATH
11110 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73  );$(PATH)...\tes
11120 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54  tfixture.exe $(T
11130 4f 50 29 5c 74 65 73 74 5c 70 65 72 6d 75 74 61  OP)\test\permuta
11140 74 69 6f 6e 73 2e 74 65 73 74 20 71 75 65 72 79  tions.test query
11150 70 6c 61 6e 6e 65 72 20 24 28 54 45 53 54 4f 50  planner $(TESTOP
11160 54 53 29 0a 0a 66 75 7a 7a 74 65 73 74 3a 09 66  TS)..fuzztest:.f
11170 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a 09 2e 5c  uzzcheck.exe...\
11180 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20 24 28  fuzzcheck.exe $(
11190 46 55 5a 5a 44 41 54 41 29 0a 0a 66 61 73 74 66  FUZZDATA)..fastf
111a0 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68 65  uzztest:.fuzzche
111b0 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63 68  ck.exe...\fuzzch
111c0 65 63 6b 2e 65 78 65 20 2d 2d 6c 69 6d 69 74 2d  eck.exe --limit-
111d0 6d 65 6d 20 31 30 30 4d 20 24 28 46 55 5a 5a 44  mem 100M $(FUZZD
111e0 41 54 41 29 0a 0a 23 20 4d 69 6e 69 6d 61 6c 20  ATA)..# Minimal 
111f0 74 65 73 74 69 6e 67 20 74 68 61 74 20 72 75 6e  testing that run
11200 73 20 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 33  s in less than 3
11210 20 6d 69 6e 75 74 65 73 20 28 6f 6e 20 61 20 66   minutes (on a f
11220 61 73 74 20 6d 61 63 68 69 6e 65 29 0a 23 0a 71  ast machine).#.q
11230 75 69 63 6b 74 65 73 74 3a 09 74 65 73 74 66 69  uicktest:.testfi
11240 78 74 75 72 65 2e 65 78 65 20 73 6f 75 72 63 65  xture.exe source
11250 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d  test..@set PATH=
11260 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28  $(LIBTCLPATH);$(
11270 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78  PATH)...\testfix
11280 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c  ture.exe $(TOP)\
11290 74 65 73 74 5c 65 78 74 72 61 71 75 69 63 6b 2e  test\extraquick.
112a0 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29  test $(TESTOPTS)
112b0 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20  ..# This is the 
112c0 63 6f 6d 6d 6f 6e 20 63 61 73 65 2e 20 20 52 75  common case.  Ru
112d0 6e 20 6d 61 6e 79 20 74 65 73 74 73 20 74 68 61  n many tests tha
112e0 74 20 64 6f 20 6e 6f 74 20 74 61 6b 65 20 74 6f  t do not take to
112f0 6f 20 6c 6f 6e 67 2c 0a 23 20 69 6e 63 6c 75 64  o long,.# includ
11300 69 6e 67 20 66 75 7a 7a 63 68 65 63 6b 2c 20 73  ing fuzzcheck, s
11310 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2c  qlite3_analyzer,
11320 20 61 6e 64 20 73 71 6c 64 69 66 66 20 74 65 73   and sqldiff tes
11330 74 73 2e 0a 23 0a 74 65 73 74 3a 09 24 28 54 45  ts..#.test:.$(TE
11340 53 54 50 52 4f 47 53 29 20 73 6f 75 72 63 65 74  STPROGS) sourcet
11350 65 73 74 20 66 61 73 74 66 75 7a 7a 74 65 73 74  est fastfuzztest
11360 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI
11370 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH
11380 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
11390 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test
113a0 5c 76 65 72 79 71 75 69 63 6b 2e 74 65 73 74 20  \veryquick.test 
113b0 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 6d 6f  $(TESTOPTS)..smo
113c0 6b 65 74 65 73 74 3a 09 24 28 54 45 53 54 50 52  ketest:.$(TESTPR
113d0 4f 47 53 29 0a 09 40 73 65 74 20 50 41 54 48 3d  OGS)..@set PATH=
113e0 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28  $(LIBTCLPATH);$(
113f0 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78  PATH)...\testfix
11400 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c  ture.exe $(TOP)\
11410 74 65 73 74 5c 6d 61 69 6e 2e 74 65 73 74 20 24  test\main.test $
11420 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 71 6c 69  (TESTOPTS)..sqli
11430 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 3a 09  te3_analyzer.c:.
11440 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
11450 4c 49 54 45 33 48 29 20 24 28 54 4f 50 29 5c 73  LITE3H) $(TOP)\s
11460 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24  rc\tclsqlite.c $
11470 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 61 63 65  (TOP)\tool\space
11480 61 6e 61 6c 2e 74 63 6c 20 24 28 54 4f 50 29 5c  anal.tcl $(TOP)\
11490 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c  tool\mkccode.tcl
114a0 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c   $(TOP)\tool\sql
114b0 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 2e  ite3_analyzer.c.
114c0 69 6e 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f  in $(SQLITE_TCL_
114d0 44 45 50 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d  DEP)..$(TCLSH_CM
114e0 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  D) $(TOP)\tool\m
114f0 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50  kccode.tcl $(TOP
11500 29 5c 74 6f 6f 6c 5c 73 71 6c 69 74 65 33 5f 61  )\tool\sqlite3_a
11510 6e 61 6c 79 7a 65 72 2e 63 2e 69 6e 20 3e 20 24  nalyzer.c.in > $
11520 40 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79  @..sqlite3_analy
11530 7a 65 72 2e 65 78 65 3a 09 73 71 6c 69 74 65 33  zer.exe:.sqlite3
11540 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 24 28 4c 49  _analyzer.c $(LI
11550 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c  BRESOBJS)..$(LTL
11560 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
11570 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d  -DBUILD_sqlite -
11580 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 73 71  I$(TCLINCDIR) sq
11590 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63  lite3_analyzer.c
115a0 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46   \.../link $(LDF
115b0 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
115c0 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48  TS) $(TCLLIBPATH
115d0 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29  S) $(LTLIBPATHS)
115e0 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS) $
115f0 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49  (TCLLIBS) $(LTLI
11600 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 73 71  BS) $(TLIBS)..sq
11610 6c 74 63 6c 73 68 2e 63 3a 20 73 71 6c 69 74 65  ltclsh.c: sqlite
11620 33 2e 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  3.c $(TOP)\src\t
11630 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 4f 50  clsqlite.c $(TOP
11640 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e  )\tool\sqltclsh.
11650 74 63 6c 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  tcl $(TOP)\ext\m
11660 69 73 63 5c 61 70 70 65 6e 64 76 66 73 2e 63 20  isc\appendvfs.c 
11670 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63  $(TOP)\tool\mkcc
11680 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74  ode.tcl $(TOP)\t
11690 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e 63 2e 69  ool\sqltclsh.c.i
116a0 6e 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  n..$(TCLSH_CMD) 
116b0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63  $(TOP)\tool\mkcc
116c0 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74  ode.tcl $(TOP)\t
116d0 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e 63 2e 69  ool\sqltclsh.c.i
116e0 6e 20 3e 73 71 6c 74 63 6c 73 68 2e 63 0a 0a 73  n >sqltclsh.c..s
116f0 71 6c 74 63 6c 73 68 2e 65 78 65 3a 20 73 71 6c  qltclsh.exe: sql
11700 74 63 6c 73 68 2e 63 20 20 24 28 53 48 45 4c 4c  tclsh.c  $(SHELL
11710 5f 43 4f 52 45 5f 44 45 50 29 20 24 28 4c 49 42  _CORE_DEP) $(LIB
11720 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49  RESOBJS)..$(LTLI
11730 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) -
11740 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49  DBUILD_sqlite -I
11750 24 28 54 43 4c 49 4e 43 44 49 52 29 20 73 71 6c  $(TCLINCDIR) sql
11760 74 63 6c 73 68 2e 63 20 5c 0a 09 09 2f 6c 69 6e  tclsh.c \.../lin
11770 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
11780 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c  TLINKOPTS) $(TCL
11790 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49  LIBPATHS) $(LTLI
117a0 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53  BPATHS) $(LIBRES
117b0 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29  OBJS) $(TCLLIBS)
117c0 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49   $(LTLIBS) $(TLI
117d0 42 53 29 0a 0a 73 71 6c 69 74 65 33 5f 65 78 70  BS)..sqlite3_exp
117e0 65 72 74 2e 65 78 65 3a 20 24 28 53 51 4c 49 54  ert.exe: $(SQLIT
117f0 45 33 43 29 20 24 28 54 4f 50 29 5c 65 78 74 5c  E3C) $(TOP)\ext\
11800 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78  expert\sqlite3ex
11810 70 65 72 74 2e 68 20 24 28 54 4f 50 29 5c 65 78  pert.h $(TOP)\ex
11820 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33  t\expert\sqlite3
11830 65 78 70 65 72 74 2e 63 20 24 28 54 4f 50 29 5c  expert.c $(TOP)\
11840 65 78 74 5c 65 78 70 65 72 74 5c 65 78 70 65 72  ext\expert\exper
11850 74 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  t.c..$(LTLINK) $
11860 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f 50 29  (NO_WARN).$(TOP)
11870 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69  \ext\expert\sqli
11880 74 65 33 65 78 70 65 72 74 2e 63 20 24 28 54 4f  te3expert.c $(TO
11890 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 65 78  P)\ext\expert\ex
118a0 70 65 72 74 2e 63 20 24 28 53 51 4c 49 54 45 33  pert.c $(SQLITE3
118b0 43 29 20 24 28 54 4c 49 42 53 29 0a 0a 43 48 45  C) $(TLIBS)..CHE
118c0 43 4b 45 52 5f 44 45 50 53 20 3d 5c 0a 20 20 24  CKER_DEPS =\.  $
118d0 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6d 6b 63 63 6f  (TOP)/tool/mkcco
118e0 64 65 2e 74 63 6c 20 5c 0a 20 20 73 71 6c 69 74  de.tcl \.  sqlit
118f0 65 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  e3.c \.  $(TOP)/
11900 73 72 63 2f 74 63 6c 73 71 6c 69 74 65 2e 63 20  src/tclsqlite.c 
11910 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72  \.  $(TOP)/ext/r
11920 65 70 61 69 72 2f 73 71 6c 69 74 65 33 5f 63 68  epair/sqlite3_ch
11930 65 63 6b 65 72 2e 74 63 6c 20 5c 0a 20 20 24 28  ecker.tcl \.  $(
11940 54 4f 50 29 2f 65 78 74 2f 72 65 70 61 69 72 2f  TOP)/ext/repair/
11950 63 68 65 63 6b 69 6e 64 65 78 2e 63 20 5c 0a 20  checkindex.c \. 
11960 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61   $(TOP)/ext/repa
11970 69 72 2f 63 68 65 63 6b 66 72 65 65 6c 69 73 74  ir/checkfreelist
11980 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78  .c \.  $(TOP)/ex
11990 74 2f 6d 69 73 63 2f 62 74 72 65 65 69 6e 66 6f  t/misc/btreeinfo
119a0 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78  .c \.  $(TOP)/ex
119b0 74 2f 72 65 70 61 69 72 2f 73 71 6c 69 74 65 33  t/repair/sqlite3
119c0 5f 63 68 65 63 6b 65 72 2e 63 2e 69 6e 0a 0a 73  _checker.c.in..s
119d0 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63  qlite3_checker.c
119e0 3a 09 24 28 43 48 45 43 4b 45 52 5f 44 45 50 53  :.$(CHECKER_DEPS
119f0 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  )..$(TCLSH_CMD) 
11a00 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63  $(TOP)\tool\mkcc
11a10 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c 65  ode.tcl $(TOP)\e
11a20 78 74 5c 72 65 70 61 69 72 5c 73 71 6c 69 74 65  xt\repair\sqlite
11a30 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69 6e 20 3e  3_checker.c.in >
11a40 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f 63 68 65   $@..sqlite3_che
11a50 63 6b 65 72 2e 65 78 65 3a 09 73 71 6c 69 74 65  cker.exe:.sqlite
11a60 33 5f 63 68 65 63 6b 65 72 2e 63 20 24 28 4c 49  3_checker.c $(LI
11a70 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c  BRESOBJS)..$(LTL
11a80 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
11a90 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d  -DBUILD_sqlite -
11aa0 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 73 71  I$(TCLINCDIR) sq
11ab0 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 20  lite3_checker.c 
11ac0 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  \.../link $(LDFL
11ad0 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
11ae0 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53  S) $(TCLLIBPATHS
11af0 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  ) $(LTLIBPATHS) 
11b00 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28  $(LIBRESOBJS) $(
11b10 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49 42  TCLLIBS) $(LTLIB
11b20 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 64 62 64  S) $(TLIBS)..dbd
11b30 75 6d 70 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  ump.exe:.$(TOP)\
11b40 65 78 74 5c 6d 69 73 63 5c 64 62 64 75 6d 70 2e  ext\misc\dbdump.
11b50 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
11b60 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52  SQLITE3H) $(LIBR
11b70 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e  ESOBJS)..$(LTLIN
11b80 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
11b90 44 42 44 55 4d 50 5f 53 54 41 4e 44 41 4c 4f 4e  DBDUMP_STANDALON
11ba0 45 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  E $(TOP)\ext\mis
11bb0 63 5c 64 62 64 75 6d 70 2e 63 20 24 28 53 51 4c  c\dbdump.c $(SQL
11bc0 49 54 45 33 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b  ITE3C) \.../link
11bd0 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
11be0 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49  LINKOPTS) $(LTLI
11bf0 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53  BPATHS) $(LIBRES
11c00 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 0a  OBJS) $(LTLIBS).
11c10 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 3a  .testloadext.lo:
11c20 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74  .$(TOP)\src\test
11c30 5f 6c 6f 61 64 65 78 74 2e 63 20 24 28 53 51 4c  _loadext.c $(SQL
11c40 49 54 45 33 48 29 0a 09 24 28 4c 54 43 4f 4d 50  ITE3H)..$(LTCOMP
11c50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  ILE) $(NO_WARN) 
11c60 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  -c $(TOP)\src\te
11c70 73 74 5f 6c 6f 61 64 65 78 74 2e 63 0a 0a 74 65  st_loadext.c..te
11c80 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 3a 09 74  stloadext.dll:.t
11c90 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a 09 24  estloadext.lo..$
11ca0 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20  (LD) $(LDFLAGS) 
11cb0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS) $(
11cc0 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c  LTLIBPATHS) /DLL
11cd0 20 2f 4f 55 54 3a 24 40 20 74 65 73 74 6c 6f 61   /OUT:$@ testloa
11ce0 64 65 78 74 2e 6c 6f 0a 0a 73 68 6f 77 64 62 2e  dext.lo..showdb.
11cf0 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool
11d00 5c 73 68 6f 77 64 62 2e 63 20 24 28 53 51 4c 49  \showdb.c $(SQLI
11d10 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
11d20 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
11d30 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
11d40 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
11d50 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
11d60 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$
11d70 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64  (TOP)\tool\showd
11d80 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  b.c $(SQLITE3C) 
11d90 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
11da0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
11db0 73 68 6f 77 73 74 61 74 34 2e 65 78 65 3a 09 24  showstat4.exe:.$
11dc0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73  (TOP)\tool\shows
11dd0 74 61 74 34 2e 63 20 24 28 53 51 4c 49 54 45 33  tat4.c $(SQLITE3
11de0 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
11df0 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
11e00 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
11e10 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
11e20 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
11e30 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f  TENSION \...$(TO
11e40 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 74 61 74  P)\tool\showstat
11e50 34 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  4.c $(SQLITE3C) 
11e60 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
11e70 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
11e80 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 3a  showjournal.exe:
11e90 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f  .$(TOP)\tool\sho
11ea0 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c  wjournal.c $(SQL
11eb0 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
11ec0 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
11ed0 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
11ee0 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d  E_THREADSAFE=0 -
11ef0 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41  DSQLITE_OMIT_LOA
11f00 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09  D_EXTENSION \...
11f10 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show
11f20 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c 49  journal.c $(SQLI
11f30 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
11f40 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
11f50 50 54 53 29 0a 0a 73 68 6f 77 77 61 6c 2e 65 78  PTS)..showwal.ex
11f60 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  e:.$(TOP)\tool\s
11f70 68 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c 49 54  howwal.c $(SQLIT
11f80 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
11f90 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
11fa0 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
11fb0 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
11fc0 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
11fd0 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28  EXTENSION \...$(
11fe0 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61  TOP)\tool\showwa
11ff0 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  l.c $(SQLITE3C) 
12000 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
12010 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
12020 73 68 6f 77 73 68 6d 2e 65 78 65 3a 09 24 28 54  showshm.exe:.$(T
12030 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 68 6d  OP)\tool\showshm
12040 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  .c..$(LTLINK) $(
12050 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f 50 29 5c  NO_WARN).$(TOP)\
12060 74 6f 6f 6c 5c 73 68 6f 77 73 68 6d 2e 63 20 2f  tool\showshm.c /
12070 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
12080 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 63  $(LTLINKOPTS)..c
12090 68 61 6e 67 65 73 65 74 2e 65 78 65 3a 09 24 28  hangeset.exe:.$(
120a0 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
120b0 5c 63 68 61 6e 67 65 73 65 74 2e 63 20 24 28 53  \changeset.c $(S
120c0 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
120d0 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
120e0 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
120f0 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
12100 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
12110 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
12120 09 09 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ..-DSQLITE_ENABL
12130 45 5f 53 45 53 53 49 4f 4e 3d 31 20 2d 44 53 51  E_SESSION=1 -DSQ
12140 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 50 52 45 55  LITE_ENABLE_PREU
12150 50 44 41 54 45 5f 48 4f 4f 4b 3d 31 20 5c 0a 09  PDATE_HOOK=1 \..
12160 09 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73  .$(TOP)\ext\sess
12170 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74 2e 63 20  ion\changeset.c 
12180 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
12190 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
121a0 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 74 73 33  TLINKOPTS)..fts3
121b0 76 69 65 77 2e 65 78 65 3a 09 24 28 54 4f 50 29  view.exe:.$(TOP)
121c0 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66  \ext\fts3\tool\f
121d0 74 73 33 76 69 65 77 2e 63 20 24 28 53 51 4c 49  ts3view.c $(SQLI
121e0 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
121f0 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
12200 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
12210 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
12220 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
12230 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$
12240 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 74  (TOP)\ext\fts3\t
12250 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63 20 24  ool\fts3view.c $
12260 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
12270 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
12280 4c 49 4e 4b 4f 50 54 53 29 0a 0a 72 6f 6c 6c 62  LINKOPTS)..rollb
12290 61 63 6b 2d 74 65 73 74 2e 65 78 65 3a 09 24 28  ack-test.exe:.$(
122a0 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61  TOP)\tool\rollba
122b0 63 6b 2d 74 65 73 74 2e 63 20 24 28 53 51 4c 49  ck-test.c $(SQLI
122c0 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
122d0 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
122e0 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
122f0 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
12300 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
12310 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$
12320 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62  (TOP)\tool\rollb
12330 61 63 6b 2d 74 65 73 74 2e 63 20 24 28 53 51 4c  ack-test.c $(SQL
12340 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
12350 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
12360 4f 50 54 53 29 0a 0a 61 74 72 63 2e 65 78 65 3a  OPTS)..atrc.exe:
12370 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 74 72  .$(TOP)\test\atr
12380 63 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  c.c $(SQLITE3C) 
12390 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
123a0 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
123b0 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
123c0 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
123d0 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
123e0 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c  SION \...$(TOP)\
123f0 74 65 73 74 5c 61 74 72 63 2e 63 20 24 28 53 51  test\atrc.c $(SQ
12400 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
12410 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
12420 4b 4f 50 54 53 29 0a 0a 4c 6f 67 45 73 74 2e 65  KOPTS)..LogEst.e
12430 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
12440 6c 6f 67 65 73 74 2e 63 20 24 28 53 51 4c 49 54  logest.c $(SQLIT
12450 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
12460 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50  $(NO_WARN) $(TOP
12470 29 5c 74 6f 6f 6c 5c 4c 6f 67 45 73 74 2e 63 20  )\tool\LogEst.c 
12480 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
12490 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
124a0 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65 3a 09 24  wordcount.exe:.$
124b0 28 54 4f 50 29 5c 74 65 73 74 5c 77 6f 72 64 63  (TOP)\test\wordc
124c0 6f 75 6e 74 2e 63 20 24 28 53 51 4c 49 54 45 33  ount.c $(SQLITE3
124d0 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
124e0 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
124f0 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
12500 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
12510 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
12520 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f  TENSION \...$(TO
12530 50 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e  P)\test\wordcoun
12540 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
12550 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
12560 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
12570 73 70 65 65 64 74 65 73 74 31 2e 65 78 65 3a 09  speedtest1.exe:.
12580 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 70 65 65  $(TOP)\test\spee
12590 64 74 65 73 74 31 2e 63 20 24 28 53 51 4c 49 54  dtest1.c $(SQLIT
125a0 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
125b0 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
125c0 5f 57 41 52 4e 29 20 24 28 53 54 5f 43 4f 4d 50  _WARN) $(ST_COMP
125d0 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49  ILE_OPTS) -DSQLI
125e0 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
125f0 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50  ENSION \...$(TOP
12600 29 5c 74 65 73 74 5c 73 70 65 65 64 74 65 73 74  )\test\speedtest
12610 31 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  1.c $(SQLITE3C) 
12620 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
12630 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
12640 6b 76 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f  kvtest.exe:.$(TO
12650 50 29 5c 74 65 73 74 5c 6b 76 74 65 73 74 2e 63  P)\test\kvtest.c
12660 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
12670 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
12680 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24  NK) $(NO_WARN) $
12690 28 4b 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  (KV_COMPILE_OPTS
126a0 29 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73  ) \...$(TOP)\tes
126b0 74 5c 6b 76 74 65 73 74 2e 63 20 24 28 53 51 4c  t\kvtest.c $(SQL
126c0 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
126d0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
126e0 4f 50 54 53 29 0a 0a 72 62 75 2e 65 78 65 3a 09  OPTS)..rbu.exe:.
126f0 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72  $(TOP)\ext\rbu\r
12700 62 75 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  bu.c $(TOP)\ext\
12710 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63  rbu\sqlite3rbu.c
12720 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
12730 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
12740 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) -
12750 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52  DSQLITE_ENABLE_R
12760 42 55 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78  BU \...$(TOP)\ex
12770 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 53 51  t\rbu\rbu.c $(SQ
12780 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
12790 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
127a0 4b 4f 50 54 53 29 0a 0a 4c 53 4d 44 49 52 3d 24  KOPTS)..LSMDIR=$
127b0 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 0a 21  (TOP)\ext\lsm1.!
127c0 49 4e 43 4c 55 44 45 20 24 28 4c 53 4d 44 49 52  INCLUDE $(LSMDIR
127d0 29 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 0a 0a  )\Makefile.msc..
127e0 6d 6f 72 65 63 6c 65 61 6e 3a 09 63 6c 65 61 6e  moreclean:.clean
127f0 0a 09 64 65 6c 20 2f 51 20 24 28 53 51 4c 49 54  ..del /Q $(SQLIT
12800 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
12810 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b   2>NUL.# <</mark
12820 3e 3e 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65 6c 20  >>..clean:..del 
12830 2f 51 20 2a 2e 65 78 70 20 2a 2e 6c 6f 20 2a 2e  /Q *.exp *.lo *.
12840 69 6c 6b 20 2a 2e 6c 69 62 20 2a 2e 6f 62 6a 20  ilk *.lib *.obj 
12850 2a 2e 6e 63 62 20 2a 2e 70 64 62 20 2a 2e 73 64  *.ncb *.pdb *.sd
12860 66 20 2a 2e 73 75 6f 20 32 3e 4e 55 4c 0a 09 64  f *.suo 2>NUL..d
12870 65 6c 20 2f 51 20 2a 2e 62 73 63 20 2a 2e 64 65  el /Q *.bsc *.de
12880 66 20 2a 2e 63 6f 64 20 2a 2e 64 61 20 2a 2e 62  f *.cod *.da *.b
12890 62 20 2a 2e 62 62 67 20 2a 2e 76 63 20 67 6d 6f  b *.bbg *.vc gmo
128a0 6e 2e 6f 75 74 20 32 3e 4e 55 4c 0a 09 64 65 6c  n.out 2>NUL..del
128b0 20 2f 51 20 24 28 53 51 4c 49 54 45 33 45 58 45   /Q $(SQLITE3EXE
128c0 29 20 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 20  ) $(SQLITE3DLL) 
128d0 52 65 70 6c 61 63 65 2e 65 78 65 20 32 3e 4e 55  Replace.exe 2>NU
128e0 4c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 09 64 65  L.# <<mark>>..de
128f0 6c 20 2f 51 20 6f 70 63 6f 64 65 73 2e 63 20 6f  l /Q opcodes.c o
12900 70 63 6f 64 65 73 2e 68 20 32 3e 4e 55 4c 0a 09  pcodes.h 2>NUL..
12910 64 65 6c 20 2f 51 20 6c 65 6d 6f 6e 2e 2a 20 6c  del /Q lemon.* l
12920 65 6d 70 61 72 2e 63 20 70 61 72 73 65 2e 2a 20  empar.c parse.* 
12930 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6d 6b  2>NUL..del /Q mk
12940 73 6f 75 72 63 65 69 64 2e 2a 20 6d 6b 6b 65 79  sourceid.* mkkey
12950 77 6f 72 64 68 61 73 68 2e 2a 20 6b 65 79 77 6f  wordhash.* keywo
12960 72 64 68 61 73 68 2e 68 20 32 3e 4e 55 4c 0a 09  rdhash.h 2>NUL..
12970 64 65 6c 20 2f 51 20 6e 6f 74 61 73 68 61 72 65  del /Q notashare
12980 64 6c 69 62 2e 2a 20 32 3e 4e 55 4c 0a 09 2d 72  dlib.* 2>NUL..-r
12990 6d 64 69 72 20 2f 51 2f 53 20 2e 64 65 70 73 20  mdir /Q/S .deps 
129a0 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51  2>NUL..-rmdir /Q
129b0 2f 53 20 2e 6c 69 62 73 20 32 3e 4e 55 4c 0a 09  /S .libs 2>NUL..
129c0 2d 72 6d 64 69 72 20 2f 51 2f 53 20 74 73 72 63  -rmdir /Q/S tsrc
129d0 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2e   2>NUL..del /Q .
129e0 74 61 72 67 65 74 5f 73 6f 75 72 63 65 20 32 3e  target_source 2>
129f0 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 63 6c 73  NUL..del /Q tcls
12a00 71 6c 69 74 65 33 2e 65 78 65 20 24 28 53 51 4c  qlite3.exe $(SQL
12a10 49 54 45 54 43 4c 48 29 20 24 28 53 51 4c 49 54  ITETCLH) $(SQLIT
12a20 45 54 43 4c 44 45 43 4c 53 48 29 20 32 3e 4e 55  ETCLDECLSH) 2>NU
12a30 4c 0a 09 64 65 6c 20 2f 51 20 6c 73 6d 2e 64 6c  L..del /Q lsm.dl
12a40 6c 20 6c 73 6d 74 65 73 74 2e 65 78 65 20 32 3e  l lsmtest.exe 2>
12a50 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 74  NUL..del /Q test
12a60 6c 6f 61 64 65 78 74 2e 64 6c 6c 20 32 3e 4e 55  loadext.dll 2>NU
12a70 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 74 66 69  L..del /Q testfi
12a80 78 74 75 72 65 2e 65 78 65 20 74 65 73 74 2e 64  xture.exe test.d
12a90 62 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  b 2>NUL..del /Q 
12aa0 4c 6f 67 45 73 74 2e 65 78 65 20 66 74 73 33 76  LogEst.exe fts3v
12ab0 69 65 77 2e 65 78 65 20 72 6f 6c 6c 62 61 63 6b  iew.exe rollback
12ac0 2d 74 65 73 74 2e 65 78 65 20 73 68 6f 77 64 62  -test.exe showdb
12ad0 2e 65 78 65 20 64 62 64 75 6d 70 2e 65 78 65 20  .exe dbdump.exe 
12ae0 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 63 68  2>NUL..del /Q ch
12af0 61 6e 67 65 73 65 74 2e 65 78 65 20 32 3e 4e 55  angeset.exe 2>NU
12b00 4c 0a 09 64 65 6c 20 2f 51 20 73 68 6f 77 6a 6f  L..del /Q showjo
12b10 75 72 6e 61 6c 2e 65 78 65 20 73 68 6f 77 73 74  urnal.exe showst
12b20 61 74 34 2e 65 78 65 20 73 68 6f 77 77 61 6c 2e  at4.exe showwal.
12b30 65 78 65 20 73 70 65 65 64 74 65 73 74 31 2e 65  exe speedtest1.e
12b40 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  xe 2>NUL..del /Q
12b50 20 6d 70 74 65 73 74 65 72 2e 65 78 65 20 77 6f   mptester.exe wo
12b60 72 64 63 6f 75 6e 74 2e 65 78 65 20 72 62 75 2e  rdcount.exe rbu.
12b70 65 78 65 20 73 72 63 63 6b 31 2e 65 78 65 20 32  exe srcck1.exe 2
12b80 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c  >NUL..del /Q sql
12b90 69 74 65 33 2e 63 20 73 71 6c 69 74 65 33 2d 2a  ite3.c sqlite3-*
12ba0 2e 63 20 73 71 6c 69 74 65 33 2e 68 20 32 3e 4e  .c sqlite3.h 2>N
12bb0 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74  UL..del /Q sqlit
12bc0 65 33 72 63 2e 68 20 32 3e 4e 55 4c 0a 09 64 65  e3rc.h 2>NUL..de
12bd0 6c 20 2f 51 20 73 68 65 6c 6c 2e 63 20 73 71 6c  l /Q shell.c sql
12be0 69 74 65 33 65 78 74 2e 68 20 73 71 6c 69 74 65  ite3ext.h sqlite
12bf0 33 73 65 73 73 69 6f 6e 2e 68 20 32 3e 4e 55 4c  3session.h 2>NUL
12c00 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 33  ..del /Q sqlite3
12c10 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65 20 73 71  _analyzer.exe sq
12c20 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63  lite3_analyzer.c
12c30 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73   2>NUL..del /Q s
12c40 71 6c 69 74 65 2d 2a 2d 6f 75 74 70 75 74 2e 76  qlite-*-output.v
12c50 73 69 78 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  six 2>NUL..del /
12c60 51 20 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65 78  Q fuzzershell.ex
12c70 65 20 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20  e fuzzcheck.exe 
12c80 73 71 6c 64 69 66 66 2e 65 78 65 20 64 62 68 61  sqldiff.exe dbha
12c90 73 68 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65  sh.exe 2>NUL..de
12ca0 6c 20 2f 51 20 73 71 6c 74 63 6c 73 68 2e 2a 20  l /Q sqltclsh.* 
12cb0 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 64 62  2>NUL..del /Q db
12cc0 66 75 7a 7a 2e 65 78 65 20 73 65 73 73 69 6f 6e  fuzz.exe session
12cd0 66 75 7a 7a 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  fuzz.exe 2>NUL..
12ce0 64 65 6c 20 2f 51 20 6b 76 74 65 73 74 2e 65 78  del /Q kvtest.ex
12cf0 65 20 6f 73 73 73 68 65 6c 6c 2e 65 78 65 20 73  e ossshell.exe s
12d00 63 72 75 62 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  crub.exe 2>NUL..
12d10 64 65 6c 20 2f 51 20 73 68 6f 77 73 68 6d 2e 65  del /Q showshm.e
12d20 78 65 20 73 71 6c 69 74 65 33 5f 63 68 65 63 6b  xe sqlite3_check
12d30 65 72 2e 2a 20 73 71 6c 69 74 65 33 5f 65 78 70  er.* sqlite3_exp
12d40 65 72 74 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  ert.exe 2>NUL..d
12d50 65 6c 20 2f 51 20 66 74 73 35 2e 2a 20 66 74 73  el /Q fts5.* fts
12d60 35 70 61 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a 09  5parse.* 2>NUL..
12d70 64 65 6c 20 2f 51 20 6c 73 6d 2e 68 20 6c 73 6d  del /Q lsm.h lsm
12d80 31 2e 63 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d  1.c 2>NUL.# <</m
12d90 61 72 6b 3e 3e 0a                                ark>>.