/ Hex Artifact Content
Login

Artifact 5df60c70edb157feb2148a14c687551969599bd065875a0b959b6b139721ca72:


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 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  1.OPT_FEATURE_FL
2180: 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54  AGS = $(OPT_FEAT
2190: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
21a0: 49 54 45 5f 45 4e 41 42 4c 45 5f 44 45 53 45 52  ITE_ENABLE_DESER
21b0: 49 41 4c 49 5a 45 3d 31 0a 21 45 4e 44 49 46 0a  IALIZE=1.!ENDIF.
21c0: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
21d0: 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52  S = $(OPT_FEATUR
21e0: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
21f0: 45 5f 45 4e 41 42 4c 45 5f 43 4f 4c 55 4d 4e 5f  E_ENABLE_COLUMN_
2200: 4d 45 54 41 44 41 54 41 3d 31 0a 21 45 4e 44 49  METADATA=1.!ENDI
2210: 46 0a 0a 23 20 53 68 6f 75 6c 64 20 74 68 65 20  F..# Should the 
2220: 73 65 73 73 69 6f 6e 20 65 78 74 65 6e 73 69 6f  session extensio
2230: 6e 20 62 65 20 65 6e 61 62 6c 65 64 3f 20 20 49  n be enabled?  I
2240: 66 20 73 6f 2c 20 61 64 64 20 63 6f 6d 70 69 6c  f so, add compil
2250: 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 0a 23 20  ation options.# 
2260: 74 6f 20 65 6e 61 62 6c 65 20 69 74 2e 0a 23 0a  to enable it..#.
2270: 21 49 46 20 24 28 53 45 53 53 49 4f 4e 29 21 3d  !IF $(SESSION)!=
2280: 30 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  0.OPT_FEATURE_FL
2290: 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54  AGS = $(OPT_FEAT
22a0: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
22b0: 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 53 53 49  ITE_ENABLE_SESSI
22c0: 4f 4e 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52 45  ON=1.OPT_FEATURE
22d0: 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46  _FLAGS = $(OPT_F
22e0: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  EATURE_FLAGS) -D
22f0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 50 52  SQLITE_ENABLE_PR
2300: 45 55 50 44 41 54 45 5f 48 4f 4f 4b 3d 31 0a 21  EUPDATE_HOOK=1.!
2310: 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61  ENDIF..# These a
2320: 72 65 20 74 68 65 20 22 65 78 74 65 6e 64 65 64  re the "extended
2330: 22 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61  " SQLite compila
2340: 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65  tion options use
2350: 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  d when compiling
2360: 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64 6f   for.# the Windo
2370: 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 2e 0a  ws 10 platform..
2380: 23 0a 21 49 46 4e 44 45 46 20 45 58 54 5f 46 45  #.!IFNDEF EXT_FE
2390: 41 54 55 52 45 5f 46 4c 41 47 53 0a 21 49 46 20  ATURE_FLAGS.!IF 
23a0: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a  $(FOR_WIN10)!=0.
23b0: 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  EXT_FEATURE_FLAG
23c0: 53 20 3d 20 24 28 45 58 54 5f 46 45 41 54 55 52  S = $(EXT_FEATUR
23d0: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
23e0: 45 5f 45 4e 41 42 4c 45 5f 46 54 53 34 3d 31 0a  E_ENABLE_FTS4=1.
23f0: 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  EXT_FEATURE_FLAG
2400: 53 20 3d 20 24 28 45 58 54 5f 46 45 41 54 55 52  S = $(EXT_FEATUR
2410: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
2420: 45 5f 53 59 53 54 45 4d 5f 4d 41 4c 4c 4f 43 3d  E_SYSTEM_MALLOC=
2430: 31 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c  1.EXT_FEATURE_FL
2440: 41 47 53 20 3d 20 24 28 45 58 54 5f 46 45 41 54  AGS = $(EXT_FEAT
2450: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
2460: 49 54 45 5f 4f 4d 49 54 5f 4c 4f 43 41 4c 54 49  ITE_OMIT_LOCALTI
2470: 4d 45 3d 31 0a 21 45 4c 53 45 0a 45 58 54 5f 46  ME=1.!ELSE.EXT_F
2480: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 0a 21  EATURE_FLAGS =.!
2490: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 23  ENDIF.!ENDIF..##
24a0: 23 23 23 23 23 23 23 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 23 23 23 23 23 23 23 23 23 23  ################
24d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
24e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 23  #############.##
24f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2500: 23 23 23 23 23 23 23 23 23 23 23 23 23 20 45 4e  ############# EN
2510: 44 20 4f 46 20 4f 50 54 49 4f 4e 53 20 23 23 23  D OF OPTIONS ###
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 0a 23 23  #############.##
2540: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2550: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2560: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2570: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2580: 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 0a 23  #############..#
2590: 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20   When compiling 
25a0: 66 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20  for the Windows 
25b0: 31 30 20 70 6c 61 74 66 6f 72 6d 2c 20 74 68 65  10 platform, the
25c0: 20 50 4c 41 54 46 4f 52 4d 20 6d 61 63 72 6f 20   PLATFORM macro 
25d0: 6d 75 73 74 20 62 65 20 73 65 74 0a 23 20 74 6f  must be set.# to
25e0: 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20   an appropriate 
25f0: 76 61 6c 75 65 20 28 65 2e 67 2e 20 78 38 36 2c  value (e.g. x86,
2600: 20 78 36 34 2c 20 61 72 6d 2c 20 61 72 6d 36 34   x64, arm, arm64
2610: 2c 20 65 74 63 29 2e 0a 23 0a 21 49 46 20 24 28  , etc)..#.!IF $(
2620: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21 49  FOR_WIN10)!=0.!I
2630: 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a 21  FNDEF PLATFORM.!
2640: 45 52 52 4f 52 20 55 73 69 6e 67 20 74 68 65 20  ERROR Using the 
2650: 46 4f 52 5f 57 49 4e 31 30 20 6f 70 74 69 6f 6e  FOR_WIN10 option
2660: 20 72 65 71 75 69 72 65 73 20 61 20 76 61 6c 75   requires a valu
2670: 65 20 66 6f 72 20 50 4c 41 54 46 4f 52 4d 2e 0a  e for PLATFORM..
2680: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
2690: 20 54 68 69 73 20 61 73 73 75 6d 65 73 20 74 68   This assumes th
26a0: 61 74 20 4d 53 56 43 20 69 73 20 61 6c 77 61 79  at MSVC is alway
26b0: 73 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 20 33  s installed in 3
26c0: 32 2d 62 69 74 20 50 72 6f 67 72 61 6d 20 46 69  2-bit Program Fi
26d0: 6c 65 73 20 64 69 72 65 63 74 6f 72 79 0a 23 20  les directory.# 
26e0: 61 6e 64 20 73 65 74 73 20 74 68 65 20 76 61 72  and sets the var
26f0: 69 61 62 6c 65 20 66 6f 72 20 75 73 65 20 69 6e  iable for use in
2700: 20 6c 6f 63 61 74 69 6e 67 20 6f 74 68 65 72 20   locating other 
2710: 33 32 2d 62 69 74 20 69 6e 73 74 61 6c 6c 73 20  32-bit installs 
2720: 61 63 63 6f 72 64 69 6e 67 6c 79 2e 0a 23 0a 50  accordingly..#.P
2730: 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 20  ROGRAMFILES_X86 
2740: 3d 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52  = $(VCINSTALLDIR
2750: 29 5c 2e 2e 5c 2e 2e 0a 50 52 4f 47 52 41 4d 46  )\..\...PROGRAMF
2760: 49 4c 45 53 5f 58 38 36 20 3d 20 24 28 50 52 4f  ILES_X86 = $(PRO
2770: 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 3a 5c 5c  GRAMFILES_X86:\\
2780: 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72  =\)..# Check for
2790: 20 74 68 65 20 70 72 65 64 65 66 69 6e 65 64 20   the predefined 
27a0: 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 43 43  command macro CC
27b0: 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70  .  This should p
27c0: 6f 69 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70  oint to the comp
27d0: 69 6c 65 72 0a 23 20 62 69 6e 61 72 79 20 66 6f  iler.# binary fo
27e0: 72 20 74 68 65 20 74 61 72 67 65 74 20 70 6c 61  r the target pla
27f0: 74 66 6f 72 6d 2e 20 20 49 66 20 69 74 20 69 73  tform.  If it is
2800: 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20 73 69   not defined, si
2810: 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74 20 74  mply define it t
2820: 6f 0a 23 20 74 68 65 20 6c 65 67 61 63 79 20 64  o.# the legacy d
2830: 65 66 61 75 6c 74 20 76 61 6c 75 65 20 27 63 6c  efault value 'cl
2840: 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46  .exe'..#.!IFNDEF
2850: 20 43 43 0a 43 43 20 3d 20 63 6c 2e 65 78 65 0a   CC.CC = cl.exe.
2860: 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20  !ENDIF..# Check 
2870: 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 69 6e  for the predefin
2880: 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f  ed command macro
2890: 20 43 53 43 2e 20 20 54 68 69 73 20 73 68 6f 75   CSC.  This shou
28a0: 6c 64 20 70 6f 69 6e 74 20 74 6f 20 61 20 77 6f  ld point to a wo
28b0: 72 6b 69 6e 67 0a 23 20 43 20 53 68 61 72 70 20  rking.# C Sharp 
28c0: 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 2e  compiler binary.
28d0: 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64    If it is not d
28e0: 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64  efined, simply d
28f0: 65 66 69 6e 65 20 69 74 20 74 6f 20 74 68 65 0a  efine it to the.
2900: 23 20 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74  # legacy default
2910: 20 76 61 6c 75 65 20 27 63 73 63 2e 65 78 65 27   value 'csc.exe'
2920: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 53 43 0a  ..#.!IFNDEF CSC.
2930: 43 53 43 20 3d 20 63 73 63 2e 65 78 65 0a 21 45  CSC = csc.exe.!E
2940: 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f  NDIF..# Check fo
2950: 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6d 61  r the command ma
2960: 63 72 6f 20 4c 44 2e 20 20 54 68 69 73 20 73 68  cro LD.  This sh
2970: 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68  ould point to th
2980: 65 20 6c 69 6e 6b 65 72 20 62 69 6e 61 72 79 20  e linker binary 
2990: 66 6f 72 0a 23 20 74 68 65 20 74 61 72 67 65 74  for.# the target
29a0: 20 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66 20 69   platform.  If i
29b0: 74 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64  t is not defined
29c0: 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20  , simply define 
29d0: 69 74 20 74 6f 20 74 68 65 20 6c 65 67 61 63 79  it to the legacy
29e0: 0a 23 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65  .# default value
29f0: 20 27 6c 69 6e 6b 2e 65 78 65 27 2e 0a 23 0a 21   'link.exe'..#.!
2a00: 49 46 4e 44 45 46 20 4c 44 0a 4c 44 20 3d 20 6c  IFNDEF LD.LD = l
2a10: 69 6e 6b 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a  ink.exe.!ENDIF..
2a20: 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20  # Check for the 
2a30: 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61  predefined comma
2a40: 6e 64 20 6d 61 63 72 6f 20 52 43 2e 20 20 54 68  nd macro RC.  Th
2a50: 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20  is should point 
2a60: 74 6f 20 74 68 65 20 72 65 73 6f 75 72 63 65 0a  to the resource.
2a70: 23 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72  # compiler binar
2a80: 79 20 66 6f 72 20 74 68 65 20 74 61 72 67 65 74  y for the target
2a90: 20 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66 20 69   platform.  If i
2aa0: 74 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64  t is not defined
2ab0: 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 0a  , simply define.
2ac0: 23 20 69 74 20 74 6f 20 74 68 65 20 6c 65 67 61  # it to the lega
2ad0: 63 79 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65  cy default value
2ae0: 20 27 72 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46   'rc.exe'..#.!IF
2af0: 4e 44 45 46 20 52 43 0a 52 43 20 3d 20 72 63 2e  NDEF RC.RC = rc.
2b00: 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68  exe.!ENDIF..# Ch
2b10: 65 63 6b 20 66 6f 72 20 74 68 65 20 4d 53 56 43  eck for the MSVC
2b20: 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79   runtime library
2b30: 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74   path macro.  Ot
2b40: 68 65 72 77 69 73 65 2c 20 74 68 69 73 20 76 61  herwise, this va
2b50: 6c 75 65 20 77 69 6c 6c 0a 23 20 64 65 66 61 75  lue will.# defau
2b60: 6c 74 20 74 6f 20 74 68 65 20 27 6c 69 62 27 20  lt to the 'lib' 
2b70: 64 69 72 65 63 74 6f 72 79 20 75 6e 64 65 72 6e  directory undern
2b80: 65 61 74 68 20 74 68 65 20 4d 53 56 43 20 69 6e  eath the MSVC in
2b90: 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63  stallation direc
2ba0: 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20  tory..#.!IFNDEF 
2bb0: 43 52 54 4c 49 42 50 41 54 48 0a 43 52 54 4c 49  CRTLIBPATH.CRTLI
2bc0: 42 50 41 54 48 20 3d 20 24 28 56 43 49 4e 53 54  BPATH = $(VCINST
2bd0: 41 4c 4c 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44  ALLDIR)\lib.!END
2be0: 49 46 0a 0a 43 52 54 4c 49 42 50 41 54 48 20 3d  IF..CRTLIBPATH =
2bf0: 20 24 28 43 52 54 4c 49 42 50 41 54 48 3a 5c 5c   $(CRTLIBPATH:\\
2c00: 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72  =\)..# Check for
2c10: 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6d 61 63   the command mac
2c20: 72 6f 20 4e 43 43 2e 20 20 54 68 69 73 20 73 68  ro NCC.  This sh
2c30: 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68  ould point to th
2c40: 65 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72  e compiler binar
2c50: 79 0a 23 20 66 6f 72 20 74 68 65 20 70 6c 61 74  y.# for the plat
2c60: 66 6f 72 6d 20 74 68 65 20 63 6f 6d 70 69 6c 61  form the compila
2c70: 74 69 6f 6e 20 70 72 6f 63 65 73 73 20 69 73 20  tion process is 
2c80: 74 61 6b 69 6e 67 20 70 6c 61 63 65 20 6f 6e 2e  taking place on.
2c90: 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74 0a 23    If it is not.#
2ca0: 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79   defined, simply
2cb0: 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 68 61   define it to ha
2cc0: 76 65 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75  ve the same valu
2cd0: 65 20 61 73 20 74 68 65 20 43 43 20 6d 61 63 72  e as the CC macr
2ce0: 6f 2e 20 20 57 68 65 6e 0a 23 20 63 72 6f 73 73  o.  When.# cross
2cf0: 2d 63 6f 6d 70 69 6c 69 6e 67 2c 20 69 74 20 69  -compiling, it i
2d00: 73 20 73 75 67 67 65 73 74 65 64 20 74 68 61 74  s suggested that
2d10: 20 74 68 69 73 20 6d 61 63 72 6f 20 62 65 20 6d   this macro be m
2d20: 6f 64 69 66 69 65 64 20 76 69 61 20 74 68 65 20  odified via the 
2d30: 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 20 28  command.# line (
2d40: 73 69 6e 63 65 20 6e 6d 61 6b 65 20 69 74 73 65  since nmake itse
2d50: 6c 66 20 64 6f 65 73 20 6e 6f 74 20 70 72 6f 76  lf does not prov
2d60: 69 64 65 20 61 20 62 75 69 6c 74 2d 69 6e 20 6d  ide a built-in m
2d70: 65 74 68 6f 64 20 74 6f 20 67 75 65 73 73 20 69  ethod to guess i
2d80: 74 29 2e 0a 23 20 46 6f 72 20 65 78 61 6d 70 6c  t)..# For exampl
2d90: 65 2c 20 74 6f 20 75 73 65 20 74 68 65 20 78 38  e, to use the x8
2da0: 36 20 63 6f 6d 70 69 6c 65 72 20 77 68 65 6e 20  6 compiler when 
2db0: 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 20  cross-compiling 
2dc0: 66 6f 72 20 78 36 34 2c 20 61 20 63 6f 6d 6d 61  for x64, a comma
2dd0: 6e 64 0a 23 20 6c 69 6e 65 20 73 69 6d 69 6c 61  nd.# line simila
2de0: 72 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69  r to the followi
2df0: 6e 67 20 63 6f 75 6c 64 20 62 65 20 75 73 65 64  ng could be used
2e00: 20 28 61 6c 6c 20 6f 6e 20 6f 6e 65 20 6c 69 6e   (all on one lin
2e10: 65 29 3a 0a 23 0a 23 20 20 20 20 20 6e 6d 61 6b  e):.#.#     nmak
2e20: 65 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73  e /f Makefile.ms
2e30: 63 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a 23 20  c sqlite3.dll.# 
2e40: 20 20 20 20 20 20 20 20 20 20 58 43 4f 4d 50 49            XCOMPI
2e50: 4c 45 3d 31 20 55 53 45 5f 4e 41 54 49 56 45 5f  LE=1 USE_NATIVE_
2e60: 4c 49 42 50 41 54 48 53 3d 31 0a 23 0a 23 20 41  LIBPATHS=1.#.# A
2e70: 6c 74 65 72 6e 61 74 69 76 65 6c 79 2c 20 74 68  lternatively, th
2e80: 65 20 66 75 6c 6c 20 70 61 74 68 20 61 6e 64 20  e full path and 
2e90: 66 69 6c 65 20 6e 61 6d 65 20 74 6f 20 74 68 65  file name to the
2ea0: 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79   compiler binary
2eb0: 20 66 6f 72 20 74 68 65 0a 23 20 70 6c 61 74 66   for the.# platf
2ec0: 6f 72 6d 20 74 68 65 20 63 6f 6d 70 69 6c 61 74  orm the compilat
2ed0: 69 6f 6e 20 70 72 6f 63 65 73 73 20 69 73 20 74  ion process is t
2ee0: 61 6b 69 6e 67 20 70 6c 61 63 65 20 6d 61 79 20  aking place may 
2ef0: 62 65 20 73 70 65 63 69 66 69 65 64 20 28 61 6c  be specified (al
2f00: 6c 20 6f 6e 0a 23 20 6f 6e 65 20 6c 69 6e 65 29  l on.# one line)
2f10: 3a 0a 23 0a 23 20 20 20 20 20 6e 6d 61 6b 65 20  :.#.#     nmake 
2f20: 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20  /f Makefile.msc 
2f30: 73 71 6c 69 74 65 33 2e 64 6c 6c 0a 23 20 20 20  sqlite3.dll.#   
2f40: 20 20 20 20 20 20 20 20 22 4e 43 43 3d 22 22 25          "NCC=""%
2f50: 56 43 49 4e 53 54 41 4c 4c 44 49 52 25 5c 62 69  VCINSTALLDIR%\bi
2f60: 6e 5c 63 6c 2e 65 78 65 22 22 22 0a 23 20 20 20  n\cl.exe""".#   
2f70: 20 20 20 20 20 20 20 20 55 53 45 5f 4e 41 54 49          USE_NATI
2f80: 56 45 5f 4c 49 42 50 41 54 48 53 3d 31 0a 23 0a  VE_LIBPATHS=1.#.
2f90: 21 49 46 44 45 46 20 4e 43 43 0a 4e 43 43 20 3d  !IFDEF NCC.NCC =
2fa0: 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29 0a 21 45 4c   $(NCC:\\=\).!EL
2fb0: 53 45 49 46 20 24 28 58 43 4f 4d 50 49 4c 45 29  SEIF $(XCOMPILE)
2fc0: 21 3d 30 0a 4e 43 43 20 3d 20 22 24 28 56 43 49  !=0.NCC = "$(VCI
2fd0: 4e 53 54 41 4c 4c 44 49 52 29 5c 62 69 6e 5c 24  NSTALLDIR)\bin\$
2fe0: 28 43 43 29 22 0a 4e 43 43 20 3d 20 24 28 4e 43  (CC)".NCC = $(NC
2ff0: 43 3a 5c 5c 3d 5c 29 0a 21 45 4c 53 45 0a 4e 43  C:\\=\).!ELSE.NC
3000: 43 20 3d 20 24 28 43 43 29 0a 21 45 4e 44 49 46  C = $(CC).!ENDIF
3010: 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68  ..# Check for th
3020: 65 20 4d 53 56 43 20 6e 61 74 69 76 65 20 72 75  e MSVC native ru
3030: 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20 70 61  ntime library pa
3040: 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65 72  th macro.  Other
3050: 77 69 73 65 2c 0a 23 20 74 68 69 73 20 76 61 6c  wise,.# this val
3060: 75 65 20 77 69 6c 6c 20 64 65 66 61 75 6c 74 20  ue will default 
3070: 74 6f 20 74 68 65 20 27 6c 69 62 27 20 64 69 72  to the 'lib' dir
3080: 65 63 74 6f 72 79 20 75 6e 64 65 72 6e 65 61 74  ectory underneat
3090: 68 20 74 68 65 20 4d 53 56 43 0a 23 20 69 6e 73  h the MSVC.# ins
30a0: 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74  tallation direct
30b0: 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e  ory..#.!IFNDEF N
30c0: 43 52 54 4c 49 42 50 41 54 48 0a 4e 43 52 54 4c  CRTLIBPATH.NCRTL
30d0: 49 42 50 41 54 48 20 3d 20 24 28 56 43 49 4e 53  IBPATH = $(VCINS
30e0: 54 41 4c 4c 44 49 52 29 5c 6c 69 62 0a 21 45 4e  TALLDIR)\lib.!EN
30f0: 44 49 46 0a 0a 4e 43 52 54 4c 49 42 50 41 54 48  DIF..NCRTLIBPATH
3100: 20 3d 20 24 28 4e 43 52 54 4c 49 42 50 41 54 48   = $(NCRTLIBPATH
3110: 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20  :\\=\)..# Check 
3120: 66 6f 72 20 74 68 65 20 50 6c 61 74 66 6f 72 6d  for the Platform
3130: 20 53 44 4b 20 6c 69 62 72 61 72 79 20 70 61 74   SDK library pat
3140: 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65 72 77  h macro.  Otherw
3150: 69 73 65 2c 20 74 68 69 73 0a 23 20 76 61 6c 75  ise, this.# valu
3160: 65 20 77 69 6c 6c 20 64 65 66 61 75 6c 74 20 74  e will default t
3170: 6f 20 74 68 65 20 27 6c 69 62 27 20 64 69 72 65  o the 'lib' dire
3180: 63 74 6f 72 79 20 75 6e 64 65 72 6e 65 61 74 68  ctory underneath
3190: 20 74 68 65 20 57 69 6e 64 6f 77 73 0a 23 20 53   the Windows.# S
31a0: 44 4b 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20  DK installation 
31b0: 64 69 72 65 63 74 6f 72 79 20 28 74 68 65 20 65  directory (the e
31c0: 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61  nvironment varia
31d0: 62 6c 65 20 75 73 65 64 20 61 70 70 65 61 72 73  ble used appears
31e0: 0a 23 20 74 6f 20 62 65 20 61 76 61 69 6c 61 62  .# to be availab
31f0: 6c 65 20 77 68 65 6e 20 75 73 69 6e 67 20 56 69  le when using Vi
3200: 73 75 61 6c 20 43 2b 2b 20 32 30 30 38 20 6f 72  sual C++ 2008 or
3210: 20 6c 61 74 65 72 20 76 69 61 20 74 68 65 0a 23   later via the.#
3220: 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 29 2e 0a   command line)..
3230: 23 0a 21 49 46 4e 44 45 46 20 4e 53 44 4b 4c 49  #.!IFNDEF NSDKLI
3240: 42 50 41 54 48 0a 4e 53 44 4b 4c 49 42 50 41 54  BPATH.NSDKLIBPAT
3250: 48 20 3d 20 24 28 57 49 4e 44 4f 57 53 53 44 4b  H = $(WINDOWSSDK
3260: 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a  DIR)\lib.!ENDIF.
3270: 0a 4e 53 44 4b 4c 49 42 50 41 54 48 20 3d 20 24  .NSDKLIBPATH = $
3280: 28 4e 53 44 4b 4c 49 42 50 41 54 48 3a 5c 5c 3d  (NSDKLIBPATH:\\=
3290: 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20  \)..# Check for 
32a0: 74 68 65 20 55 43 52 54 20 6c 69 62 72 61 72 79  the UCRT library
32b0: 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74   path macro.  Ot
32c0: 68 65 72 77 69 73 65 2c 20 74 68 69 73 20 76 61  herwise, this va
32d0: 6c 75 65 20 77 69 6c 6c 0a 23 20 64 65 66 61 75  lue will.# defau
32e0: 6c 74 20 74 6f 20 74 68 65 20 76 65 72 73 69 6f  lt to the versio
32f0: 6e 2d 73 70 65 63 69 66 69 63 2c 20 70 6c 61 74  n-specific, plat
3300: 66 6f 72 6d 2d 73 70 65 63 69 66 69 63 20 27 6c  form-specific 'l
3310: 69 62 27 20 64 69 72 65 63 74 6f 72 79 0a 23 20  ib' directory.# 
3320: 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 57  underneath the W
3330: 69 6e 64 6f 77 73 20 53 44 4b 20 69 6e 73 74 61  indows SDK insta
3340: 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72  llation director
3350: 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 43 52  y..#.!IFNDEF UCR
3360: 54 4c 49 42 50 41 54 48 0a 55 43 52 54 4c 49 42  TLIBPATH.UCRTLIB
3370: 50 41 54 48 20 3d 20 24 28 57 49 4e 44 4f 57 53  PATH = $(WINDOWS
3380: 53 44 4b 44 49 52 29 5c 6c 69 62 5c 24 28 57 49  SDKDIR)\lib\$(WI
3390: 4e 44 4f 57 53 53 44 4b 4c 49 42 56 45 52 53 49  NDOWSSDKLIBVERSI
33a0: 4f 4e 29 5c 75 63 72 74 5c 24 28 50 4c 41 54 46  ON)\ucrt\$(PLATF
33b0: 4f 52 4d 29 0a 21 45 4e 44 49 46 0a 0a 55 43 52  ORM).!ENDIF..UCR
33c0: 54 4c 49 42 50 41 54 48 20 3d 20 24 28 55 43 52  TLIBPATH = $(UCR
33d0: 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a  TLIBPATH:\\=\)..
33e0: 23 20 43 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64  # C compiler and
33f0: 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 75 73 65   options for use
3400: 20 69 6e 20 62 75 69 6c 64 69 6e 67 20 65 78 65   in building exe
3410: 63 75 74 61 62 6c 65 73 20 74 68 61 74 0a 23 20  cutables that.# 
3420: 77 69 6c 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20  will run on the 
3430: 70 6c 61 74 66 6f 72 6d 20 74 68 61 74 20 69 73  platform that is
3440: 20 64 6f 69 6e 67 20 74 68 65 20 62 75 69 6c 64   doing the build
3450: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 46 55  ..#.!IF $(USE_FU
3460: 4c 4c 57 41 52 4e 29 21 3d 30 0a 42 43 43 20 3d  LLWARN)!=0.BCC =
3470: 20 24 28 4e 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20   $(NCC) -nologo 
3480: 2d 57 34 20 24 28 43 43 4f 50 54 53 29 20 24 28  -W4 $(CCOPTS) $(
3490: 42 43 43 4f 50 54 53 29 0a 21 45 4c 53 45 0a 42  BCCOPTS).!ELSE.B
34a0: 43 43 20 3d 20 24 28 4e 43 43 29 20 2d 6e 6f 6c  CC = $(NCC) -nol
34b0: 6f 67 6f 20 2d 57 33 20 24 28 43 43 4f 50 54 53  ogo -W3 $(CCOPTS
34c0: 29 20 24 28 42 43 43 4f 50 54 53 29 0a 21 45 4e  ) $(BCCOPTS).!EN
34d0: 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20  DIF..# Check if 
34e0: 61 73 73 65 6d 62 6c 79 20 63 6f 64 65 20 6c 69  assembly code li
34f0: 73 74 69 6e 67 73 20 73 68 6f 75 6c 64 20 62 65  stings should be
3500: 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72 20 74   generated for t
3510: 68 65 20 73 6f 75 72 63 65 0a 23 20 63 6f 64 65  he source.# code
3520: 20 66 69 6c 65 73 20 74 6f 20 62 65 20 63 6f 6d   files to be com
3530: 70 69 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28 55  piled..#.!IF $(U
3540: 53 45 5f 4c 49 53 54 49 4e 47 53 29 21 3d 30 0a  SE_LISTINGS)!=0.
3550: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 46 41  BCC = $(BCC) -FA
3560: 63 73 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65  cs.!ENDIF..# Che
3570: 63 6b 20 69 66 20 74 68 65 20 6e 61 74 69 76 65  ck if the native
3580: 20 6c 69 62 72 61 72 79 20 70 61 74 68 73 20 73   library paths s
3590: 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20 77 68  hould be used wh
35a0: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 0a 23 20 74  en compiling.# t
35b0: 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20  he command line 
35c0: 74 6f 6f 6c 73 20 75 73 65 64 20 64 75 72 69 6e  tools used durin
35d0: 67 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f  g the compilatio
35e0: 6e 20 70 72 6f 63 65 73 73 2e 20 20 49 66 0a 23  n process.  If.#
35f0: 20 73 6f 2c 20 73 65 74 20 74 68 65 20 6e 65 63   so, set the nec
3600: 65 73 73 61 72 79 20 6d 61 63 72 6f 20 6e 6f 77  essary macro now
3610: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 4e 41  ..#.!IF $(USE_NA
3620: 54 49 56 45 5f 4c 49 42 50 41 54 48 53 29 21 3d  TIVE_LIBPATHS)!=
3630: 30 0a 4e 4c 54 4c 49 42 50 41 54 48 53 20 3d 20  0.NLTLIBPATHS = 
3640: 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e 43 52 54  "/LIBPATH:$(NCRT
3650: 4c 49 42 50 41 54 48 29 22 20 22 2f 4c 49 42 50  LIBPATH)" "/LIBP
3660: 41 54 48 3a 24 28 4e 53 44 4b 4c 49 42 50 41 54  ATH:$(NSDKLIBPAT
3670: 48 29 22 0a 0a 21 49 46 44 45 46 20 4e 55 43 52  H)"..!IFDEF NUCR
3680: 54 4c 49 42 50 41 54 48 0a 4e 55 43 52 54 4c 49  TLIBPATH.NUCRTLI
3690: 42 50 41 54 48 20 3d 20 24 28 4e 55 43 52 54 4c  BPATH = $(NUCRTL
36a0: 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 4e 4c 54  IBPATH:\\=\).NLT
36b0: 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4e 4c 54  LIBPATHS = $(NLT
36c0: 4c 49 42 50 41 54 48 53 29 20 22 2f 4c 49 42 50  LIBPATHS) "/LIBP
36d0: 41 54 48 3a 24 28 4e 55 43 52 54 4c 49 42 50 41  ATH:$(NUCRTLIBPA
36e0: 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e 44  TH)".!ENDIF.!END
36f0: 49 46 0a 0a 23 20 43 20 63 6f 6d 70 69 6c 65 72  IF..# C compiler
3700: 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66 6f 72   and options for
3710: 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69 6e 67   use in building
3720: 20 65 78 65 63 75 74 61 62 6c 65 73 20 74 68 61   executables tha
3730: 74 0a 23 20 77 69 6c 6c 20 72 75 6e 20 6f 6e 20  t.# will run on 
3740: 74 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66  the target platf
3750: 6f 72 6d 2e 20 20 28 42 43 43 20 61 6e 64 20 54  orm.  (BCC and T
3760: 43 43 20 61 72 65 20 75 73 75 61 6c 6c 79 20 74  CC are usually t
3770: 68 65 0a 23 20 73 61 6d 65 20 75 6e 6c 65 73 73  he.# same unless
3780: 20 79 6f 75 72 20 61 72 65 20 63 72 6f 73 73 2d   your are cross-
3790: 63 6f 6d 70 69 6c 69 6e 67 2e 29 0a 23 0a 21 49  compiling.).#.!I
37a0: 46 20 24 28 55 53 45 5f 46 55 4c 4c 57 41 52 4e  F $(USE_FULLWARN
37b0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 43 43 29  )!=0.TCC = $(CC)
37c0: 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 2d 44 49   -nologo -W4 -DI
37d0: 4e 43 4c 55 44 45 5f 4d 53 56 43 5f 48 3d 31 20  NCLUDE_MSVC_H=1 
37e0: 24 28 43 43 4f 50 54 53 29 20 24 28 54 43 43 4f  $(CCOPTS) $(TCCO
37f0: 50 54 53 29 0a 21 45 4c 53 45 0a 54 43 43 20 3d  PTS).!ELSE.TCC =
3800: 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d   $(CC) -nologo -
3810: 57 33 20 24 28 43 43 4f 50 54 53 29 20 24 28 54  W3 $(CCOPTS) $(T
3820: 43 43 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a  CCOPTS).!ENDIF..
3830: 23 20 43 68 65 63 6b 20 69 66 20 77 61 72 6e 69  # Check if warni
3840: 6e 67 73 20 73 68 6f 75 6c 64 20 62 65 20 74 72  ngs should be tr
3850: 65 61 74 65 64 20 61 73 20 65 72 72 6f 72 73 20  eated as errors 
3860: 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a  when compiling..
3870: 23 0a 21 49 46 20 24 28 55 53 45 5f 46 41 54 41  #.!IF $(USE_FATA
3880: 4c 5f 57 41 52 4e 29 21 3d 30 0a 54 43 43 20 3d  L_WARN)!=0.TCC =
3890: 20 24 28 54 43 43 29 20 2d 57 58 0a 21 45 4e 44   $(TCC) -WX.!END
38a0: 49 46 0a 0a 54 43 43 20 3d 20 24 28 54 43 43 29  IF..TCC = $(TCC)
38b0: 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e   -DSQLITE_OS_WIN
38c0: 3d 31 20 2d 49 2e 20 2d 49 24 28 54 4f 50 29 20  =1 -I. -I$(TOP) 
38d0: 2d 49 24 28 54 4f 50 29 5c 73 72 63 20 2d 66 70  -I$(TOP)\src -fp
38e0: 3a 70 72 65 63 69 73 65 0a 52 43 43 20 3d 20 24  :precise.RCC = $
38f0: 28 52 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53  (RC) -DSQLITE_OS
3900: 5f 57 49 4e 3d 31 20 2d 49 2e 20 2d 49 24 28 54  _WIN=1 -I. -I$(T
3910: 4f 50 29 20 2d 49 24 28 54 4f 50 29 5c 73 72 63  OP) -I$(TOP)\src
3920: 20 24 28 52 43 4f 50 54 53 29 20 24 28 52 43 43   $(RCOPTS) $(RCC
3930: 4f 50 54 53 29 0a 0a 23 20 43 68 65 63 6b 20 69  OPTS)..# Check i
3940: 66 20 77 65 20 77 61 6e 74 20 74 6f 20 75 73 65  f we want to use
3950: 20 74 68 65 20 22 73 74 64 63 61 6c 6c 22 20 63   the "stdcall" c
3960: 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f  alling conventio
3970: 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  n when compiling
3980: 2e 0a 23 20 54 68 69 73 20 69 73 20 6e 6f 74 20  ..# This is not 
3990: 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 65  supported by the
39a0: 20 63 6f 6d 70 69 6c 65 72 73 20 66 6f 72 20 6e   compilers for n
39b0: 6f 6e 2d 78 38 36 20 70 6c 61 74 66 6f 72 6d 73  on-x86 platforms
39c0: 2e 20 20 49 74 20 73 68 6f 75 6c 64 0a 23 20 61  .  It should.# a
39d0: 6c 73 6f 20 62 65 20 6e 6f 74 65 64 20 68 65 72  lso be noted her
39e0: 65 20 74 68 61 74 20 62 75 69 6c 64 69 6e 67 20  e that building 
39f0: 61 6e 79 20 74 61 72 67 65 74 20 77 69 74 68 20  any target with 
3a00: 74 68 65 73 65 20 22 73 74 64 63 61 6c 6c 22 20  these "stdcall" 
3a10: 6f 70 74 69 6f 6e 73 0a 23 20 77 69 6c 6c 20 6d  options.# will m
3a20: 6f 73 74 20 6c 69 6b 65 6c 79 20 66 61 69 6c 20  ost likely fail 
3a30: 69 66 20 74 68 65 20 54 63 6c 20 6c 69 62 72 61  if the Tcl libra
3a40: 72 79 20 69 73 20 61 6c 73 6f 20 72 65 71 75 69  ry is also requi
3a50: 72 65 64 2e 20 20 54 68 69 73 20 69 73 20 64 75  red.  This is du
3a60: 65 0a 23 20 74 6f 20 68 6f 77 20 74 68 65 20 54  e.# to how the T
3a70: 63 6c 20 6c 69 62 72 61 72 79 20 66 75 6e 63 74  cl library funct
3a80: 69 6f 6e 73 20 61 72 65 20 64 65 63 6c 61 72 65  ions are declare
3a90: 64 20 61 6e 64 20 65 78 70 6f 72 74 65 64 20 28  d and exported (
3aa0: 69 2e 65 2e 20 77 69 74 68 6f 75 74 0a 23 20 61  i.e. without.# a
3ab0: 6e 20 65 78 70 6c 69 63 69 74 20 63 61 6c 6c 69  n explicit calli
3ac0: 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c 20 77  ng convention, w
3ad0: 68 69 63 68 20 72 65 73 75 6c 74 73 20 69 6e 20  hich results in 
3ae0: 22 63 64 65 63 6c 22 29 2e 0a 23 0a 21 49 46 20  "cdecl")..#.!IF 
3af0: 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d  $(USE_STDCALL)!=
3b00: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10
3b10: 29 21 3d 30 0a 21 49 46 20 22 24 28 50 4c 41 54  )!=0.!IF "$(PLAT
3b20: 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f  FORM)"=="x86".CO
3b30: 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20  RE_CCONV_OPTS = 
3b40: 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 45  -Gz -DSQLITE_CDE
3b50: 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c  CL=__cdecl -DSQL
3b60: 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74  ITE_APICALL=__st
3b70: 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43  dcall -DSQLITE_C
3b80: 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c  ALLBACK=__stdcal
3b90: 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41 50  l -DSQLITE_SYSAP
3ba0: 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53 48 45 4c  I=__stdcall.SHEL
3bb0: 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d  L_CCONV_OPTS = -
3bc0: 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 45 43  Gz -DSQLITE_CDEC
3bd0: 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49  L=__cdecl -DSQLI
3be0: 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64  TE_APICALL=__std
3bf0: 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41  call -DSQLITE_CA
3c00: 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c  LLBACK=__stdcall
3c10: 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41 50 49   -DSQLITE_SYSAPI
3c20: 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 20 3c 3c 6d  =__stdcall.# <<m
3c30: 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56  ark>>.TEST_CCONV
3c40: 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51  _OPTS = -Gz -DSQ
3c50: 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65  LITE_CDECL=__cde
3c60: 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43  cl -DSQLITE_APIC
3c70: 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  ALL=__stdcall -D
3c80: 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d  SQLITE_CALLBACK=
3c90: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
3ca0: 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63  TE_SYSAPI=__stdc
3cb0: 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 45 5f 53 51  all -DINCLUDE_SQ
3cc0: 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 20 2d 44 53  LITE_TCL_H=1 -DS
3cd0: 51 4c 49 54 45 5f 54 43 4c 41 50 49 3d 5f 5f 63  QLITE_TCLAPI=__c
3ce0: 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  decl.# <</mark>>
3cf0: 0a 21 45 4c 53 45 0a 21 49 46 4e 44 45 46 20 50  .!ELSE.!IFNDEF P
3d00: 4c 41 54 46 4f 52 4d 0a 43 4f 52 45 5f 43 43 4f  LATFORM.CORE_CCO
3d10: 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44  NV_OPTS = -Gz -D
3d20: 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63  SQLITE_CDECL=__c
3d30: 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50  decl -DSQLITE_AP
3d40: 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20  ICALL=__stdcall 
3d50: 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43  -DSQLITE_CALLBAC
3d60: 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51  K=__stdcall -DSQ
3d70: 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74  LITE_SYSAPI=__st
3d80: 64 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f 4e  dcall.SHELL_CCON
3d90: 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53  V_OPTS = -Gz -DS
3da0: 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64  QLITE_CDECL=__cd
3db0: 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49  ecl -DSQLITE_API
3dc0: 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  CALL=__stdcall -
3dd0: 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b  DSQLITE_CALLBACK
3de0: 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c  =__stdcall -DSQL
3df0: 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64  ITE_SYSAPI=__std
3e00: 63 61 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  call.# <<mark>>.
3e10: 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20  TEST_CCONV_OPTS 
3e20: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43  = -Gz -DSQLITE_C
3e30: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53  DECL=__cdecl -DS
3e40: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f  QLITE_APICALL=__
3e50: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45  stdcall -DSQLITE
3e60: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63  _CALLBACK=__stdc
3e70: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53  all -DSQLITE_SYS
3e80: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  API=__stdcall -D
3e90: 49 4e 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f 54  INCLUDE_SQLITE_T
3ea0: 43 4c 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f  CL_H=1 -DSQLITE_
3eb0: 54 43 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a 23  TCLAPI=__cdecl.#
3ec0: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45   <</mark>>.!ELSE
3ed0: 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  .CORE_CCONV_OPTS
3ee0: 20 3d 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f   =.SHELL_CCONV_O
3ef0: 50 54 53 20 3d 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  PTS =.# <<mark>>
3f00: 0a 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53  .TEST_CCONV_OPTS
3f10: 20 3d 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21   =.# <</mark>>.!
3f20: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 21 45 4c  ENDIF.!ENDIF.!EL
3f30: 53 45 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50  SE.CORE_CCONV_OP
3f40: 54 53 20 3d 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56  TS =.SHELL_CCONV
3f50: 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 6d 61 72 6b  _OPTS =.# <<mark
3f60: 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50  >>.TEST_CCONV_OP
3f70: 54 53 20 3d 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  TS =.# <</mark>>
3f80: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65  .!ENDIF..# These
3f90: 20 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20   are additional 
3fa0: 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73  compiler options
3fb0: 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 63 6f   used for the co
3fc0: 72 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  re library..#.!I
3fd0: 46 4e 44 45 46 20 43 4f 52 45 5f 43 4f 4d 50 49  FNDEF CORE_COMPI
3fe0: 4c 45 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59  LE_OPTS.!IF $(DY
3ff0: 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20  NAMIC_SHELL)!=0 
4000: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  || $(FOR_WIN10)!
4010: 3d 30 0a 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f  =0.CORE_COMPILE_
4020: 4f 50 54 53 20 3d 20 24 28 43 4f 52 45 5f 43 43  OPTS = $(CORE_CC
4030: 4f 4e 56 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49  ONV_OPTS) -DSQLI
4040: 54 45 5f 41 50 49 3d 5f 5f 64 65 63 6c 73 70 65  TE_API=__declspe
4050: 63 28 64 6c 6c 65 78 70 6f 72 74 29 0a 21 45 4c  c(dllexport).!EL
4060: 53 45 0a 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f  SE.CORE_COMPILE_
4070: 4f 50 54 53 20 3d 20 24 28 43 4f 52 45 5f 43 43  OPTS = $(CORE_CC
4080: 4f 4e 56 5f 4f 50 54 53 29 0a 21 45 4e 44 49 46  ONV_OPTS).!ENDIF
4090: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65  .!ENDIF..# These
40a0: 20 61 72 65 20 74 68 65 20 61 64 64 69 74 69 6f   are the additio
40b0: 6e 61 6c 20 74 61 72 67 65 74 73 20 74 68 61 74  nal targets that
40c0: 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72   the core librar
40d0: 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e 64 20  y should depend 
40e0: 6f 6e 0a 23 20 77 68 65 6e 20 6c 69 6e 6b 69 6e  on.# when linkin
40f0: 67 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 4f 52  g..#.!IFNDEF COR
4100: 45 5f 4c 49 4e 4b 5f 44 45 50 0a 21 49 46 20 24  E_LINK_DEP.!IF $
4110: 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21  (DYNAMIC_SHELL)!
4120: 3d 30 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50  =0.CORE_LINK_DEP
4130: 20 3d 0a 21 45 4c 53 45 49 46 20 24 28 46 4f 52   =.!ELSEIF $(FOR
4140: 5f 57 49 4e 31 30 29 3d 3d 30 20 7c 7c 20 22 24  _WIN10)==0 || "$
4150: 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38  (PLATFORM)"=="x8
4160: 36 22 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50  6".CORE_LINK_DEP
4170: 20 3d 20 73 71 6c 69 74 65 33 2e 64 65 66 0a 21   = sqlite3.def.!
4180: 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 44  ELSE.CORE_LINK_D
4190: 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44  EP =.!ENDIF.!END
41a0: 49 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20  IF..# These are 
41b0: 61 64 64 69 74 69 6f 6e 61 6c 20 6c 69 6e 6b 65  additional linke
41c0: 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66  r options used f
41d0: 6f 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72  or the core libr
41e0: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43  ary..#.!IFNDEF C
41f0: 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 21 49  ORE_LINK_OPTS.!I
4200: 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c  F $(DYNAMIC_SHEL
4210: 4c 29 21 3d 30 0a 43 4f 52 45 5f 4c 49 4e 4b 5f  L)!=0.CORE_LINK_
4220: 4f 50 54 53 20 3d 0a 21 45 4c 53 45 49 46 20 24  OPTS =.!ELSEIF $
4230: 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 20 7c  (FOR_WIN10)==0 |
4240: 7c 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d  | "$(PLATFORM)"=
4250: 3d 22 78 38 36 22 0a 43 4f 52 45 5f 4c 49 4e 4b  ="x86".CORE_LINK
4260: 5f 4f 50 54 53 20 3d 20 2f 44 45 46 3a 73 71 6c  _OPTS = /DEF:sql
4270: 69 74 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a 43  ite3.def.!ELSE.C
4280: 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a  ORE_LINK_OPTS =.
4290: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
42a0: 20 54 68 65 73 65 20 61 72 65 20 61 64 64 69 74   These are addit
42b0: 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6f  ional compiler o
42c0: 70 74 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 20  ptions used for 
42d0: 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74  the shell execut
42e0: 61 62 6c 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20  able..#.!IFNDEF 
42f0: 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50  SHELL_COMPILE_OP
4300: 54 53 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  TS.!IF $(DYNAMIC
4310: 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  _SHELL)!=0 || $(
4320: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48  FOR_WIN10)!=0.SH
4330: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
4340: 20 3d 20 24 28 53 48 45 4c 4c 5f 43 43 4f 4e 56   = $(SHELL_CCONV
4350: 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f  _OPTS) -DSQLITE_
4360: 41 50 49 3d 5f 5f 64 65 63 6c 73 70 65 63 28 64  API=__declspec(d
4370: 6c 6c 69 6d 70 6f 72 74 29 0a 21 45 4c 53 45 0a  llimport).!ELSE.
4380: 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50  SHELL_COMPILE_OP
4390: 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 43 4f  TS = $(SHELL_CCO
43a0: 4e 56 5f 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a  NV_OPTS).!ENDIF.
43b0: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69  !ENDIF..# This i
43c0: 73 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64  s the source cod
43d0: 65 20 74 68 61 74 20 74 68 65 20 73 68 65 6c 6c  e that the shell
43e0: 20 65 78 65 63 75 74 61 62 6c 65 20 73 68 6f 75   executable shou
43f0: 6c 64 20 62 65 20 63 6f 6d 70 69 6c 65 64 0a 23  ld be compiled.#
4400: 20 77 69 74 68 2e 0a 23 0a 21 49 46 4e 44 45 46   with..#.!IFNDEF
4410: 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 0a   SHELL_CORE_SRC.
4420: 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48  !IF $(DYNAMIC_SH
4430: 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ELL)!=0 || $(FOR
4440: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c  _WIN10)!=0.SHELL
4450: 5f 43 4f 52 45 5f 53 52 43 20 3d 0a 23 20 3c 3c  _CORE_SRC =.# <<
4460: 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 49 46 20 24  mark>>.!ELSEIF $
4470: 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f  (USE_AMALGAMATIO
4480: 4e 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45  N)==0.SHELL_CORE
4490: 5f 53 52 43 20 3d 0a 23 20 3c 3c 2f 6d 61 72 6b  _SRC =.# <</mark
44a0: 3e 3e 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43  >>.!ELSE.SHELL_C
44b0: 4f 52 45 5f 53 52 43 20 3d 20 24 28 53 51 4c 49  ORE_SRC = $(SQLI
44c0: 54 45 33 43 29 0a 21 45 4e 44 49 46 0a 21 45 4e  TE3C).!ENDIF.!EN
44d0: 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 20 74  DIF..# This is t
44e0: 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72 79 20  he core library 
44f0: 74 68 61 74 20 74 68 65 20 73 68 65 6c 6c 20 65  that the shell e
4500: 78 65 63 75 74 61 62 6c 65 20 73 68 6f 75 6c 64  xecutable should
4510: 20 64 65 70 65 6e 64 20 6f 6e 2e 0a 23 0a 21 49   depend on..#.!I
4520: 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45  FNDEF SHELL_CORE
4530: 5f 44 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d  _DEP.!IF $(DYNAM
4540: 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20  IC_SHELL)!=0 || 
4550: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a  $(FOR_WIN10)!=0.
4560: 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 20 3d  SHELL_CORE_DEP =
4570: 20 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 0a 23   $(SQLITE3DLL).#
4580: 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 49   <<mark>>.!ELSEI
4590: 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41  F $(USE_AMALGAMA
45a0: 54 49 4f 4e 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43  TION)==0.SHELL_C
45b0: 4f 52 45 5f 44 45 50 20 3d 20 6c 69 62 73 71 6c  ORE_DEP = libsql
45c0: 69 74 65 33 2e 6c 69 62 0a 23 20 3c 3c 2f 6d 61  ite3.lib.# <</ma
45d0: 72 6b 3e 3e 0a 21 45 4c 53 45 0a 53 48 45 4c 4c  rk>>.!ELSE.SHELL
45e0: 5f 43 4f 52 45 5f 44 45 50 20 3d 0a 21 45 4e 44  _CORE_DEP =.!END
45f0: 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d  IF.!ENDIF..# <<m
4600: 61 72 6b 3e 3e 0a 23 20 49 66 20 7a 6c 69 62 20  ark>>.# If zlib 
4610: 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c  support is enabl
4620: 65 64 2c 20 61 64 64 20 74 68 65 20 64 65 70 65  ed, add the depe
4630: 6e 64 65 6e 63 69 65 73 20 66 6f 72 20 69 74 2e  ndencies for it.
4640: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49  .#.!IF $(USE_ZLI
4650: 42 29 21 3d 30 20 26 26 20 24 28 42 55 49 4c 44  B)!=0 && $(BUILD
4660: 5f 5a 4c 49 42 29 21 3d 30 0a 53 48 45 4c 4c 5f  _ZLIB)!=0.SHELL_
4670: 43 4f 52 45 5f 44 45 50 20 3d 20 7a 6c 69 62 20  CORE_DEP = zlib 
4680: 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50  $(SHELL_CORE_DEP
4690: 29 0a 54 45 53 54 46 49 58 54 55 52 45 5f 44 45  ).TESTFIXTURE_DE
46a0: 50 20 3d 20 7a 6c 69 62 20 24 28 54 45 53 54 46  P = zlib $(TESTF
46b0: 49 58 54 55 52 45 5f 44 45 50 29 0a 21 45 4e 44  IXTURE_DEP).!END
46c0: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  IF.# <</mark>>..
46d0: 23 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f  # This is the co
46e0: 72 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 20  re library that 
46f0: 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74  the shell execut
4700: 61 62 6c 65 20 73 68 6f 75 6c 64 20 6c 69 6e 6b  able should link
4710: 20 77 69 74 68 2e 0a 23 0a 21 49 46 4e 44 45 46   with..#.!IFNDEF
4720: 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 0a   SHELL_CORE_LIB.
4730: 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48  !IF $(DYNAMIC_SH
4740: 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ELL)!=0 || $(FOR
4750: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c  _WIN10)!=0.SHELL
4760: 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 24 28 53 51  _CORE_LIB = $(SQ
4770: 4c 49 54 45 33 4c 49 42 29 0a 23 20 3c 3c 6d 61  LITE3LIB).# <<ma
4780: 72 6b 3e 3e 0a 21 45 4c 53 45 49 46 20 24 28 55  rk>>.!ELSEIF $(U
4790: 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29  SE_AMALGAMATION)
47a0: 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c  ==0.SHELL_CORE_L
47b0: 49 42 20 3d 20 6c 69 62 73 71 6c 69 74 65 33 2e  IB = libsqlite3.
47c0: 6c 69 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  lib.# <</mark>>.
47d0: 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45  !ELSE.SHELL_CORE
47e0: 5f 4c 49 42 20 3d 0a 21 45 4e 44 49 46 0a 21 45  _LIB =.!ENDIF.!E
47f0: 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61 72  NDIF..# These ar
4800: 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 6c 69 6e  e additional lin
4810: 6b 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64  ker options used
4820: 20 66 6f 72 20 74 68 65 20 73 68 65 6c 6c 20 65   for the shell e
4830: 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46  xecutable..#.!IF
4840: 4e 44 45 46 20 53 48 45 4c 4c 5f 4c 49 4e 4b 5f  NDEF SHELL_LINK_
4850: 4f 50 54 53 0a 53 48 45 4c 4c 5f 4c 49 4e 4b 5f  OPTS.SHELL_LINK_
4860: 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43  OPTS = $(SHELL_C
4870: 4f 52 45 5f 4c 49 42 29 0a 21 45 4e 44 49 46 0a  ORE_LIB).!ENDIF.
4880: 0a 23 20 43 68 65 63 6b 20 69 66 20 61 73 73 65  .# Check if asse
4890: 6d 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e  mbly code listin
48a0: 67 73 20 73 68 6f 75 6c 64 20 62 65 20 67 65 6e  gs should be gen
48b0: 65 72 61 74 65 64 20 66 6f 72 20 74 68 65 20 73  erated for the s
48c0: 6f 75 72 63 65 0a 23 20 63 6f 64 65 20 66 69 6c  ource.# code fil
48d0: 65 73 20 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65  es to be compile
48e0: 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 4c  d..#.!IF $(USE_L
48f0: 49 53 54 49 4e 47 53 29 21 3d 30 0a 54 43 43 20  ISTINGS)!=0.TCC 
4900: 3d 20 24 28 54 43 43 29 20 2d 46 41 63 73 0a 21  = $(TCC) -FAcs.!
4910: 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f  ENDIF..# When co
4920: 6d 70 69 6c 69 6e 67 20 74 68 65 20 6c 69 62 72  mpiling the libr
4930: 61 72 79 20 66 6f 72 20 75 73 65 20 69 6e 20 74  ary for use in t
4940: 68 65 20 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e  he WinRT environ
4950: 6d 65 6e 74 2c 0a 23 20 74 68 65 20 66 6f 6c 6c  ment,.# the foll
4960: 6f 77 69 6e 67 20 63 6f 6d 70 69 6c 65 2d 74 69  owing compile-ti
4970: 6d 65 20 6f 70 74 69 6f 6e 73 20 6d 75 73 74 20  me options must 
4980: 62 65 20 75 73 65 64 20 61 73 20 77 65 6c 6c 20  be used as well 
4990: 74 6f 0a 23 20 64 69 73 61 62 6c 65 20 75 73 65  to.# disable use
49a0: 20 6f 66 20 57 69 6e 33 32 20 41 50 49 73 20 74   of Win32 APIs t
49b0: 68 61 74 20 61 72 65 20 6e 6f 74 20 61 76 61 69  hat are not avai
49c0: 6c 61 62 6c 65 20 61 6e 64 20 74 6f 20 65 6e 61  lable and to ena
49d0: 62 6c 65 0a 23 20 75 73 65 20 6f 66 20 57 69 6e  ble.# use of Win
49e0: 33 32 20 41 50 49 73 20 74 68 61 74 20 61 72 65  32 APIs that are
49f0: 20 73 70 65 63 69 66 69 63 20 74 6f 20 57 69 6e   specific to Win
4a00: 64 6f 77 73 20 38 20 61 6e 64 2f 6f 72 20 57 69  dows 8 and/or Wi
4a10: 6e 52 54 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52  nRT..#.!IF $(FOR
4a20: 5f 57 49 4e 52 54 29 21 3d 30 0a 54 43 43 20 3d  _WINRT)!=0.TCC =
4a30: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE
4a40: 5f 4f 53 5f 57 49 4e 52 54 3d 31 0a 52 43 43 20  _OS_WINRT=1.RCC 
4a50: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT
4a60: 45 5f 4f 53 5f 57 49 4e 52 54 3d 31 0a 54 43 43  E_OS_WINRT=1.TCC
4a70: 20 3d 20 24 28 54 43 43 29 20 2d 44 57 49 4e 41   = $(TCC) -DWINA
4a80: 50 49 5f 46 41 4d 49 4c 59 3d 57 49 4e 41 50 49  PI_FAMILY=WINAPI
4a90: 5f 46 41 4d 49 4c 59 5f 41 50 50 0a 52 43 43 20  _FAMILY_APP.RCC 
4aa0: 3d 20 24 28 52 43 43 29 20 2d 44 57 49 4e 41 50  = $(RCC) -DWINAP
4ab0: 49 5f 46 41 4d 49 4c 59 3d 57 49 4e 41 50 49 5f  I_FAMILY=WINAPI_
4ac0: 46 41 4d 49 4c 59 5f 41 50 50 0a 21 45 4e 44 49  FAMILY_APP.!ENDI
4ad0: 46 0a 0a 23 20 43 20 63 6f 6d 70 69 6c 65 72 20  F..# C compiler 
4ae0: 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20  options for the 
4af0: 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66  Windows 10 platf
4b00: 6f 72 6d 20 28 6e 65 65 64 73 20 4d 53 56 43 20  orm (needs MSVC 
4b10: 32 30 31 35 29 2e 0a 23 0a 21 49 46 20 24 28 46  2015)..#.!IF $(F
4b20: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 54 43 43  OR_WIN10)!=0.TCC
4b30: 20 3d 20 24 28 54 43 43 29 20 2f 64 32 67 75 61   = $(TCC) /d2gua
4b40: 72 64 34 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50  rd4 -D_ARM_WINAP
4b50: 49 5f 50 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b  I_PARTITION_DESK
4b60: 54 4f 50 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c  TOP_SDK_AVAILABL
4b70: 45 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2f  E.BCC = $(BCC) /
4b80: 64 32 67 75 61 72 64 34 20 2d 44 5f 41 52 4d 5f  d2guard4 -D_ARM_
4b90: 57 49 4e 41 50 49 5f 50 41 52 54 49 54 49 4f 4e  WINAPI_PARTITION
4ba0: 5f 44 45 53 4b 54 4f 50 5f 53 44 4b 5f 41 56 41  _DESKTOP_SDK_AVA
4bb0: 49 4c 41 42 4c 45 0a 21 45 4e 44 49 46 0a 0a 23  ILABLE.!ENDIF..#
4bc0: 20 41 6c 73 6f 2c 20 77 65 20 6e 65 65 64 20 74   Also, we need t
4bd0: 6f 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69  o dynamically li
4be0: 6e 6b 20 74 6f 20 74 68 65 20 63 6f 72 72 65 63  nk to the correc
4bf0: 74 20 4d 53 56 43 20 72 75 6e 74 69 6d 65 0a 23  t MSVC runtime.#
4c00: 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20   when compiling 
4c10: 66 6f 72 20 57 69 6e 52 54 20 28 65 2e 67 2e 20  for WinRT (e.g. 
4c20: 64 65 62 75 67 20 6f 72 20 72 65 6c 65 61 73 65  debug or release
4c30: 29 20 4f 52 20 69 66 20 74 68 65 0a 23 20 55 53  ) OR if the.# US
4c40: 45 5f 43 52 54 5f 44 4c 4c 20 6f 70 74 69 6f 6e  E_CRT_DLL option
4c50: 20 69 73 20 73 65 74 20 74 6f 20 66 6f 72 63 65   is set to force
4c60: 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e   dynamically lin
4c70: 6b 69 6e 67 20 74 6f 20 74 68 65 0a 23 20 4d 53  king to the.# MS
4c80: 56 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61  VC runtime libra
4c90: 72 79 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f  ry..#.!IF $(FOR_
4ca0: 57 49 4e 52 54 29 21 3d 30 20 7c 7c 20 24 28 55  WINRT)!=0 || $(U
4cb0: 53 45 5f 43 52 54 5f 44 4c 4c 29 21 3d 30 0a 21  SE_CRT_DLL)!=0.!
4cc0: 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a 54 43  IF $(DEBUG)>1.TC
4cd0: 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 44 64 0a  C = $(TCC) -MDd.
4ce0: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 44  BCC = $(BCC) -MD
4cf0: 64 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20 24 28  d.!ELSE.TCC = $(
4d00: 54 43 43 29 20 2d 4d 44 0a 42 43 43 20 3d 20 24  TCC) -MD.BCC = $
4d10: 28 42 43 43 29 20 2d 4d 44 0a 21 45 4e 44 49 46  (BCC) -MD.!ENDIF
4d20: 0a 21 45 4c 53 45 0a 21 49 46 20 24 28 44 45 42  .!ELSE.!IF $(DEB
4d30: 55 47 29 3e 31 0a 54 43 43 20 3d 20 24 28 54 43  UG)>1.TCC = $(TC
4d40: 43 29 20 2d 4d 54 64 0a 42 43 43 20 3d 20 24 28  C) -MTd.BCC = $(
4d50: 42 43 43 29 20 2d 4d 54 64 0a 21 45 4c 53 45 0a  BCC) -MTd.!ELSE.
4d60: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 54  TCC = $(TCC) -MT
4d70: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d  .BCC = $(BCC) -M
4d80: 54 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  T.!ENDIF.!ENDIF.
4d90: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54 68  .# <<mark>>.# Th
4da0: 65 20 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c  e mksqlite3c.tcl
4db0: 20 61 6e 64 20 6d 6b 73 71 6c 69 74 65 33 68 2e   and mksqlite3h.
4dc0: 74 63 6c 20 73 63 72 69 70 74 73 20 77 69 6c 6c  tcl scripts will
4dd0: 20 70 75 6c 6c 20 69 6e 0a 23 20 61 6e 79 20 65   pull in.# any e
4de0: 78 74 65 6e 73 69 6f 6e 20 68 65 61 64 65 72 20  xtension header 
4df0: 66 69 6c 65 73 20 62 79 20 64 65 66 61 75 6c 74  files by default
4e00: 2e 20 20 46 6f 72 20 6e 6f 6e 2d 61 6d 61 6c 67  .  For non-amalg
4e10: 61 6d 61 74 69 6f 6e 0a 23 20 62 75 69 6c 64 73  amation.# builds
4e20: 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 6d 61 6b  , we need to mak
4e30: 65 20 73 75 72 65 20 74 68 65 20 63 6f 6d 70 69  e sure the compi
4e40: 6c 65 72 20 63 61 6e 20 66 69 6e 64 20 74 68 65  ler can find the
4e50: 73 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  se..#.!IF $(USE_
4e60: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30  AMALGAMATION)==0
4e70: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49  .TCC = $(TCC) -I
4e80: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 0a  $(TOP)\ext\fts3.
4e90: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24  RCC = $(RCC) -I$
4ea0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 0a 54  (TOP)\ext\fts3.T
4eb0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28  CC = $(TCC) -I$(
4ec0: 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 0a 52  TOP)\ext\rtree.R
4ed0: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28  CC = $(RCC) -I$(
4ee0: 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 0a 54  TOP)\ext\rtree.T
4ef0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28  CC = $(TCC) -I$(
4f00: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
4f10: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49  .RCC = $(RCC) -I
4f20: 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69  $(TOP)\ext\sessi
4f30: 6f 6e 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65  on.!ENDIF..# The
4f40: 20 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 20   mksqlite3c.tcl 
4f50: 73 63 72 69 70 74 20 61 63 63 65 70 74 73 20 73  script accepts s
4f60: 6f 6d 65 20 6f 70 74 69 6f 6e 73 20 6f 6e 20 74  ome options on t
4f70: 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e  he command.# lin
4f80: 65 2e 20 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69  e.  When compili
4f90: 6e 67 20 77 69 74 68 20 64 65 62 75 67 67 69 6e  ng with debuggin
4fa0: 67 20 65 6e 61 62 6c 65 64 2c 20 73 6f 6d 65 20  g enabled, some 
4fb0: 6f 66 20 74 68 65 73 65 0a 23 20 6f 70 74 69 6f  of these.# optio
4fc0: 6e 73 20 61 72 65 20 6e 65 63 65 73 73 61 72 79  ns are necessary
4fd0: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 61 6c 6c   in order to all
4fe0: 6f 77 20 64 65 62 75 67 67 69 6e 67 20 73 79 6d  ow debugging sym
4ff0: 62 6f 6c 73 20 74 6f 0a 23 20 77 6f 72 6b 20 63  bols to.# work c
5000: 6f 72 72 65 63 74 6c 79 20 77 69 74 68 20 56 69  orrectly with Vi
5010: 73 75 61 6c 20 53 74 75 64 69 6f 20 77 68 65 6e  sual Studio when
5020: 20 75 73 69 6e 67 20 74 68 65 20 61 6d 61 6c 67   using the amalg
5030: 61 6d 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44  amation..#.!IFND
5040: 45 46 20 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f  EF MKSQLITE3C_TO
5050: 4f 4c 0a 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c  OL.!IF $(MINIMAL
5060: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 21 3d  _AMALGAMATION)!=
5070: 30 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f  0.MKSQLITE3C_TOO
5080: 4c 20 3d 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  L = $(TOP)\tool\
5090: 6d 6b 73 71 6c 69 74 65 33 63 2d 6e 6f 65 78 74  mksqlite3c-noext
50a0: 2e 74 63 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c  .tcl.!ELSE.MKSQL
50b0: 49 54 45 33 43 5f 54 4f 4f 4c 20 3d 20 24 28 54  ITE3C_TOOL = $(T
50c0: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74  OP)\tool\mksqlit
50d0: 65 33 63 2e 74 63 6c 0a 21 45 4e 44 49 46 0a 21  e3c.tcl.!ENDIF.!
50e0: 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4d  ENDIF..!IFNDEF M
50f0: 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 0a 21  KSQLITE3C_ARGS.!
5100: 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a 4d 4b  IF $(DEBUG)>1.MK
5110: 53 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 20  SQLITE3C_ARGS = 
5120: 2d 2d 6c 69 6e 65 6d 61 63 72 6f 73 0a 21 45 4c  --linemacros.!EL
5130: 53 45 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52  SE.MKSQLITE3C_AR
5140: 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21 49 46 20  GS =.!ENDIF.!IF 
5150: 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d  $(USE_STDCALL)!=
5160: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10
5170: 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 43 5f  )!=0.MKSQLITE3C_
5180: 41 52 47 53 20 3d 20 24 28 4d 4b 53 51 4c 49 54  ARGS = $(MKSQLIT
5190: 45 33 43 5f 41 52 47 53 29 20 2d 2d 75 73 65 61  E3C_ARGS) --usea
51a0: 70 69 63 61 6c 6c 0a 21 45 4e 44 49 46 0a 21 45  picall.!ENDIF.!E
51b0: 4e 44 49 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71  NDIF..# The mksq
51c0: 6c 69 74 65 33 68 2e 74 63 6c 20 73 63 72 69 70  lite3h.tcl scrip
51d0: 74 20 61 63 63 65 70 74 73 20 73 6f 6d 65 20 6f  t accepts some o
51e0: 70 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f  ptions on the co
51f0: 6d 6d 61 6e 64 20 6c 69 6e 65 2e 0a 23 20 57 68  mmand line..# Wh
5200: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74  en compiling wit
5210: 68 20 73 74 64 63 61 6c 6c 20 73 75 70 70 6f 72  h stdcall suppor
5220: 74 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 73 65  t, some of these
5230: 20 6f 70 74 69 6f 6e 73 20 61 72 65 0a 23 20 6e   options are.# n
5240: 65 63 65 73 73 61 72 79 2e 0a 23 0a 21 49 46 4e  ecessary..#.!IFN
5250: 44 45 46 20 4d 4b 53 51 4c 49 54 45 33 48 5f 41  DEF MKSQLITE3H_A
5260: 52 47 53 0a 21 49 46 20 24 28 55 53 45 5f 53 54  RGS.!IF $(USE_ST
5270: 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46  DCALL)!=0 || $(F
5280: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4d 4b 53  OR_WIN10)!=0.MKS
5290: 51 4c 49 54 45 33 48 5f 41 52 47 53 20 3d 20 2d  QLITE3H_ARGS = -
52a0: 2d 75 73 65 61 70 69 63 61 6c 6c 0a 21 45 4c 53  -useapicall.!ELS
52b0: 45 0a 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52 47  E.MKSQLITE3H_ARG
52c0: 53 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  S =.!ENDIF.!ENDI
52d0: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  F.# <</mark>>..#
52e0: 20 44 65 66 69 6e 65 20 2d 44 4e 44 45 42 55 47   Define -DNDEBUG
52f0: 20 74 6f 20 63 6f 6d 70 69 6c 65 20 77 69 74 68   to compile with
5300: 6f 75 74 20 64 65 62 75 67 67 69 6e 67 20 28 69  out debugging (i
5310: 2e 65 2e 2c 20 66 6f 72 20 70 72 6f 64 75 63 74  .e., for product
5320: 69 6f 6e 20 75 73 61 67 65 29 0a 23 20 4f 6d 69  ion usage).# Omi
5330: 74 74 69 6e 67 20 74 68 65 20 64 65 66 69 6e 65  tting the define
5340: 20 77 69 6c 6c 20 63 61 75 73 65 20 65 78 74 72   will cause extr
5350: 61 20 64 65 62 75 67 67 69 6e 67 20 63 6f 64 65  a debugging code
5360: 20 74 6f 20 62 65 20 69 6e 73 65 72 74 65 64 20   to be inserted 
5370: 61 6e 64 0a 23 20 69 6e 63 6c 75 64 65 73 20 65  and.# includes e
5380: 78 74 72 61 20 63 6f 6d 6d 65 6e 74 73 20 77 68  xtra comments wh
5390: 65 6e 20 22 45 58 50 4c 41 49 4e 20 73 74 6d 74  en "EXPLAIN stmt
53a0: 22 20 69 73 20 75 73 65 64 2e 0a 23 0a 21 49 46  " is used..#.!IF
53b0: 20 24 28 44 45 42 55 47 29 3d 3d 30 0a 54 43 43   $(DEBUG)==0.TCC
53c0: 20 3d 20 24 28 54 43 43 29 20 2d 44 4e 44 45 42   = $(TCC) -DNDEB
53d0: 55 47 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  UG.BCC = $(BCC) 
53e0: 2d 44 4e 44 45 42 55 47 0a 52 43 43 20 3d 20 24  -DNDEBUG.RCC = $
53f0: 28 52 43 43 29 20 2d 44 4e 44 45 42 55 47 0a 21  (RCC) -DNDEBUG.!
5400: 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 45 42  ENDIF..!IF $(DEB
5410: 55 47 29 3e 30 20 7c 7c 20 24 28 41 50 49 5f 41  UG)>0 || $(API_A
5420: 52 4d 4f 52 29 21 3d 30 20 7c 7c 20 24 28 46 4f  RMOR)!=0 || $(FO
5430: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 54 43 43 20  R_WIN10)!=0.TCC 
5440: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54  = $(TCC) -DSQLIT
5450: 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41 52 4d  E_ENABLE_API_ARM
5460: 4f 52 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  OR=1.RCC = $(RCC
5470: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
5480: 45 5f 41 50 49 5f 41 52 4d 4f 52 3d 31 0a 21 45  E_API_ARMOR=1.!E
5490: 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55  NDIF..!IF $(DEBU
54a0: 47 29 3e 32 0a 54 43 43 20 3d 20 24 28 54 43 43  G)>2.TCC = $(TCC
54b0: 29 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47  ) -DSQLITE_DEBUG
54c0: 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  =1.RCC = $(RCC) 
54d0: 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 3d 31  -DSQLITE_DEBUG=1
54e0: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S
54f0: 48 45 4c 4c 29 3d 3d 30 0a 54 43 43 20 3d 20 24  HELL)==0.TCC = $
5500: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45  (TCC) -DSQLITE_E
5510: 4e 41 42 4c 45 5f 57 48 45 52 45 54 52 41 43 45  NABLE_WHERETRACE
5520: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
5530: 5f 53 45 4c 45 43 54 54 52 41 43 45 0a 52 43 43  _SELECTTRACE.RCC
5540: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49   = $(RCC) -DSQLI
5550: 54 45 5f 45 4e 41 42 4c 45 5f 57 48 45 52 45 54  TE_ENABLE_WHERET
5560: 52 41 43 45 20 2d 44 53 51 4c 49 54 45 5f 45 4e  RACE -DSQLITE_EN
5570: 41 42 4c 45 5f 53 45 4c 45 43 54 54 52 41 43 45  ABLE_SELECTTRACE
5580: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
5590: 21 49 46 20 24 28 44 45 42 55 47 29 3e 34 20 7c  !IF $(DEBUG)>4 |
55a0: 7c 20 24 28 4f 53 54 52 41 43 45 29 21 3d 30 0a  | $(OSTRACE)!=0.
55b0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53  TCC = $(TCC) -DS
55c0: 51 4c 49 54 45 5f 46 4f 52 43 45 5f 4f 53 5f 54  QLITE_FORCE_OS_T
55d0: 52 41 43 45 3d 31 20 2d 44 53 51 4c 49 54 45 5f  RACE=1 -DSQLITE_
55e0: 44 45 42 55 47 5f 4f 53 5f 54 52 41 43 45 3d 31  DEBUG_OS_TRACE=1
55f0: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44  .RCC = $(RCC) -D
5600: 53 51 4c 49 54 45 5f 46 4f 52 43 45 5f 4f 53 5f  SQLITE_FORCE_OS_
5610: 54 52 41 43 45 3d 31 20 2d 44 53 51 4c 49 54 45  TRACE=1 -DSQLITE
5620: 5f 44 45 42 55 47 5f 4f 53 5f 54 52 41 43 45 3d  _DEBUG_OS_TRACE=
5630: 31 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28  1.!ENDIF..!IF $(
5640: 44 45 42 55 47 29 3e 35 0a 54 43 43 20 3d 20 24  DEBUG)>5.TCC = $
5650: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45  (TCC) -DSQLITE_E
5660: 4e 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a  NABLE_IOTRACE=1.
5670: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS
5680: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54  QLITE_ENABLE_IOT
5690: 52 41 43 45 3d 31 0a 21 45 4e 44 49 46 0a 0a 23  RACE=1.!ENDIF..#
56a0: 20 50 72 65 76 65 6e 74 20 77 61 72 6e 69 6e 67   Prevent warning
56b0: 73 20 61 62 6f 75 74 20 22 69 6e 73 65 63 75 72  s about "insecur
56c0: 65 22 20 4d 53 56 43 20 72 75 6e 74 69 6d 65 20  e" MSVC runtime 
56d0: 6c 69 62 72 61 72 79 20 66 75 6e 63 74 69 6f 6e  library function
56e0: 73 0a 23 20 62 65 69 6e 67 20 75 73 65 64 2e 0a  s.# being used..
56f0: 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  #.TCC = $(TCC) -
5700: 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f  D_CRT_SECURE_NO_
5710: 44 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54  DEPRECATE -D_CRT
5720: 5f 53 45 43 55 52 45 5f 4e 4f 5f 57 41 52 4e 49  _SECURE_NO_WARNI
5730: 4e 47 53 0a 42 43 43 20 3d 20 24 28 42 43 43 29  NGS.BCC = $(BCC)
5740: 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e   -D_CRT_SECURE_N
5750: 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f 43  O_DEPRECATE -D_C
5760: 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 57 41 52  RT_SECURE_NO_WAR
5770: 4e 49 4e 47 53 0a 52 43 43 20 3d 20 24 28 52 43  NINGS.RCC = $(RC
5780: 43 29 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45  C) -D_CRT_SECURE
5790: 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44  _NO_DEPRECATE -D
57a0: 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 57  _CRT_SECURE_NO_W
57b0: 41 52 4e 49 4e 47 53 0a 0a 23 20 50 72 65 76 65  ARNINGS..# Preve
57c0: 6e 74 20 77 61 72 6e 69 6e 67 73 20 61 62 6f 75  nt warnings abou
57d0: 74 20 22 64 65 70 72 65 63 61 74 65 64 22 20 50  t "deprecated" P
57e0: 4f 53 49 58 20 66 75 6e 63 74 69 6f 6e 73 20 62  OSIX functions b
57f0: 65 69 6e 67 20 75 73 65 64 2e 0a 23 0a 54 43 43  eing used..#.TCC
5800: 20 3d 20 24 28 54 43 43 29 20 2d 44 5f 43 52 54   = $(TCC) -D_CRT
5810: 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52  _NONSTDC_NO_DEPR
5820: 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e  ECATE -D_CRT_NON
5830: 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53  STDC_NO_WARNINGS
5840: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44  .BCC = $(BCC) -D
5850: 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f  _CRT_NONSTDC_NO_
5860: 44 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54  DEPRECATE -D_CRT
5870: 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e  _NONSTDC_NO_WARN
5880: 49 4e 47 53 0a 52 43 43 20 3d 20 24 28 52 43 43  INGS.RCC = $(RCC
5890: 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43  ) -D_CRT_NONSTDC
58a0: 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44  _NO_DEPRECATE -D
58b0: 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f  _CRT_NONSTDC_NO_
58c0: 57 41 52 4e 49 4e 47 53 0a 0a 23 20 55 73 65 20  WARNINGS..# Use 
58d0: 74 68 65 20 53 51 4c 69 74 65 20 64 65 62 75 67  the SQLite debug
58e0: 67 69 6e 67 20 68 65 61 70 20 73 75 62 73 79 73  ging heap subsys
58f0: 74 65 6d 3f 0a 23 0a 21 49 46 20 24 28 4d 45 4d  tem?.#.!IF $(MEM
5900: 44 45 42 55 47 29 21 3d 30 0a 54 43 43 20 3d 20  DEBUG)!=0.TCC = 
5910: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_
5920: 4d 45 4d 44 45 42 55 47 3d 31 0a 52 43 43 20 3d  MEMDEBUG=1.RCC =
5930: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45   $(RCC) -DSQLITE
5940: 5f 4d 45 4d 44 45 42 55 47 3d 31 0a 0a 23 20 55  _MEMDEBUG=1..# U
5950: 73 65 20 6e 61 74 69 76 65 20 57 69 6e 33 32 20  se native Win32 
5960: 68 65 61 70 20 73 75 62 73 79 73 74 65 6d 20 69  heap subsystem i
5970: 6e 73 74 65 61 64 20 6f 66 20 6d 61 6c 6c 6f 63  nstead of malloc
5980: 2f 66 72 65 65 3f 0a 23 0a 21 45 4c 53 45 49 46  /free?.#.!ELSEIF
5990: 20 24 28 57 49 4e 33 32 48 45 41 50 29 21 3d 30   $(WIN32HEAP)!=0
59a0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D
59b0: 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c  SQLITE_WIN32_MAL
59c0: 4c 4f 43 3d 31 0a 52 43 43 20 3d 20 24 28 52 43  LOC=1.RCC = $(RC
59d0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33  C) -DSQLITE_WIN3
59e0: 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 0a 23 20 56 61  2_MALLOC=1..# Va
59f0: 6c 69 64 61 74 65 20 74 68 65 20 68 65 61 70 20  lidate the heap 
5a00: 6f 6e 20 65 76 65 72 79 20 63 61 6c 6c 20 69 6e  on every call in
5a10: 74 6f 20 74 68 65 20 6e 61 74 69 76 65 20 57 69  to the native Wi
5a20: 6e 33 32 20 68 65 61 70 20 73 75 62 73 79 73 74  n32 heap subsyst
5a30: 65 6d 3f 0a 23 0a 21 49 46 20 24 28 44 45 42 55  em?.#.!IF $(DEBU
5a40: 47 29 3e 33 0a 54 43 43 20 3d 20 24 28 54 43 43  G)>3.TCC = $(TCC
5a50: 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32  ) -DSQLITE_WIN32
5a60: 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49 44 41 54 45  _MALLOC_VALIDATE
5a70: 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  =1.RCC = $(RCC) 
5a80: 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d  -DSQLITE_WIN32_M
5a90: 41 4c 4c 4f 43 5f 56 41 4c 49 44 41 54 45 3d 31  ALLOC_VALIDATE=1
5aa0: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
5ab0: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54 68 65  # <<mark>>.# The
5ac0: 20 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20 74 68   locations of th
5ad0: 65 20 54 63 6c 20 68 65 61 64 65 72 20 61 6e 64  e Tcl header and
5ae0: 20 6c 69 62 72 61 72 79 20 66 69 6c 65 73 2e 20   library files. 
5af0: 20 41 6c 73 6f 2c 20 74 68 65 20 6c 69 62 72 61   Also, the libra
5b00: 72 79 20 74 68 61 74 0a 23 20 6e 6f 6e 2d 73 74  ry that.# non-st
5b10: 75 62 73 20 65 6e 61 62 6c 65 64 20 70 72 6f 67  ubs enabled prog
5b20: 72 61 6d 73 20 75 73 69 6e 67 20 54 63 6c 20 6d  rams using Tcl m
5b30: 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74  ust link against
5b40: 2e 20 20 54 68 65 73 65 20 76 61 72 69 61 62 6c  .  These variabl
5b50: 65 73 0a 23 20 28 54 43 4c 49 4e 43 44 49 52 2c  es.# (TCLINCDIR,
5b60: 20 54 43 4c 4c 49 42 44 49 52 2c 20 61 6e 64 20   TCLLIBDIR, and 
5b70: 4c 49 42 54 43 4c 29 20 6d 61 79 20 62 65 20 6f  LIBTCL) may be o
5b80: 76 65 72 72 69 64 64 65 6e 20 76 69 61 20 74 68  verridden via th
5b90: 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a 23 20  e environment.# 
5ba0: 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67  prior to running
5bb0: 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65 72 20   nmake in order 
5bc0: 74 6f 20 6d 61 74 63 68 20 74 68 65 20 61 63 74  to match the act
5bd0: 75 61 6c 20 69 6e 73 74 61 6c 6c 65 64 20 6c 6f  ual installed lo
5be0: 63 61 74 69 6f 6e 20 61 6e 64 0a 23 20 76 65 72  cation and.# ver
5bf0: 73 69 6f 6e 20 6f 6e 20 74 68 69 73 20 6d 61 63  sion on this mac
5c00: 68 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20  hine..#.!IFNDEF 
5c10: 54 43 4c 44 49 52 0a 54 43 4c 44 49 52 20 3d 20  TCLDIR.TCLDIR = 
5c20: 24 28 54 4f 50 29 5c 63 6f 6d 70 61 74 5c 74 63  $(TOP)\compat\tc
5c30: 6c 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45  l.!ENDIF..!IFNDE
5c40: 46 20 54 43 4c 49 4e 43 44 49 52 0a 54 43 4c 49  F TCLINCDIR.TCLI
5c50: 4e 43 44 49 52 20 3d 20 24 28 54 43 4c 44 49 52  NCDIR = $(TCLDIR
5c60: 29 5c 69 6e 63 6c 75 64 65 0a 21 45 4e 44 49 46  )\include.!ENDIF
5c70: 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c 4c 49 42  ..!IFNDEF TCLLIB
5c80: 44 49 52 0a 54 43 4c 4c 49 42 44 49 52 20 3d 20  DIR.TCLLIBDIR = 
5c90: 24 28 54 43 4c 44 49 52 29 5c 6c 69 62 0a 21 45  $(TCLDIR)\lib.!E
5ca0: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49  NDIF..!IFNDEF LI
5cb0: 42 54 43 4c 0a 4c 49 42 54 43 4c 20 3d 20 74 63  BTCL.LIBTCL = tc
5cc0: 6c 38 36 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a  l86.lib.!ENDIF..
5cd0: 21 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 53 54  !IFNDEF LIBTCLST
5ce0: 55 42 0a 4c 49 42 54 43 4c 53 54 55 42 20 3d 20  UB.LIBTCLSTUB = 
5cf0: 74 63 6c 73 74 75 62 38 36 2e 6c 69 62 0a 21 45  tclstub86.lib.!E
5d00: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49  NDIF..!IFNDEF LI
5d10: 42 54 43 4c 50 41 54 48 0a 4c 49 42 54 43 4c 50  BTCLPATH.LIBTCLP
5d20: 41 54 48 20 3d 20 24 28 54 43 4c 44 49 52 29 5c  ATH = $(TCLDIR)\
5d30: 62 69 6e 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  bin.!ENDIF..# Th
5d40: 65 20 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20 74  e locations of t
5d50: 68 65 20 7a 6c 69 62 20 68 65 61 64 65 72 20 61  he zlib header a
5d60: 6e 64 20 6c 69 62 72 61 72 79 20 66 69 6c 65 73  nd library files
5d70: 2e 20 20 54 68 65 73 65 20 76 61 72 69 61 62 6c  .  These variabl
5d80: 65 73 0a 23 20 28 5a 4c 49 42 49 4e 43 44 49 52  es.# (ZLIBINCDIR
5d90: 2c 20 5a 4c 49 42 4c 49 42 44 49 52 2c 20 61 6e  , ZLIBLIBDIR, an
5da0: 64 20 5a 4c 49 42 4c 49 42 29 20 6d 61 79 20 62  d ZLIBLIB) may b
5db0: 65 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69 61  e overridden via
5dc0: 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74   the environment
5dd0: 0a 23 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e  .# prior to runn
5de0: 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64  ing nmake in ord
5df0: 65 72 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20  er to match the 
5e00: 61 63 74 75 61 6c 20 69 6e 73 74 61 6c 6c 65 64  actual installed
5e10: 20 28 6f 72 20 73 6f 75 72 63 65 0a 23 20 63 6f   (or source.# co
5e20: 64 65 29 20 6c 6f 63 61 74 69 6f 6e 20 6f 6e 20  de) location on 
5e30: 74 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a  this machine..#.
5e40: 21 49 46 4e 44 45 46 20 5a 4c 49 42 44 49 52 0a  !IFNDEF ZLIBDIR.
5e50: 5a 4c 49 42 44 49 52 20 3d 20 24 28 54 4f 50 29  ZLIBDIR = $(TOP)
5e60: 5c 63 6f 6d 70 61 74 5c 7a 6c 69 62 0a 21 45 4e  \compat\zlib.!EN
5e70: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 5a 4c 49  DIF..!IFNDEF ZLI
5e80: 42 49 4e 43 44 49 52 0a 5a 4c 49 42 49 4e 43 44  BINCDIR.ZLIBINCD
5e90: 49 52 20 3d 20 24 28 5a 4c 49 42 44 49 52 29 0a  IR = $(ZLIBDIR).
5ea0: 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20  !ENDIF..!IFNDEF 
5eb0: 5a 4c 49 42 4c 49 42 44 49 52 0a 5a 4c 49 42 4c  ZLIBLIBDIR.ZLIBL
5ec0: 49 42 44 49 52 20 3d 20 24 28 5a 4c 49 42 44 49  IBDIR = $(ZLIBDI
5ed0: 52 29 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44  R).!ENDIF..!IFND
5ee0: 45 46 20 5a 4c 49 42 4c 49 42 0a 21 49 46 20 24  EF ZLIBLIB.!IF $
5ef0: 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21  (DYNAMIC_SHELL)!
5f00: 3d 30 0a 5a 4c 49 42 4c 49 42 20 3d 20 7a 64 6c  =0.ZLIBLIB = zdl
5f10: 6c 2e 6c 69 62 0a 21 45 4c 53 45 0a 5a 4c 49 42  l.lib.!ELSE.ZLIB
5f20: 4c 49 42 20 3d 20 7a 6c 69 62 2e 6c 69 62 0a 21  LIB = zlib.lib.!
5f30: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
5f40: 54 68 65 20 6c 6f 63 61 74 69 6f 6e 73 20 6f 66  The locations of
5f50: 20 74 68 65 20 49 43 55 20 68 65 61 64 65 72 20   the ICU header 
5f60: 61 6e 64 20 6c 69 62 72 61 72 79 20 66 69 6c 65  and library file
5f70: 73 2e 20 20 54 68 65 73 65 20 76 61 72 69 61 62  s.  These variab
5f80: 6c 65 73 0a 23 20 28 49 43 55 49 4e 43 44 49 52  les.# (ICUINCDIR
5f90: 2c 20 49 43 55 4c 49 42 44 49 52 2c 20 61 6e 64  , ICULIBDIR, and
5fa0: 20 4c 49 42 49 43 55 29 20 6d 61 79 20 62 65 20   LIBICU) may be 
5fb0: 6f 76 65 72 72 69 64 64 65 6e 20 76 69 61 20 74  overridden via t
5fc0: 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a 23  he environment.#
5fd0: 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 6e   prior to runnin
5fe0: 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65 72  g nmake in order
5ff0: 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 61 63   to match the ac
6000: 74 75 61 6c 20 69 6e 73 74 61 6c 6c 65 64 20 6c  tual installed l
6010: 6f 63 61 74 69 6f 6e 20 6f 6e 0a 23 20 74 68 69  ocation on.# thi
6020: 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a 21 49 46  s machine..#.!IF
6030: 4e 44 45 46 20 49 43 55 44 49 52 0a 49 43 55 44  NDEF ICUDIR.ICUD
6040: 49 52 20 3d 20 24 28 54 4f 50 29 5c 63 6f 6d 70  IR = $(TOP)\comp
6050: 61 74 5c 69 63 75 0a 21 45 4e 44 49 46 0a 0a 21  at\icu.!ENDIF..!
6060: 49 46 4e 44 45 46 20 49 43 55 49 4e 43 44 49 52  IFNDEF ICUINCDIR
6070: 0a 49 43 55 49 4e 43 44 49 52 20 3d 20 24 28 49  .ICUINCDIR = $(I
6080: 43 55 44 49 52 29 5c 69 6e 63 6c 75 64 65 0a 21  CUDIR)\include.!
6090: 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 49  ENDIF..!IFNDEF I
60a0: 43 55 4c 49 42 44 49 52 0a 49 43 55 4c 49 42 44  CULIBDIR.ICULIBD
60b0: 49 52 20 3d 20 24 28 49 43 55 44 49 52 29 5c 6c  IR = $(ICUDIR)\l
60c0: 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44  ib.!ENDIF..!IFND
60d0: 45 46 20 4c 49 42 49 43 55 0a 4c 49 42 49 43 55  EF LIBICU.LIBICU
60e0: 20 3d 20 69 63 75 75 63 2e 6c 69 62 20 69 63 75   = icuuc.lib icu
60f0: 69 6e 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23  in.lib.!ENDIF..#
6100: 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 6d   This is the com
6110: 6d 61 6e 64 20 74 6f 20 75 73 65 20 66 6f 72 20  mand to use for 
6120: 74 63 6c 73 68 20 2d 20 6e 6f 72 6d 61 6c 6c 79  tclsh - normally
6130: 20 6a 75 73 74 20 22 74 63 6c 73 68 22 2c 20 62   just "tclsh", b
6140: 75 74 20 77 65 20 6d 61 79 0a 23 20 6b 6e 6f 77  ut we may.# know
6150: 20 74 68 65 20 73 70 65 63 69 66 69 63 20 76 65   the specific ve
6160: 72 73 69 6f 6e 20 77 65 20 77 61 6e 74 20 74 6f  rsion we want to
6170: 20 75 73 65 2e 20 20 54 68 69 73 20 76 61 72 69   use.  This vari
6180: 61 62 6c 65 20 28 54 43 4c 53 48 5f 43 4d 44 29  able (TCLSH_CMD)
6190: 20 6d 61 79 20 62 65 0a 23 20 6f 76 65 72 72 69   may be.# overri
61a0: 64 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76  dden via the env
61b0: 69 72 6f 6e 6d 65 6e 74 20 70 72 69 6f 72 20 74  ironment prior t
61c0: 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20  o running nmake 
61d0: 69 6e 20 6f 72 64 65 72 20 74 6f 20 73 65 6c 65  in order to sele
61e0: 63 74 20 61 0a 23 20 73 70 65 63 69 66 69 63 20  ct a.# specific 
61f0: 54 63 6c 20 73 68 65 6c 6c 20 74 6f 20 75 73 65  Tcl shell to use
6200: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 54 43 4c 53  ..#.!IFNDEF TCLS
6210: 48 5f 43 4d 44 0a 21 49 46 20 24 28 55 53 45 5f  H_CMD.!IF $(USE_
6220: 54 43 4c 53 48 5f 49 4e 5f 50 41 54 48 29 21 3d  TCLSH_IN_PATH)!=
6230: 30 20 7c 7c 20 21 45 58 49 53 54 28 22 24 28 54  0 || !EXIST("$(T
6240: 43 4c 44 49 52 29 5c 62 69 6e 5c 74 63 6c 73 68  CLDIR)\bin\tclsh
6250: 2e 65 78 65 22 29 0a 54 43 4c 53 48 5f 43 4d 44  .exe").TCLSH_CMD
6260: 20 3d 20 74 63 6c 73 68 0a 21 45 4c 53 45 0a 54   = tclsh.!ELSE.T
6270: 43 4c 53 48 5f 43 4d 44 20 3d 20 24 28 54 43 4c  CLSH_CMD = $(TCL
6280: 44 49 52 29 5c 62 69 6e 5c 74 63 6c 73 68 2e 65  DIR)\bin\tclsh.e
6290: 78 65 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  xe.!ENDIF.!ENDIF
62a0: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20  .# <</mark>>..# 
62b0: 43 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73  Compiler options
62c0: 20 6e 65 65 64 65 64 20 66 6f 72 20 70 72 6f 67   needed for prog
62d0: 72 61 6d 73 20 74 68 61 74 20 75 73 65 20 74 68  rams that use th
62e0: 65 20 72 65 61 64 6c 69 6e 65 28 29 20 6c 69 62  e readline() lib
62f0: 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20  rary..#.!IFNDEF 
6300: 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 0a 52  READLINE_FLAGS.R
6310: 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 20 3d 20  EADLINE_FLAGS = 
6320: 2d 44 48 41 56 45 5f 52 45 41 44 4c 49 4e 45 3d  -DHAVE_READLINE=
6330: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 20  0.!ENDIF..# The 
6340: 6c 69 62 72 61 72 79 20 74 68 61 74 20 70 72 6f  library that pro
6350: 67 72 61 6d 73 20 75 73 69 6e 67 20 72 65 61 64  grams using read
6360: 6c 69 6e 65 28 29 20 6d 75 73 74 20 6c 69 6e 6b  line() must link
6370: 20 61 67 61 69 6e 73 74 2e 0a 23 0a 21 49 46 4e   against..#.!IFN
6380: 44 45 46 20 4c 49 42 52 45 41 44 4c 49 4e 45 0a  DEF LIBREADLINE.
6390: 4c 49 42 52 45 41 44 4c 49 4e 45 20 3d 0a 21 45  LIBREADLINE =.!E
63a0: 4e 44 49 46 0a 0a 23 20 53 68 6f 75 6c 64 20 74  NDIF..# Should t
63b0: 68 65 20 64 61 74 61 62 61 73 65 20 65 6e 67 69  he database engi
63c0: 6e 65 20 62 65 20 63 6f 6d 70 69 6c 65 64 20 74  ne be compiled t
63d0: 68 72 65 61 64 73 61 66 65 0a 23 0a 54 43 43 20  hreadsafe.#.TCC 
63e0: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54  = $(TCC) -DSQLIT
63f0: 45 5f 54 48 52 45 41 44 53 41 46 45 3d 31 0a 52  E_THREADSAFE=1.R
6400: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ
6410: 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
6420: 31 0a 0a 23 20 44 6f 20 74 68 72 65 61 64 73 20  1..# Do threads 
6430: 6f 76 65 72 72 69 64 65 20 65 61 63 68 20 6f 74  override each ot
6440: 68 65 72 73 20 6c 6f 63 6b 73 20 62 79 20 64 65  hers locks by de
6450: 66 61 75 6c 74 20 28 31 29 2c 20 6f 72 20 64 6f  fault (1), or do
6460: 20 77 65 20 74 65 73 74 20 28 2d 31 29 0a 23 0a   we test (-1).#.
6470: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53  TCC = $(TCC) -DS
6480: 51 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f 56 45  QLITE_THREAD_OVE
6490: 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 52 43  RRIDE_LOCK=-1.RC
64a0: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c  C = $(RCC) -DSQL
64b0: 49 54 45 5f 54 48 52 45 41 44 5f 4f 56 45 52 52  ITE_THREAD_OVERR
64c0: 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 0a 23 20 41  IDE_LOCK=-1..# A
64d0: 6e 79 20 74 61 72 67 65 74 20 6c 69 62 72 61 72  ny target librar
64e0: 69 65 73 20 77 68 69 63 68 20 6c 69 62 73 71 6c  ies which libsql
64f0: 69 74 65 20 6d 75 73 74 20 62 65 20 6c 69 6e 6b  ite must be link
6500: 65 64 20 61 67 61 69 6e 73 74 0a 23 0a 21 49 46  ed against.#.!IF
6510: 4e 44 45 46 20 54 4c 49 42 53 0a 54 4c 49 42 53  NDEF TLIBS.TLIBS
6520: 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 46 6c 61   =.!ENDIF..# Fla
6530: 67 73 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 75  gs controlling u
6540: 73 65 20 6f 66 20 74 68 65 20 69 6e 20 6d 65 6d  se of the in mem
6550: 6f 72 79 20 62 74 72 65 65 20 69 6d 70 6c 65 6d  ory btree implem
6560: 65 6e 74 61 74 69 6f 6e 0a 23 0a 23 20 53 51 4c  entation.#.# SQL
6570: 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 20 69  ITE_TEMP_STORE i
6580: 73 20 30 20 74 6f 20 66 6f 72 63 65 20 74 65 6d  s 0 to force tem
6590: 70 6f 72 61 72 79 20 74 61 62 6c 65 73 20 74 6f  porary tables to
65a0: 20 62 65 20 69 6e 20 61 20 66 69 6c 65 2c 20 31   be in a file, 1
65b0: 20 74 6f 0a 23 20 64 65 66 61 75 6c 74 20 74 6f   to.# default to
65c0: 20 66 69 6c 65 2c 20 32 20 74 6f 20 64 65 66 61   file, 2 to defa
65d0: 75 6c 74 20 74 6f 20 6d 65 6d 6f 72 79 2c 20 61  ult to memory, a
65e0: 6e 64 20 33 20 74 6f 20 66 6f 72 63 65 20 74 65  nd 3 to force te
65f0: 6d 70 6f 72 61 72 79 0a 23 20 74 61 62 6c 65 73  mporary.# tables
6600: 20 74 6f 20 61 6c 77 61 79 73 20 62 65 20 69 6e   to always be in
6610: 20 6d 65 6d 6f 72 79 2e 0a 23 0a 54 43 43 20 3d   memory..#.TCC =
6620: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE
6630: 5f 54 45 4d 50 5f 53 54 4f 52 45 3d 31 0a 52 43  _TEMP_STORE=1.RC
6640: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c  C = $(RCC) -DSQL
6650: 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3d 31  ITE_TEMP_STORE=1
6660: 0a 0a 23 20 45 6e 61 62 6c 65 2f 64 69 73 61 62  ..# Enable/disab
6670: 6c 65 20 6c 6f 61 64 61 62 6c 65 20 65 78 74 65  le loadable exte
6680: 6e 73 69 6f 6e 73 2c 20 61 6e 64 20 6f 74 68 65  nsions, and othe
6690: 72 20 6f 70 74 69 6f 6e 61 6c 20 66 65 61 74 75  r optional featu
66a0: 72 65 73 0a 23 20 62 61 73 65 64 20 6f 6e 20 63  res.# based on c
66b0: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 20 28 2d  onfiguration. (-
66c0: 44 53 51 4c 49 54 45 5f 4f 4d 49 54 2a 2c 20 2d  DSQLITE_OMIT*, -
66d0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 2a 29  DSQLITE_ENABLE*)
66e0: 2e 0a 23 20 54 68 65 20 73 61 6d 65 20 73 65 74  ..# The same set
66f0: 20 6f 66 20 4f 4d 49 54 20 61 6e 64 20 45 4e 41   of OMIT and ENA
6700: 42 4c 45 20 66 6c 61 67 73 20 73 68 6f 75 6c 64  BLE flags should
6710: 20 62 65 20 70 61 73 73 65 64 20 74 6f 20 74 68   be passed to th
6720: 65 0a 23 20 4c 45 4d 4f 4e 20 70 61 72 73 65 72  e.# LEMON parser
6730: 20 67 65 6e 65 72 61 74 6f 72 20 61 6e 64 20 74   generator and t
6740: 68 65 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68  he mkkeywordhash
6750: 20 74 6f 6f 6c 20 61 73 20 77 65 6c 6c 2e 0a 0a   tool as well...
6760: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20  # These are the 
6770: 72 65 71 75 69 72 65 64 20 53 51 4c 69 74 65 20  required SQLite 
6780: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69  compilation opti
6790: 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20 63 6f  ons used when co
67a0: 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74 68  mpiling for.# th
67b0: 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f  e Windows platfo
67c0: 72 6d 2e 0a 23 0a 52 45 51 5f 46 45 41 54 55 52  rm..#.REQ_FEATUR
67d0: 45 5f 46 4c 41 47 53 20 3d 20 24 28 52 45 51 5f  E_FLAGS = $(REQ_
67e0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
67f0: 44 53 51 4c 49 54 45 5f 4d 41 58 5f 54 52 49 47  DSQLITE_MAX_TRIG
6800: 47 45 52 5f 44 45 50 54 48 3d 31 30 30 0a 0a 23  GER_DEPTH=100..#
6810: 20 49 66 20 77 65 20 61 72 65 20 6c 69 6e 6b 69   If we are linki
6820: 6e 67 20 74 6f 20 74 68 65 20 52 50 43 52 54 34  ng to the RPCRT4
6830: 20 6c 69 62 72 61 72 79 2c 20 65 6e 61 62 6c 65   library, enable
6840: 20 66 65 61 74 75 72 65 73 20 74 68 61 74 20 6e   features that n
6850: 65 65 64 20 69 74 2e 0a 23 0a 21 49 46 20 24 28  eed it..#.!IF $(
6860: 55 53 45 5f 52 50 43 52 54 34 5f 4c 49 42 29 21  USE_RPCRT4_LIB)!
6870: 3d 30 0a 52 45 51 5f 46 45 41 54 55 52 45 5f 46  =0.REQ_FEATURE_F
6880: 4c 41 47 53 20 3d 20 24 28 52 45 51 5f 46 45 41  LAGS = $(REQ_FEA
6890: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
68a0: 4c 49 54 45 5f 57 49 4e 33 32 5f 55 53 45 5f 55  LITE_WIN32_USE_U
68b0: 55 49 44 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20  UID=1.!ENDIF..# 
68c0: 41 64 64 20 74 68 65 20 72 65 71 75 69 72 65 64  Add the required
68d0: 20 61 6e 64 20 6f 70 74 69 6f 6e 61 6c 20 53 51   and optional SQ
68e0: 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e  Lite compilation
68f0: 20 6f 70 74 69 6f 6e 73 20 69 6e 74 6f 20 74 68   options into th
6900: 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65  e command.# line
6910: 73 20 75 73 65 64 20 74 6f 20 69 6e 76 6f 6b 65  s used to invoke
6920: 20 74 68 65 20 4d 53 56 43 20 63 6f 64 65 20 61   the MSVC code a
6930: 6e 64 20 72 65 73 6f 75 72 63 65 20 63 6f 6d 70  nd resource comp
6940: 69 6c 65 72 73 2e 0a 23 0a 54 43 43 20 3d 20 24  ilers..#.TCC = $
6950: 28 54 43 43 29 20 24 28 52 45 51 5f 46 45 41 54  (TCC) $(REQ_FEAT
6960: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54  URE_FLAGS) $(OPT
6970: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
6980: 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(EXT_FEATURE_FL
6990: 41 47 53 29 0a 52 43 43 20 3d 20 24 28 52 43 43  AGS).RCC = $(RCC
69a0: 29 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f  ) $(REQ_FEATURE_
69b0: 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41  FLAGS) $(OPT_FEA
69c0: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58  TURE_FLAGS) $(EX
69d0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
69e0: 0a 0a 23 20 41 64 64 20 69 6e 20 61 6e 79 20 6f  ..# Add in any o
69f0: 70 74 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74 65  ptional paramete
6a00: 72 73 20 73 70 65 63 69 66 69 65 64 20 6f 6e 20  rs specified on 
6a10: 74 68 65 20 63 6f 6d 6d 61 6e 65 20 6c 69 6e 65  the commane line
6a20: 2c 20 65 2e 67 2e 0a 23 20 6e 6d 61 6b 65 20 2f  , e.g..# nmake /
6a30: 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 61  f Makefile.msc a
6a40: 6c 6c 20 22 4f 50 54 53 3d 2d 44 53 51 4c 49 54  ll "OPTS=-DSQLIT
6a50: 45 5f 45 4e 41 42 4c 45 5f 46 4f 4f 3d 31 20 2d  E_ENABLE_FOO=1 -
6a60: 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 46 4f 4f  DSQLITE_OMIT_FOO
6a70: 3d 31 22 0a 23 0a 54 43 43 20 3d 20 24 28 54 43  =1".#.TCC = $(TC
6a80: 43 29 20 24 28 4f 50 54 53 29 0a 52 43 43 20 3d  C) $(OPTS).RCC =
6a90: 20 24 28 52 43 43 29 20 24 28 4f 50 54 53 29 0a   $(RCC) $(OPTS).
6aa0: 0a 23 20 49 66 20 63 6f 6d 70 69 6c 69 6e 67 20  .# If compiling 
6ab0: 66 6f 72 20 64 65 62 75 67 67 69 6e 67 2c 20 61  for debugging, a
6ac0: 64 64 20 73 6f 6d 65 20 64 65 66 69 6e 65 73 2e  dd some defines.
6ad0: 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e  .#.!IF $(DEBUG)>
6ae0: 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  1.TCC = $(TCC) -
6af0: 44 5f 44 45 42 55 47 0a 42 43 43 20 3d 20 24 28  D_DEBUG.BCC = $(
6b00: 42 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 52 43  BCC) -D_DEBUG.RC
6b10: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 44 45  C = $(RCC) -D_DE
6b20: 42 55 47 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66  BUG.!ENDIF..# If
6b30: 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 61   optimizations a
6b40: 72 65 20 65 6e 61 62 6c 65 64 20 6f 72 20 64 69  re enabled or di
6b50: 73 61 62 6c 65 64 20 28 65 69 74 68 65 72 20 69  sabled (either i
6b60: 6d 70 6c 69 63 69 74 6c 79 20 6f 72 0a 23 20 65  mplicitly or.# e
6b70: 78 70 6c 69 63 69 74 6c 79 29 2c 20 61 64 64 20  xplicitly), add 
6b80: 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 66 6c  the necessary fl
6b90: 61 67 73 2e 0a 23 0a 21 49 46 20 24 28 44 45 42  ags..#.!IF $(DEB
6ba0: 55 47 29 3e 31 20 7c 7c 20 24 28 4f 50 54 49 4d  UG)>1 || $(OPTIM
6bb0: 49 5a 41 54 49 4f 4e 53 29 3d 3d 30 0a 54 43 43  IZATIONS)==0.TCC
6bc0: 20 3d 20 24 28 54 43 43 29 20 2d 4f 64 0a 42 43   = $(TCC) -Od.BC
6bd0: 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 64 0a 21  C = $(BCC) -Od.!
6be0: 49 46 20 24 28 55 53 45 5f 52 55 4e 54 49 4d 45  IF $(USE_RUNTIME
6bf0: 5f 43 48 45 43 4b 53 29 21 3d 30 0a 54 43 43 20  _CHECKS)!=0.TCC 
6c00: 3d 20 24 28 54 43 43 29 20 2d 52 54 43 31 0a 42  = $(TCC) -RTC1.B
6c10: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 52 54 43  CC = $(BCC) -RTC
6c20: 31 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45 49 46  1.!ENDIF.!ELSEIF
6c30: 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53   $(OPTIMIZATIONS
6c40: 29 3e 3d 33 0a 54 43 43 20 3d 20 24 28 54 43 43  )>=3.TCC = $(TCC
6c50: 29 20 2d 4f 78 0a 42 43 43 20 3d 20 24 28 42 43  ) -Ox.BCC = $(BC
6c60: 43 29 20 2d 4f 78 0a 21 45 4c 53 45 49 46 20 24  C) -Ox.!ELSEIF $
6c70: 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29 3d  (OPTIMIZATIONS)=
6c80: 3d 32 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =2.TCC = $(TCC) 
6c90: 2d 4f 32 0a 42 43 43 20 3d 20 24 28 42 43 43 29  -O2.BCC = $(BCC)
6ca0: 20 2d 4f 32 0a 21 45 4c 53 45 49 46 20 24 28 4f   -O2.!ELSEIF $(O
6cb0: 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29 3d 3d 31  PTIMIZATIONS)==1
6cc0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4f  .TCC = $(TCC) -O
6cd0: 31 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  1.BCC = $(BCC) -
6ce0: 4f 31 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20  O1.!ENDIF..# If 
6cf0: 73 79 6d 62 6f 6c 73 20 61 72 65 20 65 6e 61 62  symbols are enab
6d00: 6c 65 64 20 28 6f 72 20 63 6f 6d 70 69 6c 69 6e  led (or compilin
6d10: 67 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 29  g for debugging)
6d20: 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 2e 0a 23  , enable PDBs..#
6d30: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 20  .!IF $(DEBUG)>1 
6d40: 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21 3d 30  || $(SYMBOLS)!=0
6d50: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 5a  .TCC = $(TCC) -Z
6d60: 69 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  i.BCC = $(BCC) -
6d70: 5a 69 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d  Zi.!ENDIF..# <<m
6d80: 61 72 6b 3e 3e 0a 23 20 49 66 20 7a 6c 69 62 20  ark>>.# If zlib 
6d90: 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c  support is enabl
6da0: 65 64 2c 20 61 64 64 20 74 68 65 20 63 6f 6d 70  ed, add the comp
6db0: 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72  iler options for
6dc0: 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45   it..#.!IF $(USE
6dd0: 5f 5a 4c 49 42 29 21 3d 30 0a 54 43 43 20 3d 20  _ZLIB)!=0.TCC = 
6de0: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_
6df0: 48 41 56 45 5f 5a 4c 49 42 3d 31 0a 52 43 43 20  HAVE_ZLIB=1.RCC 
6e00: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT
6e10: 45 5f 48 41 56 45 5f 5a 4c 49 42 3d 31 0a 54 43  E_HAVE_ZLIB=1.TC
6e20: 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 5a  C = $(TCC) -I$(Z
6e30: 4c 49 42 49 4e 43 44 49 52 29 0a 52 43 43 20 3d  LIBINCDIR).RCC =
6e40: 20 24 28 52 43 43 29 20 2d 49 24 28 5a 4c 49 42   $(RCC) -I$(ZLIB
6e50: 49 4e 43 44 49 52 29 0a 21 45 4e 44 49 46 0a 0a  INCDIR).!ENDIF..
6e60: 23 20 49 66 20 49 43 55 20 73 75 70 70 6f 72 74  # If ICU support
6e70: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64   is enabled, add
6e80: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70   the compiler op
6e90: 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a  tions for it..#.
6ea0: 21 49 46 20 24 28 55 53 45 5f 49 43 55 29 21 3d  !IF $(USE_ICU)!=
6eb0: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) -
6ec0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49  DSQLITE_ENABLE_I
6ed0: 43 55 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  CU=1.RCC = $(RCC
6ee0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
6ef0: 45 5f 49 43 55 3d 31 0a 54 43 43 20 3d 20 24 28  E_ICU=1.TCC = $(
6f00: 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78  TCC) -I$(TOP)\ex
6f10: 74 5c 69 63 75 0a 52 43 43 20 3d 20 24 28 52 43  t\icu.RCC = $(RC
6f20: 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c  C) -I$(TOP)\ext\
6f30: 69 63 75 0a 54 43 43 20 3d 20 24 28 54 43 43 29  icu.TCC = $(TCC)
6f40: 20 2d 49 24 28 49 43 55 49 4e 43 44 49 52 29 0a   -I$(ICUINCDIR).
6f50: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24  RCC = $(RCC) -I$
6f60: 28 49 43 55 49 4e 43 44 49 52 29 0a 21 45 4e 44  (ICUINCDIR).!END
6f70: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  IF.# <</mark>>..
6f80: 23 20 43 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70  # Command line p
6f90: 72 65 66 69 78 65 73 20 66 6f 72 20 63 6f 6d 70  refixes for comp
6fa0: 69 6c 69 6e 67 20 63 6f 64 65 2c 20 63 6f 6d 70  iling code, comp
6fb0: 69 6c 69 6e 67 20 72 65 73 6f 75 72 63 65 73 2c  iling resources,
6fc0: 0a 23 20 6c 69 6e 6b 69 6e 67 2c 20 65 74 63 2e  .# linking, etc.
6fd0: 0a 23 0a 4c 54 43 4f 4d 50 49 4c 45 20 3d 20 24  .#.LTCOMPILE = $
6fe0: 28 54 43 43 29 20 2d 46 6f 24 40 0a 4c 54 52 43  (TCC) -Fo$@.LTRC
6ff0: 4f 4d 50 49 4c 45 20 3d 20 24 28 52 43 43 29 20  OMPILE = $(RCC) 
7000: 2d 72 0a 4c 54 4c 49 42 20 3d 20 6c 69 62 2e 65  -r.LTLIB = lib.e
7010: 78 65 0a 4c 54 4c 49 4e 4b 20 3d 20 24 28 54 43  xe.LTLINK = $(TC
7020: 43 29 20 2d 46 65 24 40 0a 0a 23 20 49 66 20 72  C) -Fe$@..# If r
7030: 65 71 75 65 73 74 65 64 2c 20 6c 69 6e 6b 20 74  equested, link t
7040: 6f 20 74 68 65 20 52 50 43 52 54 34 20 6c 69 62  o the RPCRT4 lib
7050: 72 61 72 79 2e 0a 23 0a 21 49 46 20 24 28 55 53  rary..#.!IF $(US
7060: 45 5f 52 50 43 52 54 34 5f 4c 49 42 29 21 3d 30  E_RPCRT4_LIB)!=0
7070: 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49  .LTLIBS = $(LTLI
7080: 42 53 29 20 72 70 63 72 74 34 2e 6c 69 62 0a 21  BS) rpcrt4.lib.!
7090: 45 4e 44 49 46 0a 0a 23 20 49 66 20 61 20 70 6c  ENDIF..# If a pl
70a0: 61 74 66 6f 72 6d 20 77 61 73 20 73 65 74 2c 20  atform was set, 
70b0: 66 6f 72 63 65 20 74 68 65 20 6c 69 6e 6b 65 72  force the linker
70c0: 20 74 6f 20 74 61 72 67 65 74 20 74 68 61 74 2e   to target that.
70d0: 0a 23 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65  .# Note that the
70e0: 20 76 63 76 61 72 73 2a 2e 62 61 74 20 66 61 6d   vcvars*.bat fam
70f0: 69 6c 79 20 6f 66 20 62 61 74 63 68 20 66 69 6c  ily of batch fil
7100: 65 73 20 74 79 70 69 63 61 6c 6c 79 0a 23 20 73  es typically.# s
7110: 65 74 20 74 68 69 73 20 66 6f 72 20 79 6f 75 2e  et this for you.
7120: 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65    Otherwise, the
7130: 20 6c 69 6e 6b 65 72 20 77 69 6c 6c 20 61 74 74   linker will att
7140: 65 6d 70 74 0a 23 20 74 6f 20 64 65 64 75 63 65  empt.# to deduce
7150: 20 74 68 65 20 62 69 6e 61 72 79 20 74 79 70 65   the binary type
7160: 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 6f 62   based on the ob
7170: 6a 65 63 74 20 66 69 6c 65 73 2e 0a 21 49 46 44  ject files..!IFD
7180: 45 46 20 50 4c 41 54 46 4f 52 4d 0a 4c 54 4c 49  EF PLATFORM.LTLI
7190: 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f  NKOPTS = /NOLOGO
71a0: 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50 4c 41 54   /MACHINE:$(PLAT
71b0: 46 4f 52 4d 29 0a 4c 54 4c 49 42 4f 50 54 53 20  FORM).LTLIBOPTS 
71c0: 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49  = /NOLOGO /MACHI
71d0: 4e 45 3a 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21  NE:$(PLATFORM).!
71e0: 45 4c 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  ELSE.LTLINKOPTS 
71f0: 3d 20 2f 4e 4f 4c 4f 47 4f 0a 4c 54 4c 49 42 4f  = /NOLOGO.LTLIBO
7200: 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 0a 21 45  PTS = /NOLOGO.!E
7210: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d  NDIF..# When com
7220: 70 69 6c 69 6e 67 20 66 6f 72 20 75 73 65 20 69  piling for use i
7230: 6e 20 74 68 65 20 57 69 6e 52 54 20 65 6e 76 69  n the WinRT envi
7240: 72 6f 6e 6d 65 6e 74 2c 20 74 68 65 20 66 6f 6c  ronment, the fol
7250: 6c 6f 77 69 6e 67 0a 23 20 6c 69 6e 6b 65 72 20  lowing.# linker 
7260: 6f 70 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 75  option must be u
7270: 73 65 64 20 74 6f 20 6d 61 72 6b 20 74 68 65 20  sed to mark the 
7280: 65 78 65 63 75 74 61 62 6c 65 20 61 73 20 72 75  executable as ru
7290: 6e 6e 61 62 6c 65 0a 23 20 6f 6e 6c 79 20 69 6e  nnable.# only in
72a0: 20 74 68 65 20 63 6f 6e 74 65 78 74 20 6f 66 20   the context of 
72b0: 61 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 63  an application c
72c0: 6f 6e 74 61 69 6e 65 72 2e 0a 23 0a 21 49 46 20  ontainer..#.!IF 
72d0: 24 28 46 4f 52 5f 57 49 4e 52 54 29 21 3d 30 0a  $(FOR_WINRT)!=0.
72e0: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c  LTLINKOPTS = $(L
72f0: 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 41 50 50 43  TLINKOPTS) /APPC
7300: 4f 4e 54 41 49 4e 45 52 0a 21 49 46 20 22 24 28  ONTAINER.!IF "$(
7310: 56 49 53 55 41 4c 53 54 55 44 49 4f 56 45 52 53  VISUALSTUDIOVERS
7320: 49 4f 4e 29 22 3d 3d 22 31 32 2e 30 22 20 7c 7c  ION)"=="12.0" ||
7330: 20 22 24 28 56 49 53 55 41 4c 53 54 55 44 49 4f   "$(VISUALSTUDIO
7340: 56 45 52 53 49 4f 4e 29 22 3d 3d 22 31 34 2e 30  VERSION)"=="14.0
7350: 22 0a 21 49 46 4e 44 45 46 20 53 54 4f 52 45 4c  ".!IFNDEF STOREL
7360: 49 42 50 41 54 48 0a 21 49 46 20 22 24 28 50 4c  IBPATH.!IF "$(PL
7370: 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a  ATFORM)"=="x86".
7380: 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24  STORELIBPATH = $
7390: 28 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f  (CRTLIBPATH)\sto
73a0: 72 65 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c  re.!ELSEIF "$(PL
73b0: 41 54 46 4f 52 4d 29 22 3d 3d 22 78 36 34 22 0a  ATFORM)"=="x64".
73c0: 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24  STORELIBPATH = $
73d0: 28 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f  (CRTLIBPATH)\sto
73e0: 72 65 5c 61 6d 64 36 34 0a 21 45 4c 53 45 49 46  re\amd64.!ELSEIF
73f0: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d   "$(PLATFORM)"==
7400: 22 41 52 4d 22 0a 53 54 4f 52 45 4c 49 42 50 41  "ARM".STORELIBPA
7410: 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54  TH = $(CRTLIBPAT
7420: 48 29 5c 73 74 6f 72 65 5c 61 72 6d 0a 21 45 4c  H)\store\arm.!EL
7430: 53 45 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20  SE.STORELIBPATH 
7440: 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 29 5c  = $(CRTLIBPATH)\
7450: 73 74 6f 72 65 0a 21 45 4e 44 49 46 0a 21 45 4e  store.!ENDIF.!EN
7460: 44 49 46 0a 53 54 4f 52 45 4c 49 42 50 41 54 48  DIF.STORELIBPATH
7470: 20 3d 20 24 28 53 54 4f 52 45 4c 49 42 50 41 54   = $(STORELIBPAT
7480: 48 3a 5c 5c 3d 5c 29 0a 4c 54 4c 49 4e 4b 4f 50  H:\\=\).LTLINKOP
7490: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT
74a0: 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 53  S) "/LIBPATH:$(S
74b0: 54 4f 52 45 4c 49 42 50 41 54 48 29 22 0a 21 45  TORELIBPATH)".!E
74c0: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 57  NDIF.!ENDIF..# W
74d0: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f  hen compiling fo
74e0: 72 20 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20  r Windows Phone 
74f0: 38 2e 31 2c 20 61 6e 20 65 78 74 72 61 20 6c 69  8.1, an extra li
7500: 62 72 61 72 79 20 70 61 74 68 20 69 73 0a 23 20  brary path is.# 
7510: 72 65 71 75 69 72 65 64 2e 0a 23 0a 21 49 46 20  required..#.!IF 
7520: 24 28 55 53 45 5f 57 50 38 31 5f 4f 50 54 53 29  $(USE_WP81_OPTS)
7530: 21 3d 30 0a 21 49 46 4e 44 45 46 20 57 50 38 31  !=0.!IFNDEF WP81
7540: 4c 49 42 50 41 54 48 0a 21 49 46 20 22 24 28 50  LIBPATH.!IF "$(P
7550: 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22  LATFORM)"=="x86"
7560: 0a 57 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24  .WP81LIBPATH = $
7570: 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38  (PROGRAMFILES_X8
7580: 36 29 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65  6)\Windows Phone
7590: 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38   Kits\8.1\lib\x8
75a0: 36 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c 41  6.!ELSEIF "$(PLA
75b0: 54 46 4f 52 4d 29 22 3d 3d 22 41 52 4d 22 0a 57  TFORM)"=="ARM".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 41 52 4d 0a  its\8.1\lib\ARM.
7600: 21 45 4c 53 45 0a 57 50 38 31 4c 49 42 50 41 54  !ELSE.WP81LIBPAT
7610: 48 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c  H = $(PROGRAMFIL
7620: 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73 20  ES_X86)\Windows 
7630: 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c  Phone Kits\8.1\l
7640: 69 62 5c 78 38 36 0a 21 45 4e 44 49 46 0a 21 45  ib\x86.!ENDIF.!E
7650: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 57  NDIF.!ENDIF..# W
7660: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f  hen compiling fo
7670: 72 20 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20  r Windows Phone 
7680: 38 2e 31 2c 20 73 6f 6d 65 20 65 78 74 72 61 20  8.1, some extra 
7690: 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 0a 23  linker options.#
76a0: 20 61 72 65 20 61 6c 73 6f 20 72 65 71 75 69 72   are also requir
76b0: 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  ed..#.!IF $(USE_
76c0: 57 50 38 31 5f 4f 50 54 53 29 21 3d 30 0a 21 49  WP81_OPTS)!=0.!I
76d0: 46 44 45 46 20 57 50 38 31 4c 49 42 50 41 54 48  FDEF WP81LIBPATH
76e0: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $(
76f0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49  LTLINKOPTS) "/LI
7700: 42 50 41 54 48 3a 24 28 57 50 38 31 4c 49 42 50  BPATH:$(WP81LIBP
7710: 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 4c 54 4c  ATH)".!ENDIF.LTL
7720: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49  INKOPTS = $(LTLI
7730: 4e 4b 4f 50 54 53 29 20 2f 44 59 4e 41 4d 49 43  NKOPTS) /DYNAMIC
7740: 42 41 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  BASE.LTLINKOPTS 
7750: 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  = $(LTLINKOPTS) 
7760: 57 69 6e 64 6f 77 73 50 68 6f 6e 65 43 6f 72 65  WindowsPhoneCore
7770: 2e 6c 69 62 20 52 75 6e 74 69 6d 65 4f 62 6a 65  .lib RuntimeObje
7780: 63 74 2e 6c 69 62 20 50 68 6f 6e 65 41 70 70 4d  ct.lib PhoneAppM
7790: 6f 64 65 6c 48 6f 73 74 2e 6c 69 62 0a 4c 54 4c  odelHost.lib.LTL
77a0: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49  INKOPTS = $(LTLI
77b0: 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55  NKOPTS) /NODEFAU
77c0: 4c 54 4c 49 42 3a 6b 65 72 6e 65 6c 33 32 2e 6c  LTLIB:kernel32.l
77d0: 69 62 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42  ib /NODEFAULTLIB
77e0: 3a 6f 6c 65 33 32 2e 6c 69 62 0a 21 45 4e 44 49  :ole32.lib.!ENDI
77f0: 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c  F..# When compil
7800: 69 6e 67 20 66 6f 72 20 55 57 50 20 6f 72 20 74  ing for UWP or t
7810: 68 65 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c  he Windows 10 pl
7820: 61 74 66 6f 72 6d 2c 20 73 6f 6d 65 20 65 78 74  atform, some ext
7830: 72 61 20 6c 69 6e 6b 65 72 0a 23 20 6f 70 74 69  ra linker.# opti
7840: 6f 6e 73 20 61 72 65 20 61 6c 73 6f 20 72 65 71  ons are also req
7850: 75 69 72 65 64 2e 0a 23 0a 21 49 46 20 24 28 46  uired..#.!IF $(F
7860: 4f 52 5f 55 57 50 29 21 3d 30 20 7c 7c 20 24 28  OR_UWP)!=0 || $(
7870: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54  FOR_WIN10)!=0.LT
7880: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL
7890: 49 4e 4b 4f 50 54 53 29 20 2f 44 59 4e 41 4d 49  INKOPTS) /DYNAMI
78a0: 43 42 41 53 45 20 2f 4e 4f 44 45 46 41 55 4c 54  CBASE /NODEFAULT
78b0: 4c 49 42 3a 6b 65 72 6e 65 6c 33 32 2e 6c 69 62  LIB:kernel32.lib
78c0: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $(
78d0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 6d 69 6e 63  LTLINKOPTS) minc
78e0: 6f 72 65 2e 6c 69 62 0a 21 49 46 44 45 46 20 50  ore.lib.!IFDEF P
78f0: 53 44 4b 4c 49 42 50 41 54 48 0a 4c 54 4c 49 4e  SDKLIBPATH.LTLIN
7900: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
7910: 4f 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a  OPTS) "/LIBPATH:
7920: 24 28 50 53 44 4b 4c 49 42 50 41 54 48 29 22 0a  $(PSDKLIBPATH)".
7930: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 21  !ENDIF.!ENDIF..!
7940: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  IF $(FOR_WIN10)!
7950: 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  =0.LTLINKOPTS = 
7960: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 67  $(LTLINKOPTS) /g
7970: 75 61 72 64 3a 63 66 20 22 2f 4c 49 42 50 41 54  uard:cf "/LIBPAT
7980: 48 3a 24 28 55 43 52 54 4c 49 42 50 41 54 48 29  H:$(UCRTLIBPATH)
7990: 22 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31  ".!IF $(DEBUG)>1
79a0: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $(
79b0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44  LTLINKOPTS) /NOD
79c0: 45 46 41 55 4c 54 4c 49 42 3a 6c 69 62 75 63 72  EFAULTLIB:libucr
79d0: 74 64 2e 6c 69 62 20 2f 44 45 46 41 55 4c 54 4c  td.lib /DEFAULTL
79e0: 49 42 3a 75 63 72 74 64 2e 6c 69 62 0a 21 45 4c  IB:ucrtd.lib.!EL
79f0: 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  SE.LTLINKOPTS = 
7a00: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e  $(LTLINKOPTS) /N
7a10: 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6c 69 62 75  ODEFAULTLIB:libu
7a20: 63 72 74 2e 6c 69 62 20 2f 44 45 46 41 55 4c 54  crt.lib /DEFAULT
7a30: 4c 49 42 3a 75 63 72 74 2e 6c 69 62 0a 21 45 4e  LIB:ucrt.lib.!EN
7a40: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66  DIF.!ENDIF..# If
7a50: 20 65 69 74 68 65 72 20 64 65 62 75 67 67 69 6e   either debuggin
7a60: 67 20 6f 72 20 73 79 6d 62 6f 6c 73 20 61 72 65  g or symbols are
7a70: 20 65 6e 61 62 6c 65 64 2c 20 65 6e 61 62 6c 65   enabled, enable
7a80: 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 24 28 44   PDBs..#.!IF $(D
7a90: 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 53 59 4d  EBUG)>1 || $(SYM
7aa0: 42 4f 4c 53 29 21 3d 30 0a 4c 44 46 4c 41 47 53  BOLS)!=0.LDFLAGS
7ab0: 20 3d 20 2f 44 45 42 55 47 20 24 28 4c 44 4f 50   = /DEBUG $(LDOP
7ac0: 54 53 29 0a 21 45 4c 53 45 0a 4c 44 46 4c 41 47  TS).!ELSE.LDFLAG
7ad0: 53 20 3d 20 24 28 4c 44 4f 50 54 53 29 0a 21 45  S = $(LDOPTS).!E
7ae0: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
7af0: 0a 23 20 53 74 61 72 74 20 77 69 74 68 20 74 68  .# Start with th
7b00: 65 20 54 63 6c 20 72 65 6c 61 74 65 64 20 6c 69  e Tcl related li
7b10: 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 2e 0a 23 0a  nker options..#.
7b20: 21 49 46 20 24 28 4e 4f 5f 54 43 4c 29 3d 3d 30  !IF $(NO_TCL)==0
7b30: 0a 54 43 4c 4c 49 42 50 41 54 48 53 20 3d 20 24  .TCLLIBPATHS = $
7b40: 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20 2f 4c  (TCLLIBPATHS) /L
7b50: 49 42 50 41 54 48 3a 24 28 54 43 4c 4c 49 42 44  IBPATH:$(TCLLIBD
7b60: 49 52 29 0a 54 43 4c 4c 49 42 53 20 3d 20 24 28  IR).TCLLIBS = $(
7b70: 54 43 4c 4c 49 42 53 29 20 24 28 4c 49 42 54 43  TCLLIBS) $(LIBTC
7b80: 4c 29 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20  L).!ENDIF..# If 
7b90: 7a 6c 69 62 20 73 75 70 70 6f 72 74 20 69 73 20  zlib support is 
7ba0: 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65  enabled, add the
7bb0: 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 20   linker options 
7bc0: 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28  for it..#.!IF $(
7bd0: 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a 4c 54 4c  USE_ZLIB)!=0.LTL
7be0: 49 42 50 41 54 48 53 20 3d 20 24 28 4c 54 4c 49  IBPATHS = $(LTLI
7bf0: 42 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54 48  BPATHS) /LIBPATH
7c00: 3a 24 28 5a 4c 49 42 4c 49 42 44 49 52 29 0a 4c  :$(ZLIBLIBDIR).L
7c10: 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49 42 53  TLIBS = $(LTLIBS
7c20: 29 20 24 28 5a 4c 49 42 4c 49 42 29 0a 21 45 4e  ) $(ZLIBLIB).!EN
7c30: 44 49 46 0a 0a 23 20 49 66 20 49 43 55 20 73 75  DIF..# If ICU su
7c40: 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64  pport is enabled
7c50: 2c 20 61 64 64 20 74 68 65 20 6c 69 6e 6b 65 72  , add the linker
7c60: 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e   options for it.
7c70: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 49 43 55  .#.!IF $(USE_ICU
7c80: 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54 48 53 20  )!=0.LTLIBPATHS 
7c90: 3d 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  = $(LTLIBPATHS) 
7ca0: 2f 4c 49 42 50 41 54 48 3a 24 28 49 43 55 4c 49  /LIBPATH:$(ICULI
7cb0: 42 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d 20 24  BDIR).LTLIBS = $
7cc0: 28 4c 54 4c 49 42 53 29 20 24 28 4c 49 42 49 43  (LTLIBS) $(LIBIC
7cd0: 55 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d  U).!ENDIF.# <</m
7ce0: 61 72 6b 3e 3e 0a 0a 23 20 59 6f 75 20 73 68 6f  ark>>..# You sho
7cf0: 75 6c 64 20 6e 6f 74 20 68 61 76 65 20 74 6f 20  uld not have to 
7d00: 63 68 61 6e 67 65 20 61 6e 79 74 68 69 6e 67 20  change anything 
7d10: 62 65 6c 6f 77 20 74 68 69 73 20 6c 69 6e 65 0a  below this line.
7d20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7d30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7d40: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7d50: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7d60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
7d70: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 4f 62  .# <<mark>>.# Ob
7d80: 6a 65 63 74 20 66 69 6c 65 73 20 66 6f 72 20 74  ject files for t
7d90: 68 65 20 53 51 4c 69 74 65 20 6c 69 62 72 61 72  he SQLite librar
7da0: 79 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74  y (non-amalgamat
7db0: 69 6f 6e 29 2e 0a 23 0a 4c 49 42 4f 42 4a 53 30  ion)..#.LIBOBJS0
7dc0: 20 3d 20 76 64 62 65 2e 6c 6f 20 70 61 72 73 65   = vdbe.lo parse
7dd0: 2e 6c 6f 20 61 6c 74 65 72 2e 6c 6f 20 61 6e 61  .lo alter.lo ana
7de0: 6c 79 7a 65 2e 6c 6f 20 61 74 74 61 63 68 2e 6c  lyze.lo attach.l
7df0: 6f 20 61 75 74 68 2e 6c 6f 20 5c 0a 20 20 20 20  o auth.lo \.    
7e00: 20 20 20 20 20 62 61 63 6b 75 70 2e 6c 6f 20 62       backup.lo b
7e10: 69 74 76 65 63 2e 6c 6f 20 62 74 6d 75 74 65 78  itvec.lo btmutex
7e20: 2e 6c 6f 20 62 74 72 65 65 2e 6c 6f 20 62 75 69  .lo btree.lo bui
7e30: 6c 64 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  ld.lo \.        
7e40: 20 63 61 6c 6c 62 61 63 6b 2e 6c 6f 20 63 6f 6d   callback.lo com
7e50: 70 6c 65 74 65 2e 6c 6f 20 63 74 69 6d 65 2e 6c  plete.lo ctime.l
7e60: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 64 61 74  o \.         dat
7e70: 65 2e 6c 6f 20 64 62 70 61 67 65 2e 6c 6f 20 64  e.lo dbpage.lo d
7e80: 62 73 74 61 74 2e 6c 6f 20 64 65 6c 65 74 65 2e  bstat.lo delete.
7e90: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 65 78  lo \.         ex
7ea0: 70 72 2e 6c 6f 20 66 61 75 6c 74 2e 6c 6f 20 66  pr.lo fault.lo f
7eb0: 6b 65 79 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  key.lo \.       
7ec0: 20 20 66 74 73 33 2e 6c 6f 20 66 74 73 33 5f 61    fts3.lo fts3_a
7ed0: 75 78 2e 6c 6f 20 66 74 73 33 5f 65 78 70 72 2e  ux.lo fts3_expr.
7ee0: 6c 6f 20 66 74 73 33 5f 68 61 73 68 2e 6c 6f 20  lo fts3_hash.lo 
7ef0: 66 74 73 33 5f 69 63 75 2e 6c 6f 20 5c 0a 20 20  fts3_icu.lo \.  
7f00: 20 20 20 20 20 20 20 66 74 73 33 5f 70 6f 72 74         fts3_port
7f10: 65 72 2e 6c 6f 20 66 74 73 33 5f 73 6e 69 70 70  er.lo fts3_snipp
7f20: 65 74 2e 6c 6f 20 66 74 73 33 5f 74 6f 6b 65 6e  et.lo fts3_token
7f30: 69 7a 65 72 2e 6c 6f 20 66 74 73 33 5f 74 6f 6b  izer.lo fts3_tok
7f40: 65 6e 69 7a 65 72 31 2e 6c 6f 20 5c 0a 20 20 20  enizer1.lo \.   
7f50: 20 20 20 20 20 20 66 74 73 33 5f 74 6f 6b 65 6e        fts3_token
7f60: 69 7a 65 5f 76 74 61 62 2e 6c 6f 20 66 74 73 33  ize_vtab.lo fts3
7f70: 5f 75 6e 69 63 6f 64 65 2e 6c 6f 20 66 74 73 33  _unicode.lo fts3
7f80: 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f 20 66 74 73  _unicode2.lo fts
7f90: 33 5f 77 72 69 74 65 2e 6c 6f 20 5c 0a 20 20 20  3_write.lo \.   
7fa0: 20 20 20 20 20 20 66 74 73 35 2e 6c 6f 20 5c 0a        fts5.lo \.
7fb0: 20 20 20 20 20 20 20 20 20 66 75 6e 63 2e 6c 6f           func.lo
7fc0: 20 67 6c 6f 62 61 6c 2e 6c 6f 20 68 61 73 68 2e   global.lo hash.
7fd0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 69 63  lo \.         ic
7fe0: 75 2e 6c 6f 20 69 6e 73 65 72 74 2e 6c 6f 20 6a  u.lo insert.lo j
7ff0: 73 6f 6e 31 2e 6c 6f 20 6c 65 67 61 63 79 2e 6c  son1.lo legacy.l
8000: 6f 20 6c 6f 61 64 65 78 74 2e 6c 6f 20 5c 0a 20  o loadext.lo \. 
8010: 20 20 20 20 20 20 20 20 6d 61 69 6e 2e 6c 6f 20          main.lo 
8020: 6d 61 6c 6c 6f 63 2e 6c 6f 20 6d 65 6d 30 2e 6c  malloc.lo mem0.l
8030: 6f 20 6d 65 6d 31 2e 6c 6f 20 6d 65 6d 32 2e 6c  o mem1.lo mem2.l
8040: 6f 20 6d 65 6d 33 2e 6c 6f 20 6d 65 6d 35 2e 6c  o mem3.lo mem5.l
8050: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 6d 65 6d  o \.         mem
8060: 64 62 2e 6c 6f 20 6d 65 6d 6a 6f 75 72 6e 61 6c  db.lo memjournal
8070: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 6d  .lo \.         m
8080: 75 74 65 78 2e 6c 6f 20 6d 75 74 65 78 5f 6e 6f  utex.lo mutex_no
8090: 6f 70 2e 6c 6f 20 6d 75 74 65 78 5f 75 6e 69 78  op.lo mutex_unix
80a0: 2e 6c 6f 20 6d 75 74 65 78 5f 77 33 32 2e 6c 6f  .lo mutex_w32.lo
80b0: 20 5c 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 69   \.         noti
80c0: 66 79 2e 6c 6f 20 6f 70 63 6f 64 65 73 2e 6c 6f  fy.lo opcodes.lo
80d0: 20 6f 73 2e 6c 6f 20 6f 73 5f 75 6e 69 78 2e 6c   os.lo os_unix.l
80e0: 6f 20 6f 73 5f 77 69 6e 2e 6c 6f 20 5c 0a 20 20  o os_win.lo \.  
80f0: 20 20 20 20 20 20 20 70 61 67 65 72 2e 6c 6f 20         pager.lo 
8100: 70 63 61 63 68 65 2e 6c 6f 20 70 63 61 63 68 65  pcache.lo pcache
8110: 31 2e 6c 6f 20 70 72 61 67 6d 61 2e 6c 6f 20 70  1.lo pragma.lo p
8120: 72 65 70 61 72 65 2e 6c 6f 20 70 72 69 6e 74 66  repare.lo printf
8130: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 72  .lo \.         r
8140: 61 6e 64 6f 6d 2e 6c 6f 20 72 65 73 6f 6c 76 65  andom.lo resolve
8150: 2e 6c 6f 20 72 6f 77 73 65 74 2e 6c 6f 20 72 74  .lo rowset.lo rt
8160: 72 65 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ree.lo \.       
8170: 20 20 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e    sqlite3session
8180: 2e 6c 6f 20 73 65 6c 65 63 74 2e 6c 6f 20 73 71  .lo select.lo sq
8190: 6c 69 74 65 33 72 62 75 2e 6c 6f 20 73 74 61 74  lite3rbu.lo stat
81a0: 75 73 2e 6c 6f 20 73 74 6d 74 2e 6c 6f 20 5c 0a  us.lo stmt.lo \.
81b0: 20 20 20 20 20 20 20 20 20 74 61 62 6c 65 2e 6c           table.l
81c0: 6f 20 74 68 72 65 61 64 73 2e 6c 6f 20 74 6f 6b  o threads.lo tok
81d0: 65 6e 69 7a 65 2e 6c 6f 20 74 72 65 65 76 69 65  enize.lo treevie
81e0: 77 2e 6c 6f 20 74 72 69 67 67 65 72 2e 6c 6f 20  w.lo trigger.lo 
81f0: 5c 0a 20 20 20 20 20 20 20 20 20 75 70 64 61 74  \.         updat
8200: 65 2e 6c 6f 20 75 70 73 65 72 74 2e 6c 6f 20 75  e.lo upsert.lo u
8210: 74 69 6c 2e 6c 6f 20 76 61 63 75 75 6d 2e 6c 6f  til.lo vacuum.lo
8220: 20 5c 0a 20 20 20 20 20 20 20 20 20 76 64 62 65   \.         vdbe
8230: 61 70 69 2e 6c 6f 20 76 64 62 65 61 75 78 2e 6c  api.lo vdbeaux.l
8240: 6f 20 76 64 62 65 62 6c 6f 62 2e 6c 6f 20 76 64  o vdbeblob.lo vd
8250: 62 65 6d 65 6d 2e 6c 6f 20 76 64 62 65 73 6f 72  bemem.lo vdbesor
8260: 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  t.lo \.         
8270: 76 64 62 65 74 72 61 63 65 2e 6c 6f 20 77 61 6c  vdbetrace.lo wal
8280: 2e 6c 6f 20 77 61 6c 6b 65 72 2e 6c 6f 20 77 68  .lo walker.lo wh
8290: 65 72 65 2e 6c 6f 20 77 68 65 72 65 63 6f 64 65  ere.lo wherecode
82a0: 2e 6c 6f 20 77 68 65 72 65 65 78 70 72 2e 6c 6f  .lo whereexpr.lo
82b0: 20 5c 0a 20 20 20 20 20 20 20 20 20 77 69 6e 64   \.         wind
82c0: 6f 77 2e 6c 6f 20 75 74 66 2e 6c 6f 20 76 74 61  ow.lo utf.lo vta
82d0: 62 2e 6c 6f 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  b.lo.# <</mark>>
82e0: 0a 0a 23 20 4f 62 6a 65 63 74 20 66 69 6c 65 73  ..# Object files
82f0: 20 66 6f 72 20 74 68 65 20 61 6d 61 6c 67 61 6d   for the amalgam
8300: 61 74 69 6f 6e 2e 0a 23 0a 4c 49 42 4f 42 4a 53  ation..#.LIBOBJS
8310: 31 20 3d 20 73 71 6c 69 74 65 33 2e 6c 6f 0a 0a  1 = sqlite3.lo..
8320: 23 20 44 65 74 65 72 6d 69 6e 65 20 74 68 65 20  # Determine the 
8330: 72 65 61 6c 20 76 61 6c 75 65 20 6f 66 20 4c 49  real value of LI
8340: 42 4f 42 4a 20 62 61 73 65 64 20 6f 6e 20 74 68  BOBJ based on th
8350: 65 20 27 63 6f 6e 66 69 67 75 72 65 27 20 73 63  e 'configure' sc
8360: 72 69 70 74 0a 23 0a 23 20 3c 3c 6d 61 72 6b 3e  ript.#.# <<mark>
8370: 3e 0a 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c  >.!IF $(USE_AMAL
8380: 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 4c 49 42  GAMATION)==0.LIB
8390: 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53 30  OBJ = $(LIBOBJS0
83a0: 29 0a 21 45 4c 53 45 0a 23 20 3c 3c 2f 6d 61 72  ).!ELSE.# <</mar
83b0: 6b 3e 3e 0a 4c 49 42 4f 42 4a 20 3d 20 24 28 4c  k>>.LIBOBJ = $(L
83c0: 49 42 4f 42 4a 53 31 29 0a 23 20 3c 3c 6d 61 72  IBOBJS1).# <<mar
83d0: 6b 3e 3e 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f  k>>.!ENDIF.# <</
83e0: 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65 74 65 72 6d  mark>>..# Determ
83f0: 69 6e 65 20 69 66 20 65 6d 62 65 64 64 65 64 20  ine if embedded 
8400: 72 65 73 6f 75 72 63 65 20 63 6f 6d 70 69 6c 61  resource compila
8410: 74 69 6f 6e 20 61 6e 64 20 75 73 61 67 65 20 61  tion and usage a
8420: 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a 21 49  re enabled..#.!I
8430: 46 20 24 28 55 53 45 5f 52 43 29 21 3d 30 0a 4c  F $(USE_RC)!=0.L
8440: 49 42 52 45 53 4f 42 4a 53 20 3d 20 73 71 6c 69  IBRESOBJS = sqli
8450: 74 65 33 72 65 73 2e 6c 6f 0a 21 45 4c 53 45 0a  te3res.lo.!ELSE.
8460: 4c 49 42 52 45 53 4f 42 4a 53 20 3d 0a 21 45 4e  LIBRESOBJS =.!EN
8470: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  DIF..# <<mark>>.
8480: 23 20 43 6f 72 65 20 73 6f 75 72 63 65 20 63 6f  # Core source co
8490: 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20 31  de files, part 1
84a0: 2e 0a 23 0a 53 52 43 30 30 20 3d 20 5c 0a 20 20  ..#.SRC00 = \.  
84b0: 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72  $(TOP)\src\alter
84c0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
84d0: 63 5c 61 6e 61 6c 79 7a 65 2e 63 20 5c 0a 20 20  c\analyze.c \.  
84e0: 24 28 54 4f 50 29 5c 73 72 63 5c 61 74 74 61 63  $(TOP)\src\attac
84f0: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  h.c \.  $(TOP)\s
8500: 72 63 5c 61 75 74 68 2e 63 20 5c 0a 20 20 24 28  rc\auth.c \.  $(
8510: 54 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e  TOP)\src\backup.
8520: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8530: 5c 62 69 74 76 65 63 2e 63 20 5c 0a 20 20 24 28  \bitvec.c \.  $(
8540: 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78  TOP)\src\btmutex
8550: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8560: 63 5c 62 74 72 65 65 2e 63 20 5c 0a 20 20 24 28  c\btree.c \.  $(
8570: 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63  TOP)\src\build.c
8580: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8590: 63 61 6c 6c 62 61 63 6b 2e 63 20 5c 0a 20 20 24  callback.c \.  $
85a0: 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c 65  (TOP)\src\comple
85b0: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\
85c0: 73 72 63 5c 63 74 69 6d 65 2e 63 20 5c 0a 20 20  src\ctime.c \.  
85d0: 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e  $(TOP)\src\date.
85e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
85f0: 5c 64 62 70 61 67 65 2e 63 20 5c 0a 20 20 24 28  \dbpage.c \.  $(
8600: 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 61 74 2e  TOP)\src\dbstat.
8610: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8620: 5c 64 65 6c 65 74 65 2e 63 20 5c 0a 20 20 24 28  \delete.c \.  $(
8630: 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 20  TOP)\src\expr.c 
8640: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66  \.  $(TOP)\src\f
8650: 61 75 6c 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ault.c \.  $(TOP
8660: 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20 5c 0a 20  )\src\fkey.c \. 
8670: 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63   $(TOP)\src\func
8680: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8690: 63 5c 67 6c 6f 62 61 6c 2e 63 20 5c 0a 20 20 24  c\global.c \.  $
86a0: 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63  (TOP)\src\hash.c
86b0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
86c0: 69 6e 73 65 72 74 2e 63 20 5c 0a 20 20 24 28 54  insert.c \.  $(T
86d0: 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63  OP)\src\legacy.c
86e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
86f0: 6c 6f 61 64 65 78 74 2e 63 20 5c 0a 20 20 24 28  loadext.c \.  $(
8700: 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 20  TOP)\src\main.c 
8710: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
8720: 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24 28 54 4f  alloc.c \.  $(TO
8730: 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 5c 0a  P)\src\mem0.c \.
8740: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d    $(TOP)\src\mem
8750: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  1.c \.  $(TOP)\s
8760: 72 63 5c 6d 65 6d 32 2e 63 20 5c 0a 20 20 24 28  rc\mem2.c \.  $(
8770: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 20  TOP)\src\mem3.c 
8780: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
8790: 65 6d 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  em5.c \.  $(TOP)
87a0: 5c 73 72 63 5c 6d 65 6d 64 62 2e 63 20 5c 0a 20  \src\memdb.c \. 
87b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a   $(TOP)\src\memj
87c0: 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54  ournal.c \.  $(T
87d0: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63 20  OP)\src\mutex.c 
87e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
87f0: 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 5c 0a 20 20  utex_noop.c \.  
8800: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex
8810: 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f  _unix.c \.  $(TO
8820: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33 32  P)\src\mutex_w32
8830: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8840: 63 5c 6e 6f 74 69 66 79 2e 63 20 5c 0a 20 20 24  c\notify.c \.  $
8850: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20 5c  (TOP)\src\os.c \
8860: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  .  $(TOP)\src\os
8870: 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f  _unix.c \.  $(TO
8880: 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a  P)\src\os_win.c.
8890: 0a 23 20 43 6f 72 65 20 73 6f 75 72 63 65 20 63  .# Core source c
88a0: 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20  ode files, part 
88b0: 32 2e 0a 23 0a 53 52 43 30 31 20 3d 20 5c 0a 20  2..#.SRC01 = \. 
88c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65   $(TOP)\src\page
88d0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  r.c \.  $(TOP)\s
88e0: 72 63 5c 70 63 61 63 68 65 2e 63 20 5c 0a 20 20  rc\pcache.c \.  
88f0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach
8900: 65 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  e1.c \.  $(TOP)\
8910: 73 72 63 5c 70 72 61 67 6d 61 2e 63 20 5c 0a 20  src\pragma.c \. 
8920: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70   $(TOP)\src\prep
8930: 61 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  are.c \.  $(TOP)
8940: 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 20 5c 0a  \src\printf.c \.
8950: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e    $(TOP)\src\ran
8960: 64 6f 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  dom.c \.  $(TOP)
8970: 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 20 5c  \src\resolve.c \
8980: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f  .  $(TOP)\src\ro
8990: 77 73 65 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  wset.c \.  $(TOP
89a0: 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 20 5c  )\src\select.c \
89b0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 74  .  $(TOP)\src\st
89c0: 61 74 75 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50  atus.c \.  $(TOP
89d0: 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20 5c 0a  )\src\table.c \.
89e0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 68 72    $(TOP)\src\thr
89f0: 65 61 64 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50  eads.c \.  $(TOP
8a00: 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e  )\src\tclsqlite.
8a10: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8a20: 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20 20  \tokenize.c \.  
8a30: 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65 76  $(TOP)\src\treev
8a40: 69 65 77 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  iew.c \.  $(TOP)
8a50: 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 20 5c  \src\trigger.c \
8a60: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74  .  $(TOP)\src\ut
8a70: 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  f.c \.  $(TOP)\s
8a80: 72 63 5c 75 70 64 61 74 65 2e 63 20 5c 0a 20 20  rc\update.c \.  
8a90: 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 73 65 72  $(TOP)\src\upser
8aa0: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s
8ab0: 72 63 5c 75 74 69 6c 2e 63 20 5c 0a 20 20 24 28  rc\util.c \.  $(
8ac0: 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e  TOP)\src\vacuum.
8ad0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8ae0: 5c 76 64 62 65 2e 63 20 5c 0a 20 20 24 28 54 4f  \vdbe.c \.  $(TO
8af0: 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69 2e 63  P)\src\vdbeapi.c
8b00: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8b10: 76 64 62 65 61 75 78 2e 63 20 5c 0a 20 20 24 28  vdbeaux.c \.  $(
8b20: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f  TOP)\src\vdbeblo
8b30: 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  b.c \.  $(TOP)\s
8b40: 72 63 5c 76 64 62 65 6d 65 6d 2e 63 20 5c 0a 20  rc\vdbemem.c \. 
8b50: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
8b60: 73 6f 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  sort.c \.  $(TOP
8b70: 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e  )\src\vdbetrace.
8b80: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8b90: 5c 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f  \vtab.c \.  $(TO
8ba0: 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20 5c 0a 20  P)\src\wal.c \. 
8bb0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b   $(TOP)\src\walk
8bc0: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\
8bd0: 73 72 63 5c 77 68 65 72 65 2e 63 20 5c 0a 20 20  src\where.c \.  
8be0: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where
8bf0: 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  code.c \.  $(TOP
8c00: 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70 72 2e  )\src\whereexpr.
8c10: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8c20: 5c 77 69 6e 64 6f 77 2e 63 0a 0a 23 20 43 6f 72  \window.c..# Cor
8c30: 65 20 6d 69 73 63 65 6c 6c 61 6e 65 6f 75 73 20  e miscellaneous 
8c40: 66 69 6c 65 73 2e 0a 23 0a 53 52 43 30 33 20 3d  files..#.SRC03 =
8c50: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8c60: 70 61 72 73 65 2e 79 0a 0a 23 20 43 6f 72 65 20  parse.y..# Core 
8c70: 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61  header files, pa
8c80: 72 74 20 31 2e 0a 23 0a 53 52 43 30 34 20 3d 20  rt 1..#.SRC04 = 
8c90: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62  \.  $(TOP)\src\b
8ca0: 74 72 65 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50  tree.h \.  $(TOP
8cb0: 29 5c 73 72 63 5c 62 74 72 65 65 49 6e 74 2e 68  )\src\btreeInt.h
8cc0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8cd0: 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50  hash.h \.  $(TOP
8ce0: 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e 68 20 5c  )\src\hwtime.h \
8cf0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 73  .  $(TOP)\src\ms
8d00: 76 63 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  vc.h \.  $(TOP)\
8d10: 73 72 63 5c 6d 75 74 65 78 2e 68 20 5c 0a 20 20  src\mutex.h \.  
8d20: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 68 20  $(TOP)\src\os.h 
8d30: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f  \.  $(TOP)\src\o
8d40: 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 24  s_common.h \.  $
8d50: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74  (TOP)\src\os_set
8d60: 75 70 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  up.h \.  $(TOP)\
8d70: 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 0a 0a 23 20  src\os_win.h..# 
8d80: 43 6f 72 65 20 68 65 61 64 65 72 20 66 69 6c 65  Core header file
8d90: 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43  s, part 2..#.SRC
8da0: 30 35 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c  05 = \.  $(TOP)\
8db0: 73 72 63 5c 70 61 67 65 72 2e 68 20 5c 0a 20 20  src\pager.h \.  
8dc0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach
8dd0: 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.h \.  $(TOP)\s
8de0: 72 63 5c 70 72 61 67 6d 61 2e 68 20 5c 0a 20 20  rc\pragma.h \.  
8df0: 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74  $(TOP)\src\sqlit
8e00: 65 2e 68 2e 69 6e 20 5c 0a 20 20 24 28 54 4f 50  e.h.in \.  $(TOP
8e10: 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 65 78 74  )\src\sqlite3ext
8e20: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
8e30: 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68 20 5c 0a  c\sqliteInt.h \.
8e40: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c    $(TOP)\src\sql
8e50: 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a 20 20 24  iteLimit.h \.  $
8e60: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 68  (TOP)\src\vdbe.h
8e70: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8e80: 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28  vdbeInt.h \.  $(
8e90: 54 4f 50 29 5c 73 72 63 5c 76 78 77 6f 72 6b 73  TOP)\src\vxworks
8ea0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
8eb0: 63 5c 77 61 6c 2e 68 20 5c 0a 20 20 24 28 54 4f  c\wal.h \.  $(TO
8ec0: 50 29 5c 73 72 63 5c 77 68 65 72 65 49 6e 74 2e  P)\src\whereInt.
8ed0: 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 73  h..# Extension s
8ee0: 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73  ource code files
8ef0: 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 30  , part 1..#.SRC0
8f00: 36 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  6 = \.  $(TOP)\e
8f10: 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 63 20 5c  xt\fts1\fts1.c \
8f20: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
8f30: 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 63 20 5c  s1\fts1_hash.c \
8f40: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
8f50: 73 31 5c 66 74 73 31 5f 70 6f 72 74 65 72 2e 63  s1\fts1_porter.c
8f60: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8f70: 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69  fts1\fts1_tokeni
8f80: 7a 65 72 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50  zer1.c \.  $(TOP
8f90: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e  )\ext\fts2\fts2.
8fa0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
8fb0: 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e  \fts2\fts2_hash.
8fc0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
8fd0: 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e 63  \fts2\fts2_icu.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 70 6f 72 74 65 72  fts2\fts2_porter
9000: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9010: 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65  t\fts2\fts2_toke
9020: 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  nizer.c \.  $(TO
9030: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
9040: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 23  _tokenizer1.c..#
9050: 20 45 78 74 65 6e 73 69 6f 6e 20 73 6f 75 72 63   Extension sourc
9060: 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61  e code files, pa
9070: 72 74 20 32 2e 0a 23 0a 53 52 43 30 37 20 3d 20  rt 2..#.SRC07 = 
9080: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9090: 74 73 33 5c 66 74 73 33 2e 63 20 5c 0a 20 20 24  ts3\fts3.c \.  $
90a0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
90b0: 74 73 33 5f 61 75 78 2e 63 20 5c 0a 20 20 24 28  ts3_aux.c \.  $(
90c0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
90d0: 73 33 5f 65 78 70 72 2e 63 20 5c 0a 20 20 24 28  s3_expr.c \.  $(
90e0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
90f0: 73 33 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28  s3_hash.c \.  $(
9100: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
9110: 73 33 5f 69 63 75 2e 63 20 5c 0a 20 20 24 28 54  s3_icu.c \.  $(T
9120: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
9130: 33 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24  3_porter.c \.  $
9140: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
9150: 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 20 5c 0a  ts3_snippet.c \.
9160: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
9170: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3\fts3_tokenizer
9180: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9190: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
91a0: 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24 28 54  nizer1.c \.  $(T
91b0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
91c0: 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e  3_tokenize_vtab.
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 75 6e 69 63 6f  \fts3\fts3_unico
91f0: 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  de.c \.  $(TOP)\
9200: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e  ext\fts3\fts3_un
9210: 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20 24 28 54  icode2.c \.  $(T
9220: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
9230: 33 5f 77 72 69 74 65 2e 63 20 5c 0a 20 20 24 28  3_write.c \.  $(
9240: 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63 75  TOP)\ext\icu\icu
9250: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9260: 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 63 20  t\rtree\rtree.c 
9270: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73  \.  $(TOP)\ext\s
9280: 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65  ession\sqlite3se
9290: 73 73 69 6f 6e 2e 63 20 5c 0a 20 20 24 28 54 4f  ssion.c \.  $(TO
92a0: 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74  P)\ext\rbu\sqlit
92b0: 65 33 72 62 75 2e 63 20 5c 0a 20 20 24 28 54 4f  e3rbu.c \.  $(TO
92c0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a 73 6f 6e  P)\ext\misc\json
92d0: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  1.c \.  $(TOP)\e
92e0: 78 74 5c 6d 69 73 63 5c 73 74 6d 74 2e 63 0a 0a  xt\misc\stmt.c..
92f0: 23 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 61 64  # Extension head
9300: 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 31  er files, part 1
9310: 2e 0a 23 0a 53 52 43 30 38 20 3d 20 5c 0a 20 20  ..#.SRC08 = \.  
9320: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c  $(TOP)\ext\fts1\
9330: 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f 50  fts1.h \.  $(TOP
9340: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f  )\ext\fts1\fts1_
9350: 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50  hash.h \.  $(TOP
9360: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f  )\ext\fts1\fts1_
9370: 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a 20 20  tokenizer.h \.  
9380: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
9390: 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 54 4f 50  fts2.h \.  $(TOP
93a0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
93b0: 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50  hash.h \.  $(TOP
93c0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
93d0: 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 0a 23 20 45  tokenizer.h..# E
93e0: 78 74 65 6e 73 69 6f 6e 20 68 65 61 64 65 72 20  xtension header 
93f0: 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23  files, part 2..#
9400: 0a 53 52 43 30 39 20 3d 20 5c 0a 20 20 24 28 54  .SRC09 = \.  $(T
9410: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
9420: 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  3.h \.  $(TOP)\e
9430: 78 74 5c 66 74 73 33 5c 66 74 73 33 49 6e 74 2e  xt\fts3\fts3Int.
9440: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext
9450: 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e  \fts3\fts3_hash.
9460: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext
9470: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e  \fts3\fts3_token
9480: 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50  izer.h \.  $(TOP
9490: 29 5c 65 78 74 5c 69 63 75 5c 73 71 6c 69 74 65  )\ext\icu\sqlite
94a0: 69 63 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  icu.h \.  $(TOP)
94b0: 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65  \ext\rtree\rtree
94c0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex
94d0: 74 5c 72 74 72 65 65 5c 67 65 6f 70 6f 6c 79 2e  t\rtree\geopoly.
94e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
94f0: 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e  \rbu\sqlite3rbu.
9500: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext
9510: 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33  \session\sqlite3
9520: 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20 47 65 6e  session.h..# Gen
9530: 65 72 61 74 65 64 20 73 6f 75 72 63 65 20 63 6f  erated source co
9540: 64 65 20 66 69 6c 65 73 0a 23 0a 53 52 43 31 30  de files.#.SRC10
9550: 20 3d 20 5c 0a 20 20 6f 70 63 6f 64 65 73 2e 63   = \.  opcodes.c
9560: 20 5c 0a 20 20 70 61 72 73 65 2e 63 0a 0a 23 20   \.  parse.c..# 
9570: 47 65 6e 65 72 61 74 65 64 20 68 65 61 64 65 72  Generated header
9580: 20 66 69 6c 65 73 0a 23 0a 53 52 43 31 31 20 3d   files.#.SRC11 =
9590: 20 5c 0a 20 20 6b 65 79 77 6f 72 64 68 61 73 68   \.  keywordhash
95a0: 2e 68 20 5c 0a 20 20 6f 70 63 6f 64 65 73 2e 68  .h \.  opcodes.h
95b0: 20 5c 0a 20 20 70 61 72 73 65 2e 68 20 5c 0a 20   \.  parse.h \. 
95c0: 20 73 68 65 6c 6c 2e 63 20 5c 0a 20 20 24 28 53   shell.c \.  $(S
95d0: 51 4c 49 54 45 33 48 29 0a 0a 23 20 47 65 6e 65  QLITE3H)..# Gene
95e0: 72 61 74 65 64 20 54 63 6c 20 68 65 61 64 65 72  rated Tcl header
95f0: 20 66 69 6c 65 73 0a 23 0a 21 49 46 20 24 28 55   files.#.!IF $(U
9600: 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c  SE_STDCALL)!=0 |
9610: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
9620: 30 0a 53 52 43 31 32 20 3d 20 5c 0a 20 20 24 28  0.SRC12 = \.  $(
9630: 53 51 4c 49 54 45 54 43 4c 48 29 20 5c 0a 20 20  SQLITETCLH) \.  
9640: 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53  $(SQLITETCLDECLS
9650: 48 29 0a 21 45 4c 53 45 0a 53 52 43 31 32 20 3d  H).!ELSE.SRC12 =
9660: 0a 21 45 4e 44 49 46 0a 0a 23 20 41 6c 6c 20 73  .!ENDIF..# All s
9670: 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73  ource code files
9680: 2e 0a 23 0a 53 52 43 20 3d 20 24 28 53 52 43 30  ..#.SRC = $(SRC0
9690: 30 29 20 24 28 53 52 43 30 31 29 20 24 28 53 52  0) $(SRC01) $(SR
96a0: 43 30 33 29 20 24 28 53 52 43 30 34 29 20 24 28  C03) $(SRC04) $(
96b0: 53 52 43 30 35 29 20 24 28 53 52 43 30 36 29 20  SRC05) $(SRC06) 
96c0: 24 28 53 52 43 30 37 29 20 24 28 53 52 43 30 38  $(SRC07) $(SRC08
96d0: 29 20 24 28 53 52 43 30 39 29 20 24 28 53 52 43  ) $(SRC09) $(SRC
96e0: 31 30 29 20 24 28 53 52 43 31 31 29 0a 0a 23 20  10) $(SRC11)..# 
96f0: 53 6f 75 72 63 65 20 63 6f 64 65 20 74 6f 20 74  Source code to t
9700: 68 65 20 74 65 73 74 20 66 69 6c 65 73 2e 0a 23  he test files..#
9710: 0a 54 45 53 54 53 52 43 20 3d 20 5c 0a 20 20 24  .TESTSRC = \.  $
9720: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 31 2e  (TOP)\src\test1.
9730: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9740: 5c 74 65 73 74 32 2e 63 20 5c 0a 20 20 24 28 54  \test2.c \.  $(T
9750: 4f 50 29 5c 73 72 63 5c 74 65 73 74 33 2e 63 20  OP)\src\test3.c 
9760: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9770: 65 73 74 34 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est4.c \.  $(TOP
9780: 29 5c 73 72 63 5c 74 65 73 74 35 2e 63 20 5c 0a  )\src\test5.c \.
9790: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
97a0: 74 36 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  t6.c \.  $(TOP)\
97b0: 73 72 63 5c 74 65 73 74 37 2e 63 20 5c 0a 20 20  src\test7.c \.  
97c0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 38  $(TOP)\src\test8
97d0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
97e0: 63 5c 74 65 73 74 39 2e 63 20 5c 0a 20 20 24 28  c\test9.c \.  $(
97f0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 61 75  TOP)\src\test_au
9800: 74 6f 65 78 74 2e 63 20 5c 0a 20 20 24 28 54 4f  toext.c \.  $(TO
9810: 50 29 5c 73 72 63 5c 74 65 73 74 5f 61 73 79 6e  P)\src\test_asyn
9820: 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  c.c \.  $(TOP)\s
9830: 72 63 5c 74 65 73 74 5f 62 61 63 6b 75 70 2e 63  rc\test_backup.c
9840: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9850: 74 65 73 74 5f 62 65 73 74 69 6e 64 65 78 2e 63  test_bestindex.c
9860: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9870: 74 65 73 74 5f 62 6c 6f 62 2e 63 20 5c 0a 20 20  test_blob.c \.  
9880: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9890: 62 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f  btree.c \.  $(TO
98a0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 63 6f 6e 66  P)\src\test_conf
98b0: 69 67 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ig.c \.  $(TOP)\
98c0: 73 72 63 5c 74 65 73 74 5f 64 65 6c 65 74 65 2e  src\test_delete.
98d0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
98e0: 5c 74 65 73 74 5f 64 65 6d 6f 76 66 73 2e 63 20  \test_demovfs.c 
98f0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9900: 65 73 74 5f 64 65 76 73 79 6d 2e 63 20 5c 0a 20  est_devsym.c \. 
9910: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
9920: 5f 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  _fs.c \.  $(TOP)
9930: 5c 73 72 63 5c 74 65 73 74 5f 66 75 6e 63 2e 63  \src\test_func.c
9940: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9950: 74 65 73 74 5f 68 65 78 69 6f 2e 63 20 5c 0a 20  test_hexio.c \. 
9960: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
9970: 5f 69 6e 69 74 2e 63 20 5c 0a 20 20 24 28 54 4f  _init.c \.  $(TO
9980: 50 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e 74 61  P)\src\test_inta
9990: 72 72 61 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50  rray.c \.  $(TOP
99a0: 29 5c 73 72 63 5c 74 65 73 74 5f 6a 6f 75 72 6e  )\src\test_journ
99b0: 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  al.c \.  $(TOP)\
99c0: 73 72 63 5c 74 65 73 74 5f 6d 61 6c 6c 6f 63 2e  src\test_malloc.
99d0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
99e0: 5c 74 65 73 74 5f 6d 64 35 2e 63 20 5c 0a 20 20  \test_md5.c \.  
99f0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9a00: 6d 75 6c 74 69 70 6c 65 78 2e 63 20 5c 0a 20 20  multiplex.c \.  
9a10: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9a20: 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f  mutex.c \.  $(TO
9a30: 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 6e 65 66  P)\src\test_onef
9a40: 69 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ile.c \.  $(TOP)
9a50: 5c 73 72 63 5c 74 65 73 74 5f 6f 73 69 6e 73 74  \src\test_osinst
9a60: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
9a70: 63 5c 74 65 73 74 5f 70 63 61 63 68 65 2e 63 20  c\test_pcache.c 
9a80: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9a90: 65 73 74 5f 71 75 6f 74 61 2e 63 20 5c 0a 20 20  est_quota.c \.  
9aa0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9ab0: 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f  rtree.c \.  $(TO
9ac0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 63 68 65  P)\src\test_sche
9ad0: 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ma.c \.  $(TOP)\
9ae0: 73 72 63 5c 74 65 73 74 5f 73 65 72 76 65 72 2e  src\test_server.
9af0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9b00: 5c 74 65 73 74 5f 73 75 70 65 72 6c 6f 63 6b 2e  \test_superlock.
9b10: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9b20: 5c 74 65 73 74 5f 73 79 73 63 61 6c 6c 2e 63 20  \test_syscall.c 
9b30: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9b40: 65 73 74 5f 74 63 6c 73 68 2e 63 20 5c 0a 20 20  est_tclsh.c \.  
9b50: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9b60: 74 63 6c 76 61 72 2e 63 20 5c 0a 20 20 24 28 54  tclvar.c \.  $(T
9b70: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 74 68 72  OP)\src\test_thr
9b80: 65 61 64 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ead.c \.  $(TOP)
9b90: 5c 73 72 63 5c 74 65 73 74 5f 76 66 73 2e 63 20  \src\test_vfs.c 
9ba0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9bb0: 65 73 74 5f 77 69 6e 64 69 72 65 6e 74 2e 63 20  est_windirent.c 
9bc0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9bd0: 65 73 74 5f 77 69 6e 64 6f 77 2e 63 20 5c 0a 20  est_window.c \. 
9be0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
9bf0: 5f 77 73 64 2e 63 20 5c 0a 20 20 24 28 54 4f 50  _wsd.c \.  $(TOP
9c00: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
9c10: 74 65 72 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50  term.c \.  $(TOP
9c20: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
9c30: 74 65 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  test.c \.  $(TOP
9c40: 29 5c 65 78 74 5c 72 62 75 5c 74 65 73 74 5f 72  )\ext\rbu\test_r
9c50: 62 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  bu.c \.  $(TOP)\
9c60: 65 78 74 5c 73 65 73 73 69 6f 6e 5c 74 65 73 74  ext\session\test
9c70: 5f 73 65 73 73 69 6f 6e 2e 63 0a 0a 23 20 53 74  _session.c..# St
9c80: 61 74 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 20  atically linked 
9c90: 65 78 74 65 6e 73 69 6f 6e 73 2e 0a 23 0a 54 45  extensions..#.TE
9ca0: 53 54 45 58 54 20 3d 20 5c 0a 20 20 24 28 54 4f  STEXT = \.  $(TO
9cb0: 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71  P)\ext\expert\sq
9cc0: 6c 69 74 65 33 65 78 70 65 72 74 2e 63 20 5c 0a  lite3expert.c \.
9cd0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70    $(TOP)\ext\exp
9ce0: 65 72 74 5c 74 65 73 74 5f 65 78 70 65 72 74 2e  ert\test_expert.
9cf0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9d00: 5c 6d 69 73 63 5c 61 6d 61 74 63 68 2e 63 20 5c  \misc\amatch.c \
9d10: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
9d20: 73 63 5c 63 61 72 72 61 79 2e 63 20 5c 0a 20 20  sc\carray.c \.  
9d30: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
9d40: 63 6c 6f 73 75 72 65 2e 63 20 5c 0a 20 20 24 28  closure.c \.  $(
9d50: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 73  TOP)\ext\misc\cs
9d60: 76 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  v.c \.  $(TOP)\e
9d70: 78 74 5c 6d 69 73 63 5c 65 76 61 6c 2e 63 20 5c  xt\misc\eval.c \
9d80: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
9d90: 73 63 5c 65 78 70 6c 61 69 6e 2e 63 20 5c 0a 20  sc\explain.c \. 
9da0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
9db0: 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a 20 20 24 28  \fileio.c \.  $(
9dc0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 66 75  TOP)\ext\misc\fu
9dd0: 7a 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  zzer.c \.  $(TOP
9de0: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
9df0: 74 63 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tcl.c \.  $(TOP)
9e00: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74  \ext\fts5\fts5_t
9e10: 65 73 74 5f 6d 69 2e 63 20 5c 0a 20 20 24 28 54  est_mi.c \.  $(T
9e20: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
9e30: 35 5f 74 65 73 74 5f 74 6f 6b 2e 63 20 5c 0a 20  5_test_tok.c \. 
9e40: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
9e50: 5c 69 65 65 65 37 35 34 2e 63 20 5c 0a 20 20 24  \ieee754.c \.  $
9e60: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6d  (TOP)\ext\misc\m
9e70: 6d 61 70 77 61 72 6d 2e 63 20 5c 0a 20 20 24 28  mapwarm.c \.  $(
9e80: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6e 65  TOP)\ext\misc\ne
9e90: 78 74 63 68 61 72 2e 63 20 5c 0a 20 20 24 28 54  xtchar.c \.  $(T
9ea0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6e 6f 72  OP)\ext\misc\nor
9eb0: 6d 61 6c 69 7a 65 2e 63 20 5c 0a 20 20 24 28 54  malize.c \.  $(T
9ec0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 70 65 72  OP)\ext\misc\per
9ed0: 63 65 6e 74 69 6c 65 2e 63 20 5c 0a 20 20 24 28  centile.c \.  $(
9ee0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 70 72  TOP)\ext\misc\pr
9ef0: 65 66 69 78 65 73 2e 63 20 5c 0a 20 20 24 28 54  efixes.c \.  $(T
9f00: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 72 65 67  OP)\ext\misc\reg
9f10: 65 78 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  exp.c \.  $(TOP)
9f20: 5c 65 78 74 5c 6d 69 73 63 5c 72 65 6d 65 6d 62  \ext\misc\rememb
9f30: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\
9f40: 65 78 74 5c 6d 69 73 63 5c 73 65 72 69 65 73 2e  ext\misc\series.
9f50: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9f60: 5c 6d 69 73 63 5c 73 70 65 6c 6c 66 69 78 2e 63  \misc\spellfix.c
9f70: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9f80: 6d 69 73 63 5c 74 6f 74 79 70 65 2e 63 20 5c 0a  misc\totype.c \.
9f90: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
9fa0: 63 5c 75 6e 69 6f 6e 76 74 61 62 2e 63 20 5c 0a  c\unionvtab.c \.
9fb0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
9fc0: 63 5c 77 68 6f 6c 65 6e 75 6d 62 65 72 2e 63 0a  c\wholenumber.c.
9fd0: 0a 23 20 49 66 20 75 73 65 20 6f 66 20 7a 6c 69  .# If use of zli
9fe0: 62 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64  b is enabled, ad
9ff0: 64 20 74 68 65 20 22 7a 69 70 66 69 6c 65 2e 63  d the "zipfile.c
a000: 22 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 0a 23  " source file..#
a010: 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29  .!IF $(USE_ZLIB)
a020: 21 3d 30 0a 54 45 53 54 45 58 54 20 3d 20 24 28  !=0.TESTEXT = $(
a030: 54 45 53 54 45 58 54 29 20 24 28 54 4f 50 29 5c  TESTEXT) $(TOP)\
a040: 65 78 74 5c 6d 69 73 63 5c 7a 69 70 66 69 6c 65  ext\misc\zipfile
a050: 2e 63 0a 21 45 4e 44 49 46 0a 0a 23 20 53 6f 75  .c.!ENDIF..# Sou
a060: 72 63 65 20 63 6f 64 65 20 74 6f 20 74 68 65 20  rce code to the 
a070: 6c 69 62 72 61 72 79 20 66 69 6c 65 73 20 6e 65  library files ne
a080: 65 64 65 64 20 62 79 20 74 68 65 20 74 65 73 74  eded by the test
a090: 20 66 69 78 74 75 72 65 0a 23 20 28 6e 6f 6e 2d   fixture.# (non-
a0a0: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 0a 23 0a  amalgamation).#.
a0b0: 54 45 53 54 53 52 43 32 20 3d 20 5c 0a 20 20 24  TESTSRC2 = \.  $
a0c0: 28 53 52 43 30 30 29 20 5c 0a 20 20 24 28 53 52  (SRC00) \.  $(SR
a0d0: 43 30 31 29 20 5c 0a 20 20 24 28 53 52 43 30 36  C01) \.  $(SRC06
a0e0: 29 20 5c 0a 20 20 24 28 53 52 43 30 37 29 20 5c  ) \.  $(SRC07) \
a0f0: 0a 20 20 24 28 53 52 43 31 30 29 20 5c 0a 20 20  .  $(SRC10) \.  
a100: 24 28 54 4f 50 29 5c 65 78 74 5c 61 73 79 6e 63  $(TOP)\ext\async
a110: 5c 73 71 6c 69 74 65 33 61 73 79 6e 63 2e 63 0a  \sqlite3async.c.
a120: 0a 23 20 48 65 61 64 65 72 20 66 69 6c 65 73 20  .# Header files 
a130: 75 73 65 64 20 62 79 20 61 6c 6c 20 6c 69 62 72  used by all libr
a140: 61 72 79 20 73 6f 75 72 63 65 20 66 69 6c 65 73  ary source files
a150: 2e 0a 23 0a 48 44 52 20 3d 20 5c 0a 20 20 20 24  ..#.HDR = \.   $
a160: 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e  (TOP)\src\btree.
a170: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
a180: 63 5c 62 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20  c\btreeInt.h \. 
a190: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73    $(TOP)\src\has
a1a0: 68 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  h.h \.   $(TOP)\
a1b0: 73 72 63 5c 68 77 74 69 6d 65 2e 68 20 5c 0a 20  src\hwtime.h \. 
a1c0: 20 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20    keywordhash.h 
a1d0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\
a1e0: 6d 73 76 63 2e 68 20 5c 0a 20 20 20 24 28 54 4f  msvc.h \.   $(TO
a1f0: 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 68 20 5c  P)\src\mutex.h \
a200: 0a 20 20 20 6f 70 63 6f 64 65 73 2e 68 20 5c 0a  .   opcodes.h \.
a210: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73     $(TOP)\src\os
a220: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
a230: 72 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c  rc\os_common.h \
a240: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f  .   $(TOP)\src\o
a250: 73 5f 73 65 74 75 70 2e 68 20 5c 0a 20 20 20 24  s_setup.h \.   $
a260: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e  (TOP)\src\os_win
a270: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
a280: 72 63 5c 70 61 67 65 72 2e 68 20 5c 0a 20 20 20  rc\pager.h \.   
a290: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach
a2a0: 65 2e 68 20 5c 0a 20 20 20 70 61 72 73 65 2e 68  e.h \.   parse.h
a2b0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
a2c0: 5c 70 72 61 67 6d 61 2e 68 20 5c 0a 20 20 20 24  \pragma.h \.   $
a2d0: 28 53 51 4c 49 54 45 33 48 29 20 5c 0a 20 20 20  (SQLITE3H) \.   
a2e0: 73 71 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a 20  sqlite3ext.h \. 
a2f0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c    $(TOP)\src\sql
a300: 69 74 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28  iteInt.h \.   $(
a310: 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c  TOP)\src\sqliteL
a320: 69 6d 69 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f  imit.h \.   $(TO
a330: 50 29 5c 73 72 63 5c 76 64 62 65 2e 68 20 5c 0a  P)\src\vdbe.h \.
a340: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64     $(TOP)\src\vd
a350: 62 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54  beInt.h \.   $(T
a360: 4f 50 29 5c 73 72 63 5c 76 78 77 6f 72 6b 73 2e  OP)\src\vxworks.
a370: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
a380: 63 5c 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20  c\whereInt.h..# 
a390: 48 65 61 64 65 72 20 66 69 6c 65 73 20 75 73 65  Header files use
a3a0: 64 20 62 79 20 65 78 74 65 6e 73 69 6f 6e 73 0a  d by extensions.
a3b0: 23 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54  #.EXTHDR = $(EXT
a3c0: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\
a3d0: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 68 20  ext\fts1\fts1.h 
a3e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
a3f0: 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 68 20  ts1\fts1_hash.h 
a400: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
a410: 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69 7a  ts1\fts1_tokeniz
a420: 65 72 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28  er.h.EXTHDR = $(
a430: 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f  EXTHDR) \.  $(TO
a440: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
a450: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex
a460: 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68  t\fts2\fts2_hash
a470: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex
a480: 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65  t\fts2\fts2_toke
a490: 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44 52 20 3d  nizer.h.EXTHDR =
a4a0: 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24   $(EXTHDR) \.  $
a4b0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
a4c0: 74 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ts3.h \.  $(TOP)
a4d0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49 6e  \ext\fts3\fts3In
a4e0: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  t.h \.  $(TOP)\e
a4f0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73  xt\fts3\fts3_has
a500: 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  h.h \.  $(TOP)\e
a510: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
a520: 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44 52 20  enizer.h.EXTHDR 
a530: 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20  = $(EXTHDR) \.  
a540: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65  $(TOP)\ext\rtree
a550: 5c 72 74 72 65 65 2e 68 20 5c 0a 20 20 24 28 54  \rtree.h \.  $(T
a560: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 67 65  OP)\ext\rtree\ge
a570: 6f 70 6f 6c 79 2e 63 0a 45 58 54 48 44 52 20 3d  opoly.c.EXTHDR =
a580: 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24   $(EXTHDR) \.  $
a590: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73 71  (TOP)\ext\icu\sq
a5a0: 6c 69 74 65 69 63 75 2e 68 0a 45 58 54 48 44 52  liteicu.h.EXTHDR
a5b0: 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20   = $(EXTHDR) \. 
a5c0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65   $(TOP)\ext\rtre
a5d0: 65 5c 73 71 6c 69 74 65 33 72 74 72 65 65 2e 68  e\sqlite3rtree.h
a5e0: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48  .EXTHDR = $(EXTH
a5f0: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  DR) \.  $(TOP)\e
a600: 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74  xt\session\sqlit
a610: 65 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20 65  e3session.h..# e
a620: 78 65 63 75 74 61 62 6c 65 73 20 6e 65 65 64 65  xecutables neede
a630: 64 20 66 6f 72 20 74 65 73 74 69 6e 67 0a 23 0a  d for testing.#.
a640: 54 45 53 54 50 52 4f 47 53 20 3d 20 5c 0a 20 20  TESTPROGS = \.  
a650: 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe 
a660: 5c 0a 20 20 24 28 53 51 4c 49 54 45 33 45 58 45  \.  $(SQLITE3EXE
a670: 29 20 5c 0a 20 20 73 71 6c 69 74 65 33 5f 61 6e  ) \.  sqlite3_an
a680: 61 6c 79 7a 65 72 2e 65 78 65 20 5c 0a 20 20 73  alyzer.exe \.  s
a690: 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 65  qlite3_checker.e
a6a0: 78 65 20 5c 0a 20 20 73 71 6c 64 69 66 66 2e 65  xe \.  sqldiff.e
a6b0: 78 65 20 5c 0a 20 20 64 62 68 61 73 68 2e 65 78  xe \.  dbhash.ex
a6c0: 65 20 5c 0a 20 20 73 71 6c 74 63 6c 73 68 2e 65  e \.  sqltclsh.e
a6d0: 78 65 0a 0a 23 20 44 61 74 61 62 61 73 65 73 20  xe..# Databases 
a6e0: 63 6f 6e 74 61 69 6e 69 6e 67 20 66 75 7a 7a 65  containing fuzze
a6f0: 72 20 74 65 73 74 20 63 61 73 65 73 0a 23 0a 46  r test cases.#.F
a700: 55 5a 5a 44 41 54 41 20 3d 20 5c 0a 20 20 24 28  UZZDATA = \.  $(
a710: 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61  TOP)\test\fuzzda
a720: 74 61 31 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50  ta1.db \.  $(TOP
a730: 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 32  )\test\fuzzdata2
a740: 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74  .db \.  $(TOP)\t
a750: 65 73 74 5c 66 75 7a 7a 64 61 74 61 33 2e 64 62  est\fuzzdata3.db
a760: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74   \.  $(TOP)\test
a770: 5c 66 75 7a 7a 64 61 74 61 34 2e 64 62 20 5c 0a  \fuzzdata4.db \.
a780: 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75    $(TOP)\test\fu
a790: 7a 7a 64 61 74 61 35 2e 64 62 20 5c 0a 20 20 24  zzdata5.db \.  $
a7a0: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64  (TOP)\test\fuzzd
a7b0: 61 74 61 36 2e 64 62 20 5c 0a 20 20 24 28 54 4f  ata6.db \.  $(TO
a7c0: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61  P)\test\fuzzdata
a7d0: 37 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c  7.db \.  $(TOP)\
a7e0: 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 38 2e 64  test\fuzzdata8.d
a7f0: 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  b.# <</mark>>..#
a800: 20 41 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70   Additional comp
a810: 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72  iler options for
a820: 20 74 68 65 20 73 68 65 6c 6c 2e 20 20 54 68 65   the shell.  The
a830: 73 65 20 61 72 65 20 6f 6e 6c 79 20 65 66 66 65  se are only effe
a840: 63 74 69 76 65 0a 23 20 77 68 65 6e 20 74 68 65  ctive.# when the
a850: 20 73 68 65 6c 6c 20 69 73 20 6e 6f 74 20 62 65   shell is not be
a860: 69 6e 67 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20  ing dynamically 
a870: 6c 69 6e 6b 65 64 2e 0a 23 0a 21 49 46 20 24 28  linked..#.!IF $(
a880: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d  DYNAMIC_SHELL)==
a890: 30 20 26 26 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 && $(FOR_WIN10
a8a0: 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49  )==0.SHELL_COMPI
a8b0: 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c  LE_OPTS = $(SHEL
a8c0: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  L_COMPILE_OPTS) 
a8d0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
a8e0: 46 54 53 34 3d 31 0a 53 48 45 4c 4c 5f 43 4f 4d  FTS4=1.SHELL_COM
a8f0: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48  PILE_OPTS = $(SH
a900: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
a910: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
a920: 45 5f 45 58 50 4c 41 49 4e 5f 43 4f 4d 4d 45 4e  E_EXPLAIN_COMMEN
a930: 54 53 3d 31 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49  TS=1.SHELL_COMPI
a940: 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c  LE_OPTS = $(SHEL
a950: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  L_COMPILE_OPTS) 
a960: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
a970: 4f 46 46 53 45 54 5f 53 51 4c 5f 46 55 4e 43 3d  OFFSET_SQL_FUNC=
a980: 31 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f  1.SHELL_COMPILE_
a990: 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43  OPTS = $(SHELL_C
a9a0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53  OMPILE_OPTS) -DS
a9b0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 45 53  QLITE_ENABLE_DES
a9c0: 45 52 49 41 4c 49 5a 45 3d 31 0a 21 45 4e 44 49  ERIALIZE=1.!ENDI
a9d0: 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20  F..# <<mark>>.# 
a9e0: 45 78 74 72 61 20 63 6f 6d 70 69 6c 65 72 20 6f  Extra compiler o
a9f0: 70 74 69 6f 6e 73 20 66 6f 72 20 76 61 72 69 6f  ptions for vario
aa00: 75 73 20 74 65 73 74 20 74 6f 6f 6c 73 2e 0a 23  us test tools..#
aa10: 0a 4d 50 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c  .MPTESTER_COMPIL
aa20: 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54  E_OPTS = -DSQLIT
aa30: 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d  E_ENABLE_JSON1 -
aa40: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46  DSQLITE_ENABLE_F
aa50: 54 53 35 0a 46 55 5a 5a 45 52 53 48 45 4c 4c 5f  TS5.FUZZERSHELL_
aa60: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d  COMPILE_OPTS = -
aa70: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a  DSQLITE_ENABLE_J
aa80: 53 4f 4e 31 0a 46 55 5a 5a 43 48 45 43 4b 5f 4f  SON1.FUZZCHECK_O
aa90: 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 45  PTS = -DSQLITE_E
aaa0: 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53 51  NABLE_JSON1 -DSQ
aab0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4d 45 4d 53  LITE_ENABLE_MEMS
aac0: 59 53 35 20 2d 44 53 51 4c 49 54 45 5f 4f 53 53  YS5 -DSQLITE_OSS
aad0: 5f 46 55 5a 5a 20 2d 44 53 51 4c 49 54 45 5f 4d  _FUZZ -DSQLITE_M
aae0: 41 58 5f 4d 45 4d 4f 52 59 3d 35 30 30 30 30 30  AX_MEMORY=500000
aaf0: 30 30 20 2d 44 53 51 4c 49 54 45 5f 50 52 49 4e  00 -DSQLITE_PRIN
ab00: 54 46 5f 50 52 45 43 49 53 49 4f 4e 5f 4c 49 4d  TF_PRECISION_LIM
ab10: 49 54 3d 31 30 30 30 0a 46 55 5a 5a 43 48 45 43  IT=1000.FUZZCHEC
ab20: 4b 5f 4f 50 54 53 20 3d 20 24 28 46 55 5a 5a 43  K_OPTS = $(FUZZC
ab30: 48 45 43 4b 5f 4f 50 54 53 29 20 2d 44 53 51 4c  HECK_OPTS) -DSQL
ab40: 49 54 45 5f 45 4e 41 42 4c 45 5f 44 45 53 45 52  ITE_ENABLE_DESER
ab50: 49 41 4c 49 5a 45 0a 46 55 5a 5a 43 48 45 43 4b  IALIZE.FUZZCHECK
ab60: 5f 4f 50 54 53 20 3d 20 24 28 46 55 5a 5a 43 48  _OPTS = $(FUZZCH
ab70: 45 43 4b 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49  ECK_OPTS) -DSQLI
ab80: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 34 0a 46  TE_ENABLE_FTS4.F
ab90: 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 20 3d 20  UZZCHECK_OPTS = 
aba0: 24 28 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53  $(FUZZCHECK_OPTS
abb0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
abc0: 45 5f 52 54 52 45 45 0a 46 55 5a 5a 43 48 45 43  E_RTREE.FUZZCHEC
abd0: 4b 5f 4f 50 54 53 20 3d 20 24 28 46 55 5a 5a 43  K_OPTS = $(FUZZC
abe0: 48 45 43 4b 5f 4f 50 54 53 29 20 2d 44 53 51 4c  HECK_OPTS) -DSQL
abf0: 49 54 45 5f 45 4e 41 42 4c 45 5f 47 45 4f 50 4f  ITE_ENABLE_GEOPO
ac00: 4c 59 0a 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54  LY.FUZZCHECK_OPT
ac10: 53 20 3d 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f  S = $(FUZZCHECK_
ac20: 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45  OPTS) -DSQLITE_E
ac30: 4e 41 42 4c 45 5f 44 42 53 54 41 54 5f 56 54 41  NABLE_DBSTAT_VTA
ac40: 42 0a 0a 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43  B..FUZZCHECK_SRC
ac50: 20 3d 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66   = $(TOP)\test\f
ac60: 75 7a 7a 63 68 65 63 6b 2e 63 20 24 28 54 4f 50  uzzcheck.c $(TOP
ac70: 29 5c 74 65 73 74 5c 6f 73 73 66 75 7a 7a 2e 63  )\test\ossfuzz.c
ac80: 0a 4f 53 53 53 48 45 4c 4c 5f 53 52 43 20 3d 20  .OSSSHELL_SRC = 
ac90: 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73 73  $(TOP)\test\osss
aca0: 68 65 6c 6c 2e 63 20 24 28 54 4f 50 29 5c 74 65  hell.c $(TOP)\te
acb0: 73 74 5c 6f 73 73 66 75 7a 7a 2e 63 0a 44 42 46  st\ossfuzz.c.DBF
acc0: 55 5a 5a 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  UZZ_COMPILE_OPTS
acd0: 20 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45   = -DSQLITE_THRE
ace0: 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54  ADSAFE=0 -DSQLIT
acf0: 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45  E_OMIT_LOAD_EXTE
ad00: 4e 53 49 4f 4e 0a 4b 56 5f 43 4f 4d 50 49 4c 45  NSION.KV_COMPILE
ad10: 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45  _OPTS = -DSQLITE
ad20: 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
ad30: 53 51 4c 49 54 45 5f 44 49 52 45 43 54 5f 4f 56  SQLITE_DIRECT_OV
ad40: 45 52 46 4c 4f 57 5f 52 45 41 44 0a 53 54 5f 43  ERFLOW_READ.ST_C
ad50: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44  OMPILE_OPTS = -D
ad60: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
ad70: 45 3d 30 0a 0a 23 20 53 74 61 6e 64 61 72 64 20  E=0..# Standard 
ad80: 6f 70 74 69 6f 6e 73 20 74 6f 20 74 65 73 74 66  options to testf
ad90: 69 78 74 75 72 65 2e 0a 23 0a 54 45 53 54 4f 50  ixture..#.TESTOP
ada0: 54 53 20 3d 20 2d 2d 76 65 72 62 6f 73 65 3d 66  TS = --verbose=f
adb0: 69 6c 65 20 2d 2d 6f 75 74 70 75 74 3d 74 65 73  ile --output=tes
adc0: 74 2d 6f 75 74 2e 74 78 74 0a 0a 23 20 45 78 74  t-out.txt..# Ext
add0: 72 61 20 74 61 72 67 65 74 73 20 66 6f 72 20 74  ra targets for t
ade0: 68 65 20 22 61 6c 6c 22 20 74 61 72 67 65 74 20  he "all" target 
adf0: 74 68 61 74 20 72 65 71 75 69 72 65 20 54 63 6c  that require Tcl
ae00: 2e 0a 23 0a 21 49 46 20 24 28 4e 4f 5f 54 43 4c  ..#.!IF $(NO_TCL
ae10: 29 3d 3d 30 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52  )==0.ALL_TCL_TAR
ae20: 47 45 54 53 20 3d 20 6c 69 62 74 63 6c 73 71 6c  GETS = libtclsql
ae30: 69 74 65 33 2e 6c 69 62 0a 21 45 4c 53 45 0a 41  ite3.lib.!ELSE.A
ae40: 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 20 3d  LL_TCL_TARGETS =
ae50: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
ae60: 6b 3e 3e 0a 0a 23 20 54 68 69 73 20 69 73 20 74  k>>..# This is t
ae70: 68 65 20 64 65 66 61 75 6c 74 20 4d 61 6b 65 66  he default Makef
ae80: 69 6c 65 20 74 61 72 67 65 74 2e 20 20 54 68 65  ile target.  The
ae90: 20 6f 62 6a 65 63 74 73 20 6c 69 73 74 65 64 20   objects listed 
aea0: 68 65 72 65 0a 23 20 61 72 65 20 77 68 61 74 20  here.# are what 
aeb0: 67 65 74 20 62 75 69 6c 64 20 77 68 65 6e 20 79  get build when y
aec0: 6f 75 20 74 79 70 65 20 6a 75 73 74 20 22 6d 61  ou type just "ma
aed0: 6b 65 22 20 77 69 74 68 20 6e 6f 20 61 72 67 75  ke" with no argu
aee0: 6d 65 6e 74 73 2e 0a 23 0a 63 6f 72 65 3a 09 64  ments..#.core:.d
aef0: 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  ll libsqlite3.li
af00: 62 20 73 68 65 6c 6c 0a 0a 23 20 54 61 72 67 65  b shell..# Targe
af10: 74 73 20 74 68 61 74 20 72 65 71 75 69 72 65 20  ts that require 
af20: 74 68 65 20 54 63 6c 20 6c 69 62 72 61 72 79 2e  the Tcl library.
af30: 0a 23 0a 74 63 6c 3a 09 24 28 41 4c 4c 5f 54 43  .#.tcl:.$(ALL_TC
af40: 4c 5f 54 41 52 47 45 54 53 29 0a 0a 23 20 54 68  L_TARGETS)..# Th
af50: 69 73 20 4d 61 6b 65 66 69 6c 65 20 74 61 72 67  is Makefile targ
af60: 65 74 20 62 75 69 6c 64 73 20 61 6c 6c 20 6f 66  et builds all of
af70: 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 62 69   the standard bi
af80: 6e 61 72 69 65 73 2e 0a 23 0a 61 6c 6c 3a 09 63  naries..#.all:.c
af90: 6f 72 65 20 74 63 6c 0a 0a 23 20 44 79 6e 61 6d  ore tcl..# Dynam
afa0: 69 63 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20  ic link library 
afb0: 73 65 63 74 69 6f 6e 2e 0a 23 0a 64 6c 6c 3a 09  section..#.dll:.
afc0: 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 0a 0a 23  $(SQLITE3DLL)..#
afd0: 20 53 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   Shell executabl
afe0: 65 2e 0a 23 0a 73 68 65 6c 6c 3a 09 24 28 53 51  e..#.shell:.$(SQ
aff0: 4c 49 54 45 33 45 58 45 29 0a 0a 23 20 3c 3c 6d  LITE3EXE)..# <<m
b000: 61 72 6b 3e 3e 0a 6c 69 62 73 71 6c 69 74 65 33  ark>>.libsqlite3
b010: 2e 6c 69 62 3a 09 24 28 4c 49 42 4f 42 4a 29 0a  .lib:.$(LIBOBJ).
b020: 09 24 28 4c 54 4c 49 42 29 20 24 28 4c 54 4c 49  .$(LTLIB) $(LTLI
b030: 42 4f 50 54 53 29 20 2f 4f 55 54 3a 24 40 20 24  BOPTS) /OUT:$@ $
b040: 28 4c 49 42 4f 42 4a 29 20 24 28 54 4c 49 42 53  (LIBOBJ) $(TLIBS
b050: 29 0a 0a 6c 69 62 74 63 6c 73 71 6c 69 74 65 33  )..libtclsqlite3
b060: 2e 6c 69 62 3a 09 74 63 6c 73 71 6c 69 74 65 2e  .lib:.tclsqlite.
b070: 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  lo libsqlite3.li
b080: 62 0a 09 24 28 4c 54 4c 49 42 29 20 24 28 4c 54  b..$(LTLIB) $(LT
b090: 4c 49 42 4f 50 54 53 29 20 24 28 4c 54 4c 49 42  LIBOPTS) $(LTLIB
b0a0: 50 41 54 48 53 29 20 2f 4f 55 54 3a 24 40 20 74  PATHS) /OUT:$@ t
b0b0: 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73  clsqlite.lo libs
b0c0: 71 6c 69 74 65 33 2e 6c 69 62 20 24 28 4c 49 42  qlite3.lib $(LIB
b0d0: 54 43 4c 53 54 55 42 29 20 24 28 54 4c 49 42 53  TCLSTUB) $(TLIBS
b0e0: 29 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 24  ).# <</mark>>..$
b0f0: 28 53 51 4c 49 54 45 33 44 4c 4c 29 3a 09 24 28  (SQLITE3DLL):.$(
b100: 4c 49 42 4f 42 4a 29 20 24 28 4c 49 42 52 45 53  LIBOBJ) $(LIBRES
b110: 4f 42 4a 53 29 20 24 28 43 4f 52 45 5f 4c 49 4e  OBJS) $(CORE_LIN
b120: 4b 5f 44 45 50 29 0a 09 24 28 4c 44 29 20 24 28  K_DEP)..$(LD) $(
b130: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
b140: 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41  KOPTS) $(LTLIBPA
b150: 54 48 53 29 20 2f 44 4c 4c 20 24 28 43 4f 52 45  THS) /DLL $(CORE
b160: 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20 2f 4f 55 54  _LINK_OPTS) /OUT
b170: 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 28  :$@ $(LIBOBJ) $(
b180: 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54  LIBRESOBJS) $(LT
b190: 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS)..
b1a0: 23 20 3c 3c 62 6c 6f 63 6b 32 3e 3e 0a 73 71 6c  # <<block2>>.sql
b1b0: 69 74 65 33 2e 64 65 66 3a 09 6c 69 62 73 71 6c  ite3.def:.libsql
b1c0: 69 74 65 33 2e 6c 69 62 0a 09 65 63 68 6f 20 45  ite3.lib..echo E
b1d0: 58 50 4f 52 54 53 20 3e 20 73 71 6c 69 74 65 33  XPORTS > sqlite3
b1e0: 2e 64 65 66 0a 09 64 75 6d 70 62 69 6e 20 2f 61  .def..dumpbin /a
b1f0: 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  ll libsqlite3.li
b200: 62 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f  b \...| $(TCLSH_
b210: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
b220: 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 69 6e 63  \replace.tcl inc
b230: 6c 75 64 65 20 22 5e 5c 73 2b 31 20 5f 3f 28 73  lude "^\s+1 _?(s
b240: 71 6c 69 74 65 33 28 3f 3a 73 65 73 73 69 6f 6e  qlite3(?:session
b250: 7c 63 68 61 6e 67 65 73 65 74 7c 63 68 61 6e 67  |changeset|chang
b260: 65 67 72 6f 75 70 7c 72 65 62 61 73 65 72 29 3f  egroup|rebaser)?
b270: 5f 5b 5e 40 5d 2a 29 28 3f 3a 40 5c 64 2b 29 3f  _[^@]*)(?:@\d+)?
b280: 24 24 22 20 5c 31 20 5c 0a 09 09 7c 20 73 6f 72  $$" \1 \...| sor
b290: 74 20 3e 3e 20 73 71 6c 69 74 65 33 2e 64 65 66  t >> sqlite3.def
b2a0: 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a 0a  .# <</block2>>..
b2b0: 24 28 53 51 4c 49 54 45 33 45 58 45 29 3a 09 73  $(SQLITE3EXE):.s
b2c0: 68 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43  hell.c $(SHELL_C
b2d0: 4f 52 45 5f 44 45 50 29 20 24 28 4c 49 42 52 45  ORE_DEP) $(LIBRE
b2e0: 53 4f 42 4a 53 29 20 24 28 53 48 45 4c 4c 5f 43  SOBJS) $(SHELL_C
b2f0: 4f 52 45 5f 53 52 43 29 20 24 28 53 51 4c 49 54  ORE_SRC) $(SQLIT
b300: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
b310: 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f  $(SHELL_COMPILE_
b320: 4f 50 54 53 29 20 24 28 52 45 41 44 4c 49 4e 45  OPTS) $(READLINE
b330: 5f 46 4c 41 47 53 29 20 73 68 65 6c 6c 2e 63 20  _FLAGS) shell.c 
b340: 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43  $(SHELL_CORE_SRC
b350: 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 53 51  ) \.../link $(SQ
b360: 4c 49 54 45 33 45 58 45 50 44 42 29 20 24 28 4c  LITE3EXEPDB) $(L
b370: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
b380: 4f 50 54 53 29 20 24 28 53 48 45 4c 4c 5f 4c 49  OPTS) $(SHELL_LI
b390: 4e 4b 5f 4f 50 54 53 29 20 24 28 4c 54 4c 49 42  NK_OPTS) $(LTLIB
b3a0: 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f  PATHS) $(LIBRESO
b3b0: 42 4a 53 29 20 24 28 4c 49 42 52 45 41 44 4c 49  BJS) $(LIBREADLI
b3c0: 4e 45 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28  NE) $(LTLIBS) $(
b3d0: 54 4c 49 42 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b  TLIBS)..# <<mark
b3e0: 3e 3e 0a 73 71 6c 64 69 66 66 2e 65 78 65 3a 09  >>.sqldiff.exe:.
b3f0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64  $(TOP)\tool\sqld
b400: 69 66 66 2e 63 20 24 28 53 51 4c 49 54 45 33 43  iff.c $(SQLITE3C
b410: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
b420: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
b430: 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  RN) $(TOP)\tool\
b440: 73 71 6c 64 69 66 66 2e 63 20 24 28 53 51 4c 49  sqldiff.c $(SQLI
b450: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
b460: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
b470: 50 54 53 29 0a 0a 64 62 68 61 73 68 2e 65 78 65  PTS)..dbhash.exe
b480: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62  :.$(TOP)\tool\db
b490: 68 61 73 68 2e 63 20 24 28 53 51 4c 49 54 45 33  hash.c $(SQLITE3
b4a0: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
b4b0: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
b4c0: 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  ARN) $(TOP)\tool
b4d0: 5c 64 62 68 61 73 68 2e 63 20 24 28 53 51 4c 49  \dbhash.c $(SQLI
b4e0: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
b4f0: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
b500: 50 54 53 29 0a 0a 73 63 72 75 62 2e 65 78 65 3a  PTS)..scrub.exe:
b510: 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63  .$(TOP)\ext\misc
b520: 5c 73 63 72 75 62 2e 63 20 24 28 53 51 4c 49 54  \scrub.c $(SQLIT
b530: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
b540: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
b550: 5f 57 41 52 4e 29 20 2d 44 53 43 52 55 42 5f 53  _WARN) -DSCRUB_S
b560: 54 41 4e 44 41 4c 4f 4e 45 3d 31 20 24 28 54 4f  TANDALONE=1 $(TO
b570: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 63 72 75  P)\ext\misc\scru
b580: 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  b.c $(SQLITE3C) 
b590: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
b5a0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
b5b0: 73 72 63 63 6b 31 2e 65 78 65 3a 09 24 28 54 4f  srcck1.exe:.$(TO
b5c0: 50 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63  P)\tool\srcck1.c
b5d0: 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41  ..$(BCC) $(NO_WA
b5e0: 52 4e 29 20 2d 46 65 24 40 20 24 28 54 4f 50 29  RN) -Fe$@ $(TOP)
b5f0: 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 0a  \tool\srcck1.c..
b600: 73 6f 75 72 63 65 74 65 73 74 3a 09 73 72 63 63  sourcetest:.srcc
b610: 6b 31 2e 65 78 65 20 24 28 53 51 4c 49 54 45 33  k1.exe $(SQLITE3
b620: 43 29 0a 09 73 72 63 63 6b 31 2e 65 78 65 20 24  C)..srcck1.exe $
b630: 28 53 51 4c 49 54 45 33 43 29 0a 0a 66 75 7a 7a  (SQLITE3C)..fuzz
b640: 65 72 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28 54  ershell.exe:.$(T
b650: 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73  OP)\tool\fuzzers
b660: 68 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45 33  hell.c $(SQLITE3
b670: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
b680: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
b690: 41 52 4e 29 20 24 28 46 55 5a 5a 45 52 53 48 45  ARN) $(FUZZERSHE
b6a0: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  LL_COMPILE_OPTS)
b6b0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a   $(TOP)\tool\fuz
b6c0: 7a 65 72 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c  zershell.c $(SQL
b6d0: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
b6e0: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
b6f0: 4f 50 54 53 29 0a 0a 64 62 66 75 7a 7a 2e 65 78  OPTS)..dbfuzz.ex
b700: 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 64  e:.$(TOP)\test\d
b710: 62 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45  bfuzz.c $(SQLITE
b720: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
b730: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
b740: 57 41 52 4e 29 20 24 28 44 42 46 55 5a 5a 5f 43  WARN) $(DBFUZZ_C
b750: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54  OMPILE_OPTS) $(T
b760: 4f 50 29 5c 74 65 73 74 5c 64 62 66 75 7a 7a 2e  OP)\test\dbfuzz.
b770: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
b780: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
b790: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 75  (LTLINKOPTS)..fu
b7a0: 7a 7a 63 68 65 63 6b 2e 65 78 65 3a 09 24 28 46  zzcheck.exe:.$(F
b7b0: 55 5a 5a 43 48 45 43 4b 5f 53 52 43 29 20 24 28  UZZCHECK_SRC) $(
b7c0: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
b7d0: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
b7e0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55   $(NO_WARN) $(FU
b7f0: 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 29 20 24 28  ZZCHECK_OPTS) $(
b800: 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43 29 20 24  FUZZCHECK_SRC) $
b810: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
b820: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
b830: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6f 73 73 73 68  LINKOPTS)..osssh
b840: 65 6c 6c 2e 65 78 65 3a 09 24 28 4f 53 53 53 48  ell.exe:.$(OSSSH
b850: 45 4c 4c 5f 53 52 43 29 20 24 28 53 51 4c 49 54  ELL_SRC) $(SQLIT
b860: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
b870: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
b880: 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 43 48 45  _WARN) $(FUZZCHE
b890: 43 4b 5f 4f 50 54 53 29 20 24 28 4f 53 53 53 48  CK_OPTS) $(OSSSH
b8a0: 45 4c 4c 5f 53 52 43 29 20 24 28 53 51 4c 49 54  ELL_SRC) $(SQLIT
b8b0: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
b8c0: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
b8d0: 54 53 29 0a 0a 73 65 73 73 69 6f 6e 66 75 7a 7a  TS)..sessionfuzz
b8e0: 2e 65 78 65 3a 09 7a 6c 69 62 20 24 28 54 4f 50  .exe:.zlib $(TOP
b8f0: 29 5c 74 65 73 74 5c 73 65 73 73 69 6f 6e 66 75  )\test\sessionfu
b900: 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  zz.c $(SQLITE3C)
b910: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
b920: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
b930: 4e 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49  N) -I$(ZLIBINCDI
b940: 52 29 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 73  R) $(TOP)\test\s
b950: 65 73 73 69 6f 6e 66 75 7a 7a 2e 63 20 2f 6c 69  essionfuzz.c /li
b960: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
b970: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4c 49 42  LTLINKOPTS) /LIB
b980: 50 41 54 48 3a 24 28 5a 4c 49 42 4c 49 42 44 49  PATH:$(ZLIBLIBDI
b990: 52 29 20 24 28 5a 4c 49 42 4c 49 42 29 0a 0a 6d  R) $(ZLIBLIB)..m
b9a0: 70 74 65 73 74 65 72 2e 65 78 65 3a 09 24 28 54  ptester.exe:.$(T
b9b0: 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73  OP)\mptest\mptes
b9c0: 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
b9d0: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
b9e0: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
b9f0: 29 20 24 28 4d 50 54 45 53 54 45 52 5f 43 4f 4d  ) $(MPTESTER_COM
ba00: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50  PILE_OPTS) $(TOP
ba10: 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73 74 2e  )\mptest\mptest.
ba20: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
ba30: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
ba40: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4d 50  (LTLINKOPTS)..MP
ba50: 54 45 53 54 31 20 3d 20 6d 70 74 65 73 74 65 72  TEST1 = mptester
ba60: 20 6d 70 74 65 73 74 2e 64 62 20 24 28 54 4f 50   mptest.db $(TOP
ba70: 29 5c 6d 70 74 65 73 74 5c 63 72 61 73 68 30 31  )\mptest\crash01
ba80: 2e 74 65 73 74 20 2d 2d 72 65 70 65 61 74 20 32  .test --repeat 2
ba90: 30 0a 4d 50 54 45 53 54 32 20 3d 20 6d 70 74 65  0.MPTEST2 = mpte
baa0: 73 74 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24  ster mptest.db $
bab0: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 75 6c  (TOP)\mptest\mul
bac0: 74 69 77 72 69 74 65 30 31 2e 74 65 73 74 20 2d  tiwrite01.test -
bad0: 2d 72 65 70 65 61 74 20 32 30 0a 0a 6d 70 74 65  -repeat 20..mpte
bae0: 73 74 3a 09 6d 70 74 65 73 74 65 72 2e 65 78 65  st:.mptester.exe
baf0: 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 73 74 2e  ..del /Q mptest.
bb00: 64 62 20 32 3e 4e 55 4c 0a 09 24 28 4d 50 54 45  db 2>NUL..$(MPTE
bb10: 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f  ST1) --journalmo
bb20: 64 65 20 44 45 4c 45 54 45 0a 09 24 28 4d 50 54  de DELETE..$(MPT
bb30: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST2) --journalm
bb40: 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53  ode WAL..$(MPTES
bb50: 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T1) --journalmod
bb60: 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53 54 32  e WAL..$(MPTEST2
bb70: 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20  ) --journalmode 
bb80: 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54 45 53  PERSIST..$(MPTES
bb90: 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T1) --journalmod
bba0: 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54  e PERSIST..$(MPT
bbb0: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST2) --journalm
bbc0: 6f 64 65 20 54 52 55 4e 43 41 54 45 0a 09 24 28  ode TRUNCATE..$(
bbd0: 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e  MPTEST1) --journ
bbe0: 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45 0a  almode TRUNCATE.
bbf0: 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f  .$(MPTEST2) --jo
bc00: 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c 45 54 45  urnalmode DELETE
bc10: 0a 0a 23 20 54 68 69 73 20 74 61 72 67 65 74 20  ..# This target 
bc20: 63 72 65 61 74 65 73 20 61 20 64 69 72 65 63 74  creates a direct
bc30: 6f 72 79 20 6e 61 6d 65 64 20 22 74 73 72 63 22  ory named "tsrc"
bc40: 20 61 6e 64 20 66 69 6c 6c 73 20 69 74 20 77 69   and fills it wi
bc50: 74 68 0a 23 20 63 6f 70 69 65 73 20 6f 66 20 61  th.# copies of a
bc60: 6c 6c 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72  ll of the C sour
bc70: 63 65 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64  ce code and head
bc80: 65 72 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20  er files needed 
bc90: 74 6f 0a 23 20 62 75 69 6c 64 20 6f 6e 20 74 68  to.# build on th
bca0: 65 20 74 61 72 67 65 74 20 73 79 73 74 65 6d 2e  e target system.
bcb0: 20 20 53 6f 6d 65 20 6f 66 20 74 68 65 20 43 20    Some of the C 
bcc0: 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20  source code and 
bcd0: 68 65 61 64 65 72 0a 23 20 66 69 6c 65 73 20 61  header.# files a
bce0: 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  re automatically
bcf0: 20 67 65 6e 65 72 61 74 65 64 2e 20 20 54 68 69   generated.  Thi
bd00: 73 20 74 61 72 67 65 74 20 74 61 6b 65 73 20 63  s target takes c
bd10: 61 72 65 20 6f 66 0a 23 20 61 6c 6c 20 74 68 61  are of.# all tha
bd20: 74 20 61 75 74 6f 6d 61 74 69 63 20 67 65 6e 65  t automatic gene
bd30: 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74 61 72 67 65  ration..#..targe
bd40: 74 5f 73 6f 75 72 63 65 3a 09 24 28 53 52 43 29  t_source:.$(SRC)
bd50: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62   $(TOP)\tool\vdb
bd60: 65 2d 63 6f 6d 70 72 65 73 73 2e 74 63 6c 20 66  e-compress.tcl f
bd70: 74 73 35 2e 63 20 24 28 53 51 4c 49 54 45 5f 54  ts5.c $(SQLITE_T
bd80: 43 4c 5f 44 45 50 29 0a 09 2d 72 6d 64 69 72 20  CL_DEP)..-rmdir 
bd90: 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e 55 4c 0a  /Q/S tsrc 2>NUL.
bda0: 09 2d 6d 6b 64 69 72 20 74 73 72 63 0a 09 66 6f  .-mkdir tsrc..fo
bdb0: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 30  r %i in ($(SRC00
bdc0: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
bdd0: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
bde0: 20 28 24 28 53 52 43 30 31 29 29 20 64 6f 20 63   ($(SRC01)) do c
bdf0: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09  opy /Y %i tsrc..
be00: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC
be10: 30 33 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  03)) do copy /Y 
be20: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i 
be30: 69 6e 20 28 24 28 53 52 43 30 34 29 29 20 64 6f  in ($(SRC04)) do
be40: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
be50: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S
be60: 52 43 30 35 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC05)) do copy /
be70: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
be80: 69 20 69 6e 20 28 24 28 53 52 43 30 36 29 29 20  i in ($(SRC06)) 
be90: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
bea0: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($
beb0: 28 53 52 43 30 37 29 29 20 64 6f 20 63 6f 70 79  (SRC07)) do copy
bec0: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
bed0: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 38 29   %i in ($(SRC08)
bee0: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i 
bef0: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in 
bf00: 28 24 28 53 52 43 30 39 29 29 20 64 6f 20 63 6f  ($(SRC09)) do co
bf10: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
bf20: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 31  or %i in ($(SRC1
bf30: 30 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  0)) do copy /Y %
bf40: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
bf50: 6e 20 28 24 28 53 52 43 31 31 29 29 20 64 6f 20  n ($(SRC11)) do 
bf60: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
bf70: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR
bf80: 43 31 32 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C12)) do copy /Y
bf90: 20 25 69 20 74 73 72 63 0a 09 63 6f 70 79 20 2f   %i tsrc..copy /
bfa0: 59 20 66 74 73 35 2e 63 20 74 73 72 63 0a 09 63  Y fts5.c tsrc..c
bfb0: 6f 70 79 20 2f 59 20 66 74 73 35 2e 68 20 74 73  opy /Y fts5.h ts
bfc0: 72 63 0a 09 64 65 6c 20 2f 51 20 74 73 72 63 5c  rc..del /Q tsrc\
bfd0: 73 71 6c 69 74 65 2e 68 2e 69 6e 20 74 73 72 63  sqlite.h.in tsrc
bfe0: 5c 70 61 72 73 65 2e 79 20 32 3e 4e 55 4c 0a 09  \parse.y 2>NUL..
bff0: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
c000: 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f  OP)\tool\vdbe-co
c010: 6d 70 72 65 73 73 2e 74 63 6c 20 24 28 4f 50 54  mpress.tcl $(OPT
c020: 53 29 20 3c 20 74 73 72 63 5c 76 64 62 65 2e 63  S) < tsrc\vdbe.c
c030: 20 3e 20 76 64 62 65 2e 6e 65 77 0a 09 6d 6f 76   > vdbe.new..mov
c040: 65 20 76 64 62 65 2e 6e 65 77 20 74 73 72 63 5c  e vdbe.new tsrc\
c050: 76 64 62 65 2e 63 0a 09 65 63 68 6f 20 3e 20 2e  vdbe.c..echo > .
c060: 74 61 72 67 65 74 5f 73 6f 75 72 63 65 0a 0a 73  target_source..s
c070: 71 6c 69 74 65 33 2e 63 3a 09 2e 74 61 72 67 65  qlite3.c:..targe
c080: 74 5f 73 6f 75 72 63 65 20 73 71 6c 69 74 65 33  t_source sqlite3
c090: 65 78 74 2e 68 20 24 28 4d 4b 53 51 4c 49 54 45  ext.h $(MKSQLITE
c0a0: 33 43 5f 54 4f 4f 4c 29 0a 09 24 28 54 43 4c 53  3C_TOOL)..$(TCLS
c0b0: 48 5f 43 4d 44 29 20 24 28 4d 4b 53 51 4c 49 54  H_CMD) $(MKSQLIT
c0c0: 45 33 43 5f 54 4f 4f 4c 29 20 24 28 4d 4b 53 51  E3C_TOOL) $(MKSQ
c0d0: 4c 49 54 45 33 43 5f 41 52 47 53 29 0a 09 63 6f  LITE3C_ARGS)..co
c0e0: 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65  py $(TOP)\ext\se
c0f0: 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73  ssion\sqlite3ses
c100: 73 69 6f 6e 2e 68 20 2e 0a 0a 73 71 6c 69 74 65  sion.h ...sqlite
c110: 33 2d 61 6c 6c 2e 63 3a 09 73 71 6c 69 74 65 33  3-all.c:.sqlite3
c120: 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  .c $(TOP)\tool\s
c130: 70 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 63  plit-sqlite3c.tc
c140: 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  l..$(TCLSH_CMD) 
c150: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69  $(TOP)\tool\spli
c160: 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 23  t-sqlite3c.tcl.#
c170: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75   <</mark>>..# Ru
c180: 6c 65 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20  le to build the 
c190: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a 23 0a 73  amalgamation.#.s
c1a0: 71 6c 69 74 65 33 2e 6c 6f 3a 09 24 28 53 51 4c  qlite3.lo:.$(SQL
c1b0: 49 54 45 33 43 29 0a 09 24 28 4c 54 43 4f 4d 50  ITE3C)..$(LTCOMP
c1c0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c1d0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 53  ILE_OPTS) -c $(S
c1e0: 51 4c 49 54 45 33 43 29 0a 0a 23 20 3c 3c 6d 61  QLITE3C)..# <<ma
c1f0: 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20  rk>>.# Rules to 
c200: 62 75 69 6c 64 20 74 68 65 20 4c 45 4d 4f 4e 20  build the LEMON 
c210: 63 6f 6d 70 69 6c 65 72 20 67 65 6e 65 72 61 74  compiler generat
c220: 6f 72 0a 23 0a 6c 65 6d 70 61 72 2e 63 3a 09 24  or.#.lempar.c:.$
c230: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61  (TOP)\tool\lempa
c240: 72 2e 63 0a 09 63 6f 70 79 20 24 28 54 4f 50 29  r.c..copy $(TOP)
c250: 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 20 2e  \tool\lempar.c .
c260: 0a 0a 6c 65 6d 6f 6e 2e 65 78 65 3a 09 24 28 54  ..lemon.exe:.$(T
c270: 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63  OP)\tool\lemon.c
c280: 20 6c 65 6d 70 61 72 2e 63 0a 09 24 28 42 43 43   lempar.c..$(BCC
c290: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 61  ) $(NO_WARN) -Da
c2a0: 63 63 65 73 73 3d 5f 61 63 63 65 73 73 20 5c 0a  ccess=_access \.
c2b0: 09 09 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74  ..-Fe$@ $(TOP)\t
c2c0: 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 2f 6c 69 6e  ool\lemon.c /lin
c2d0: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e  k $(LDFLAGS) $(N
c2e0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c  LTLINKOPTS) $(NL
c2f0: 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 20 3c 3c  TLIBPATHS)..# <<
c300: 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74  mark>>.# Rules t
c310: 6f 20 62 75 69 6c 64 20 74 68 65 20 73 6f 75 72  o build the sour
c320: 63 65 2d 69 64 20 67 65 6e 65 72 61 74 6f 72 20  ce-id generator 
c330: 74 6f 6f 6c 0a 23 0a 6d 6b 73 6f 75 72 63 65 69  tool.#.mksourcei
c340: 64 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  d.exe:.$(TOP)\to
c350: 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 64 2e 63 0a  ol\mksourceid.c.
c360: 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52  .$(BCC) $(NO_WAR
c370: 4e 29 20 2d 46 65 24 40 20 24 28 54 4f 50 29 5c  N) -Fe$@ $(TOP)\
c380: 74 6f 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 64 2e  tool\mksourceid.
c390: 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  c /link $(LDFLAG
c3a0: 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53  S) $(NLTLINKOPTS
c3b0: 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29  ) $(NLTLIBPATHS)
c3c0: 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69  ..# Rules to bui
c3d0: 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e  ld individual *.
c3e0: 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20 67 65  lo files from ge
c3f0: 6e 65 72 61 74 65 64 20 2a 2e 63 20 66 69 6c 65  nerated *.c file
c400: 73 2e 20 54 68 69 73 0a 23 20 61 70 70 6c 69 65  s. This.# applie
c410: 73 20 74 6f 3a 0a 23 0a 23 20 20 20 20 20 70 61  s to:.#.#     pa
c420: 72 73 65 2e 6c 6f 0a 23 20 20 20 20 20 6f 70 63  rse.lo.#     opc
c430: 6f 64 65 73 2e 6c 6f 0a 23 0a 70 61 72 73 65 2e  odes.lo.#.parse.
c440: 6c 6f 3a 09 70 61 72 73 65 2e 63 20 24 28 48 44  lo:.parse.c $(HD
c450: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c460: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c470: 4f 50 54 53 29 20 2d 63 20 70 61 72 73 65 2e 63  OPTS) -c parse.c
c480: 0a 0a 6f 70 63 6f 64 65 73 2e 6c 6f 3a 09 6f 70  ..opcodes.lo:.op
c490: 63 6f 64 65 73 2e 63 0a 09 24 28 4c 54 43 4f 4d  codes.c..$(LTCOM
c4a0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c4b0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 6f 70  PILE_OPTS) -c op
c4c0: 63 6f 64 65 73 2e 63 0a 23 20 3c 3c 2f 6d 61 72  codes.c.# <</mar
c4d0: 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f 20 62  k>>..# Rule to b
c4e0: 75 69 6c 64 20 74 68 65 20 57 69 6e 33 32 20 72  uild the Win32 r
c4f0: 65 73 6f 75 72 63 65 73 20 6f 62 6a 65 63 74 20  esources object 
c500: 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55 53  file..#.!IF $(US
c510: 45 5f 52 43 29 21 3d 30 0a 23 20 3c 3c 62 6c 6f  E_RC)!=0.# <<blo
c520: 63 6b 31 3e 3e 0a 24 28 4c 49 42 52 45 53 4f 42  ck1>>.$(LIBRESOB
c530: 4a 53 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  JS):.$(TOP)\src\
c540: 73 71 6c 69 74 65 33 2e 72 63 20 24 28 53 51 4c  sqlite3.rc $(SQL
c550: 49 54 45 33 48 29 0a 09 65 63 68 6f 20 23 69 66  ITE3H)..echo #if
c560: 6e 64 65 66 20 53 51 4c 49 54 45 5f 52 45 53 4f  ndef SQLITE_RESO
c570: 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 3e 20 73  URCE_VERSION > s
c580: 71 6c 69 74 65 33 72 63 2e 68 0a 09 66 6f 72 20  qlite3rc.h..for 
c590: 2f 46 20 25 25 56 20 69 6e 20 28 27 74 79 70 65  /F %%V in ('type
c5a0: 20 22 24 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e   "$(TOP)\VERSION
c5b0: 22 27 29 20 64 6f 20 28 20 5c 0a 09 09 65 63 68  "') do ( \...ech
c5c0: 6f 20 23 64 65 66 69 6e 65 20 53 51 4c 49 54 45  o #define SQLITE
c5d0: 5f 52 45 53 4f 55 52 43 45 5f 56 45 52 53 49 4f  _RESOURCE_VERSIO
c5e0: 4e 20 25 25 56 20 5c 0a 09 09 09 7c 20 24 28 54  N %%V \....| $(T
c5f0: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
c600: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
c610: 6c 20 65 78 61 63 74 20 2e 20 5e 2c 20 3e 3e 20  l exact . ^, >> 
c620: 73 71 6c 69 74 65 33 72 63 2e 68 20 5c 0a 09 29  sqlite3rc.h \..)
c630: 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 20 3e 3e  ..echo #endif >>
c640: 20 73 71 6c 69 74 65 33 72 63 2e 68 0a 09 24 28   sqlite3rc.h..$(
c650: 4c 54 52 43 4f 4d 50 49 4c 45 29 20 2d 66 6f 20  LTRCOMPILE) -fo 
c660: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28  $(LIBRESOBJS) $(
c670: 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33  TOP)\src\sqlite3
c680: 2e 72 63 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 31 3e  .rc.# <</block1>
c690: 3e 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  >.!ENDIF..# <<ma
c6a0: 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20  rk>>.# Rules to 
c6b0: 62 75 69 6c 64 20 69 6e 64 69 76 69 64 75 61 6c  build individual
c6c0: 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d   *.lo files from
c6d0: 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 73 72   files in the sr
c6e0: 63 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 61  c directory..#.a
c6f0: 6c 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lter.lo:.$(TOP)\
c700: 73 72 63 5c 61 6c 74 65 72 2e 63 20 24 28 48 44  src\alter.c $(HD
c710: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c720: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c730: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c740: 73 72 63 5c 61 6c 74 65 72 2e 63 0a 0a 61 6e 61  src\alter.c..ana
c750: 6c 79 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lyze.lo:.$(TOP)\
c760: 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20 24 28  src\analyze.c $(
c770: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
c780: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
c790: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
c7a0: 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 0a  )\src\analyze.c.
c7b0: 0a 61 74 74 61 63 68 2e 6c 6f 3a 09 24 28 54 4f  .attach.lo:.$(TO
c7c0: 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 20  P)\src\attach.c 
c7d0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c7e0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c7f0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c800: 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63  OP)\src\attach.c
c810: 0a 0a 61 75 74 68 2e 6c 6f 3a 09 24 28 54 4f 50  ..auth.lo:.$(TOP
c820: 29 5c 73 72 63 5c 61 75 74 68 2e 63 20 24 28 48  )\src\auth.c $(H
c830: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c840: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c850: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c860: 5c 73 72 63 5c 61 75 74 68 2e 63 0a 0a 62 61 63  \src\auth.c..bac
c870: 6b 75 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  kup.lo:.$(TOP)\s
c880: 72 63 5c 62 61 63 6b 75 70 2e 63 20 24 28 48 44  rc\backup.c $(HD
c890: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c8a0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c8b0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c8c0: 73 72 63 5c 62 61 63 6b 75 70 2e 63 0a 0a 62 69  src\backup.c..bi
c8d0: 74 76 65 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  tvec.lo:.$(TOP)\
c8e0: 73 72 63 5c 62 69 74 76 65 63 2e 63 20 24 28 48  src\bitvec.c $(H
c8f0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c900: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c910: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c920: 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 0a 0a 62  \src\bitvec.c..b
c930: 74 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f 50  tmutex.lo:.$(TOP
c940: 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 20  )\src\btmutex.c 
c950: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c960: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c970: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c980: 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e  OP)\src\btmutex.
c990: 63 0a 0a 62 74 72 65 65 2e 6c 6f 3a 09 24 28 54  c..btree.lo:.$(T
c9a0: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 20  OP)\src\btree.c 
c9b0: 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72  $(HDR) $(TOP)\sr
c9c0: 63 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c 54 43  c\pager.h..$(LTC
c9d0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
c9e0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
c9f0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree
ca00: 2e 63 0a 0a 62 75 69 6c 64 2e 6c 6f 3a 09 24 28  .c..build.lo:.$(
ca10: 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63  TOP)\src\build.c
ca20: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
ca30: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
ca40: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
ca50: 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63  TOP)\src\build.c
ca60: 0a 0a 63 61 6c 6c 62 61 63 6b 2e 6c 6f 3a 09 24  ..callback.lo:.$
ca70: 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61  (TOP)\src\callba
ca80: 63 6b 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ck.c $(HDR)..$(L
ca90: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
caa0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
cab0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c  c $(TOP)\src\cal
cac0: 6c 62 61 63 6b 2e 63 0a 0a 63 6f 6d 70 6c 65 74  lback.c..complet
cad0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
cae0: 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 24 28 48 44  \complete.c $(HD
caf0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
cb00: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
cb10: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
cb20: 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 0a 0a  src\complete.c..
cb30: 63 74 69 6d 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  ctime.lo:.$(TOP)
cb40: 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20 24 28 48  \src\ctime.c $(H
cb50: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
cb60: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
cb70: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
cb80: 5c 73 72 63 5c 63 74 69 6d 65 2e 63 0a 0a 64 61  \src\ctime.c..da
cb90: 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  te.lo:.$(TOP)\sr
cba0: 63 5c 64 61 74 65 2e 63 20 24 28 48 44 52 29 0a  c\date.c $(HDR).
cbb0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
cbc0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
cbd0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
cbe0: 5c 64 61 74 65 2e 63 0a 0a 64 62 70 61 67 65 2e  \date.c..dbpage.
cbf0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64  lo:.$(TOP)\src\d
cc00: 62 70 61 67 65 2e 63 20 24 28 48 44 52 29 0a 09  bpage.c $(HDR)..
cc10: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
cc20: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
cc30: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
cc40: 64 62 70 61 67 65 2e 63 0a 0a 64 62 73 74 61 74  dbpage.c..dbstat
cc50: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
cc60: 64 62 73 74 61 74 2e 63 20 24 28 48 44 52 29 0a  dbstat.c $(HDR).
cc70: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
cc80: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
cc90: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
cca0: 5c 64 62 73 74 61 74 2e 63 0a 0a 64 65 6c 65 74  \dbstat.c..delet
ccb0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
ccc0: 5c 64 65 6c 65 74 65 2e 63 20 24 28 48 44 52 29  \delete.c $(HDR)
ccd0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cce0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ccf0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cd00: 63 5c 64 65 6c 65 74 65 2e 63 0a 0a 65 78 70 72  c\delete.c..expr
cd10: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
cd20: 65 78 70 72 2e 63 20 24 28 48 44 52 29 0a 09 24  expr.c $(HDR)..$
cd30: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
cd40: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
cd50: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 65   -c $(TOP)\src\e
cd60: 78 70 72 2e 63 0a 0a 66 61 75 6c 74 2e 6c 6f 3a  xpr.c..fault.lo:
cd70: 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c  .$(TOP)\src\faul
cd80: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  t.c $(HDR)..$(LT
cd90: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
cda0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cdb0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c   $(TOP)\src\faul
cdc0: 74 2e 63 0a 0a 66 6b 65 79 2e 6c 6f 3a 09 24 28  t.c..fkey.lo:.$(
cdd0: 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20  TOP)\src\fkey.c 
cde0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
cdf0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
ce00: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
ce10: 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 0a 0a  OP)\src\fkey.c..
ce20: 66 75 6e 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  func.lo:.$(TOP)\
ce30: 73 72 63 5c 66 75 6e 63 2e 63 20 24 28 48 44 52  src\func.c $(HDR
ce40: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
ce50: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
ce60: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
ce70: 72 63 5c 66 75 6e 63 2e 63 0a 0a 67 6c 6f 62 61  rc\func.c..globa
ce80: 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  l.lo:.$(TOP)\src
ce90: 5c 67 6c 6f 62 61 6c 2e 63 20 24 28 48 44 52 29  \global.c $(HDR)
cea0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
ceb0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cec0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
ced0: 63 5c 67 6c 6f 62 61 6c 2e 63 0a 0a 68 61 73 68  c\global.c..hash
cee0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
cef0: 68 61 73 68 2e 63 20 24 28 48 44 52 29 0a 09 24  hash.c $(HDR)..$
cf00: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
cf10: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
cf20: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 68   -c $(TOP)\src\h
cf30: 61 73 68 2e 63 0a 0a 69 6e 73 65 72 74 2e 6c 6f  ash.c..insert.lo
cf40: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73  :.$(TOP)\src\ins
cf50: 65 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ert.c $(HDR)..$(
cf60: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
cf70: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
cf80: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e  -c $(TOP)\src\in
cf90: 73 65 72 74 2e 63 0a 0a 6c 65 67 61 63 79 2e 6c  sert.c..legacy.l
cfa0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65  o:.$(TOP)\src\le
cfb0: 67 61 63 79 2e 63 20 24 28 48 44 52 29 0a 09 24  gacy.c $(HDR)..$
cfc0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
cfd0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
cfe0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c   -c $(TOP)\src\l
cff0: 65 67 61 63 79 2e 63 0a 0a 6c 6f 61 64 65 78 74  egacy.c..loadext
d000: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d010: 6c 6f 61 64 65 78 74 2e 63 20 24 28 48 44 52 29  loadext.c $(HDR)
d020: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d030: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d040: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d050: 63 5c 6c 6f 61 64 65 78 74 2e 63 0a 0a 6d 61 69  c\loadext.c..mai
d060: 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  n.lo:.$(TOP)\src
d070: 5c 6d 61 69 6e 2e 63 20 24 28 48 44 52 29 0a 09  \main.c $(HDR)..
d080: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d090: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d0a0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d0b0: 6d 61 69 6e 2e 63 0a 0a 6d 61 6c 6c 6f 63 2e 6c  main.c..malloc.l
d0c0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61  o:.$(TOP)\src\ma
d0d0: 6c 6c 6f 63 2e 63 20 24 28 48 44 52 29 0a 09 24  lloc.c $(HDR)..$
d0e0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d0f0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d100: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
d110: 61 6c 6c 6f 63 2e 63 0a 0a 6d 65 6d 30 2e 6c 6f  alloc.c..mem0.lo
d120: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  :.$(TOP)\src\mem
d130: 30 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  0.c $(HDR)..$(LT
d140: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d150: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d160: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30   $(TOP)\src\mem0
d170: 2e 63 0a 0a 6d 65 6d 31 2e 6c 6f 3a 09 24 28 54  .c..mem1.lo:.$(T
d180: 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 24  OP)\src\mem1.c $
d190: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d1a0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d1b0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d1c0: 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 0a 0a 6d  P)\src\mem1.c..m
d1d0: 65 6d 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  em2.lo:.$(TOP)\s
d1e0: 72 63 5c 6d 65 6d 32 2e 63 20 24 28 48 44 52 29  rc\mem2.c $(HDR)
d1f0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d200: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d210: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d220: 63 5c 6d 65 6d 32 2e 63 0a 0a 6d 65 6d 33 2e 6c  c\mem2.c..mem3.l
d230: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  o:.$(TOP)\src\me
d240: 6d 33 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  m3.c $(HDR)..$(L
d250: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d260: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d270: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  c $(TOP)\src\mem
d280: 33 2e 63 0a 0a 6d 65 6d 35 2e 6c 6f 3a 09 24 28  3.c..mem5.lo:.$(
d290: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20  TOP)\src\mem5.c 
d2a0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d2b0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d2c0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d2d0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 0a 0a  OP)\src\mem5.c..
d2e0: 6d 65 6d 64 62 2e 6c 6f 3a 09 24 28 54 4f 50 29  memdb.lo:.$(TOP)
d2f0: 5c 73 72 63 5c 6d 65 6d 64 62 2e 63 20 24 28 48  \src\memdb.c $(H
d300: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d310: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d320: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d330: 5c 73 72 63 5c 6d 65 6d 64 62 2e 63 0a 0a 6d 65  \src\memdb.c..me
d340: 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 3a 09 24 28 54  mjournal.lo:.$(T
d350: 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e  OP)\src\memjourn
d360: 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  al.c $(HDR)..$(L
d370: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d380: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d390: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  c $(TOP)\src\mem
d3a0: 6a 6f 75 72 6e 61 6c 2e 63 0a 0a 6d 75 74 65 78  journal.c..mutex
d3b0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d3c0: 6d 75 74 65 78 2e 63 20 24 28 48 44 52 29 0a 09  mutex.c $(HDR)..
d3d0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d3e0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d3f0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d400: 6d 75 74 65 78 2e 63 0a 0a 6d 75 74 65 78 5f 6e  mutex.c..mutex_n
d410: 6f 6f 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  oop.lo:.$(TOP)\s
d420: 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20  rc\mutex_noop.c 
d430: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d440: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d450: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d460: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f  OP)\src\mutex_no
d470: 6f 70 2e 63 0a 0a 6d 75 74 65 78 5f 75 6e 69 78  op.c..mutex_unix
d480: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d490: 6d 75 74 65 78 5f 75 6e 69 78 2e 63 20 24 28 48  mutex_unix.c $(H
d4a0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d4b0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d4c0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d4d0: 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e  \src\mutex_unix.
d4e0: 63 0a 0a 6d 75 74 65 78 5f 77 33 32 2e 6c 6f 3a  c..mutex_w32.lo:
d4f0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65  .$(TOP)\src\mute
d500: 78 5f 77 33 32 2e 63 20 24 28 48 44 52 29 0a 09  x_w32.c $(HDR)..
d510: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d520: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d530: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d540: 6d 75 74 65 78 5f 77 33 32 2e 63 0a 0a 6e 6f 74  mutex_w32.c..not
d550: 69 66 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ify.lo:.$(TOP)\s
d560: 72 63 5c 6e 6f 74 69 66 79 2e 63 20 24 28 48 44  rc\notify.c $(HD
d570: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d580: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d590: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d5a0: 73 72 63 5c 6e 6f 74 69 66 79 2e 63 0a 0a 70 61  src\notify.c..pa
d5b0: 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ger.lo:.$(TOP)\s
d5c0: 72 63 5c 70 61 67 65 72 2e 63 20 24 28 48 44 52  rc\pager.c $(HDR
d5d0: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67  ) $(TOP)\src\pag
d5e0: 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  er.h..$(LTCOMPIL
d5f0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d600: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d610: 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 0a 0a 70  )\src\pager.c..p
d620: 63 61 63 68 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  cache.lo:.$(TOP)
d630: 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 20 24 28  \src\pcache.c $(
d640: 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c  HDR) $(TOP)\src\
d650: 70 63 61 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f  pcache.h..$(LTCO
d660: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d670: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d680: 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65  (TOP)\src\pcache
d690: 2e 63 0a 0a 70 63 61 63 68 65 31 2e 6c 6f 3a 09  .c..pcache1.lo:.
d6a0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach
d6b0: 65 31 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f  e1.c $(HDR) $(TO
d6c0: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 0a  P)\src\pcache.h.
d6d0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d6e0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d6f0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d700: 5c 70 63 61 63 68 65 31 2e 63 0a 0a 6f 73 2e 6c  \pcache1.c..os.l
d710: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  o:.$(TOP)\src\os
d720: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d730: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d740: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d750: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 0a  $(TOP)\src\os.c.
d760: 0a 6f 73 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54  .os_unix.lo:.$(T
d770: 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e  OP)\src\os_unix.
d780: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d790: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d7a0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d7b0: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69  (TOP)\src\os_uni
d7c0: 78 2e 63 0a 0a 6f 73 5f 77 69 6e 2e 6c 6f 3a 09  x.c..os_win.lo:.
d7d0: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69  $(TOP)\src\os_wi
d7e0: 6e 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  n.c $(HDR)..$(LT
d7f0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d800: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d810: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77   $(TOP)\src\os_w
d820: 69 6e 2e 63 0a 0a 70 72 61 67 6d 61 2e 6c 6f 3a  in.c..pragma.lo:
d830: 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67  .$(TOP)\src\prag
d840: 6d 61 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ma.c $(HDR)..$(L
d850: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d860: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d870: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61  c $(TOP)\src\pra
d880: 67 6d 61 2e 63 0a 0a 70 72 65 70 61 72 65 2e 6c  gma.c..prepare.l
d890: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  o:.$(TOP)\src\pr
d8a0: 65 70 61 72 65 2e 63 20 24 28 48 44 52 29 0a 09  epare.c $(HDR)..
d8b0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d8c0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d8d0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d8e0: 70 72 65 70 61 72 65 2e 63 0a 0a 70 72 69 6e 74  prepare.c..print
d8f0: 66 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  f.lo:.$(TOP)\src
d900: 5c 70 72 69 6e 74 66 2e 63 20 24 28 48 44 52 29  \printf.c $(HDR)
d910: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d920: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d930: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d940: 63 5c 70 72 69 6e 74 66 2e 63 0a 0a 72 61 6e 64  c\printf.c..rand
d950: 6f 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  om.lo:.$(TOP)\sr
d960: 63 5c 72 61 6e 64 6f 6d 2e 63 20 24 28 48 44 52  c\random.c $(HDR
d970: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
d980: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
d990: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
d9a0: 72 63 5c 72 61 6e 64 6f 6d 2e 63 0a 0a 72 65 73  rc\random.c..res
d9b0: 6f 6c 76 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  olve.lo:.$(TOP)\
d9c0: 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 20 24 28  src\resolve.c $(
d9d0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d9e0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d9f0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
da00: 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 0a  )\src\resolve.c.
da10: 0a 72 6f 77 73 65 74 2e 6c 6f 3a 09 24 28 54 4f  .rowset.lo:.$(TO
da20: 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20  P)\src\rowset.c 
da30: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
da40: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
da50: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
da60: 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63  OP)\src\rowset.c
da70: 0a 0a 73 65 6c 65 63 74 2e 6c 6f 3a 09 24 28 54  ..select.lo:.$(T
da80: 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63  OP)\src\select.c
da90: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
daa0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
dab0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
dac0: 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e  TOP)\src\select.
dad0: 63 0a 0a 73 74 61 74 75 73 2e 6c 6f 3a 09 24 28  c..status.lo:.$(
dae0: 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e  TOP)\src\status.
daf0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
db00: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
db10: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
db20: 28 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73  (TOP)\src\status
db30: 2e 63 0a 0a 74 61 62 6c 65 2e 6c 6f 3a 09 24 28  .c..table.lo:.$(
db40: 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63  TOP)\src\table.c
db50: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
db60: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
db70: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
db80: 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63  TOP)\src\table.c
db90: 0a 0a 74 68 72 65 61 64 73 2e 6c 6f 3a 09 24 28  ..threads.lo:.$(
dba0: 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73  TOP)\src\threads
dbb0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
dbc0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
dbd0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
dbe0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61  $(TOP)\src\threa
dbf0: 64 73 2e 63 0a 0a 74 6f 6b 65 6e 69 7a 65 2e 6c  ds.c..tokenize.l
dc00: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f  o:.$(TOP)\src\to
dc10: 6b 65 6e 69 7a 65 2e 63 20 6b 65 79 77 6f 72 64  kenize.c keyword
dc20: 68 61 73 68 2e 68 20 24 28 48 44 52 29 0a 09 24  hash.h $(HDR)..$
dc30: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
dc40: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
dc50: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74   -c $(TOP)\src\t
dc60: 6f 6b 65 6e 69 7a 65 2e 63 0a 0a 74 72 65 65 76  okenize.c..treev
dc70: 69 65 77 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  iew.lo:.$(TOP)\s
dc80: 72 63 5c 74 72 65 65 76 69 65 77 2e 63 20 24 28  rc\treeview.c $(
dc90: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
dca0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
dcb0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
dcc0: 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63  )\src\treeview.c
dcd0: 0a 0a 74 72 69 67 67 65 72 2e 6c 6f 3a 09 24 28  ..trigger.lo:.$(
dce0: 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72  TOP)\src\trigger
dcf0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
dd00: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
dd10: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
dd20: 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67  $(TOP)\src\trigg
dd30: 65 72 2e 63 0a 0a 75 70 64 61 74 65 2e 6c 6f 3a  er.c..update.lo:
dd40: 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61  .$(TOP)\src\upda
dd50: 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  te.c $(HDR)..$(L
dd60: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
dd70: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
dd80: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64  c $(TOP)\src\upd
dd90: 61 74 65 2e 63 0a 0a 75 70 73 65 72 74 2e 6c 6f  ate.c..upsert.lo
dda0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 73  :.$(TOP)\src\ups
ddb0: 65 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ert.c $(HDR)..$(
ddc0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
ddd0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
dde0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70  -c $(TOP)\src\up
ddf0: 73 65 72 74 2e 63 0a 0a 75 74 66 2e 6c 6f 3a 09  sert.c..utf.lo:.
de00: 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63  $(TOP)\src\utf.c
de10: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
de20: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
de30: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
de40: 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 0a 0a  TOP)\src\utf.c..
de50: 75 74 69 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  util.lo:.$(TOP)\
de60: 73 72 63 5c 75 74 69 6c 2e 63 20 24 28 48 44 52  src\util.c $(HDR
de70: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
de80: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
de90: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
dea0: 72 63 5c 75 74 69 6c 2e 63 0a 0a 76 61 63 75 75  rc\util.c..vacuu
deb0: 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  m.lo:.$(TOP)\src
dec0: 5c 76 61 63 75 75 6d 2e 63 20 24 28 48 44 52 29  \vacuum.c $(HDR)
ded0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
dee0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
def0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
df00: 63 5c 76 61 63 75 75 6d 2e 63 0a 0a 76 64 62 65  c\vacuum.c..vdbe
df10: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
df20: 76 64 62 65 2e 63 20 24 28 48 44 52 29 0a 09 24  vdbe.c $(HDR)..$
df30: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
df40: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
df50: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v
df60: 64 62 65 2e 63 0a 0a 76 64 62 65 61 70 69 2e 6c  dbe.c..vdbeapi.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 61 70 69 2e 63 20 24 28 48 44 52 29 0a 09  beapi.c $(HDR)..
df90: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
dfa0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
dfb0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
dfc0: 76 64 62 65 61 70 69 2e 63 0a 0a 76 64 62 65 61  vdbeapi.c..vdbea
dfd0: 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ux.lo:.$(TOP)\sr
dfe0: 63 5c 76 64 62 65 61 75 78 2e 63 20 24 28 48 44  c\vdbeaux.c $(HD
dff0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e000: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
e010: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
e020: 73 72 63 5c 76 64 62 65 61 75 78 2e 63 0a 0a 76  src\vdbeaux.c..v
e030: 64 62 65 62 6c 6f 62 2e 6c 6f 3a 09 24 28 54 4f  dbeblob.lo:.$(TO
e040: 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e  P)\src\vdbeblob.
e050: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
e060: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
e070: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
e080: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62 6c  (TOP)\src\vdbebl
e090: 6f 62 2e 63 0a 0a 76 64 62 65 6d 65 6d 2e 6c 6f  ob.c..vdbemem.lo
e0a0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  :.$(TOP)\src\vdb
e0b0: 65 6d 65 6d 2e 63 20 24 28 48 44 52 29 0a 09 24  emem.c $(HDR)..$
e0c0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
e0d0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
e0e0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v
e0f0: 64 62 65 6d 65 6d 2e 63 0a 0a 76 64 62 65 73 6f  dbemem.c..vdbeso
e100: 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  rt.lo:.$(TOP)\sr
e110: 63 5c 76 64 62 65 73 6f 72 74 2e 63 20 24 28 48  c\vdbesort.c $(H
e120: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
e130: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
e140: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
e150: 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 0a  \src\vdbesort.c.
e160: 0a 76 64 62 65 74 72 61 63 65 2e 6c 6f 3a 09 24  .vdbetrace.lo:.$
e170: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72  (TOP)\src\vdbetr
e180: 61 63 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ace.c $(HDR)..$(
e190: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
e1a0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
e1b0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  -c $(TOP)\src\vd
e1c0: 62 65 74 72 61 63 65 2e 63 0a 0a 76 74 61 62 2e  betrace.c..vtab.
e1d0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76  lo:.$(TOP)\src\v
e1e0: 74 61 62 2e 63 20 24 28 48 44 52 29 0a 09 24 28  tab.c $(HDR)..$(
e1f0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
e200: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
e210: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 74  -c $(TOP)\src\vt
e220: 61 62 2e 63 0a 0a 77 61 6c 2e 6c 6f 3a 09 24 28  ab.c..wal.lo:.$(
e230: 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20 24  TOP)\src\wal.c $
e240: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
e250: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
e260: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
e270: 50 29 5c 73 72 63 5c 77 61 6c 2e 63 0a 0a 77 61  P)\src\wal.c..wa
e280: 6c 6b 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lker.lo:.$(TOP)\
e290: 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20 24 28 48  src\walker.c $(H
e2a0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
e2b0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
e2c0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
e2d0: 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 0a 0a 77  \src\walker.c..w
e2e0: 68 65 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  here.lo:.$(TOP)\
e2f0: 73 72 63 5c 77 68 65 72 65 2e 63 20 24 28 48 44  src\where.c $(HD
e300: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e310: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
e320: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
e330: 73 72 63 5c 77 68 65 72 65 2e 63 0a 0a 77 68 65  src\where.c..whe
e340: 72 65 63 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50  recode.lo:.$(TOP
e350: 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e  )\src\wherecode.
e360: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
e370: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
e380: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
e390: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 63  (TOP)\src\wherec
e3a0: 6f 64 65 2e 63 0a 0a 77 68 65 72 65 65 78 70 72  ode.c..whereexpr
e3b0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
e3c0: 77 68 65 72 65 65 78 70 72 2e 63 20 24 28 48 44  whereexpr.c $(HD
e3d0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e3e0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
e3f0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
e400: 73 72 63 5c 77 68 65 72 65 65 78 70 72 2e 63 0a  src\whereexpr.c.
e410: 0a 77 69 6e 64 6f 77 2e 6c 6f 3a 09 24 28 54 4f  .window.lo:.$(TO
e420: 50 29 5c 73 72 63 5c 77 69 6e 64 6f 77 2e 63 20  P)\src\window.c 
e430: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
e440: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
e450: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
e460: 4f 50 29 5c 73 72 63 5c 77 69 6e 64 6f 77 2e 63  OP)\src\window.c
e470: 0a 0a 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 3a 09  ..tclsqlite.lo:.
e480: 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71  $(TOP)\src\tclsq
e490: 6c 69 74 65 2e 63 20 24 28 48 44 52 29 20 24 28  lite.c $(HDR) $(
e4a0: 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a  SQLITE_TCL_DEP).
e4b0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
e4c0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 55 53 45 5f 54  NO_WARN) -DUSE_T
e4d0: 43 4c 5f 53 54 55 42 53 3d 31 20 2d 44 42 55 49  CL_STUBS=1 -DBUI
e4e0: 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43  LD_sqlite -I$(TC
e4f0: 4c 49 4e 43 44 49 52 29 20 2d 63 20 24 28 54 4f  LINCDIR) -c $(TO
e500: 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65  P)\src\tclsqlite
e510: 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2d 73 68  .c..tclsqlite-sh
e520: 65 6c 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ell.lo:.$(TOP)\s
e530: 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24  rc\tclsqlite.c $
e540: 28 48 44 52 29 20 24 28 53 51 4c 49 54 45 5f 54  (HDR) $(SQLITE_T
e550: 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 43 4f 4d  CL_DEP)..$(LTCOM
e560: 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29  PILE) $(NO_WARN)
e570: 20 2d 44 54 43 4c 53 48 20 2d 44 42 55 49 4c 44   -DTCLSH -DBUILD
e580: 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49  _sqlite -I$(TCLI
e590: 4e 43 44 49 52 29 20 2d 63 20 24 28 54 4f 50 29  NCDIR) -c $(TOP)
e5a0: 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63  \src\tclsqlite.c
e5b0: 0a 0a 74 63 6c 73 71 6c 69 74 65 33 2e 65 78 65  ..tclsqlite3.exe
e5c0: 3a 09 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c  :.tclsqlite-shel
e5d0: 6c 2e 6c 6f 20 24 28 53 51 4c 49 54 45 33 43 29  l.lo $(SQLITE3C)
e5e0: 20 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 4c   $(SQLITE3H) $(L
e5f0: 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54  IBRESOBJS)..$(LT
e600: 4c 49 4e 4b 29 20 24 28 53 51 4c 49 54 45 33 43  LINK) $(SQLITE3C
e610: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
e620: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
e630: 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20   $(TCLLIBPATHS) 
e640: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f  $(LTLIBPATHS) /O
e650: 55 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2d  UT:$@ tclsqlite-
e660: 73 68 65 6c 6c 2e 6c 6f 20 24 28 4c 49 42 52 45  shell.lo $(LIBRE
e670: 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53  SOBJS) $(TCLLIBS
e680: 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c  ) $(LTLIBS) $(TL
e690: 49 42 53 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f  IBS)..# Rules to
e6a0: 20 62 75 69 6c 64 20 6f 70 63 6f 64 65 73 2e 63   build opcodes.c
e6b0: 20 61 6e 64 20 6f 70 63 6f 64 65 73 2e 68 0a 23   and opcodes.h.#
e6c0: 0a 6f 70 63 6f 64 65 73 2e 63 3a 09 6f 70 63 6f  .opcodes.c:.opco
e6d0: 64 65 73 2e 68 20 24 28 54 4f 50 29 5c 74 6f 6f  des.h $(TOP)\too
e6e0: 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 6c 0a  l\mkopcodec.tcl.
e6f0: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD) $(
e700: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f  TOP)\tool\mkopco
e710: 64 65 63 2e 74 63 6c 20 6f 70 63 6f 64 65 73 2e  dec.tcl opcodes.
e720: 68 20 3e 20 6f 70 63 6f 64 65 73 2e 63 0a 0a 6f  h > opcodes.c..o
e730: 70 63 6f 64 65 73 2e 68 3a 09 70 61 72 73 65 2e  pcodes.h:.parse.
e740: 68 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  h $(TOP)\src\vdb
e750: 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  e.c $(TOP)\tool\
e760: 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 0a 09 74  mkopcodeh.tcl..t
e770: 79 70 65 20 70 61 72 73 65 2e 68 20 24 28 54 4f  ype parse.h $(TO
e780: 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 7c 20  P)\src\vdbe.c | 
e790: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
e7a0: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64  OP)\tool\mkopcod
e7b0: 65 68 2e 74 63 6c 20 3e 20 6f 70 63 6f 64 65 73  eh.tcl > opcodes
e7c0: 2e 68 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62  .h..# Rules to b
e7d0: 75 69 6c 64 20 70 61 72 73 65 2e 63 20 61 6e 64  uild parse.c and
e7e0: 20 70 61 72 73 65 2e 68 20 2d 20 74 68 65 20 6f   parse.h - the o
e7f0: 75 74 70 75 74 73 20 6f 66 20 6c 65 6d 6f 6e 2e  utputs of lemon.
e800: 0a 23 0a 70 61 72 73 65 2e 68 3a 09 70 61 72 73  .#.parse.h:.pars
e810: 65 2e 63 0a 0a 70 61 72 73 65 2e 63 3a 09 24 28  e.c..parse.c:.$(
e820: 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e 79  TOP)\src\parse.y
e830: 20 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 54 4f 50   lemon.exe $(TOP
e840: 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 65  )\tool\addopcode
e850: 73 2e 74 63 6c 0a 09 64 65 6c 20 2f 51 20 70 61  s.tcl..del /Q pa
e860: 72 73 65 2e 79 20 70 61 72 73 65 2e 68 20 70 61  rse.y parse.h pa
e870: 72 73 65 2e 68 2e 74 65 6d 70 20 32 3e 4e 55 4c  rse.h.temp 2>NUL
e880: 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 73 72  ..copy $(TOP)\sr
e890: 63 5c 70 61 72 73 65 2e 79 20 2e 0a 09 2e 5c 6c  c\parse.y ....\l
e8a0: 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f 46  emon.exe $(REQ_F
e8b0: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  EATURE_FLAGS) $(
e8c0: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
e8d0: 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45  S) $(EXT_FEATURE
e8e0: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20  _FLAGS) $(OPTS) 
e8f0: 70 61 72 73 65 2e 79 0a 09 6d 6f 76 65 20 70 61  parse.y..move pa
e900: 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e 74 65  rse.h parse.h.te
e910: 6d 70 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  mp..$(TCLSH_CMD)
e920: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64   $(TOP)\tool\add
e930: 6f 70 63 6f 64 65 73 2e 74 63 6c 20 70 61 72 73  opcodes.tcl pars
e940: 65 2e 68 2e 74 65 6d 70 20 3e 20 70 61 72 73 65  e.h.temp > parse
e950: 2e 68 0a 0a 24 28 53 51 4c 49 54 45 33 48 29 3a  .h..$(SQLITE3H):
e960: 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69  .$(TOP)\src\sqli
e970: 74 65 2e 68 2e 69 6e 20 24 28 54 4f 50 29 5c 6d  te.h.in $(TOP)\m
e980: 61 6e 69 66 65 73 74 20 6d 6b 73 6f 75 72 63 65  anifest mksource
e990: 69 64 2e 65 78 65 20 24 28 54 4f 50 29 5c 56 45  id.exe $(TOP)\VE
e9a0: 52 53 49 4f 4e 0a 09 24 28 54 43 4c 53 48 5f 43  RSION..$(TCLSH_C
e9b0: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
e9c0: 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 24  mksqlite3h.tcl $
e9d0: 28 54 4f 50 3a 5c 3d 2f 29 20 3e 20 24 28 53 51  (TOP:\=/) > $(SQ
e9e0: 4c 49 54 45 33 48 29 20 24 28 4d 4b 53 51 4c 49  LITE3H) $(MKSQLI
e9f0: 54 45 33 48 5f 41 52 47 53 29 0a 0a 73 71 6c 69  TE3H_ARGS)..sqli
ea00: 74 65 33 65 78 74 2e 68 3a 09 2e 74 61 72 67 65  te3ext.h:..targe
ea10: 74 5f 73 6f 75 72 63 65 0a 21 49 46 20 24 28 55  t_source.!IF $(U
ea20: 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c  SE_STDCALL)!=0 |
ea30: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
ea40: 30 0a 09 74 79 70 65 20 74 73 72 63 5c 73 71 6c  0..type tsrc\sql
ea50: 69 74 65 33 65 78 74 2e 68 20 7c 20 24 28 54 43  ite3ext.h | $(TC
ea60: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
ea70: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
ea80: 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 5c 29 22   regsub "\(\*\)"
ea90: 20 22 28 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41   "(SQLITE_CALLBA
eaa0: 43 4b 20 2a 29 22 20 5c 0a 09 09 7c 20 24 28 54  CK *)" \...| $(T
eab0: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
eac0: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
ead0: 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 22 20  l regsub "\(\*" 
eae0: 22 28 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c  "(SQLITE_APICALL
eaf0: 20 2a 22 20 3e 20 73 71 6c 69 74 65 33 65 78 74   *" > sqlite3ext
eb00: 2e 68 0a 09 63 6f 70 79 20 2f 59 20 73 71 6c 69  .h..copy /Y sqli
eb10: 74 65 33 65 78 74 2e 68 20 74 73 72 63 5c 73 71  te3ext.h tsrc\sq
eb20: 6c 69 74 65 33 65 78 74 2e 68 0a 21 45 4c 53 45  lite3ext.h.!ELSE
eb30: 0a 09 63 6f 70 79 20 2f 59 20 74 73 72 63 5c 73  ..copy /Y tsrc\s
eb40: 71 6c 69 74 65 33 65 78 74 2e 68 20 73 71 6c 69  qlite3ext.h sqli
eb50: 74 65 33 65 78 74 2e 68 0a 21 45 4e 44 49 46 0a  te3ext.h.!ENDIF.
eb60: 0a 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65  .mkkeywordhash.e
eb70: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
eb80: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 0a  mkkeywordhash.c.
eb90: 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52  .$(BCC) $(NO_WAR
eba0: 4e 29 20 2d 46 65 24 40 20 24 28 52 45 51 5f 46  N) -Fe$@ $(REQ_F
ebb0: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  EATURE_FLAGS) $(
ebc0: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
ebd0: 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45  S) $(EXT_FEATURE
ebe0: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20  _FLAGS) $(OPTS) 
ebf0: 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  \...$(TOP)\tool\
ec00: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 20  mkkeywordhash.c 
ec10: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
ec20: 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20   $(NLTLINKOPTS) 
ec30: 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a  $(NLTLIBPATHS)..
ec40: 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 3a 09 24  keywordhash.h:.$
ec50: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79  (TOP)\tool\mkkey
ec60: 77 6f 72 64 68 61 73 68 2e 63 20 6d 6b 6b 65 79  wordhash.c mkkey
ec70: 77 6f 72 64 68 61 73 68 2e 65 78 65 0a 09 2e 5c  wordhash.exe...\
ec80: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78  mkkeywordhash.ex
ec90: 65 20 3e 20 6b 65 79 77 6f 72 64 68 61 73 68 2e  e > keywordhash.
eca0: 68 0a 0a 23 20 53 6f 75 72 63 65 20 66 69 6c 65  h..# Source file
ecb0: 73 20 74 68 61 74 20 67 6f 20 69 6e 74 6f 20 6d  s that go into m
ecc0: 61 6b 69 6e 67 20 73 68 65 6c 6c 2e 63 0a 53 48  aking shell.c.SH
ecd0: 45 4c 4c 5f 53 52 43 20 3d 20 5c 0a 09 24 28 54  ELL_SRC = \..$(T
ece0: 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63 2e  OP)\src\shell.c.
ecf0: 69 6e 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74  in \..$(TOP)\ext
ed00: 5c 6d 69 73 63 5c 61 70 70 65 6e 64 76 66 73 2e  \misc\appendvfs.
ed10: 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c  c \..$(TOP)\ext\
ed20: 6d 69 73 63 5c 73 68 61 74 68 72 65 65 2e 63 20  misc\shathree.c 
ed30: 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  \..$(TOP)\ext\mi
ed40: 73 63 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a 09 24  sc\fileio.c \..$
ed50: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63  (TOP)\ext\misc\c
ed60: 6f 6d 70 6c 65 74 69 6f 6e 2e 63 20 5c 0a 09 24  ompletion.c \..$
ed70: 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74  (TOP)\ext\expert
ed80: 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 63  \sqlite3expert.c
ed90: 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 65   \..$(TOP)\ext\e
eda0: 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70  xpert\sqlite3exp
edb0: 65 72 74 2e 68 20 5c 0a 09 24 28 54 4f 50 29 5c  ert.h \..$(TOP)\
edc0: 65 78 74 5c 6d 69 73 63 5c 6d 65 6d 74 72 61 63  ext\misc\memtrac
edd0: 65 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 73 72  e.c \..$(TOP)\sr
ede0: 63 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 6e 74  c\test_windirent
edf0: 2e 63 0a 0a 23 20 49 66 20 75 73 65 20 6f 66 20  .c..# If use of 
ee00: 7a 6c 69 62 20 69 73 20 65 6e 61 62 6c 65 64 2c  zlib is enabled,
ee10: 20 61 64 64 20 74 68 65 20 22 7a 69 70 66 69 6c   add the "zipfil
ee20: 65 2e 63 22 20 73 6f 75 72 63 65 20 66 69 6c 65  e.c" source file
ee30: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c  ..#.!IF $(USE_ZL
ee40: 49 42 29 21 3d 30 0a 53 48 45 4c 4c 5f 53 52 43  IB)!=0.SHELL_SRC
ee50: 20 3d 20 24 28 53 48 45 4c 4c 5f 53 52 43 29 20   = $(SHELL_SRC) 
ee60: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
ee70: 73 71 6c 61 72 2e 63 0a 53 48 45 4c 4c 5f 53 52  sqlar.c.SHELL_SR
ee80: 43 20 3d 20 24 28 53 48 45 4c 4c 5f 53 52 43 29  C = $(SHELL_SRC)
ee90: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
eea0: 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e 44 49  \zipfile.c.!ENDI
eeb0: 46 0a 0a 73 68 65 6c 6c 2e 63 3a 09 24 28 53 48  F..shell.c:.$(SH
eec0: 45 4c 4c 5f 53 52 43 29 20 24 28 54 4f 50 29 5c  ELL_SRC) $(TOP)\
eed0: 74 6f 6f 6c 5c 6d 6b 73 68 65 6c 6c 63 2e 74 63  tool\mkshellc.tc
eee0: 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  l..$(TCLSH_CMD) 
eef0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 68  $(TOP)\tool\mksh
ef00: 65 6c 6c 63 2e 74 63 6c 20 3e 20 73 68 65 6c 6c  ellc.tcl > shell
ef10: 2e 63 0a 0a 7a 6c 69 62 3a 0a 09 70 75 73 68 64  .c..zlib:..pushd
ef20: 20 24 28 5a 4c 49 42 44 49 52 29 20 26 26 20 24   $(ZLIBDIR) && $
ef30: 28 4d 41 4b 45 29 20 2f 66 20 77 69 6e 33 32 5c  (MAKE) /f win32\
ef40: 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 63 6c 65  Makefile.msc cle
ef50: 61 6e 20 24 28 5a 4c 49 42 4c 49 42 29 20 26 26  an $(ZLIBLIB) &&
ef60: 20 70 6f 70 64 0a 0a 23 20 52 75 6c 65 73 20 74   popd..# Rules t
ef70: 6f 20 62 75 69 6c 64 20 74 68 65 20 65 78 74 65  o build the exte
ef80: 6e 73 69 6f 6e 20 6f 62 6a 65 63 74 73 2e 0a 23  nsion objects..#
ef90: 0a 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  .icu.lo:.$(TOP)\
efa0: 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 20 24 28  ext\icu\icu.c $(
efb0: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
efc0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
efd0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
efe0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
eff0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
f000: 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63 75  TOP)\ext\icu\icu
f010: 2e 63 0a 0a 66 74 73 32 2e 6c 6f 3a 09 24 28 54  .c..fts2.lo:.$(T
f020: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
f030: 32 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  2.c $(HDR) $(EXT
f040: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
f050: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
f060: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
f070: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
f080: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
f090: 74 73 32 5c 66 74 73 32 2e 63 0a 0a 66 74 73 32  ts2\fts2.c..fts2
f0a0: 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29  _hash.lo:.$(TOP)
f0b0: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68  \ext\fts2\fts2_h
f0c0: 61 73 68 2e 63 20 24 28 48 44 52 29 20 24 28 45  ash.c $(HDR) $(E
f0d0: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
f0e0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
f0f0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
f100: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
f110: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
f120: 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e  \fts2\fts2_hash.
f130: 63 0a 0a 66 74 73 32 5f 69 63 75 2e 6c 6f 3a 09  c..fts2_icu.lo:.
f140: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
f150: 66 74 73 32 5f 69 63 75 2e 63 20 24 28 48 44 52  fts2_icu.c $(HDR
f160: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
f170: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
f180: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
f190: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
f1a0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
f1b0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
f1c0: 69 63 75 2e 63 0a 0a 66 74 73 32 5f 70 6f 72 74  icu.c..fts2_port
f1d0: 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  er.lo:.$(TOP)\ex
f1e0: 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74  t\fts2\fts2_port
f1f0: 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  er.c $(HDR) $(EX
f200: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
f210: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
f220: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
f230: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
f240: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
f250: 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74 65 72  fts2\fts2_porter
f260: 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e 69 7a  .c..fts2_tokeniz
f270: 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  er.lo:.$(TOP)\ex
f280: 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65  t\fts2\fts2_toke
f290: 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20 24  nizer.c $(HDR) $
f2a0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
f2b0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
f2c0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
f2d0: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
f2e0: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
f2f0: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b  xt\fts2\fts2_tok
f300: 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 32 5f 74  enizer.c..fts2_t
f310: 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 28  okenizer1.lo:.$(
f320: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
f330: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20  s2_tokenizer1.c 
f340: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
f350: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
f360: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
f370: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
f380: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
f390: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
f3a0: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts2_tokenizer1.
f3b0: 63 0a 0a 66 74 73 33 2e 6c 6f 3a 09 24 28 54 4f  c..fts3.lo:.$(TO
f3c0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
f3d0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
f3e0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
f3f0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
f400: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
f410: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
f420: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
f430: 73 33 5c 66 74 73 33 2e 63 0a 0a 66 74 73 33 5f  s3\fts3.c..fts3_
f440: 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  aux.lo:.$(TOP)\e
f450: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 78  xt\fts3\fts3_aux
f460: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
f470: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
f480: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
f490: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
f4a0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
f4b0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
f4c0: 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 0a 0a 66  s3\fts3_aux.c..f
f4d0: 74 73 33 5f 65 78 70 72 2e 6c 6f 3a 09 24 28 54  ts3_expr.lo:.$(T
f4e0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f4f0: 33 5f 65 78 70 72 2e 63 20 24 28 48 44 52 29 20  3_expr.c $(HDR) 
f500: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
f510: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
f520: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
f530: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
f540: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
f550: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78  ext\fts3\fts3_ex
f560: 70 72 2e 63 0a 0a 66 74 73 33 5f 68 61 73 68 2e  pr.c..fts3_hash.
f570: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
f580: 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 63 20  ts3\fts3_hash.c 
f590: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
f5a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
f5b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
f5c0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
f5d0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
f5e0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
f5f0: 66 74 73 33 5f 68 61 73 68 2e 63 0a 0a 66 74 73  fts3_hash.c..fts
f600: 33 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29  3_icu.lo:.$(TOP)
f610: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69  \ext\fts3\fts3_i
f620: 63 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  cu.c $(HDR) $(EX
f630: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
f640: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
f650: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
f660: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
f670: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
f680: 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 0a  fts3\fts3_icu.c.
f690: 0a 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f  .fts3_snippet.lo
f6a0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
f6b0: 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63  3\fts3_snippet.c
f6c0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
f6d0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
f6e0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
f6f0: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
f700: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
f710: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
f720: 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 0a  \fts3_snippet.c.
f730: 0a 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f 3a  .fts3_porter.lo:
f740: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
f750: 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 20 24  \fts3_porter.c $
f760: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
f770: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
f780: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
f790: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
f7a0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
f7b0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
f7c0: 74 73 33 5f 70 6f 72 74 65 72 2e 63 0a 0a 66 74  ts3_porter.c..ft
f7d0: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a  s3_tokenizer.lo:
f7e0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
f7f0: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts3_tokenizer.
f800: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
f810: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
f820: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
f830: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
f840: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
f850: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
f860: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3\fts3_tokenizer
f870: 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  .c..fts3_tokeniz
f880: 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  er1.lo:.$(TOP)\e
f890: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
f8a0: 65 6e 69 7a 65 72 31 2e 63 20 24 28 48 44 52 29  enizer1.c $(HDR)
f8b0: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
f8c0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
f8d0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
f8e0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
f8f0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
f900: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
f910: 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66 74 73  okenizer1.c..fts
f920: 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e  3_tokenize_vtab.
f930: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
f940: 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  ts3\fts3_tokeniz
f950: 65 5f 76 74 61 62 2e 63 20 24 28 48 44 52 29 20  e_vtab.c $(HDR) 
f960: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
f970: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
f980: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
f990: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
f9a0: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
f9b0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
f9c0: 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 0a 0a 66  kenize_vtab.c..f
f9d0: 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 3a 09  ts3_unicode.lo:.
f9e0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
f9f0: 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20 24  fts3_unicode.c $
fa00: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
fa10: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
fa20: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
fa30: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
fa40: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
fa50: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
fa60: 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 0a 0a 66  ts3_unicode.c..f
fa70: 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f 3a  ts3_unicode2.lo:
fa80: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
fa90: 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63  \fts3_unicode2.c
faa0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
fab0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
fac0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
fad0: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
fae0: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
faf0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
fb00: 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63  \fts3_unicode2.c
fb10: 0a 0a 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f 3a  ..fts3_write.lo:
fb20: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
fb30: 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 20 24 28  \fts3_write.c $(
fb40: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
fb50: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
fb60: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
fb70: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
fb80: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
fb90: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
fba0: 73 33 5f 77 72 69 74 65 2e 63 0a 0a 6a 73 6f 6e  s3_write.c..json
fbb0: 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  1.lo:.$(TOP)\ext
fbc0: 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 20 24 28  \misc\json1.c $(
fbd0: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
fbe0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
fbf0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
fc00: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
fc10: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
fc20: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a 73  TOP)\ext\misc\js
fc30: 6f 6e 31 2e 63 0a 0a 73 74 6d 74 2e 6c 6f 3a 09  on1.c..stmt.lo:.
fc40: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
fc50: 73 74 6d 74 2e 63 20 24 28 48 44 52 29 20 24 28  stmt.c $(HDR) $(
fc60: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
fc70: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
fc80: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
fc90: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
fca0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
fcb0: 74 5c 6d 69 73 63 5c 73 74 6d 74 2e 63 0a 0a 72  t\misc\stmt.c..r
fcc0: 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  tree.lo:.$(TOP)\
fcd0: 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e  ext\rtree\rtree.
fce0: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
fcf0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
fd00: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
fd10: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
fd20: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
fd30: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72  c $(TOP)\ext\rtr
fd40: 65 65 5c 72 74 72 65 65 2e 63 0a 0a 73 71 6c 69  ee\rtree.c..sqli
fd50: 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 3a 09 24  te3session.lo:.$
fd60: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
fd70: 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  n\sqlite3session
fd80: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
fd90: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
fda0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
fdb0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
fdc0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
fdd0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65  -c $(TOP)\ext\se
fde0: 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73  ssion\sqlite3ses
fdf0: 73 69 6f 6e 2e 63 0a 0a 23 20 46 54 53 35 20 74  sion.c..# FTS5 t
fe00: 68 69 6e 67 73 0a 23 0a 46 54 53 35 5f 53 52 43  hings.#.FTS5_SRC
fe10: 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65   = \.   $(TOP)\e
fe20: 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 5c  xt\fts5\fts5.h \
fe30: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f
fe40: 74 73 35 5c 66 74 73 35 49 6e 74 2e 68 20 5c 0a  ts5\fts5Int.h \.
fe50: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
fe60: 73 35 5c 66 74 73 35 5f 61 75 78 2e 63 20 5c 0a  s5\fts5_aux.c \.
fe70: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
fe80: 73 35 5c 66 74 73 35 5f 62 75 66 66 65 72 2e 63  s5\fts5_buffer.c
fe90: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
fea0: 5c 66 74 73 35 5c 66 74 73 35 5f 6d 61 69 6e 2e  \fts5\fts5_main.
feb0: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex
fec0: 74 5c 66 74 73 35 5c 66 74 73 35 5f 63 6f 6e 66  t\fts5\fts5_conf
fed0: 69 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  ig.c \.   $(TOP)
fee0: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 65  \ext\fts5\fts5_e
fef0: 78 70 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  xpr.c \.   $(TOP
ff00: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
ff10: 68 61 73 68 2e 63 20 5c 0a 20 20 20 24 28 54 4f  hash.c \.   $(TO
ff20: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
ff30: 5f 69 6e 64 65 78 2e 63 20 5c 0a 20 20 20 66 74  _index.c \.   ft
ff40: 73 35 70 61 72 73 65 2e 63 20 66 74 73 35 70 61  s5parse.c fts5pa
ff50: 72 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  rse.h \.   $(TOP
ff60: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
ff70: 73 74 6f 72 61 67 65 2e 63 20 5c 0a 20 20 20 24  storage.c \.   $
ff80: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
ff90: 74 73 35 5f 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c  ts5_tokenize.c \
ffa0: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f
ffb0: 74 73 35 5c 66 74 73 35 5f 75 6e 69 63 6f 64 65  ts5\fts5_unicode
ffc0: 32 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  2.c \.   $(TOP)\
ffd0: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 76 61  ext\fts5\fts5_va
ffe0: 72 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f  rint.c \.   $(TO
fff0: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
10000 5f 76 6f 63 61 62 2e 63 0a 0a 4c 53 4d 31 5f 53  _vocab.c..LSM1_S
10010 52 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29  RC = \.   $(TOP)
10020 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e 68 20  \ext\lsm1\lsm.h 
10030 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
10040 6c 73 6d 31 5c 6c 73 6d 49 6e 74 2e 68 20 5c 0a  lsm1\lsmInt.h \.
10050 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls
10060 6d 31 5c 6c 73 6d 5f 63 6b 70 74 2e 63 20 5c 0a  m1\lsm_ckpt.c \.
10070 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls
10080 6d 31 5c 6c 73 6d 5f 66 69 6c 65 2e 63 20 5c 0a  m1\lsm_file.c \.
10090 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls
100a0 6d 31 5c 6c 73 6d 5f 6c 6f 67 2e 63 20 5c 0a 20  m1\lsm_log.c \. 
100b0 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
100c0 31 5c 6c 73 6d 5f 6d 61 69 6e 2e 63 20 5c 0a 20  1\lsm_main.c \. 
100d0 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
100e0 31 5c 6c 73 6d 5f 6d 65 6d 2e 63 20 5c 0a 20 20  1\lsm_mem.c \.  
100f0 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
10100 5c 6c 73 6d 5f 6d 75 74 65 78 2e 63 20 5c 0a 20  \lsm_mutex.c \. 
10110 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
10120 31 5c 6c 73 6d 5f 73 68 61 72 65 64 2e 63 20 5c  1\lsm_shared.c \
10130 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
10140 73 6d 31 5c 6c 73 6d 5f 73 6f 72 74 65 64 2e 63  sm1\lsm_sorted.c
10150 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
10160 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 74 72 2e 63 20  \lsm1\lsm_str.c 
10170 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
10180 6c 73 6d 31 5c 6c 73 6d 5f 74 72 65 65 2e 63 20  lsm1\lsm_tree.c 
10190 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
101a0 6c 73 6d 31 5c 6c 73 6d 5f 75 6e 69 78 2e 63 20  lsm1\lsm_unix.c 
101b0 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
101c0 6c 73 6d 31 5c 6c 73 6d 5f 76 61 72 69 6e 74 2e  lsm1\lsm_varint.
101d0 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex
101e0 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 76 74 61 62 2e  t\lsm1\lsm_vtab.
101f0 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex
10200 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 77 69 6e 33 32  t\lsm1\lsm_win32
10210 2e 63 0a 0a 66 74 73 35 70 61 72 73 65 2e 63 3a  .c..fts5parse.c:
10220 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35  .$(TOP)\ext\fts5
10230 5c 66 74 73 35 70 61 72 73 65 2e 79 20 6c 65 6d  \fts5parse.y lem
10240 6f 6e 2e 65 78 65 0a 09 63 6f 70 79 20 24 28 54  on.exe..copy $(T
10250 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
10260 35 70 61 72 73 65 2e 79 20 2e 0a 09 64 65 6c 20  5parse.y ...del 
10270 2f 51 20 66 74 73 35 70 61 72 73 65 2e 68 20 32  /Q fts5parse.h 2
10280 3e 4e 55 4c 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78  >NUL...\lemon.ex
10290 65 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f  e $(REQ_FEATURE_
102a0 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41  FLAGS) $(OPT_FEA
102b0 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58  TURE_FLAGS) $(EX
102c0 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
102d0 20 24 28 4f 50 54 53 29 20 66 74 73 35 70 61 72   $(OPTS) fts5par
102e0 73 65 2e 79 0a 0a 66 74 73 35 70 61 72 73 65 2e  se.y..fts5parse.
102f0 68 3a 09 66 74 73 35 70 61 72 73 65 2e 63 0a 0a  h:.fts5parse.c..
10300 66 74 73 35 2e 63 3a 09 24 28 46 54 53 35 5f 53  fts5.c:.$(FTS5_S
10310 52 43 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44  RC)..$(TCLSH_CMD
10320 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  ) $(TOP)\ext\fts
10330 35 5c 74 6f 6f 6c 5c 6d 6b 66 74 73 35 63 2e 74  5\tool\mkfts5c.t
10340 63 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c  cl..copy $(TOP)\
10350 65 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20  ext\fts5\fts5.h 
10360 2e 0a 0a 6c 73 6d 31 2e 63 3a 09 24 28 4c 53 4d  ...lsm1.c:.$(LSM
10370 31 5f 53 52 43 29 0a 09 24 28 54 43 4c 53 48 5f  1_SRC)..$(TCLSH_
10380 43 4d 44 29 20 24 28 54 4f 50 29 5c 65 78 74 5c  CMD) $(TOP)\ext\
10390 6c 73 6d 31 5c 74 6f 6f 6c 5c 6d 6b 6c 73 6d 31  lsm1\tool\mklsm1
103a0 63 2e 74 63 6c 0a 09 63 6f 70 79 20 24 28 54 4f  c.tcl..copy $(TO
103b0 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e  P)\ext\lsm1\lsm.
103c0 68 20 2e 0a 0a 66 74 73 35 2e 6c 6f 3a 09 66 74  h ...fts5.lo:.ft
103d0 73 35 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  s5.c $(HDR) $(EX
103e0 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
103f0 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
10400 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
10410 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
10420 45 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 73  E -c fts5.c..fts
10430 35 5f 65 78 74 2e 6c 6f 3a 09 66 74 73 35 2e 63  5_ext.lo:.fts5.c
10440 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
10450 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
10460 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 66 74  $(NO_WARN) -c ft
10470 73 35 2e 63 0a 0a 66 74 73 35 2e 64 6c 6c 3a 09  s5.c..fts5.dll:.
10480 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 09 24 28 4c  fts5_ext.lo..$(L
10490 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  D) $(LDFLAGS) $(
104a0 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54  LTLINKOPTS) $(LT
104b0 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f  LIBPATHS) /DLL /
104c0 4f 55 54 3a 24 40 20 66 74 73 35 5f 65 78 74 2e  OUT:$@ fts5_ext.
104d0 6c 6f 0a 0a 73 71 6c 69 74 65 33 72 62 75 2e 6c  lo..sqlite3rbu.l
104e0 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 62  o:.$(TOP)\ext\rb
104f0 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20 24  u\sqlite3rbu.c $
10500 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
10510 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44  .$(LTCOMPILE) -D
10520 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
10530 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71  (TOP)\ext\rbu\sq
10540 6c 69 74 65 33 72 62 75 2e 63 0a 0a 23 20 52 75  lite3rbu.c..# Ru
10550 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65  les to build the
10560 20 27 74 65 73 74 66 69 78 74 75 72 65 27 20 61   'testfixture' a
10570 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 23 0a 23 20  pplication..#.# 
10580 49 66 20 75 73 69 6e 67 20 74 68 65 20 61 6d 61  If using the ama
10590 6c 67 61 6d 61 74 69 6f 6e 2c 20 75 73 65 20 73  lgamation, use s
105a0 71 6c 69 74 65 33 2e 63 20 64 69 72 65 63 74 6c  qlite3.c directl
105b0 79 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 74  y to build the t
105c0 65 73 74 0a 23 20 66 69 78 74 75 72 65 2e 20 20  est.# fixture.  
105d0 4f 74 68 65 72 77 69 73 65 20 6c 69 6e 6b 20 61  Otherwise link a
105e0 67 61 69 6e 73 74 20 6c 69 62 73 71 6c 69 74 65  gainst libsqlite
105f0 33 2e 6c 69 62 2e 20 20 28 54 68 69 73 20 64 69  3.lib.  (This di
10600 73 74 69 6e 63 74 69 6f 6e 20 69 73 0a 23 20 6e  stinction is.# n
10610 65 63 65 73 73 61 72 79 20 62 65 63 61 75 73 65  ecessary because
10620 20 74 68 65 20 74 65 73 74 20 66 69 78 74 75 72   the test fixtur
10630 65 20 72 65 71 75 69 72 65 73 20 6e 6f 6e 2d 41  e requires non-A
10640 50 49 20 73 79 6d 62 6f 6c 73 20 77 68 69 63 68  PI symbols which
10650 20 61 72 65 0a 23 20 68 69 64 64 65 6e 20 77 68   are.# hidden wh
10660 65 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 69  en the library i
10670 73 20 62 75 69 6c 74 20 76 69 61 20 74 68 65 20  s built via the 
10680 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23  amalgamation)..#
10690 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  .TESTFIXTURE_FLA
106a0 47 53 20 3d 20 2d 44 54 43 4c 53 48 5f 49 4e 49  GS = -DTCLSH_INI
106b0 54 5f 50 52 4f 43 3d 73 71 6c 69 74 65 33 54 65  T_PROC=sqlite3Te
106c0 73 74 49 6e 69 74 20 2d 44 53 51 4c 49 54 45 5f  stInit -DSQLITE_
106d0 54 45 53 54 3d 31 20 2d 44 53 51 4c 49 54 45 5f  TEST=1 -DSQLITE_
106e0 43 52 41 53 48 5f 54 45 53 54 3d 31 0a 54 45 53  CRASH_TEST=1.TES
106f0 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d  TFIXTURE_FLAGS =
10700 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46   $(TESTFIXTURE_F
10710 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53  LAGS) -DSQLITE_S
10720 45 52 56 45 52 3d 31 20 2d 44 53 51 4c 49 54 45  ERVER=1 -DSQLITE
10730 5f 50 52 49 56 41 54 45 3d 22 22 0a 54 45 53 54  _PRIVATE="".TEST
10740 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FIXTURE_FLAGS = 
10750 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  $(TESTFIXTURE_FL
10760 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  AGS) -DSQLITE_CO
10770 52 45 20 24 28 4e 4f 5f 57 41 52 4e 29 0a 54 45  RE $(NO_WARN).TE
10780 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20  STFIXTURE_FLAGS 
10790 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  = $(TESTFIXTURE_
107a0 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
107b0 53 45 52 49 45 53 5f 43 4f 4e 53 54 52 41 49 4e  SERIES_CONSTRAIN
107c0 54 5f 56 45 52 49 46 59 3d 31 0a 54 45 53 54 46  T_VERIFY=1.TESTF
107d0 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  IXTURE_FLAGS = $
107e0 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  (TESTFIXTURE_FLA
107f0 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 44 45 46  GS) -DSQLITE_DEF
10800 41 55 4c 54 5f 50 41 47 45 5f 53 49 5a 45 3d 31  AULT_PAGE_SIZE=1
10810 30 32 34 0a 54 45 53 54 46 49 58 54 55 52 45 5f  024.TESTFIXTURE_
10820 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49  FLAGS = $(TESTFI
10830 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  XTURE_FLAGS) -DS
10840 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 4d  QLITE_ENABLE_STM
10850 54 56 54 41 42 3d 31 0a 54 45 53 54 46 49 58 54  TVTAB=1.TESTFIXT
10860 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45  URE_FLAGS = $(TE
10870 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29  STFIXTURE_FLAGS)
10880 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
10890 5f 44 42 50 41 47 45 5f 56 54 41 42 3d 31 0a 54  _DBPAGE_VTAB=1.T
108a0 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
108b0 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45   = $(TESTFIXTURE
108c0 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
108d0 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 3d 31 0a  _ENABLE_JSON1=1.
108e0 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
108f0 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52  S = $(TESTFIXTUR
10900 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
10910 45 5f 45 4e 41 42 4c 45 5f 44 45 53 45 52 49 41  E_ENABLE_DESERIA
10920 4c 49 5a 45 3d 31 0a 54 45 53 54 46 49 58 54 55  LIZE=1.TESTFIXTU
10930 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53  RE_FLAGS = $(TES
10940 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20  TFIXTURE_FLAGS) 
10950 24 28 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54  $(TEST_CCONV_OPT
10960 53 29 0a 0a 54 45 53 54 46 49 58 54 55 52 45 5f  S)..TESTFIXTURE_
10970 53 52 43 30 20 3d 20 24 28 54 45 53 54 45 58 54  SRC0 = $(TESTEXT
10980 29 20 24 28 54 45 53 54 53 52 43 32 29 0a 54 45  ) $(TESTSRC2).TE
10990 53 54 46 49 58 54 55 52 45 5f 53 52 43 31 20 3d  STFIXTURE_SRC1 =
109a0 20 24 28 54 45 53 54 45 58 54 29 20 24 28 53 51   $(TESTEXT) $(SQ
109b0 4c 49 54 45 33 43 29 0a 21 49 46 20 24 28 55 53  LITE3C).!IF $(US
109c0 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d  E_AMALGAMATION)=
109d0 3d 30 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53  =0.TESTFIXTURE_S
109e0 52 43 20 3d 20 24 28 54 45 53 54 53 52 43 29 20  RC = $(TESTSRC) 
109f0 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71  $(TOP)\src\tclsq
10a00 6c 69 74 65 2e 63 20 24 28 54 45 53 54 46 49 58  lite.c $(TESTFIX
10a10 54 55 52 45 5f 53 52 43 30 29 0a 21 45 4c 53 45  TURE_SRC0).!ELSE
10a20 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43  .TESTFIXTURE_SRC
10a30 20 3d 20 24 28 54 45 53 54 53 52 43 29 20 24 28   = $(TESTSRC) $(
10a40 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69  TOP)\src\tclsqli
10a50 74 65 2e 63 20 24 28 54 45 53 54 46 49 58 54 55  te.c $(TESTFIXTU
10a60 52 45 5f 53 52 43 31 29 0a 21 45 4e 44 49 46 0a  RE_SRC1).!ENDIF.
10a70 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41  .!IF $(USE_STDCA
10a80 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f  LL)!=0 || $(FOR_
10a90 57 49 4e 31 30 29 21 3d 30 0a 73 71 6c 69 74 65  WIN10)!=0.sqlite
10aa0 5f 74 63 6c 44 65 63 6c 73 2e 68 3a 0a 09 65 63  _tclDecls.h:..ec
10ab0 68 6f 20 23 69 66 6e 64 65 66 20 53 51 4c 49 54  ho #ifndef SQLIT
10ac0 45 5f 54 43 4c 41 50 49 20 3e 20 24 28 53 51 4c  E_TCLAPI > $(SQL
10ad0 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 65  ITETCLDECLSH)..e
10ae0 63 68 6f 20 23 20 20 64 65 66 69 6e 65 20 53 51  cho #  define SQ
10af0 4c 49 54 45 5f 54 43 4c 41 50 49 20 3e 3e 20 24  LITE_TCLAPI >> $
10b00 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48  (SQLITETCLDECLSH
10b10 29 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 20 3e  )..echo #endif >
10b20 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43  > $(SQLITETCLDEC
10b30 4c 53 48 29 0a 09 74 79 70 65 20 22 24 28 54 43  LSH)..type "$(TC
10b40 4c 49 4e 43 44 49 52 29 5c 74 63 6c 44 65 63 6c  LINCDIR)\tclDecl
10b50 73 2e 68 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c  s.h" \...| $(TCL
10b60 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
10b70 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20  ool\replace.tcl 
10b80 72 65 67 73 75 62 20 22 5e 28 45 58 54 45 52 4e  regsub "^(EXTERN
10b90 28 3f 3a 20 43 4f 4e 53 54 5c 64 2b 3f 29 3f 5c  (?: CONST\d+?)?\
10ba0 73 2b 3f 5b 5e 5c 28 5d 2a 3f 5c 73 2b 3f 29 54  s+?[^\(]*?\s+?)T
10bb0 63 6c 5f 22 20 22 5c 31 20 53 51 4c 49 54 45 5f  cl_" "\1 SQLITE_
10bc0 54 43 4c 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09  TCLAPI Tcl_" \..
10bd0 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  .| $(TCLSH_CMD) 
10be0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl
10bf0 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22  ace.tcl regsub "
10c00 5e 28 45 58 54 45 52 4e 5c 73 2b 3f 28 3f 3a 76  ^(EXTERN\s+?(?:v
10c10 6f 69 64 7c 56 4f 49 44 29 5c 73 2b 3f 29 54 63  oid|VOID)\s+?)Tc
10c20 6c 46 72 65 65 4f 62 6a 22 20 22 5c 31 20 53 51  lFreeObj" "\1 SQ
10c30 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c 46  LITE_TCLAPI TclF
10c40 72 65 65 4f 62 6a 22 20 5c 0a 09 09 7c 20 24 28  reeObj" \...| $(
10c50 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
10c60 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
10c70 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 74  cl regsub "\(\*t
10c80 63 6c 5f 22 20 22 28 53 51 4c 49 54 45 5f 54 43  cl_" "(SQLITE_TC
10c90 4c 41 50 49 20 2a 74 63 6c 5f 22 20 5c 0a 09 09  LAPI *tcl_" \...
10ca0 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
10cb0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
10cc0 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c  ce.tcl regsub "\
10cd0 28 5c 2a 74 63 6c 46 72 65 65 4f 62 6a 22 20 22  (\*tclFreeObj" "
10ce0 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a  (SQLITE_TCLAPI *
10cf0 74 63 6c 46 72 65 65 4f 62 6a 22 20 5c 0a 09 09  tclFreeObj" \...
10d00 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
10d10 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
10d20 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c  ce.tcl regsub "\
10d30 28 5c 2a 22 20 22 28 53 51 4c 49 54 45 5f 54 43  (\*" "(SQLITE_TC
10d40 4c 41 50 49 20 2a 22 20 3e 3e 20 24 28 53 51 4c  LAPI *" >> $(SQL
10d50 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 0a 73  ITETCLDECLSH)..s
10d60 71 6c 69 74 65 5f 74 63 6c 2e 68 3a 0a 09 74 79  qlite_tcl.h:..ty
10d70 70 65 20 22 24 28 54 43 4c 49 4e 43 44 49 52 29  pe "$(TCLINCDIR)
10d80 5c 74 63 6c 2e 68 22 20 7c 20 24 28 54 43 4c 53  \tcl.h" | $(TCLS
10d90 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
10da0 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65  ol\replace.tcl e
10db0 78 61 63 74 20 74 63 6c 44 65 63 6c 73 2e 68 20  xact tclDecls.h 
10dc0 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e  sqlite_tclDecls.
10dd0 68 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f  h \...| $(TCLSH_
10de0 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
10df0 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67  \replace.tcl reg
10e00 73 75 62 20 22 74 79 70 65 64 65 66 20 28 2e 2a  sub "typedef (.*
10e10 3f 29 5c 28 54 63 6c 5f 22 20 22 74 79 70 65 64  ?)\(Tcl_" "typed
10e20 65 66 20 5c 31 20 28 53 51 4c 49 54 45 5f 54 43  ef \1 (SQLITE_TC
10e30 4c 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09 09 7c  LAPI Tcl_" \...|
10e40 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD) $(
10e50 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
10e60 65 2e 74 63 6c 20 65 78 61 63 74 20 22 76 6f 69  e.tcl exact "voi
10e70 64 20 28 2a 66 72 65 65 50 72 6f 63 29 22 20 22  d (*freeProc)" "
10e80 76 6f 69 64 20 28 53 51 4c 49 54 45 5f 54 43 4c  void (SQLITE_TCL
10e90 41 50 49 20 2a 66 72 65 65 50 72 6f 63 29 22 20  API *freeProc)" 
10ea0 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM
10eb0 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r
10ec0 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74  eplace.tcl exact
10ed0 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20   "Tcl_HashEntry 
10ee0 2a 28 2a 66 69 6e 64 50 72 6f 63 29 22 20 22 54  *(*findProc)" "T
10ef0 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 53  cl_HashEntry *(S
10f00 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 69  QLITE_TCLAPI *fi
10f10 6e 64 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 24  ndProc)" \...| $
10f20 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
10f30 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
10f40 74 63 6c 20 65 78 61 63 74 20 22 54 63 6c 5f 48  tcl exact "Tcl_H
10f50 61 73 68 45 6e 74 72 79 20 2a 28 2a 63 72 65 61  ashEntry *(*crea
10f60 74 65 50 72 6f 63 29 22 20 22 54 63 6c 5f 48 61  teProc)" "Tcl_Ha
10f70 73 68 45 6e 74 72 79 20 2a 28 53 51 4c 49 54 45  shEntry *(SQLITE
10f80 5f 54 43 4c 41 50 49 20 2a 63 72 65 61 74 65 50  _TCLAPI *createP
10f90 72 6f 63 29 22 20 3e 3e 20 24 28 53 51 4c 49 54  roc)" >> $(SQLIT
10fa0 45 54 43 4c 48 29 0a 21 45 4e 44 49 46 0a 0a 74  ETCLH).!ENDIF..t
10fb0 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 3a 09  estfixture.exe:.
10fc0 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52  $(TESTFIXTURE_SR
10fd0 43 29 20 24 28 54 45 53 54 46 49 58 54 55 52 45  C) $(TESTFIXTURE
10fe0 5f 44 45 50 29 20 24 28 53 51 4c 49 54 45 33 48  _DEP) $(SQLITE3H
10ff0 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20  ) $(LIBRESOBJS) 
11000 24 28 48 44 52 29 20 24 28 53 51 4c 49 54 45 5f  $(HDR) $(SQLITE_
11010 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 4c 49  TCL_DEP)..$(LTLI
11020 4e 4b 29 20 2d 44 53 51 4c 49 54 45 5f 4e 4f 5f  NK) -DSQLITE_NO_
11030 53 59 4e 43 3d 31 20 24 28 54 45 53 54 46 49 58  SYNC=1 $(TESTFIX
11040 54 55 52 45 5f 46 4c 41 47 53 29 20 5c 0a 09 09  TURE_FLAGS) \...
11050 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d  -DBUILD_sqlite -
11060 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 5c 0a  I$(TCLINCDIR) \.
11070 09 09 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  ..$(TESTFIXTURE_
11080 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24  SRC) \.../link $
11090 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
110a0 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 42  NKOPTS) $(TCLLIB
110b0 50 41 54 48 53 29 20 24 28 4c 54 4c 49 42 50 41  PATHS) $(LTLIBPA
110c0 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a  THS) $(LIBRESOBJ
110d0 53 29 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28  S) $(TCLLIBS) $(
110e0 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29  LTLIBS) $(TLIBS)
110f0 0a 0a 65 78 74 65 6e 73 69 6f 6e 74 65 73 74 3a  ..extensiontest:
11100 09 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  .testfixture.exe
11110 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c   testloadext.dll
11120 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI
11130 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH
11140 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
11150 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test
11160 5c 6c 6f 61 64 65 78 74 2e 74 65 73 74 20 24 28  \loadext.test $(
11170 54 45 53 54 4f 50 54 53 29 0a 0a 63 6f 72 65 74  TESTOPTS)..coret
11180 65 73 74 70 72 6f 67 73 3a 09 24 28 54 45 53 54  estprogs:.$(TEST
11190 50 52 4f 47 53 29 0a 0a 74 65 73 74 70 72 6f 67  PROGS)..testprog
111a0 73 3a 09 63 6f 72 65 74 65 73 74 70 72 6f 67 73  s:.coretestprogs
111b0 20 73 72 63 63 6b 31 2e 65 78 65 20 66 75 7a 7a   srcck1.exe fuzz
111c0 63 68 65 63 6b 2e 65 78 65 20 73 65 73 73 69 6f  check.exe sessio
111d0 6e 66 75 7a 7a 2e 65 78 65 0a 0a 66 75 6c 6c 74  nfuzz.exe..fullt
111e0 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53  est:.$(TESTPROGS
111f0 29 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74  ) fuzztest..@set
11200 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41   PATH=$(LIBTCLPA
11210 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74  TH);$(PATH)...\t
11220 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24  estfixture.exe $
11230 28 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74  (TOP)\test\all.t
11240 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a  est $(TESTOPTS).
11250 0a 73 6f 61 6b 74 65 73 74 3a 09 24 28 54 45 53  .soaktest:.$(TES
11260 54 50 52 4f 47 53 29 0a 09 40 73 65 74 20 50 41  TPROGS)..@set PA
11270 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29  TH=$(LIBTCLPATH)
11280 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74  ;$(PATH)...\test
11290 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f  fixture.exe $(TO
112a0 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74  P)\test\all.test
112b0 20 2d 73 6f 61 6b 3d 31 20 24 28 54 45 53 54 4f   -soak=1 $(TESTO
112c0 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74 6f 6e  PTS)..fullteston
112d0 6c 79 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29  ly:.$(TESTPROGS)
112e0 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20   fuzztest..@set 
112f0 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54  PATH=$(LIBTCLPAT
11300 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65  H);$(PATH)...\te
11310 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28  stfixture.exe $(
11320 54 4f 50 29 5c 74 65 73 74 5c 66 75 6c 6c 2e 74  TOP)\test\full.t
11330 65 73 74 0a 0a 71 75 65 72 79 70 6c 61 6e 74 65  est..queryplante
11340 73 74 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e  st:.testfixture.
11350 65 78 65 20 73 68 65 6c 6c 0a 09 40 73 65 74 20  exe shell..@set 
11360 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54  PATH=$(LIBTCLPAT
11370 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65  H);$(PATH)...\te
11380 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28  stfixture.exe $(
11390 54 4f 50 29 5c 74 65 73 74 5c 70 65 72 6d 75 74  TOP)\test\permut
113a0 61 74 69 6f 6e 73 2e 74 65 73 74 20 71 75 65 72  ations.test quer
113b0 79 70 6c 61 6e 6e 65 72 20 24 28 54 45 53 54 4f  yplanner $(TESTO
113c0 50 54 53 29 0a 0a 66 75 7a 7a 74 65 73 74 3a 09  PTS)..fuzztest:.
113d0 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a 09 2e  fuzzcheck.exe...
113e0 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20 24  \fuzzcheck.exe $
113f0 28 46 55 5a 5a 44 41 54 41 29 0a 0a 66 61 73 74  (FUZZDATA)..fast
11400 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68  fuzztest:.fuzzch
11410 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63  eck.exe...\fuzzc
11420 68 65 63 6b 2e 65 78 65 20 2d 2d 6c 69 6d 69 74  heck.exe --limit
11430 2d 6d 65 6d 20 31 30 30 4d 20 24 28 46 55 5a 5a  -mem 100M $(FUZZ
11440 44 41 54 41 29 0a 0a 23 20 4d 69 6e 69 6d 61 6c  DATA)..# Minimal
11450 20 74 65 73 74 69 6e 67 20 74 68 61 74 20 72 75   testing that ru
11460 6e 73 20 69 6e 20 6c 65 73 73 20 74 68 61 6e 20  ns in less than 
11470 33 20 6d 69 6e 75 74 65 73 20 28 6f 6e 20 61 20  3 minutes (on a 
11480 66 61 73 74 20 6d 61 63 68 69 6e 65 29 0a 23 0a  fast machine).#.
11490 71 75 69 63 6b 74 65 73 74 3a 09 74 65 73 74 66  quicktest:.testf
114a0 69 78 74 75 72 65 2e 65 78 65 20 73 6f 75 72 63  ixture.exe sourc
114b0 65 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 48  etest..@set PATH
114c0 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24  =$(LIBTCLPATH);$
114d0 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69  (PATH)...\testfi
114e0 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29  xture.exe $(TOP)
114f0 5c 74 65 73 74 5c 65 78 74 72 61 71 75 69 63 6b  \test\extraquick
11500 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53  .test $(TESTOPTS
11510 29 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65  )..# This is the
11520 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 2e 20 20 52   common case.  R
11530 75 6e 20 6d 61 6e 79 20 74 65 73 74 73 20 74 68  un many tests th
11540 61 74 20 64 6f 20 6e 6f 74 20 74 61 6b 65 20 74  at do not take t
11550 6f 6f 20 6c 6f 6e 67 2c 0a 23 20 69 6e 63 6c 75  oo long,.# inclu
11560 64 69 6e 67 20 66 75 7a 7a 63 68 65 63 6b 2c 20  ding fuzzcheck, 
11570 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
11580 2c 20 61 6e 64 20 73 71 6c 64 69 66 66 20 74 65  , and sqldiff te
11590 73 74 73 2e 0a 23 0a 74 65 73 74 3a 09 24 28 54  sts..#.test:.$(T
115a0 45 53 54 50 52 4f 47 53 29 20 73 6f 75 72 63 65  ESTPROGS) source
115b0 74 65 73 74 20 66 61 73 74 66 75 7a 7a 74 65 73  test fastfuzztes
115c0 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c  t..@set PATH=$(L
115d0 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54  IBTCLPATH);$(PAT
115e0 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72  H)...\testfixtur
115f0 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73  e.exe $(TOP)\tes
11600 74 5c 76 65 72 79 71 75 69 63 6b 2e 74 65 73 74  t\veryquick.test
11610 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 6d   $(TESTOPTS)..sm
11620 6f 6b 65 74 65 73 74 3a 09 24 28 54 45 53 54 50  oketest:.$(TESTP
11630 52 4f 47 53 29 0a 09 40 73 65 74 20 50 41 54 48  ROGS)..@set PATH
11640 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24  =$(LIBTCLPATH);$
11650 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69  (PATH)...\testfi
11660 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29  xture.exe $(TOP)
11670 5c 74 65 73 74 5c 6d 61 69 6e 2e 74 65 73 74 20  \test\main.test 
11680 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 71 6c  $(TESTOPTS)..sql
11690 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 3a  ite3_analyzer.c:
116a0 09 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53  .$(SQLITE3C) $(S
116b0 51 4c 49 54 45 33 48 29 20 24 28 54 4f 50 29 5c  QLITE3H) $(TOP)\
116c0 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20  src\tclsqlite.c 
116d0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 61 63  $(TOP)\tool\spac
116e0 65 61 6e 61 6c 2e 74 63 6c 20 24 28 54 4f 50 29  eanal.tcl $(TOP)
116f0 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63  \tool\mkccode.tc
11700 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71  l $(TOP)\tool\sq
11710 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63  lite3_analyzer.c
11720 2e 69 6e 20 24 28 53 51 4c 49 54 45 5f 54 43 4c  .in $(SQLITE_TCL
11730 5f 44 45 50 29 0a 09 24 28 54 43 4c 53 48 5f 43  _DEP)..$(TCLSH_C
11740 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
11750 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f  mkccode.tcl $(TO
11760 50 29 5c 74 6f 6f 6c 5c 73 71 6c 69 74 65 33 5f  P)\tool\sqlite3_
11770 61 6e 61 6c 79 7a 65 72 2e 63 2e 69 6e 20 3e 20  analyzer.c.in > 
11780 24 40 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61 6c  $@..sqlite3_anal
11790 79 7a 65 72 2e 65 78 65 3a 09 73 71 6c 69 74 65  yzer.exe:.sqlite
117a0 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 24 28 4c  3_analyzer.c $(L
117b0 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54  IBRESOBJS)..$(LT
117c0 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
117d0 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20   -DBUILD_sqlite 
117e0 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 73  -I$(TCLINCDIR) s
117f0 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
11800 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44  c \.../link $(LD
11810 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
11820 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54  PTS) $(TCLLIBPAT
11830 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53  HS) $(LTLIBPATHS
11840 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20  ) $(LIBRESOBJS) 
11850 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c  $(TCLLIBS) $(LTL
11860 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 73  IBS) $(TLIBS)..s
11870 71 6c 74 63 6c 73 68 2e 63 3a 20 73 71 6c 69 74  qltclsh.c: sqlit
11880 65 33 2e 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  e3.c $(TOP)\src\
11890 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 4f  tclsqlite.c $(TO
118a0 50 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68  P)\tool\sqltclsh
118b0 2e 74 63 6c 20 24 28 54 4f 50 29 5c 65 78 74 5c  .tcl $(TOP)\ext\
118c0 6d 69 73 63 5c 61 70 70 65 6e 64 76 66 73 2e 63  misc\appendvfs.c
118d0 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63   $(TOP)\tool\mkc
118e0 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c  code.tcl $(TOP)\
118f0 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e 63 2e  tool\sqltclsh.c.
11900 69 6e 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  in..$(TCLSH_CMD)
11910 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63   $(TOP)\tool\mkc
11920 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c  code.tcl $(TOP)\
11930 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e 63 2e  tool\sqltclsh.c.
11940 69 6e 20 3e 73 71 6c 74 63 6c 73 68 2e 63 0a 0a  in >sqltclsh.c..
11950 73 71 6c 74 63 6c 73 68 2e 65 78 65 3a 20 73 71  sqltclsh.exe: sq
11960 6c 74 63 6c 73 68 2e 63 20 20 24 28 53 48 45 4c  ltclsh.c  $(SHEL
11970 4c 5f 43 4f 52 45 5f 44 45 50 29 20 24 28 4c 49  L_CORE_DEP) $(LI
11980 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c  BRESOBJS)..$(LTL
11990 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
119a0 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d  -DBUILD_sqlite -
119b0 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 73 71  I$(TCLINCDIR) sq
119c0 6c 74 63 6c 73 68 2e 63 20 5c 0a 09 09 2f 6c 69  ltclsh.c \.../li
119d0 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
119e0 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43  LTLINKOPTS) $(TC
119f0 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c  LLIBPATHS) $(LTL
11a00 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45  IBPATHS) $(LIBRE
11a10 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53  SOBJS) $(TCLLIBS
11a20 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c  ) $(LTLIBS) $(TL
11a30 49 42 53 29 0a 0a 73 71 6c 69 74 65 33 5f 65 78  IBS)..sqlite3_ex
11a40 70 65 72 74 2e 65 78 65 3a 20 24 28 53 51 4c 49  pert.exe: $(SQLI
11a50 54 45 33 43 29 20 24 28 54 4f 50 29 5c 65 78 74  TE3C) $(TOP)\ext
11a60 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65  \expert\sqlite3e
11a70 78 70 65 72 74 2e 68 20 24 28 54 4f 50 29 5c 65  xpert.h $(TOP)\e
11a80 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65  xt\expert\sqlite
11a90 33 65 78 70 65 72 74 2e 63 20 24 28 54 4f 50 29  3expert.c $(TOP)
11aa0 5c 65 78 74 5c 65 78 70 65 72 74 5c 65 78 70 65  \ext\expert\expe
11ab0 72 74 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  rt.c..$(LTLINK) 
11ac0 24 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f 50  $(NO_WARN).$(TOP
11ad0 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c  )\ext\expert\sql
11ae0 69 74 65 33 65 78 70 65 72 74 2e 63 20 24 28 54  ite3expert.c $(T
11af0 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 65  OP)\ext\expert\e
11b00 78 70 65 72 74 2e 63 20 24 28 53 51 4c 49 54 45  xpert.c $(SQLITE
11b10 33 43 29 20 24 28 54 4c 49 42 53 29 0a 0a 43 48  3C) $(TLIBS)..CH
11b20 45 43 4b 45 52 5f 44 45 50 53 20 3d 5c 0a 20 20  ECKER_DEPS =\.  
11b30 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6d 6b 63 63  $(TOP)/tool/mkcc
11b40 6f 64 65 2e 74 63 6c 20 5c 0a 20 20 73 71 6c 69  ode.tcl \.  sqli
11b50 74 65 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  te3.c \.  $(TOP)
11b60 2f 73 72 63 2f 74 63 6c 73 71 6c 69 74 65 2e 63  /src/tclsqlite.c
11b70 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f   \.  $(TOP)/ext/
11b80 72 65 70 61 69 72 2f 73 71 6c 69 74 65 33 5f 63  repair/sqlite3_c
11b90 68 65 63 6b 65 72 2e 74 63 6c 20 5c 0a 20 20 24  hecker.tcl \.  $
11ba0 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61 69 72  (TOP)/ext/repair
11bb0 2f 63 68 65 63 6b 69 6e 64 65 78 2e 63 20 5c 0a  /checkindex.c \.
11bc0 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70    $(TOP)/ext/rep
11bd0 61 69 72 2f 63 68 65 63 6b 66 72 65 65 6c 69 73  air/checkfreelis
11be0 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65  t.c \.  $(TOP)/e
11bf0 78 74 2f 6d 69 73 63 2f 62 74 72 65 65 69 6e 66  xt/misc/btreeinf
11c00 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65  o.c \.  $(TOP)/e
11c10 78 74 2f 72 65 70 61 69 72 2f 73 71 6c 69 74 65  xt/repair/sqlite
11c20 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69 6e 0a 0a  3_checker.c.in..
11c30 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e  sqlite3_checker.
11c40 63 3a 09 24 28 43 48 45 43 4b 45 52 5f 44 45 50  c:.$(CHECKER_DEP
11c50 53 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  S)..$(TCLSH_CMD)
11c60 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63   $(TOP)\tool\mkc
11c70 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c  code.tcl $(TOP)\
11c80 65 78 74 5c 72 65 70 61 69 72 5c 73 71 6c 69 74  ext\repair\sqlit
11c90 65 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69 6e 20  e3_checker.c.in 
11ca0 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f 63 68  > $@..sqlite3_ch
11cb0 65 63 6b 65 72 2e 65 78 65 3a 09 73 71 6c 69 74  ecker.exe:.sqlit
11cc0 65 33 5f 63 68 65 63 6b 65 72 2e 63 20 24 28 4c  e3_checker.c $(L
11cd0 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54  IBRESOBJS)..$(LT
11ce0 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
11cf0 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20   -DBUILD_sqlite 
11d00 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 73  -I$(TCLINCDIR) s
11d10 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63  qlite3_checker.c
11d20 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46   \.../link $(LDF
11d30 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
11d40 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48  TS) $(TCLLIBPATH
11d50 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29  S) $(LTLIBPATHS)
11d60 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS) $
11d70 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49  (TCLLIBS) $(LTLI
11d80 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 64 62  BS) $(TLIBS)..db
11d90 64 75 6d 70 2e 65 78 65 3a 09 24 28 54 4f 50 29  dump.exe:.$(TOP)
11da0 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64 75 6d 70  \ext\misc\dbdump
11db0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
11dc0 28 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42  (SQLITE3H) $(LIB
11dd0 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49  RESOBJS)..$(LTLI
11de0 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) -
11df0 44 44 42 44 55 4d 50 5f 53 54 41 4e 44 41 4c 4f  DDBDUMP_STANDALO
11e00 4e 45 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  NE $(TOP)\ext\mi
11e10 73 63 5c 64 62 64 75 6d 70 2e 63 20 24 28 53 51  sc\dbdump.c $(SQ
11e20 4c 49 54 45 33 43 29 20 5c 0a 09 09 2f 6c 69 6e  LITE3C) \.../lin
11e30 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
11e40 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c  TLINKOPTS) $(LTL
11e50 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45  IBPATHS) $(LIBRE
11e60 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29  SOBJS) $(LTLIBS)
11e70 0a 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f  ..testloadext.lo
11e80 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73  :.$(TOP)\src\tes
11e90 74 5f 6c 6f 61 64 65 78 74 2e 63 20 24 28 53 51  t_loadext.c $(SQ
11ea0 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 43 4f 4d  LITE3H)..$(LTCOM
11eb0 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29  PILE) $(NO_WARN)
11ec0 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74   -c $(TOP)\src\t
11ed0 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63 0a 0a 74  est_loadext.c..t
11ee0 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 3a 09  estloadext.dll:.
11ef0 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a 09  testloadext.lo..
11f00 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29  $(LD) $(LDFLAGS)
11f10 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24   $(LTLINKOPTS) $
11f20 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c  (LTLIBPATHS) /DL
11f30 4c 20 2f 4f 55 54 3a 24 40 20 74 65 73 74 6c 6f  L /OUT:$@ testlo
11f40 61 64 65 78 74 2e 6c 6f 0a 0a 64 62 74 6f 74 78  adext.lo..dbtotx
11f50 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  t.exe:.$(TOP)\to
11f60 6f 6c 5c 64 62 74 6f 74 78 74 2e 63 0a 09 24 28  ol\dbtotxt.c..$(
11f70 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
11f80 4e 29 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64  N).$(TOP)\tool\d
11f90 62 74 6f 74 78 74 2e 63 20 2f 6c 69 6e 6b 20 24  btotxt.c /link $
11fa0 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
11fb0 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 64 62 2e  NKOPTS)..showdb.
11fc0 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool
11fd0 5c 73 68 6f 77 64 62 2e 63 20 24 28 53 51 4c 49  \showdb.c $(SQLI
11fe0 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
11ff0 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
12000 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
12010 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
12020 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
12030 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$
12040 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64  (TOP)\tool\showd
12050 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  b.c $(SQLITE3C) 
12060 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
12070 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
12080 73 68 6f 77 73 74 61 74 34 2e 65 78 65 3a 09 24  showstat4.exe:.$
12090 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73  (TOP)\tool\shows
120a0 74 61 74 34 2e 63 20 24 28 53 51 4c 49 54 45 33  tat4.c $(SQLITE3
120b0 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
120c0 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
120d0 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
120e0 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
120f0 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
12100 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f  TENSION \...$(TO
12110 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 74 61 74  P)\tool\showstat
12120 34 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  4.c $(SQLITE3C) 
12130 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
12140 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
12150 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 3a  showjournal.exe:
12160 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f  .$(TOP)\tool\sho
12170 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c  wjournal.c $(SQL
12180 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
12190 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
121a0 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
121b0 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d  E_THREADSAFE=0 -
121c0 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41  DSQLITE_OMIT_LOA
121d0 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09  D_EXTENSION \...
121e0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show
121f0 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c 49  journal.c $(SQLI
12200 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
12210 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
12220 50 54 53 29 0a 0a 73 68 6f 77 77 61 6c 2e 65 78  PTS)..showwal.ex
12230 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  e:.$(TOP)\tool\s
12240 68 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c 49 54  howwal.c $(SQLIT
12250 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
12260 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
12270 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
12280 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
12290 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
122a0 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28  EXTENSION \...$(
122b0 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61  TOP)\tool\showwa
122c0 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  l.c $(SQLITE3C) 
122d0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
122e0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
122f0 73 68 6f 77 73 68 6d 2e 65 78 65 3a 09 24 28 54  showshm.exe:.$(T
12300 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 68 6d  OP)\tool\showshm
12310 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  .c..$(LTLINK) $(
12320 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f 50 29 5c  NO_WARN).$(TOP)\
12330 74 6f 6f 6c 5c 73 68 6f 77 73 68 6d 2e 63 20 2f  tool\showshm.c /
12340 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
12350 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 69  $(LTLINKOPTS)..i
12360 6e 64 65 78 5f 75 73 61 67 65 2e 65 78 65 3a 20  ndex_usage.exe: 
12370 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 69 6e 64 65  $(TOP)\tool\inde
12380 78 5f 75 73 61 67 65 2e 63 20 24 28 53 51 4c 49  x_usage.c $(SQLI
12390 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
123a0 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
123b0 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
123c0 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
123d0 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
123e0 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$
123f0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 69 6e 64 65 78  (TOP)\tool\index
12400 5f 75 73 61 67 65 2e 63 20 24 28 53 51 4c 49 54  _usage.c $(SQLIT
12410 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
12420 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
12430 54 53 29 0a 0a 63 68 61 6e 67 65 73 65 74 2e 65  TS)..changeset.e
12440 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 73  xe:.$(TOP)\ext\s
12450 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74  ession\changeset
12460 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
12470 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
12480 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
12490 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
124a0 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
124b0 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  OMIT_LOAD_EXTENS
124c0 49 4f 4e 20 5c 0a 09 09 2d 44 53 51 4c 49 54 45  ION \...-DSQLITE
124d0 5f 45 4e 41 42 4c 45 5f 53 45 53 53 49 4f 4e 3d  _ENABLE_SESSION=
124e0 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  1 -DSQLITE_ENABL
124f0 45 5f 50 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b  E_PREUPDATE_HOOK
12500 3d 31 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78  =1 \...$(TOP)\ex
12510 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65  t\session\change
12520 73 65 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  set.c $(SQLITE3C
12530 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
12540 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
12550 0a 0a 63 68 61 6e 67 65 73 65 74 66 75 7a 7a 2e  ..changesetfuzz.
12560 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  exe:.$(TOP)\ext\
12570 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65  session\changese
12580 74 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45  tfuzz.c $(SQLITE
12590 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
125a0 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
125b0 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54  WARN) -DSQLITE_T
125c0 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51  HREADSAFE=0 -DSQ
125d0 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45  LITE_OMIT_LOAD_E
125e0 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 2d 44 53  XTENSION \...-DS
125f0 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 53  QLITE_ENABLE_SES
12600 53 49 4f 4e 3d 31 20 2d 44 53 51 4c 49 54 45 5f  SION=1 -DSQLITE_
12610 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45  ENABLE_PREUPDATE
12620 5f 48 4f 4f 4b 3d 31 20 5c 0a 09 09 24 28 54 4f  _HOOK=1 \...$(TO
12630 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 63  P)\ext\session\c
12640 68 61 6e 67 65 73 65 74 66 75 7a 7a 2e 63 20 24  hangesetfuzz.c $
12650 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
12660 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
12670 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 74 73 33 76  LINKOPTS)..fts3v
12680 69 65 77 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  iew.exe:.$(TOP)\
12690 65 78 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 74  ext\fts3\tool\ft
126a0 73 33 76 69 65 77 2e 63 20 24 28 53 51 4c 49 54  s3view.c $(SQLIT
126b0 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
126c0 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
126d0 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
126e0 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
126f0 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
12700 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28  EXTENSION \...$(
12710 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f  TOP)\ext\fts3\to
12720 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63 20 24 28  ol\fts3view.c $(
12730 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
12740 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
12750 49 4e 4b 4f 50 54 53 29 0a 0a 72 6f 6c 6c 62 61  INKOPTS)..rollba
12760 63 6b 2d 74 65 73 74 2e 65 78 65 3a 09 24 28 54  ck-test.exe:.$(T
12770 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63  OP)\tool\rollbac
12780 6b 2d 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54  k-test.c $(SQLIT
12790 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
127a0 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
127b0 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
127c0 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
127d0 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
127e0 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28  EXTENSION \...$(
127f0 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61  TOP)\tool\rollba
12800 63 6b 2d 74 65 73 74 2e 63 20 24 28 53 51 4c 49  ck-test.c $(SQLI
12810 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
12820 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
12830 50 54 53 29 0a 0a 61 74 72 63 2e 65 78 65 3a 09  PTS)..atrc.exe:.
12840 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 74 72 63  $(TOP)\test\atrc
12850 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
12860 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
12870 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
12880 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
12890 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
128a0 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  OMIT_LOAD_EXTENS
128b0 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74  ION \...$(TOP)\t
128c0 65 73 74 5c 61 74 72 63 2e 63 20 24 28 53 51 4c  est\atrc.c $(SQL
128d0 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
128e0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
128f0 4f 50 54 53 29 0a 0a 4c 6f 67 45 73 74 2e 65 78  OPTS)..LogEst.ex
12900 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c  e:.$(TOP)\tool\l
12910 6f 67 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45  ogest.c $(SQLITE
12920 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
12930 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50 29  (NO_WARN) $(TOP)
12940 5c 74 6f 6f 6c 5c 4c 6f 67 45 73 74 2e 63 20 2f  \tool\LogEst.c /
12950 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
12960 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 77  $(LTLINKOPTS)..w
12970 6f 72 64 63 6f 75 6e 74 2e 65 78 65 3a 09 24 28  ordcount.exe:.$(
12980 54 4f 50 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f  TOP)\test\wordco
12990 75 6e 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  unt.c $(SQLITE3C
129a0 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
129b0 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
129c0 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  RN) -DSQLITE_THR
129d0 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49  EADSAFE=0 -DSQLI
129e0 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
129f0 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50  ENSION \...$(TOP
12a00 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74  )\test\wordcount
12a10 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
12a20 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
12a30 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73  $(LTLINKOPTS)..s
12a40 70 65 65 64 74 65 73 74 31 2e 65 78 65 3a 09 24  peedtest1.exe:.$
12a50 28 54 4f 50 29 5c 74 65 73 74 5c 73 70 65 65 64  (TOP)\test\speed
12a60 74 65 73 74 31 2e 63 20 24 28 53 51 4c 49 54 45  test1.c $(SQLITE
12a70 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
12a80 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
12a90 57 41 52 4e 29 20 24 28 53 54 5f 43 4f 4d 50 49  WARN) $(ST_COMPI
12aa0 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54  LE_OPTS) -DSQLIT
12ab0 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45  E_OMIT_LOAD_EXTE
12ac0 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29  NSION \...$(TOP)
12ad0 5c 74 65 73 74 5c 73 70 65 65 64 74 65 73 74 31  \test\speedtest1
12ae0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
12af0 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
12b00 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6b  $(LTLINKOPTS)..k
12b10 76 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f 50  vtest.exe:.$(TOP
12b20 29 5c 74 65 73 74 5c 6b 76 74 65 73 74 2e 63 20  )\test\kvtest.c 
12b30 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
12b40 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
12b50 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28  K) $(NO_WARN) $(
12b60 4b 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  KV_COMPILE_OPTS)
12b70 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 74   \...$(TOP)\test
12b80 5c 6b 76 74 65 73 74 2e 63 20 24 28 53 51 4c 49  \kvtest.c $(SQLI
12b90 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
12ba0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
12bb0 50 54 53 29 0a 0a 72 62 75 2e 65 78 65 3a 09 24  PTS)..rbu.exe:.$
12bc0 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72 62  (TOP)\ext\rbu\rb
12bd0 75 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  u.c $(TOP)\ext\r
12be0 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20  bu\sqlite3rbu.c 
12bf0 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
12c00 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
12c10 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
12c20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52 42  SQLITE_ENABLE_RB
12c30 55 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74  U \...$(TOP)\ext
12c40 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 53 51 4c  \rbu\rbu.c $(SQL
12c50 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
12c60 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
12c70 4f 50 54 53 29 0a 0a 4c 53 4d 44 49 52 3d 24 28  OPTS)..LSMDIR=$(
12c80 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 0a 21 49  TOP)\ext\lsm1.!I
12c90 4e 43 4c 55 44 45 20 24 28 4c 53 4d 44 49 52 29  NCLUDE $(LSMDIR)
12ca0 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 0a 0a 6d  \Makefile.msc..m
12cb0 6f 72 65 63 6c 65 61 6e 3a 09 63 6c 65 61 6e 0a  oreclean:.clean.
12cc0 09 64 65 6c 20 2f 51 20 24 28 53 51 4c 49 54 45  .del /Q $(SQLITE
12cd0 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 20  3C) $(SQLITE3H) 
12ce0 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  2>NUL.# <</mark>
12cf0 3e 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65 6c 20 2f  >..clean:..del /
12d00 51 20 2a 2e 65 78 70 20 2a 2e 6c 6f 20 2a 2e 69  Q *.exp *.lo *.i
12d10 6c 6b 20 2a 2e 6c 69 62 20 2a 2e 6f 62 6a 20 2a  lk *.lib *.obj *
12d20 2e 6e 63 62 20 2a 2e 70 64 62 20 2a 2e 73 64 66  .ncb *.pdb *.sdf
12d30 20 2a 2e 73 75 6f 20 32 3e 4e 55 4c 0a 09 64 65   *.suo 2>NUL..de
12d40 6c 20 2f 51 20 2a 2e 62 73 63 20 2a 2e 64 65 66  l /Q *.bsc *.def
12d50 20 2a 2e 63 6f 64 20 2a 2e 64 61 20 2a 2e 62 62   *.cod *.da *.bb
12d60 20 2a 2e 62 62 67 20 2a 2e 76 63 20 67 6d 6f 6e   *.bbg *.vc gmon
12d70 2e 6f 75 74 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .out 2>NUL..del 
12d80 2f 51 20 24 28 53 51 4c 49 54 45 33 45 58 45 29  /Q $(SQLITE3EXE)
12d90 20 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 20 52   $(SQLITE3DLL) R
12da0 65 70 6c 61 63 65 2e 65 78 65 20 32 3e 4e 55 4c  eplace.exe 2>NUL
12db0 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 09 64 65 6c  .# <<mark>>..del
12dc0 20 2f 51 20 6f 70 63 6f 64 65 73 2e 63 20 6f 70   /Q opcodes.c op
12dd0 63 6f 64 65 73 2e 68 20 32 3e 4e 55 4c 0a 09 64  codes.h 2>NUL..d
12de0 65 6c 20 2f 51 20 6c 65 6d 6f 6e 2e 2a 20 6c 65  el /Q lemon.* le
12df0 6d 70 61 72 2e 63 20 70 61 72 73 65 2e 2a 20 32  mpar.c parse.* 2
12e00 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6d 6b 73  >NUL..del /Q mks
12e10 6f 75 72 63 65 69 64 2e 2a 20 6d 6b 6b 65 79 77  ourceid.* mkkeyw
12e20 6f 72 64 68 61 73 68 2e 2a 20 6b 65 79 77 6f 72  ordhash.* keywor
12e30 64 68 61 73 68 2e 68 20 32 3e 4e 55 4c 0a 09 64  dhash.h 2>NUL..d
12e40 65 6c 20 2f 51 20 6e 6f 74 61 73 68 61 72 65 64  el /Q notashared
12e50 6c 69 62 2e 2a 20 32 3e 4e 55 4c 0a 09 2d 72 6d  lib.* 2>NUL..-rm
12e60 64 69 72 20 2f 51 2f 53 20 2e 64 65 70 73 20 32  dir /Q/S .deps 2
12e70 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f  >NUL..-rmdir /Q/
12e80 53 20 2e 6c 69 62 73 20 32 3e 4e 55 4c 0a 09 2d  S .libs 2>NUL..-
12e90 72 6d 64 69 72 20 2f 51 2f 53 20 74 73 72 63 20  rmdir /Q/S tsrc 
12ea0 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2e 74  2>NUL..del /Q .t
12eb0 61 72 67 65 74 5f 73 6f 75 72 63 65 20 32 3e 4e  arget_source 2>N
12ec0 55 4c 0a 09 64 65 6c 20 2f 51 20 74 63 6c 73 71  UL..del /Q tclsq
12ed0 6c 69 74 65 33 2e 65 78 65 20 24 28 53 51 4c 49  lite3.exe $(SQLI
12ee0 54 45 54 43 4c 48 29 20 24 28 53 51 4c 49 54 45  TETCLH) $(SQLITE
12ef0 54 43 4c 44 45 43 4c 53 48 29 20 32 3e 4e 55 4c  TCLDECLSH) 2>NUL
12f00 0a 09 64 65 6c 20 2f 51 20 6c 73 6d 2e 64 6c 6c  ..del /Q lsm.dll
12f10 20 6c 73 6d 74 65 73 74 2e 65 78 65 20 32 3e 4e   lsmtest.exe 2>N
12f20 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 74 6c  UL..del /Q testl
12f30 6f 61 64 65 78 74 2e 64 6c 6c 20 32 3e 4e 55 4c  oadext.dll 2>NUL
12f40 0a 09 64 65 6c 20 2f 51 20 74 65 73 74 66 69 78  ..del /Q testfix
12f50 74 75 72 65 2e 65 78 65 20 74 65 73 74 2e 64 62  ture.exe test.db
12f60 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 4c   2>NUL..del /Q L
12f70 6f 67 45 73 74 2e 65 78 65 20 66 74 73 33 76 69  ogEst.exe fts3vi
12f80 65 77 2e 65 78 65 20 72 6f 6c 6c 62 61 63 6b 2d  ew.exe rollback-
12f90 74 65 73 74 2e 65 78 65 20 73 68 6f 77 64 62 2e  test.exe showdb.
12fa0 65 78 65 20 64 62 64 75 6d 70 2e 65 78 65 20 32  exe dbdump.exe 2
12fb0 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 63 68 61  >NUL..del /Q cha
12fc0 6e 67 65 73 65 74 2e 65 78 65 20 32 3e 4e 55 4c  ngeset.exe 2>NUL
12fd0 0a 09 64 65 6c 20 2f 51 20 73 68 6f 77 6a 6f 75  ..del /Q showjou
12fe0 72 6e 61 6c 2e 65 78 65 20 73 68 6f 77 73 74 61  rnal.exe showsta
12ff0 74 34 2e 65 78 65 20 73 68 6f 77 77 61 6c 2e 65  t4.exe showwal.e
13000 78 65 20 73 70 65 65 64 74 65 73 74 31 2e 65 78  xe speedtest1.ex
13010 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q 
13020 6d 70 74 65 73 74 65 72 2e 65 78 65 20 77 6f 72  mptester.exe wor
13030 64 63 6f 75 6e 74 2e 65 78 65 20 72 62 75 2e 65  dcount.exe rbu.e
13040 78 65 20 73 72 63 63 6b 31 2e 65 78 65 20 32 3e  xe srcck1.exe 2>
13050 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69  NUL..del /Q sqli
13060 74 65 33 2e 63 20 73 71 6c 69 74 65 33 2d 2a 2e  te3.c sqlite3-*.
13070 63 20 73 71 6c 69 74 65 33 2e 68 20 32 3e 4e 55  c sqlite3.h 2>NU
13080 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65  L..del /Q sqlite
13090 33 72 63 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c  3rc.h 2>NUL..del
130a0 20 2f 51 20 73 68 65 6c 6c 2e 63 20 73 71 6c 69   /Q shell.c sqli
130b0 74 65 33 65 78 74 2e 68 20 73 71 6c 69 74 65 33  te3ext.h sqlite3
130c0 73 65 73 73 69 6f 6e 2e 68 20 32 3e 4e 55 4c 0a  session.h 2>NUL.
130d0 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 5f  .del /Q sqlite3_
130e0 61 6e 61 6c 79 7a 65 72 2e 65 78 65 20 73 71 6c  analyzer.exe sql
130f0 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20  ite3_analyzer.c 
13100 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71  2>NUL..del /Q sq
13110 6c 69 74 65 2d 2a 2d 6f 75 74 70 75 74 2e 76 73  lite-*-output.vs
13120 69 78 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  ix 2>NUL..del /Q
13130 20 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65 78 65   fuzzershell.exe
13140 20 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20 73   fuzzcheck.exe s
13150 71 6c 64 69 66 66 2e 65 78 65 20 64 62 68 61 73  qldiff.exe dbhas
13160 68 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c  h.exe 2>NUL..del
13170 20 2f 51 20 73 71 6c 74 63 6c 73 68 2e 2a 20 32   /Q sqltclsh.* 2
13180 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 64 62 66  >NUL..del /Q dbf
13190 75 7a 7a 2e 65 78 65 20 73 65 73 73 69 6f 6e 66  uzz.exe sessionf
131a0 75 7a 7a 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  uzz.exe 2>NUL..d
131b0 65 6c 20 2f 51 20 6b 76 74 65 73 74 2e 65 78 65  el /Q kvtest.exe
131c0 20 6f 73 73 73 68 65 6c 6c 2e 65 78 65 20 73 63   ossshell.exe sc
131d0 72 75 62 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  rub.exe 2>NUL..d
131e0 65 6c 20 2f 51 20 73 68 6f 77 73 68 6d 2e 65 78  el /Q showshm.ex
131f0 65 20 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65  e sqlite3_checke
13200 72 2e 2a 20 73 71 6c 69 74 65 33 5f 65 78 70 65  r.* sqlite3_expe
13210 72 74 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65  rt.exe 2>NUL..de
13220 6c 20 2f 51 20 66 74 73 35 2e 2a 20 66 74 73 35  l /Q fts5.* fts5
13230 70 61 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a 09 64  parse.* 2>NUL..d
13240 65 6c 20 2f 51 20 6c 73 6d 2e 68 20 6c 73 6d 31  el /Q lsm.h lsm1
13250 2e 63 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61  .c 2>NUL.# <</ma
13260 72 6b 3e 3e 0a                                   rk>>.