/ Hex Artifact Content
Login

Artifact dd141c2646a46b10ccfed9a7a1613dbf206af0dcac0c3b91ffb5cbaa5deb2cfc:


0000: 23 0a 23 20 6e 6d 61 6b 65 20 4d 61 6b 65 66 69  #.# nmake Makefi
0010: 6c 65 20 66 6f 72 20 53 51 4c 69 74 65 0a 23 0a  le for SQLite.#.
0020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20 53  ############## S
0090: 54 41 52 54 20 4f 46 20 4f 50 54 49 4f 4e 53 20  TART OF OPTIONS 
00a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
00c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0110: 0a 23 20 54 68 65 20 74 6f 70 6c 65 76 65 6c 20  .# The toplevel 
0120: 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65  directory of the
0130: 20 73 6f 75 72 63 65 20 74 72 65 65 2e 20 20 54   source tree.  T
0140: 68 69 73 20 69 73 20 74 68 65 20 64 69 72 65 63  his is the direc
0150: 74 6f 72 79 0a 23 20 74 68 61 74 20 63 6f 6e 74  tory.# that cont
0160: 61 69 6e 73 20 74 68 69 73 20 22 4d 61 6b 65 66  ains this "Makef
0170: 69 6c 65 2e 6d 73 63 22 2e 0a 23 0a 54 4f 50 20  ile.msc"..#.TOP 
0180: 3d 20 2e 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  = ...# <<mark>>.
0190: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
01a0: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
01b0: 73 65 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d  se the SQLite am
01c0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 2e  algamation file.
01d0: 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 41  .#.!IFNDEF USE_A
01e0: 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 55 53 45 5f  MALGAMATION.USE_
01f0: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 20 3d 20 31  AMALGAMATION = 1
0200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this 
0220: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable 
0230: 66 75 6c 6c 20 77 61 72 6e 69 6e 67 73 20 28 2d  full warnings (-
0240: 57 34 2c 20 65 74 63 29 20 77 68 65 6e 20 63 6f  W4, etc) when co
0250: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 4e 44  mpiling..#.!IFND
0260: 45 46 20 55 53 45 5f 46 55 4c 4c 57 41 52 4e 0a  EF USE_FULLWARN.
0270: 55 53 45 5f 46 55 4c 4c 57 41 52 4e 20 3d 20 31  USE_FULLWARN = 1
0280: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0290: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61  his non-0 to ena
02a0: 62 6c 65 20 74 72 65 61 74 69 6e 67 20 77 61 72  ble treating war
02b0: 6e 69 6e 67 73 20 61 73 20 65 72 72 6f 72 73 20  nings as errors 
02c0: 28 2d 57 58 2c 20 65 74 63 29 20 77 68 65 6e 0a  (-WX, etc) when.
02d0: 23 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21  # compiling..#.!
02e0: 49 46 4e 44 45 46 20 55 53 45 5f 46 41 54 41 4c  IFNDEF USE_FATAL
02f0: 5f 57 41 52 4e 0a 55 53 45 5f 46 41 54 41 4c 5f  _WARN.USE_FATAL_
0300: 57 41 52 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  WARN = 0.!ENDIF.
0310: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0320: 30 20 74 6f 20 65 6e 61 62 6c 65 20 66 75 6c 6c  0 to enable full
0330: 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 20 63   runtime error c
0340: 68 65 63 6b 73 20 28 2d 52 54 43 31 2c 20 65 74  hecks (-RTC1, et
0350: 63 29 2e 20 20 54 68 69 73 0a 23 20 68 61 73 20  c).  This.# has 
0360: 6e 6f 20 65 66 66 65 63 74 20 69 66 20 28 61 6e  no effect if (an
0370: 79 29 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  y) optimizations
0380: 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a   are enabled..#.
0390: 21 49 46 4e 44 45 46 20 55 53 45 5f 52 55 4e 54  !IFNDEF USE_RUNT
03a0: 49 4d 45 5f 43 48 45 43 4b 53 0a 55 53 45 5f 52  IME_CHECKS.USE_R
03b0: 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 20 3d 20  UNTIME_CHECKS = 
03c0: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set 
03d0: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 72  this non-0 to cr
03e0: 65 61 74 65 20 61 20 53 51 4c 69 74 65 20 61 6d  eate a SQLite am
03f0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20  algamation file 
0400: 74 68 61 74 20 65 78 63 6c 75 64 65 73 20 74 68  that excludes th
0410: 65 0a 23 20 76 61 72 69 6f 75 73 20 62 75 69 6c  e.# various buil
0420: 74 2d 69 6e 20 65 78 74 65 6e 73 69 6f 6e 73 2e  t-in extensions.
0430: 0a 23 0a 21 49 46 4e 44 45 46 20 4d 49 4e 49 4d  .#.!IFNDEF MINIM
0440: 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a  AL_AMALGAMATION.
0450: 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41  MINIMAL_AMALGAMA
0460: 54 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  TION = 0.!ENDIF.
0470: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0480: 30 20 74 6f 20 75 73 65 20 22 73 74 64 63 61 6c  0 to use "stdcal
0490: 6c 22 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65  l" calling conve
04a0: 6e 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 6f  ntion for the co
04b0: 72 65 20 6c 69 62 72 61 72 79 0a 23 20 61 6e 64  re library.# and
04c0: 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   shell executabl
04d0: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45  e..#.!IFNDEF USE
04e0: 5f 53 54 44 43 41 4c 4c 0a 55 53 45 5f 53 54 44  _STDCALL.USE_STD
04f0: 43 41 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a  CALL = 0.!ENDIF.
0500: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0510: 30 20 74 6f 20 68 61 76 65 20 74 68 65 20 73 68  0 to have the sh
0520: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 6c  ell executable l
0530: 69 6e 6b 20 61 67 61 69 6e 73 74 20 74 68 65 20  ink against the 
0540: 63 6f 72 65 20 64 79 6e 61 6d 69 63 0a 23 20 6c  core dynamic.# l
0550: 69 6e 6b 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ink library..#.!
0560: 49 46 4e 44 45 46 20 44 59 4e 41 4d 49 43 5f 53  IFNDEF DYNAMIC_S
0570: 48 45 4c 4c 0a 44 59 4e 41 4d 49 43 5f 53 48 45  HELL.DYNAMIC_SHE
0580: 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  LL = 0.!ENDIF..#
0590: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
05a0: 74 6f 20 65 6e 61 62 6c 65 20 65 78 74 72 61 20  to enable extra 
05b0: 63 6f 64 65 20 74 68 61 74 20 61 74 74 65 6d 70  code that attemp
05c0: 74 73 20 74 6f 20 64 65 74 65 63 74 20 6d 69 73  ts to detect mis
05d0: 75 73 65 20 6f 66 20 74 68 65 0a 23 20 53 51 4c  use of the.# SQL
05e0: 69 74 65 20 41 50 49 2e 0a 23 0a 21 49 46 4e 44  ite API..#.!IFND
05f0: 45 46 20 41 50 49 5f 41 52 4d 4f 52 0a 41 50 49  EF API_ARMOR.API
0600: 5f 41 52 4d 4f 52 20 3d 20 30 0a 21 45 4e 44 49  _ARMOR = 0.!ENDI
0610: 46 0a 0a 23 20 49 66 20 6e 65 63 65 73 73 61 72  F..# If necessar
0620: 79 2c 20 63 72 65 61 74 65 20 61 20 6c 69 73 74  y, create a list
0630: 20 6f 66 20 68 61 72 6d 6c 65 73 73 20 63 6f 6d   of harmless com
0640: 70 69 6c 65 72 20 77 61 72 6e 69 6e 67 73 20 74  piler warnings t
0650: 6f 20 64 69 73 61 62 6c 65 20 77 68 65 6e 0a 23  o disable when.#
0660: 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 76   compiling the v
0670: 61 72 69 6f 75 73 20 74 6f 6f 6c 73 2e 20 20 46  arious tools.  F
0680: 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 73 6f  or the SQLite so
0690: 75 72 63 65 20 63 6f 64 65 20 69 74 73 65 6c 66  urce code itself
06a0: 2c 20 77 61 72 6e 69 6e 67 73 2c 0a 23 20 69 66  , warnings,.# if
06b0: 20 61 6e 79 2c 20 77 69 6c 6c 20 62 65 20 64 69   any, will be di
06c0: 73 61 62 6c 65 64 20 66 72 6f 6d 20 77 69 74 68  sabled from with
06d0: 69 6e 20 69 74 2e 0a 23 0a 21 49 46 4e 44 45 46  in it..#.!IFNDEF
06e0: 20 4e 4f 5f 57 41 52 4e 0a 21 49 46 20 24 28 55   NO_WARN.!IF $(U
06f0: 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a  SE_FULLWARN)!=0.
0700: 4e 4f 5f 57 41 52 4e 20 3d 20 2d 77 64 34 30 35  NO_WARN = -wd405
0710: 34 20 2d 77 64 34 30 35 35 20 2d 77 64 34 31 30  4 -wd4055 -wd410
0720: 30 20 2d 77 64 34 31 32 37 20 2d 77 64 34 31 33  0 -wd4127 -wd413
0730: 30 20 2d 77 64 34 31 35 32 20 2d 77 64 34 31 38  0 -wd4152 -wd418
0740: 39 20 2d 77 64 34 32 30 36 0a 4e 4f 5f 57 41 52  9 -wd4206.NO_WAR
0750: 4e 20 3d 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  N = $(NO_WARN) -
0760: 77 64 34 32 31 30 20 2d 77 64 34 32 33 32 20 2d  wd4210 -wd4232 -
0770: 77 64 34 33 30 35 20 2d 77 64 34 33 30 36 20 2d  wd4305 -wd4306 -
0780: 77 64 34 37 30 32 20 2d 77 64 34 37 30 36 0a 21  wd4702 -wd4706.!
0790: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
07a0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
07b0: 6f 20 75 73 65 20 74 68 65 20 6c 69 62 72 61 72  o use the librar
07c0: 79 20 70 61 74 68 73 20 61 6e 64 20 6f 74 68 65  y paths and othe
07d0: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 63 65 73 73  r options necess
07e0: 61 72 79 20 66 6f 72 0a 23 20 57 69 6e 64 6f 77  ary for.# Window
07f0: 73 20 50 68 6f 6e 65 20 38 2e 31 2e 0a 23 0a 21  s Phone 8.1..#.!
0800: 49 46 4e 44 45 46 20 55 53 45 5f 57 50 38 31 5f  IFNDEF USE_WP81_
0810: 4f 50 54 53 0a 55 53 45 5f 57 50 38 31 5f 4f 50  OPTS.USE_WP81_OP
0820: 54 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  TS = 0.!ENDIF..#
0830: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
0840: 74 6f 20 73 70 6c 69 74 20 74 68 65 20 53 51 4c  to split the SQL
0850: 69 74 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  ite amalgamation
0860: 20 66 69 6c 65 20 69 6e 74 6f 20 63 68 75 6e 6b   file into chunk
0870: 73 20 74 6f 0a 23 20 62 65 20 75 73 65 64 20 66  s to.# be used f
0880: 6f 72 20 64 65 62 75 67 67 69 6e 67 20 77 69 74  or debugging wit
0890: 68 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e  h Visual Studio.
08a0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 50 4c 49 54  .#.!IFNDEF SPLIT
08b0: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 53 50  _AMALGAMATION.SP
08c0: 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e  LIT_AMALGAMATION
08d0: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 3c   = 0.!ENDIF..# <
08e0: 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74 68  <mark>>.# Set th
08f0: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 68 61 76 65  is non-0 to have
0900: 20 74 68 69 73 20 6d 61 6b 65 66 69 6c 65 20 61   this makefile a
0910: 73 73 75 6d 65 20 74 68 65 20 54 63 6c 20 73 68  ssume the Tcl sh
0920: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 0a 23  ell executable.#
0930: 20 28 74 63 6c 73 68 2a 2e 65 78 65 29 20 69 73   (tclsh*.exe) is
0940: 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68   available in th
0950: 65 20 50 41 54 48 2e 20 20 42 79 20 64 65 66 61  e PATH.  By defa
0960: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73  ult, this is dis
0970: 61 62 6c 65 64 0a 23 20 66 6f 72 20 63 6f 6d 70  abled.# for comp
0980: 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 6f  atibility with o
0990: 6c 64 65 72 20 62 75 69 6c 64 20 65 6e 76 69 72  lder build envir
09a0: 6f 6e 6d 65 6e 74 73 2e 20 20 54 68 69 73 20 73  onments.  This s
09b0: 65 74 74 69 6e 67 20 6f 6e 6c 79 0a 23 20 61 70  etting only.# ap
09c0: 70 6c 69 65 73 20 69 66 20 54 43 4c 53 48 5f 43  plies if TCLSH_C
09d0: 4d 44 20 69 73 20 6e 6f 74 20 73 65 74 20 6d 61  MD is not set ma
09e0: 6e 75 61 6c 6c 79 2e 0a 23 0a 21 49 46 4e 44 45  nually..#.!IFNDE
09f0: 46 20 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f 50  F USE_TCLSH_IN_P
0a00: 41 54 48 0a 55 53 45 5f 54 43 4c 53 48 5f 49 4e  ATH.USE_TCLSH_IN
0a10: 5f 50 41 54 48 20 3d 20 30 0a 21 45 4e 44 49 46  _PATH = 0.!ENDIF
0a20: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0a30: 2d 30 20 74 6f 20 75 73 65 20 7a 6c 69 62 2c 20  -0 to use zlib, 
0a40: 70 6f 73 73 69 62 6c 79 20 63 6f 6d 70 69 6c 69  possibly compili
0a50: 6e 67 20 69 74 20 66 72 6f 6d 20 73 6f 75 72 63  ng it from sourc
0a60: 65 20 63 6f 64 65 2e 0a 23 0a 21 49 46 4e 44 45  e code..#.!IFNDE
0a70: 46 20 55 53 45 5f 5a 4c 49 42 0a 55 53 45 5f 5a  F USE_ZLIB.USE_Z
0a80: 4c 49 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  LIB = 0.!ENDIF..
0a90: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0aa0: 20 74 6f 20 62 75 69 6c 64 20 7a 6c 69 62 20 66   to build zlib f
0ab0: 72 6f 6d 20 73 6f 75 72 63 65 20 63 6f 64 65 2e  rom source code.
0ac0: 20 20 54 68 69 73 20 69 73 20 65 6e 61 62 6c 65    This is enable
0ad0: 64 20 62 79 0a 23 20 64 65 66 61 75 6c 74 20 61  d by.# default a
0ae0: 6e 64 20 69 6e 20 74 68 61 74 20 63 61 73 65 20  nd in that case 
0af0: 69 74 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d  it will be assum
0b00: 65 64 20 74 68 61 74 20 74 68 65 20 5a 4c 49 42  ed that the ZLIB
0b10: 44 49 52 20 6d 61 63 72 6f 0a 23 20 70 6f 69 6e  DIR macro.# poin
0b20: 74 73 20 74 6f 20 74 68 65 20 74 6f 70 2d 6c 65  ts to the top-le
0b30: 76 65 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20  vel source code 
0b40: 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 7a 6c  directory for zl
0b50: 69 62 2e 0a 23 0a 21 49 46 4e 44 45 46 20 42 55  ib..#.!IFNDEF BU
0b60: 49 4c 44 5f 5a 4c 49 42 0a 42 55 49 4c 44 5f 5a  ILD_ZLIB.BUILD_Z
0b70: 4c 49 42 20 3d 20 31 0a 21 45 4e 44 49 46 0a 0a  LIB = 1.!ENDIF..
0b80: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0b90: 20 74 6f 20 75 73 65 20 74 68 65 20 49 6e 74 65   to use the Inte
0ba0: 72 6e 61 74 69 6f 6e 61 6c 20 43 6f 6d 70 6f 6e  rnational Compon
0bb0: 65 6e 74 73 20 66 6f 72 20 55 6e 69 63 6f 64 65  ents for Unicode
0bc0: 20 28 49 43 55 29 2e 0a 23 0a 21 49 46 4e 44 45   (ICU)..#.!IFNDE
0bd0: 46 20 55 53 45 5f 49 43 55 0a 55 53 45 5f 49 43  F USE_ICU.USE_IC
0be0: 55 20 3d 20 30 0a 21 45 4e 44 49 46 0a 23 20 3c  U = 0.!ENDIF.# <
0bf0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53 65 74 20  </mark>>..# Set 
0c00: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 64 79  this non-0 to dy
0c10: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74  namically link t
0c20: 6f 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69  o the MSVC runti
0c30: 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  me library..#.!I
0c40: 46 4e 44 45 46 20 55 53 45 5f 43 52 54 5f 44 4c  FNDEF USE_CRT_DL
0c50: 4c 0a 55 53 45 5f 43 52 54 5f 44 4c 4c 20 3d 20  L.USE_CRT_DLL = 
0c60: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set 
0c70: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 6c 69  this non-0 to li
0c80: 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34  nk to the RPCRT4
0c90: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e   library..#.!IFN
0ca0: 44 45 46 20 55 53 45 5f 52 50 43 52 54 34 5f 4c  DEF USE_RPCRT4_L
0cb0: 49 42 0a 55 53 45 5f 52 50 43 52 54 34 5f 4c 49  IB.USE_RPCRT4_LI
0cc0: 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  B = 0.!ENDIF..# 
0cd0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
0ce0: 6f 20 67 65 6e 65 72 61 74 65 20 61 73 73 65 6d  o generate assem
0cf0: 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67  bly code listing
0d00: 73 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65  s for the source
0d10: 20 63 6f 64 65 0a 23 20 66 69 6c 65 73 2e 0a 23   code.# files..#
0d20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 4c 49 53  .!IFNDEF USE_LIS
0d30: 54 49 4e 47 53 0a 55 53 45 5f 4c 49 53 54 49 4e  TINGS.USE_LISTIN
0d40: 47 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  GS = 0.!ENDIF..#
0d50: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
0d60: 74 6f 20 61 74 74 65 6d 70 74 20 73 65 74 74 69  to attempt setti
0d70: 6e 67 20 74 68 65 20 6e 61 74 69 76 65 20 63 6f  ng the native co
0d80: 6d 70 69 6c 65 72 20 61 75 74 6f 6d 61 74 69 63  mpiler automatic
0d90: 61 6c 6c 79 0a 23 20 66 6f 72 20 63 72 6f 73 73  ally.# for cross
0da0: 2d 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 63  -compiling the c
0db0: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c  ommand line tool
0dc0: 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20  s needed during 
0dd0: 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 0a  the compilation.
0de0: 23 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46  # process..#.!IF
0df0: 4e 44 45 46 20 58 43 4f 4d 50 49 4c 45 0a 58 43  NDEF XCOMPILE.XC
0e00: 4f 4d 50 49 4c 45 20 3d 20 30 0a 21 45 4e 44 49  OMPILE = 0.!ENDI
0e10: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0e20: 6e 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 6e  n-0 to use the n
0e30: 61 74 69 76 65 20 6c 69 62 72 61 72 69 65 73 20  ative libraries 
0e40: 70 61 74 68 73 20 66 6f 72 20 63 72 6f 73 73 2d  paths for cross-
0e50: 63 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68 65 20  compiling.# the 
0e60: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f  command line too
0e70: 6c 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67  ls needed during
0e80: 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   the compilation
0e90: 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e   process..#.!IFN
0ea0: 44 45 46 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c  DEF USE_NATIVE_L
0eb0: 49 42 50 41 54 48 53 0a 55 53 45 5f 4e 41 54 49  IBPATHS.USE_NATI
0ec0: 56 45 5f 4c 49 42 50 41 54 48 53 20 3d 20 30 0a  VE_LIBPATHS = 0.
0ed0: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0ee0: 69 73 20 30 20 74 6f 20 73 6b 69 70 20 74 68 65  is 0 to skip the
0ef0: 20 63 6f 6d 70 69 6c 69 6e 67 20 61 6e 64 20 65   compiling and e
0f00: 6d 62 65 64 64 69 6e 67 20 6f 66 20 76 65 72 73  mbedding of vers
0f10: 69 6f 6e 20 72 65 73 6f 75 72 63 65 73 2e 0a 23  ion resources..#
0f20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 52 43 0a  .!IFNDEF USE_RC.
0f30: 55 53 45 5f 52 43 20 3d 20 31 0a 21 45 4e 44 49  USE_RC = 1.!ENDI
0f40: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0f50: 6e 2d 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62  n-0 to compile b
0f60: 69 6e 61 72 69 65 73 20 73 75 69 74 61 62 6c 65  inaries suitable
0f70: 20 66 6f 72 20 74 68 65 20 57 69 6e 52 54 20 65   for the WinRT e
0f80: 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68  nvironment..# Th
0f90: 69 73 20 73 65 74 74 69 6e 67 20 64 6f 65 73 20  is setting does 
0fa0: 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 61 6e 79  not apply to any
0fb0: 20 62 69 6e 61 72 69 65 73 20 74 68 61 74 20 72   binaries that r
0fc0: 65 71 75 69 72 65 20 54 63 6c 20 74 6f 20 6f 70  equire Tcl to op
0fd0: 65 72 61 74 65 0a 23 20 70 72 6f 70 65 72 6c 79  erate.# properly
0fe0: 20 28 69 2e 65 2e 20 74 68 65 20 74 65 78 74 20   (i.e. the text 
0ff0: 66 69 78 74 75 72 65 2c 20 65 74 63 29 2e 0a 23  fixture, etc)..#
1000: 0a 21 49 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e  .!IFNDEF FOR_WIN
1010: 52 54 0a 46 4f 52 5f 57 49 4e 52 54 20 3d 20 30  RT.FOR_WINRT = 0
1020: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1030: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1040: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1050: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 55  itable for the U
1060: 57 50 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a  WP environment..
1070: 23 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 64  # This setting d
1080: 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f  oes not apply to
1090: 20 61 6e 79 20 62 69 6e 61 72 69 65 73 20 74 68   any binaries th
10a0: 61 74 20 72 65 71 75 69 72 65 20 54 63 6c 20 74  at require Tcl t
10b0: 6f 20 6f 70 65 72 61 74 65 0a 23 20 70 72 6f 70  o operate.# prop
10c0: 65 72 6c 79 20 28 69 2e 65 2e 20 74 68 65 20 74  erly (i.e. the t
10d0: 65 78 74 20 66 69 78 74 75 72 65 2c 20 65 74 63  ext fixture, etc
10e0: 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52  )..#.!IFNDEF FOR
10f0: 5f 55 57 50 0a 46 4f 52 5f 55 57 50 20 3d 20 30  _UWP.FOR_UWP = 0
1100: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1110: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1120: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1130: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 57  itable for the W
1140: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
1150: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f  rm..#.!IFNDEF FO
1160: 52 5f 57 49 4e 31 30 0a 46 4f 52 5f 57 49 4e 31  R_WIN10.FOR_WIN1
1170: 30 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  0 = 0.!ENDIF..# 
1180: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74  <<mark>>.# Set t
1190: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 6b 69  his non-0 to ski
11a0: 70 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20  p attempting to 
11b0: 6c 6f 6f 6b 20 66 6f 72 20 61 6e 64 2f 6f 72 20  look for and/or 
11c0: 6c 69 6e 6b 20 77 69 74 68 20 74 68 65 20 54 63  link with the Tc
11d0: 6c 0a 23 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  l.# runtime libr
11e0: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e  ary..#.!IFNDEF N
11f0: 4f 5f 54 43 4c 0a 4e 4f 5f 54 43 4c 20 3d 20 30  O_TCL.NO_TCL = 0
1200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
1210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this 
1220: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 63 72 65 61  to non-0 to crea
1230: 74 65 20 61 6e 64 20 75 73 65 20 50 44 42 73 2e  te and use PDBs.
1240: 0a 23 0a 21 49 46 4e 44 45 46 20 53 59 4d 42 4f  .#.!IFNDEF SYMBO
1250: 4c 53 0a 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 21  LS.SYMBOLS = 1.!
1260: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
1270: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
1280: 65 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62  e the SQLite deb
1290: 75 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73  ugging heap subs
12a0: 79 73 74 65 6d 2e 0a 23 0a 21 49 46 4e 44 45 46  ystem..#.!IFNDEF
12b0: 20 4d 45 4d 44 45 42 55 47 0a 4d 45 4d 44 45 42   MEMDEBUG.MEMDEB
12c0: 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  UG = 0.!ENDIF..#
12d0: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
12e0: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 57 69  -0 to use the Wi
12f0: 6e 33 32 20 6e 61 74 69 76 65 20 68 65 61 70 20  n32 native heap 
1300: 73 75 62 73 79 73 74 65 6d 2e 0a 23 0a 21 49 46  subsystem..#.!IF
1310: 4e 44 45 46 20 57 49 4e 33 32 48 45 41 50 0a 57  NDEF WIN32HEAP.W
1320: 49 4e 33 32 48 45 41 50 20 3d 20 30 0a 21 45 4e  IN32HEAP = 0.!EN
1330: 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20  DIF..# Set this 
1340: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62  to non-0 to enab
1350: 6c 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61 63  le OSTRACE() mac
1360: 72 6f 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62  ros, which can b
1370: 65 20 75 73 65 66 75 6c 20 77 68 65 6e 0a 23 20  e useful when.# 
1380: 64 65 62 75 67 67 69 6e 67 2e 0a 23 0a 21 49 46  debugging..#.!IF
1390: 4e 44 45 46 20 4f 53 54 52 41 43 45 0a 4f 53 54  NDEF OSTRACE.OST
13a0: 52 41 43 45 20 3d 20 30 0a 21 45 4e 44 49 46 0a  RACE = 0.!ENDIF.
13b0: 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 6f  .# Set this to o
13c0: 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77  ne of the follow
13d0: 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 65 6e  ing values to en
13e0: 61 62 6c 65 20 76 61 72 69 6f 75 73 20 64 65 62  able various deb
13f0: 75 67 67 69 6e 67 0a 23 20 66 65 61 74 75 72 65  ugging.# feature
1400: 73 2e 20 20 45 61 63 68 20 6c 65 76 65 6c 20 69  s.  Each level i
1410: 6e 63 6c 75 64 65 73 20 74 68 65 20 64 65 62 75  ncludes the debu
1420: 67 67 69 6e 67 20 6f 70 74 69 6f 6e 73 20 66 72  gging options fr
1430: 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a  om the previous.
1440: 23 20 6c 65 76 65 6c 73 2e 20 20 43 75 72 72 65  # levels.  Curre
1450: 6e 74 6c 79 2c 20 74 68 65 20 72 65 63 6f 67 6e  ntly, the recogn
1460: 69 7a 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20  ized values for 
1470: 44 45 42 55 47 20 61 72 65 3a 0a 23 0a 23 20 30  DEBUG are:.#.# 0
1480: 20 3d 3d 20 4e 44 45 42 55 47 3a 20 44 69 73 61   == NDEBUG: Disa
1490: 62 6c 65 73 20 61 73 73 65 72 74 28 29 20 61 6e  bles assert() an
14a0: 64 20 6f 74 68 65 72 20 72 75 6e 74 69 6d 65 20  d other runtime 
14b0: 64 69 61 67 6e 6f 73 74 69 63 73 2e 0a 23 20 31  diagnostics..# 1
14c0: 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c   == SQLITE_ENABL
14d0: 45 5f 41 50 49 5f 41 52 4d 4f 52 3a 20 65 78 74  E_API_ARMOR: ext
14e0: 72 61 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64  ra attempts to d
14f0: 65 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20  etect misuse of 
1500: 74 68 65 20 41 50 49 2e 0a 23 20 32 20 3d 3d 20  the API..# 2 == 
1510: 44 69 73 61 62 6c 65 73 20 4e 44 45 42 55 47 20  Disables NDEBUG 
1520: 61 6e 64 20 61 6c 6c 20 6f 70 74 69 6d 69 7a 61  and all optimiza
1530: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 6e 20 65  tions and then e
1540: 6e 61 62 6c 65 73 20 50 44 42 73 2e 0a 23 20 33  nables PDBs..# 3
1550: 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55 47   == SQLITE_DEBUG
1560: 3a 20 45 6e 61 62 6c 65 73 20 76 61 72 69 6f 75  : Enables variou
1570: 73 20 64 69 61 67 6e 6f 73 74 69 63 73 20 6d 65  s diagnostics me
1580: 73 73 61 67 65 73 20 61 6e 64 20 63 6f 64 65 2e  ssages and code.
1590: 0a 23 20 34 20 3d 3d 20 53 51 4c 49 54 45 5f 57  .# 4 == SQLITE_W
15a0: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
15b0: 44 41 54 45 3a 20 56 61 6c 69 64 61 74 65 20 74  DATE: Validate t
15c0: 68 65 20 57 69 6e 33 32 20 6e 61 74 69 76 65 20  he Win32 native 
15d0: 68 65 61 70 20 70 65 72 20 63 61 6c 6c 2e 0a 23  heap per call..#
15e0: 20 35 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42   5 == SQLITE_DEB
15f0: 55 47 5f 4f 53 5f 54 52 41 43 45 3a 20 45 6e 61  UG_OS_TRACE: Ena
1600: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
1610: 20 74 68 65 20 4f 53 54 52 41 43 45 28 29 20 6d   the OSTRACE() m
1620: 61 63 72 6f 73 2e 0a 23 20 36 20 3d 3d 20 53 51  acros..# 6 == SQ
1630: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
1640: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
1650: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 49 4f 54  put from the IOT
1660: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
1670: 0a 21 49 46 4e 44 45 46 20 44 45 42 55 47 0a 44  .!IFNDEF DEBUG.D
1680: 45 42 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a  EBUG = 0.!ENDIF.
1690: 0a 23 20 45 6e 61 62 6c 65 20 75 73 65 20 6f 66  .# Enable use of
16a0: 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 70 69   available compi
16b0: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
16c0: 73 3f 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 74 68  s?  Normally, th
16d0: 69 73 20 73 68 6f 75 6c 64 20 62 65 0a 23 20 6e  is should be.# n
16e0: 6f 6e 2d 7a 65 72 6f 2e 20 20 53 65 74 74 69 6e  on-zero.  Settin
16f0: 67 20 74 68 69 73 20 74 6f 20 7a 65 72 6f 2c 20  g this to zero, 
1700: 74 68 75 73 20 64 69 73 61 62 6c 69 6e 67 20 61  thus disabling a
1710: 6c 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  ll compiler opti
1720: 6d 69 7a 61 74 69 6f 6e 73 2c 0a 23 20 63 61 6e  mizations,.# can
1730: 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 74   be useful for t
1740: 65 73 74 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  esting..#.!IFNDE
1750: 46 20 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 0a  F OPTIMIZATIONS.
1760: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 20 3d 20  OPTIMIZATIONS = 
1770: 32 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  2.!ENDIF..# Set 
1780: 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f  this to non-0 to
1790: 20 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20   enable support 
17a0: 66 6f 72 20 74 68 65 20 73 65 73 73 69 6f 6e 20  for the session 
17b0: 65 78 74 65 6e 73 69 6f 6e 2e 0a 23 0a 21 49 46  extension..#.!IF
17c0: 4e 44 45 46 20 53 45 53 53 49 4f 4e 0a 53 45 53  NDEF SESSION.SES
17d0: 53 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  SION = 0.!ENDIF.
17e0: 0a 23 20 53 65 74 20 74 68 65 20 73 6f 75 72 63  .# Set the sourc
17f0: 65 20 63 6f 64 65 20 66 69 6c 65 20 74 6f 20 62  e code file to b
1800: 65 20 75 73 65 64 20 62 79 20 65 78 65 63 75 74  e used by execut
1810: 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 72 61 72  ables and librar
1820: 69 65 73 20 77 68 65 6e 0a 23 20 74 68 65 79 20  ies when.# they 
1830: 6e 65 65 64 20 74 68 65 20 61 6d 61 6c 67 61 6d  need the amalgam
1840: 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46  ation..#.!IFNDEF
1850: 20 53 51 4c 49 54 45 33 43 0a 21 49 46 20 24 28   SQLITE3C.!IF $(
1860: 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49  SPLIT_AMALGAMATI
1870: 4f 4e 29 21 3d 30 0a 53 51 4c 49 54 45 33 43 20  ON)!=0.SQLITE3C 
1880: 3d 20 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 0a  = sqlite3-all.c.
1890: 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 43 20 3d  !ELSE.SQLITE3C =
18a0: 20 73 71 6c 69 74 65 33 2e 63 0a 21 45 4e 44 49   sqlite3.c.!ENDI
18b0: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  F.!ENDIF..# Set 
18c0: 74 68 65 20 69 6e 63 6c 75 64 65 20 63 6f 64 65  the include code
18d0: 20 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64   file to be used
18e0: 20 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20   by executables 
18f0: 61 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68  and libraries wh
1900: 65 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 53  en.# they need S
1910: 51 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44 45 46  QLite..#.!IFNDEF
1920: 20 53 51 4c 49 54 45 33 48 0a 53 51 4c 49 54 45   SQLITE3H.SQLITE
1930: 33 48 20 3d 20 73 71 6c 69 74 65 33 2e 68 0a 21  3H = sqlite3.h.!
1940: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73  ENDIF..# This is
1950: 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65   the name to use
1960: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20   for the SQLite 
1970: 64 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62  dynamic link lib
1980: 72 61 72 79 20 28 44 4c 4c 29 2e 0a 23 0a 21 49  rary (DLL)..#.!I
1990: 46 4e 44 45 46 20 53 51 4c 49 54 45 33 44 4c 4c  FNDEF SQLITE3DLL
19a0: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30  .!IF $(FOR_WIN10
19b0: 29 21 3d 30 0a 53 51 4c 49 54 45 33 44 4c 4c 20  )!=0.SQLITE3DLL 
19c0: 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 64 6c 6c  = winsqlite3.dll
19d0: 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 44 4c  .!ELSE.SQLITE3DL
19e0: 4c 20 3d 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a  L = sqlite3.dll.
19f0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
1a00: 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d   This is the nam
1a10: 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65  e to use for the
1a20: 20 53 51 4c 69 74 65 20 69 6d 70 6f 72 74 20 6c   SQLite import l
1a30: 69 62 72 61 72 79 20 28 4c 49 42 29 2e 0a 23 0a  ibrary (LIB)..#.
1a40: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 4c  !IFNDEF SQLITE3L
1a50: 49 42 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  IB.!IF $(FOR_WIN
1a60: 31 30 29 21 3d 30 0a 53 51 4c 49 54 45 33 4c 49  10)!=0.SQLITE3LI
1a70: 42 20 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 6c  B = winsqlite3.l
1a80: 69 62 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33  ib.!ELSE.SQLITE3
1a90: 4c 49 42 20 3d 20 73 71 6c 69 74 65 33 2e 6c 69  LIB = sqlite3.li
1aa0: 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  b.!ENDIF.!ENDIF.
1ab0: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e  .# This is the n
1ac0: 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74  ame to use for t
1ad0: 68 65 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 20  he SQLite shell 
1ae0: 65 78 65 63 75 74 61 62 6c 65 20 28 45 58 45 29  executable (EXE)
1af0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49  ..#.!IFNDEF SQLI
1b00: 54 45 33 45 58 45 0a 21 49 46 20 24 28 46 4f 52  TE3EXE.!IF $(FOR
1b10: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54  _WIN10)!=0.SQLIT
1b20: 45 33 45 58 45 20 3d 20 77 69 6e 73 71 6c 69 74  E3EXE = winsqlit
1b30: 65 33 73 68 65 6c 6c 2e 65 78 65 0a 21 45 4c 53  e3shell.exe.!ELS
1b40: 45 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20 73  E.SQLITE3EXE = s
1b50: 71 6c 69 74 65 33 2e 65 78 65 0a 21 45 4e 44 49  qlite3.exe.!ENDI
1b60: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73  F.!ENDIF..# This
1b70: 20 69 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74   is the argument
1b80: 20 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65   used to set the
1b90: 20 70 72 6f 67 72 61 6d 20 64 61 74 61 62 61 73   program databas
1ba0: 65 20 28 50 44 42 29 20 66 69 6c 65 20 66 6f 72  e (PDB) file for
1bb0: 20 74 68 65 0a 23 20 53 51 4c 69 74 65 20 73 68   the.# SQLite sh
1bc0: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 28  ell executable (
1bd0: 45 58 45 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  EXE)..#.!IFNDEF 
1be0: 53 51 4c 49 54 45 33 45 58 45 50 44 42 0a 21 49  SQLITE3EXEPDB.!I
1bf0: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!=
1c00: 30 0a 53 51 4c 49 54 45 33 45 58 45 50 44 42 20  0.SQLITE3EXEPDB 
1c10: 3d 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 45  =.!ELSE.SQLITE3E
1c20: 58 45 50 44 42 20 3d 20 2f 70 64 62 3a 73 71 6c  XEPDB = /pdb:sql
1c30: 69 74 65 33 73 68 2e 70 64 62 0a 21 45 4e 44 49  ite3sh.pdb.!ENDI
1c40: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  F.!ENDIF..# <<ma
1c50: 72 6b 3e 3e 0a 23 20 54 68 65 73 65 20 61 72 65  rk>>.# These are
1c60: 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68   the names of th
1c70: 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 54 63 6c  e customized Tcl
1c80: 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 75 73   header files us
1c90: 65 64 20 62 79 20 76 61 72 69 6f 75 73 20 70 61  ed by various pa
1ca0: 72 74 73 0a 23 20 6f 66 20 74 68 69 73 20 6d 61  rts.# of this ma
1cb0: 6b 65 66 69 6c 65 20 77 68 65 6e 20 74 68 65 20  kefile when the 
1cc0: 73 74 64 63 61 6c 6c 20 63 61 6c 6c 69 6e 67 20  stdcall calling 
1cd0: 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 69 6e  convention is in
1ce0: 20 75 73 65 2e 20 20 49 74 20 69 73 20 6e 6f 74   use.  It is not
1cf0: 0a 23 20 75 73 65 64 20 66 6f 72 20 61 6e 79 20  .# used for any 
1d00: 6f 74 68 65 72 20 70 75 72 70 6f 73 65 2e 0a 23  other purpose..#
1d10: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 54  .!IFNDEF SQLITET
1d20: 43 4c 48 0a 53 51 4c 49 54 45 54 43 4c 48 20 3d  CLH.SQLITETCLH =
1d30: 20 73 71 6c 69 74 65 5f 74 63 6c 2e 68 0a 21 45   sqlite_tcl.h.!E
1d40: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 53 51  NDIF..!IFNDEF SQ
1d50: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 0a 53 51  LITETCLDECLSH.SQ
1d60: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 20 3d 20  LITETCLDECLSH = 
1d70: 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e  sqlite_tclDecls.
1d80: 68 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73  h.!ENDIF..# This
1d90: 20 69 73 20 74 68 65 20 6e 61 6d 65 20 74 6f 20   is the name to 
1da0: 75 73 65 20 66 6f 72 20 74 68 65 20 64 79 6e 61  use for the dyna
1db0: 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79  mic link library
1dc0: 20 28 44 4c 4c 29 20 63 6f 6e 74 61 69 6e 69 6e   (DLL) containin
1dd0: 67 20 74 68 65 0a 23 20 54 63 6c 20 62 69 6e 64  g the.# Tcl bind
1de0: 69 6e 67 73 20 66 6f 72 20 53 51 4c 69 74 65 2e  ings for SQLite.
1df0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54  .#.!IFNDEF SQLIT
1e00: 45 33 54 43 4c 44 4c 4c 0a 53 51 4c 49 54 45 33  E3TCLDLL.SQLITE3
1e10: 54 43 4c 44 4c 4c 20 3d 20 74 63 6c 73 71 6c 69  TCLDLL = tclsqli
1e20: 74 65 33 2e 64 6c 6c 0a 21 45 4e 44 49 46 0a 0a  te3.dll.!ENDIF..
1e30: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20  # These are the 
1e40: 61 64 64 69 74 69 6f 6e 61 6c 20 74 61 72 67 65  additional targe
1e50: 74 73 20 74 68 61 74 20 74 68 65 20 74 61 72 67  ts that the targ
1e60: 65 74 73 20 74 68 61 74 20 69 6e 74 65 67 72 61  ets that integra
1e70: 74 65 20 77 69 74 68 20 74 68 65 0a 23 20 54 63  te with the.# Tc
1e80: 6c 20 6c 69 62 72 61 72 79 20 73 68 6f 75 6c 64  l library should
1e90: 20 64 65 70 65 6e 64 20 6f 6e 20 77 68 65 6e 20   depend on when 
1ea0: 63 6f 6d 70 69 6c 69 6e 67 2c 20 65 74 63 2e 0a  compiling, etc..
1eb0: 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45  #.!IFNDEF SQLITE
1ec0: 5f 54 43 4c 5f 44 45 50 0a 21 49 46 20 24 28 55  _TCL_DEP.!IF $(U
1ed0: 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c  SE_STDCALL)!=0 |
1ee0: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
1ef0: 30 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50  0.SQLITE_TCL_DEP
1f00: 20 3d 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45   = $(SQLITETCLDE
1f10: 43 4c 53 48 29 20 24 28 53 51 4c 49 54 45 54 43  CLSH) $(SQLITETC
1f20: 4c 48 29 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45  LH).!ELSE.SQLITE
1f30: 5f 54 43 4c 5f 44 45 50 20 3d 0a 21 45 4e 44 49  _TCL_DEP =.!ENDI
1f40: 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61  F.!ENDIF.# <</ma
1f50: 72 6b 3e 3e 0a 0a 23 20 54 68 65 73 65 20 61 72  rk>>..# These ar
1f60: 65 20 74 68 65 20 22 73 74 61 6e 64 61 72 64 22  e the "standard"
1f70: 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74   SQLite compilat
1f80: 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65 64  ion options used
1f90: 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20   when compiling 
1fa0: 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64 6f 77  for.# the Window
1fb0: 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49  s platform..#.!I
1fc0: 46 4e 44 45 46 20 4f 50 54 5f 46 45 41 54 55 52  FNDEF OPT_FEATUR
1fd0: 45 5f 46 4c 41 47 53 0a 21 49 46 20 24 28 4d 49  E_FLAGS.!IF $(MI
1fe0: 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49  NIMAL_AMALGAMATI
1ff0: 4f 4e 29 3d 3d 30 0a 4f 50 54 5f 46 45 41 54 55  ON)==0.OPT_FEATU
2000: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54  RE_FLAGS = $(OPT
2010: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
2020: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
2030: 46 54 53 33 3d 31 0a 4f 50 54 5f 46 45 41 54 55  FTS3=1.OPT_FEATU
2040: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54  RE_FLAGS = $(OPT
2050: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
2060: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
2070: 52 54 52 45 45 3d 31 0a 4f 50 54 5f 46 45 41 54  RTREE=1.OPT_FEAT
2080: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50  URE_FLAGS = $(OP
2090: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
20a0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
20b0: 5f 47 45 4f 50 4f 4c 59 3d 31 0a 4f 50 54 5f 46  _GEOPOLY=1.OPT_F
20c0: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $
20d0: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
20e0: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  GS) -DSQLITE_ENA
20f0: 42 4c 45 5f 4a 53 4f 4e 31 3d 31 0a 4f 50 54 5f  BLE_JSON1=1.OPT_
2100: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FEATURE_FLAGS = 
2110: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(OPT_FEATURE_FL
2120: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  AGS) -DSQLITE_EN
2130: 41 42 4c 45 5f 53 54 4d 54 56 54 41 42 3d 31 0a  ABLE_STMTVTAB=1.
2140: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
2150: 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52  S = $(OPT_FEATUR
2160: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
2170: 45 5f 45 4e 41 42 4c 45 5f 44 42 50 41 47 45 5f  E_ENABLE_DBPAGE_
2180: 56 54 41 42 3d 31 0a 4f 50 54 5f 46 45 41 54 55  VTAB=1.OPT_FEATU
2190: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54  RE_FLAGS = $(OPT
21a0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
21b0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
21c0: 44 42 53 54 41 54 5f 56 54 41 42 3d 31 0a 4f 50  DBSTAT_VTAB=1.OP
21d0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20  T_FEATURE_FLAGS 
21e0: 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f  = $(OPT_FEATURE_
21f0: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
2200: 49 4e 54 52 4f 53 50 45 43 54 49 4f 4e 5f 50 52  INTROSPECTION_PR
2210: 41 47 4d 41 53 3d 31 0a 4f 50 54 5f 46 45 41 54  AGMAS=1.OPT_FEAT
2220: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50  URE_FLAGS = $(OP
2230: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
2240: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
2250: 5f 44 45 53 45 52 49 41 4c 49 5a 45 3d 31 0a 21  _DESERIALIZE=1.!
2260: 45 4e 44 49 46 0a 4f 50 54 5f 46 45 41 54 55 52  ENDIF.OPT_FEATUR
2270: 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f  E_FLAGS = $(OPT_
2280: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
2290: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 43  DSQLITE_ENABLE_C
22a0: 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54 41 3d 31  OLUMN_METADATA=1
22b0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68 6f 75 6c  .!ENDIF..# Shoul
22c0: 64 20 74 68 65 20 73 65 73 73 69 6f 6e 20 65 78  d the session ex
22d0: 74 65 6e 73 69 6f 6e 20 62 65 20 65 6e 61 62 6c  tension be enabl
22e0: 65 64 3f 20 20 49 66 20 73 6f 2c 20 61 64 64 20  ed?  If so, add 
22f0: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69  compilation opti
2300: 6f 6e 73 0a 23 20 74 6f 20 65 6e 61 62 6c 65 20  ons.# to enable 
2310: 69 74 2e 0a 23 0a 21 49 46 20 24 28 53 45 53 53  it..#.!IF $(SESS
2320: 49 4f 4e 29 21 3d 30 0a 4f 50 54 5f 46 45 41 54  ION)!=0.OPT_FEAT
2330: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50  URE_FLAGS = $(OP
2340: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
2350: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
2360: 5f 53 45 53 53 49 4f 4e 3d 31 0a 4f 50 54 5f 46  _SESSION=1.OPT_F
2370: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $
2380: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
2390: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  GS) -DSQLITE_ENA
23a0: 42 4c 45 5f 50 52 45 55 50 44 41 54 45 5f 48 4f  BLE_PREUPDATE_HO
23b0: 4f 4b 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 54  OK=1.!ENDIF..# T
23c0: 68 65 73 65 20 61 72 65 20 74 68 65 20 22 65 78  hese are the "ex
23d0: 74 65 6e 64 65 64 22 20 53 51 4c 69 74 65 20 63  tended" SQLite c
23e0: 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f  ompilation optio
23f0: 6e 73 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d  ns used when com
2400: 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74 68 65  piling for.# the
2410: 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74   Windows 10 plat
2420: 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20  form..#.!IFNDEF 
2430: 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  EXT_FEATURE_FLAG
2440: 53 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31  S.!IF $(FOR_WIN1
2450: 30 29 21 3d 30 0a 45 58 54 5f 46 45 41 54 55 52  0)!=0.EXT_FEATUR
2460: 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 58 54 5f  E_FLAGS = $(EXT_
2470: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
2480: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46  DSQLITE_ENABLE_F
2490: 54 53 34 3d 31 0a 45 58 54 5f 46 45 41 54 55 52  TS4=1.EXT_FEATUR
24a0: 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 58 54 5f  E_FLAGS = $(EXT_
24b0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
24c0: 44 53 51 4c 49 54 45 5f 53 59 53 54 45 4d 5f 4d  DSQLITE_SYSTEM_M
24d0: 41 4c 4c 4f 43 3d 31 0a 45 58 54 5f 46 45 41 54  ALLOC=1.EXT_FEAT
24e0: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 58  URE_FLAGS = $(EX
24f0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
2500: 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
2510: 4f 43 41 4c 54 49 4d 45 3d 31 0a 21 45 4c 53 45  OCALTIME=1.!ELSE
2520: 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .EXT_FEATURE_FLA
2530: 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44  GS =.!ENDIF.!END
2540: 49 46 0a 0a 23 23 23 23 23 23 23 23 23 23 23 23  IF..############
2550: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2560: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2570: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2580: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2590: 23 23 23 0a 23 23 23 23 23 23 23 23 23 23 23 23  ###.############
25a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
25b0: 23 23 23 20 45 4e 44 20 4f 46 20 4f 50 54 49 4f  ### END OF OPTIO
25c0: 4e 53 20 23 23 23 23 23 23 23 23 23 23 23 23 23  NS #############
25d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
25e0: 23 23 23 0a 23 23 23 23 23 23 23 23 23 23 23 23  ###.############
25f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2600: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2610: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2620: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2630: 23 23 23 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70  ###..# When comp
2640: 69 6c 69 6e 67 20 66 6f 72 20 74 68 65 20 57 69  iling for the Wi
2650: 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72  ndows 10 platfor
2660: 6d 2c 20 74 68 65 20 50 4c 41 54 46 4f 52 4d 20  m, the PLATFORM 
2670: 6d 61 63 72 6f 20 6d 75 73 74 20 62 65 20 73 65  macro must be se
2680: 74 0a 23 20 74 6f 20 61 6e 20 61 70 70 72 6f 70  t.# to an approp
2690: 72 69 61 74 65 20 76 61 6c 75 65 20 28 65 2e 67  riate value (e.g
26a0: 2e 20 78 38 36 2c 20 78 36 34 2c 20 61 72 6d 2c  . x86, x64, arm,
26b0: 20 61 72 6d 36 34 2c 20 65 74 63 29 2e 0a 23 0a   arm64, etc)..#.
26c0: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29  !IF $(FOR_WIN10)
26d0: 21 3d 30 0a 21 49 46 4e 44 45 46 20 50 4c 41 54  !=0.!IFNDEF PLAT
26e0: 46 4f 52 4d 0a 21 45 52 52 4f 52 20 55 73 69 6e  FORM.!ERROR Usin
26f0: 67 20 74 68 65 20 46 4f 52 5f 57 49 4e 31 30 20  g the FOR_WIN10 
2700: 6f 70 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20  option requires 
2710: 61 20 76 61 6c 75 65 20 66 6f 72 20 50 4c 41 54  a value for PLAT
2720: 46 4f 52 4d 2e 0a 21 45 4e 44 49 46 0a 21 45 4e  FORM..!ENDIF.!EN
2730: 44 49 46 0a 0a 23 20 54 68 69 73 20 61 73 73 75  DIF..# This assu
2740: 6d 65 73 20 74 68 61 74 20 4d 53 56 43 20 69 73  mes that MSVC is
2750: 20 61 6c 77 61 79 73 20 69 6e 73 74 61 6c 6c 65   always installe
2760: 64 20 69 6e 20 33 32 2d 62 69 74 20 50 72 6f 67  d in 32-bit Prog
2770: 72 61 6d 20 46 69 6c 65 73 20 64 69 72 65 63 74  ram Files direct
2780: 6f 72 79 0a 23 20 61 6e 64 20 73 65 74 73 20 74  ory.# and sets t
2790: 68 65 20 76 61 72 69 61 62 6c 65 20 66 6f 72 20  he variable for 
27a0: 75 73 65 20 69 6e 20 6c 6f 63 61 74 69 6e 67 20  use in locating 
27b0: 6f 74 68 65 72 20 33 32 2d 62 69 74 20 69 6e 73  other 32-bit ins
27c0: 74 61 6c 6c 73 20 61 63 63 6f 72 64 69 6e 67 6c  talls accordingl
27d0: 79 2e 0a 23 0a 50 52 4f 47 52 41 4d 46 49 4c 45  y..#.PROGRAMFILE
27e0: 53 5f 58 38 36 20 3d 20 24 28 56 43 49 4e 53 54  S_X86 = $(VCINST
27f0: 41 4c 4c 44 49 52 29 5c 2e 2e 5c 2e 2e 0a 50 52  ALLDIR)\..\...PR
2800: 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 20 3d  OGRAMFILES_X86 =
2810: 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f   $(PROGRAMFILES_
2820: 58 38 36 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65  X86:\\=\)..# Che
2830: 63 6b 20 66 6f 72 20 74 68 65 20 70 72 65 64 65  ck for the prede
2840: 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61  fined command ma
2850: 63 72 6f 20 43 43 2e 20 20 54 68 69 73 20 73 68  cro CC.  This sh
2860: 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68  ould point to th
2870: 65 20 63 6f 6d 70 69 6c 65 72 0a 23 20 62 69 6e  e compiler.# bin
2880: 61 72 79 20 66 6f 72 20 74 68 65 20 74 61 72 67  ary for the targ
2890: 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66  et platform.  If
28a0: 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66 69 6e   it is not defin
28b0: 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e  ed, simply defin
28c0: 65 20 69 74 20 74 6f 0a 23 20 74 68 65 20 6c 65  e it to.# the le
28d0: 67 61 63 79 20 64 65 66 61 75 6c 74 20 76 61 6c  gacy default val
28e0: 75 65 20 27 63 6c 2e 65 78 65 27 2e 0a 23 0a 21  ue 'cl.exe'..#.!
28f0: 49 46 4e 44 45 46 20 43 43 0a 43 43 20 3d 20 63  IFNDEF CC.CC = c
2900: 6c 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20  l.exe.!ENDIF..# 
2910: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72  Check for the pr
2920: 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64  edefined command
2930: 20 6d 61 63 72 6f 20 43 53 43 2e 20 20 54 68 69   macro CSC.  Thi
2940: 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74  s should point t
2950: 6f 20 61 20 77 6f 72 6b 69 6e 67 0a 23 20 43 20  o a working.# C 
2960: 53 68 61 72 70 20 63 6f 6d 70 69 6c 65 72 20 62  Sharp compiler b
2970: 69 6e 61 72 79 2e 20 20 49 66 20 69 74 20 69 73  inary.  If it is
2980: 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20 73 69   not defined, si
2990: 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74 20 74  mply define it t
29a0: 6f 20 74 68 65 0a 23 20 6c 65 67 61 63 79 20 64  o the.# legacy d
29b0: 65 66 61 75 6c 74 20 76 61 6c 75 65 20 27 63 73  efault value 'cs
29c0: 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45  c.exe'..#.!IFNDE
29d0: 46 20 43 53 43 0a 43 53 43 20 3d 20 63 73 63 2e  F CSC.CSC = csc.
29e0: 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68  exe.!ENDIF..# Ch
29f0: 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d  eck for the comm
2a00: 61 6e 64 20 6d 61 63 72 6f 20 4c 44 2e 20 20 54  and macro LD.  T
2a10: 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74  his should point
2a20: 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65 72 20 62   to the linker b
2a30: 69 6e 61 72 79 20 66 6f 72 0a 23 20 74 68 65 20  inary for.# the 
2a40: 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e  target platform.
2a50: 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64    If it is not d
2a60: 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64  efined, simply d
2a70: 65 66 69 6e 65 20 69 74 20 74 6f 20 74 68 65 20  efine it to the 
2a80: 6c 65 67 61 63 79 0a 23 20 64 65 66 61 75 6c 74  legacy.# default
2a90: 20 76 61 6c 75 65 20 27 6c 69 6e 6b 2e 65 78 65   value 'link.exe
2aa0: 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c 44 0a  '..#.!IFNDEF LD.
2ab0: 4c 44 20 3d 20 6c 69 6e 6b 2e 65 78 65 0a 21 45  LD = link.exe.!E
2ac0: 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f  NDIF..# Check fo
2ad0: 72 20 74 68 65 20 70 72 65 64 65 66 69 6e 65 64  r the predefined
2ae0: 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 52   command macro R
2af0: 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20  C.  This should 
2b00: 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 72 65 73  point to the res
2b10: 6f 75 72 63 65 0a 23 20 63 6f 6d 70 69 6c 65 72  ource.# compiler
2b20: 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65 20   binary for the 
2b30: 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e  target platform.
2b40: 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64    If it is not d
2b50: 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64  efined, simply d
2b60: 65 66 69 6e 65 0a 23 20 69 74 20 74 6f 20 74 68  efine.# it to th
2b70: 65 20 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74  e legacy default
2b80: 20 76 61 6c 75 65 20 27 72 63 2e 65 78 65 27 2e   value 'rc.exe'.
2b90: 0a 23 0a 21 49 46 4e 44 45 46 20 52 43 0a 52 43  .#.!IFNDEF RC.RC
2ba0: 20 3d 20 72 63 2e 65 78 65 0a 21 45 4e 44 49 46   = rc.exe.!ENDIF
2bb0: 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68  ..# Check for th
2bc0: 65 20 4d 53 56 43 20 72 75 6e 74 69 6d 65 20 6c  e MSVC runtime l
2bd0: 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72  ibrary path macr
2be0: 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74  o.  Otherwise, t
2bf0: 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c 0a 23  his value will.#
2c00: 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20   default to the 
2c10: 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20  'lib' directory 
2c20: 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 4d  underneath the M
2c30: 53 56 43 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e  SVC installation
2c40: 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49   directory..#.!I
2c50: 46 4e 44 45 46 20 43 52 54 4c 49 42 50 41 54 48  FNDEF CRTLIBPATH
2c60: 0a 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28  .CRTLIBPATH = $(
2c70: 56 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c 6c 69  VCINSTALLDIR)\li
2c80: 62 0a 21 45 4e 44 49 46 0a 0a 43 52 54 4c 49 42  b.!ENDIF..CRTLIB
2c90: 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50  PATH = $(CRTLIBP
2ca0: 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65  ATH:\\=\)..# Che
2cb0: 63 6b 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61  ck for the comma
2cc0: 6e 64 20 6d 61 63 72 6f 20 4e 43 43 2e 20 20 54  nd macro NCC.  T
2cd0: 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74  his should point
2ce0: 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 72   to the compiler
2cf0: 20 62 69 6e 61 72 79 0a 23 20 66 6f 72 20 74 68   binary.# for th
2d00: 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 65 20 63  e platform the c
2d10: 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65  ompilation proce
2d20: 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70 6c 61  ss is taking pla
2d30: 63 65 20 6f 6e 2e 20 20 49 66 20 69 74 20 69 73  ce on.  If it is
2d40: 20 6e 6f 74 0a 23 20 64 65 66 69 6e 65 64 2c 20   not.# defined, 
2d50: 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74  simply define it
2d60: 20 74 6f 20 68 61 76 65 20 74 68 65 20 73 61 6d   to have the sam
2d70: 65 20 76 61 6c 75 65 20 61 73 20 74 68 65 20 43  e value as the C
2d80: 43 20 6d 61 63 72 6f 2e 20 20 57 68 65 6e 0a 23  C macro.  When.#
2d90: 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67   cross-compiling
2da0: 2c 20 69 74 20 69 73 20 73 75 67 67 65 73 74 65  , it is suggeste
2db0: 64 20 74 68 61 74 20 74 68 69 73 20 6d 61 63 72  d that this macr
2dc0: 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 20 76 69  o be modified vi
2dd0: 61 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20  a the command.# 
2de0: 6c 69 6e 65 20 28 73 69 6e 63 65 20 6e 6d 61 6b  line (since nmak
2df0: 65 20 69 74 73 65 6c 66 20 64 6f 65 73 20 6e 6f  e itself does no
2e00: 74 20 70 72 6f 76 69 64 65 20 61 20 62 75 69 6c  t provide a buil
2e10: 74 2d 69 6e 20 6d 65 74 68 6f 64 20 74 6f 20 67  t-in method to g
2e20: 75 65 73 73 20 69 74 29 2e 0a 23 20 46 6f 72 20  uess it)..# For 
2e30: 65 78 61 6d 70 6c 65 2c 20 74 6f 20 75 73 65 20  example, to use 
2e40: 74 68 65 20 78 38 36 20 63 6f 6d 70 69 6c 65 72  the x86 compiler
2e50: 20 77 68 65 6e 20 63 72 6f 73 73 2d 63 6f 6d 70   when cross-comp
2e60: 69 6c 69 6e 67 20 66 6f 72 20 78 36 34 2c 20 61  iling for x64, a
2e70: 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 20   command.# line 
2e80: 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 66  similar to the f
2e90: 6f 6c 6c 6f 77 69 6e 67 20 63 6f 75 6c 64 20 62  ollowing could b
2ea0: 65 20 75 73 65 64 20 28 61 6c 6c 20 6f 6e 20 6f  e used (all on o
2eb0: 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20 20  ne line):.#.#   
2ec0: 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66    nmake /f Makef
2ed0: 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65 33 2e  ile.msc sqlite3.
2ee0: 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 20 20 20  dll.#           
2ef0: 58 43 4f 4d 50 49 4c 45 3d 31 20 55 53 45 5f 4e  XCOMPILE=1 USE_N
2f00: 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 3d 31  ATIVE_LIBPATHS=1
2f10: 0a 23 0a 23 20 41 6c 74 65 72 6e 61 74 69 76 65  .#.# Alternative
2f20: 6c 79 2c 20 74 68 65 20 66 75 6c 6c 20 70 61 74  ly, the full pat
2f30: 68 20 61 6e 64 20 66 69 6c 65 20 6e 61 6d 65 20  h and file name 
2f40: 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20  to the compiler 
2f50: 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65 0a 23  binary for the.#
2f60: 20 70 6c 61 74 66 6f 72 6d 20 74 68 65 20 63 6f   platform the co
2f70: 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73  mpilation proces
2f80: 73 20 69 73 20 74 61 6b 69 6e 67 20 70 6c 61 63  s is taking plac
2f90: 65 20 6d 61 79 20 62 65 20 73 70 65 63 69 66 69  e may be specifi
2fa0: 65 64 20 28 61 6c 6c 20 6f 6e 0a 23 20 6f 6e 65  ed (all on.# one
2fb0: 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20 20 20 20   line):.#.#     
2fc0: 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c  nmake /f Makefil
2fd0: 65 2e 6d 73 63 20 73 71 6c 69 74 65 33 2e 64 6c  e.msc sqlite3.dl
2fe0: 6c 0a 23 20 20 20 20 20 20 20 20 20 20 20 22 4e  l.#           "N
2ff0: 43 43 3d 22 22 25 56 43 49 4e 53 54 41 4c 4c 44  CC=""%VCINSTALLD
3000: 49 52 25 5c 62 69 6e 5c 63 6c 2e 65 78 65 22 22  IR%\bin\cl.exe""
3010: 22 0a 23 20 20 20 20 20 20 20 20 20 20 20 55 53  ".#           US
3020: 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48  E_NATIVE_LIBPATH
3030: 53 3d 31 0a 23 0a 21 49 46 44 45 46 20 4e 43 43  S=1.#.!IFDEF NCC
3040: 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d  .NCC = $(NCC:\\=
3050: 5c 29 0a 21 45 4c 53 45 49 46 20 24 28 58 43 4f  \).!ELSEIF $(XCO
3060: 4d 50 49 4c 45 29 21 3d 30 0a 4e 43 43 20 3d 20  MPILE)!=0.NCC = 
3070: 22 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29  "$(VCINSTALLDIR)
3080: 5c 62 69 6e 5c 24 28 43 43 29 22 0a 4e 43 43 20  \bin\$(CC)".NCC 
3090: 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29 0a 21 45  = $(NCC:\\=\).!E
30a0: 4c 53 45 0a 4e 43 43 20 3d 20 24 28 43 43 29 0a  LSE.NCC = $(CC).
30b0: 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20  !ENDIF..# Check 
30c0: 66 6f 72 20 74 68 65 20 4d 53 56 43 20 6e 61 74  for the MSVC nat
30d0: 69 76 65 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  ive runtime libr
30e0: 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20  ary path macro. 
30f0: 20 4f 74 68 65 72 77 69 73 65 2c 0a 23 20 74 68   Otherwise,.# th
3100: 69 73 20 76 61 6c 75 65 20 77 69 6c 6c 20 64 65  is value will de
3110: 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27 6c 69  fault to the 'li
3120: 62 27 20 64 69 72 65 63 74 6f 72 79 20 75 6e 64  b' directory und
3130: 65 72 6e 65 61 74 68 20 74 68 65 20 4d 53 56 43  erneath the MSVC
3140: 0a 23 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20  .# installation 
3150: 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46  directory..#.!IF
3160: 4e 44 45 46 20 4e 43 52 54 4c 49 42 50 41 54 48  NDEF NCRTLIBPATH
3170: 0a 4e 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24  .NCRTLIBPATH = $
3180: 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c 6c  (VCINSTALLDIR)\l
3190: 69 62 0a 21 45 4e 44 49 46 0a 0a 4e 43 52 54 4c  ib.!ENDIF..NCRTL
31a0: 49 42 50 41 54 48 20 3d 20 24 28 4e 43 52 54 4c  IBPATH = $(NCRTL
31b0: 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20  IBPATH:\\=\)..# 
31c0: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 50 6c  Check for the Pl
31d0: 61 74 66 6f 72 6d 20 53 44 4b 20 6c 69 62 72 61  atform SDK libra
31e0: 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 20  ry path macro.  
31f0: 4f 74 68 65 72 77 69 73 65 2c 20 74 68 69 73 0a  Otherwise, this.
3200: 23 20 76 61 6c 75 65 20 77 69 6c 6c 20 64 65 66  # value will def
3210: 61 75 6c 74 20 74 6f 20 74 68 65 20 27 6c 69 62  ault to the 'lib
3220: 27 20 64 69 72 65 63 74 6f 72 79 20 75 6e 64 65  ' directory unde
3230: 72 6e 65 61 74 68 20 74 68 65 20 57 69 6e 64 6f  rneath the Windo
3240: 77 73 0a 23 20 53 44 4b 20 69 6e 73 74 61 6c 6c  ws.# SDK install
3250: 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 20  ation directory 
3260: 28 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74  (the environment
3270: 20 76 61 72 69 61 62 6c 65 20 75 73 65 64 20 61   variable used a
3280: 70 70 65 61 72 73 0a 23 20 74 6f 20 62 65 20 61  ppears.# to be a
3290: 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 75 73  vailable when us
32a0: 69 6e 67 20 56 69 73 75 61 6c 20 43 2b 2b 20 32  ing Visual C++ 2
32b0: 30 30 38 20 6f 72 20 6c 61 74 65 72 20 76 69 61  008 or later via
32c0: 20 74 68 65 0a 23 20 63 6f 6d 6d 61 6e 64 20 6c   the.# command l
32d0: 69 6e 65 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  ine)..#.!IFNDEF 
32e0: 4e 53 44 4b 4c 49 42 50 41 54 48 0a 4e 53 44 4b  NSDKLIBPATH.NSDK
32f0: 4c 49 42 50 41 54 48 20 3d 20 24 28 57 49 4e 44  LIBPATH = $(WIND
3300: 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69 62 0a 21  OWSSDKDIR)\lib.!
3310: 45 4e 44 49 46 0a 0a 4e 53 44 4b 4c 49 42 50 41  ENDIF..NSDKLIBPA
3320: 54 48 20 3d 20 24 28 4e 53 44 4b 4c 49 42 50 41  TH = $(NSDKLIBPA
3330: 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63  TH:\\=\)..# Chec
3340: 6b 20 66 6f 72 20 74 68 65 20 55 43 52 54 20 6c  k for the UCRT l
3350: 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72  ibrary path macr
3360: 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74  o.  Otherwise, t
3370: 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c 0a 23  his value will.#
3380: 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20   default to the 
3390: 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66 69 63  version-specific
33a0: 2c 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65 63 69  , platform-speci
33b0: 66 69 63 20 27 6c 69 62 27 20 64 69 72 65 63 74  fic 'lib' direct
33c0: 6f 72 79 0a 23 20 75 6e 64 65 72 6e 65 61 74 68  ory.# underneath
33d0: 20 74 68 65 20 57 69 6e 64 6f 77 73 20 53 44 4b   the Windows SDK
33e0: 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69   installation di
33f0: 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44  rectory..#.!IFND
3400: 45 46 20 55 43 52 54 4c 49 42 50 41 54 48 0a 55  EF UCRTLIBPATH.U
3410: 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 57  CRTLIBPATH = $(W
3420: 49 4e 44 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69  INDOWSSDKDIR)\li
3430: 62 5c 24 28 57 49 4e 44 4f 57 53 53 44 4b 4c 49  b\$(WINDOWSSDKLI
3440: 42 56 45 52 53 49 4f 4e 29 5c 75 63 72 74 5c 24  BVERSION)\ucrt\$
3450: 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45 4e 44 49  (PLATFORM).!ENDI
3460: 46 0a 0a 55 43 52 54 4c 49 42 50 41 54 48 20 3d  F..UCRTLIBPATH =
3470: 20 24 28 55 43 52 54 4c 49 42 50 41 54 48 3a 5c   $(UCRTLIBPATH:\
3480: 5c 3d 5c 29 0a 0a 23 20 43 20 63 6f 6d 70 69 6c  \=\)..# C compil
3490: 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66  er and options f
34a0: 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69  or use in buildi
34b0: 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20 74  ng executables t
34c0: 68 61 74 0a 23 20 77 69 6c 6c 20 72 75 6e 20 6f  hat.# will run o
34d0: 6e 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74  n the platform t
34e0: 68 61 74 20 69 73 20 64 6f 69 6e 67 20 74 68 65  hat is doing the
34f0: 20 62 75 69 6c 64 2e 0a 23 0a 21 49 46 20 24 28   build..#.!IF $(
3500: 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30  USE_FULLWARN)!=0
3510: 0a 42 43 43 20 3d 20 24 28 4e 43 43 29 20 2d 6e  .BCC = $(NCC) -n
3520: 6f 6c 6f 67 6f 20 2d 57 34 20 2d 46 64 24 2a 2e  ologo -W4 -Fd$*.
3530: 70 64 62 20 24 28 43 43 4f 50 54 53 29 20 24 28  pdb $(CCOPTS) $(
3540: 42 43 43 4f 50 54 53 29 0a 21 45 4c 53 45 0a 42  BCCOPTS).!ELSE.B
3550: 43 43 20 3d 20 24 28 4e 43 43 29 20 2d 6e 6f 6c  CC = $(NCC) -nol
3560: 6f 67 6f 20 2d 57 33 20 2d 46 64 24 2a 2e 70 64  ogo -W3 -Fd$*.pd
3570: 62 20 24 28 43 43 4f 50 54 53 29 20 24 28 42 43  b $(CCOPTS) $(BC
3580: 43 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23  COPTS).!ENDIF..#
3590: 20 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62   Check if assemb
35a0: 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73  ly code listings
35b0: 20 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72   should be gener
35c0: 61 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75  ated for the sou
35d0: 72 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73  rce.# code files
35e0: 20 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e   to be compiled.
35f0: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53  .#.!IF $(USE_LIS
3600: 54 49 4e 47 53 29 21 3d 30 0a 42 43 43 20 3d 20  TINGS)!=0.BCC = 
3610: 24 28 42 43 43 29 20 2d 46 41 63 73 0a 21 45 4e  $(BCC) -FAcs.!EN
3620: 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20  DIF..# Check if 
3630: 74 68 65 20 6e 61 74 69 76 65 20 6c 69 62 72 61  the native libra
3640: 72 79 20 70 61 74 68 73 20 73 68 6f 75 6c 64 20  ry paths should 
3650: 62 65 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d  be used when com
3660: 70 69 6c 69 6e 67 0a 23 20 74 68 65 20 63 6f 6d  piling.# the com
3670: 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73 20  mand line tools 
3680: 75 73 65 64 20 64 75 72 69 6e 67 20 74 68 65 20  used during the 
3690: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63  compilation proc
36a0: 65 73 73 2e 20 20 49 66 0a 23 20 73 6f 2c 20 73  ess.  If.# so, s
36b0: 65 74 20 74 68 65 20 6e 65 63 65 73 73 61 72 79  et the necessary
36c0: 20 6d 61 63 72 6f 20 6e 6f 77 2e 0a 23 0a 21 49   macro now..#.!I
36d0: 46 20 24 28 55 53 45 5f 4e 41 54 49 56 45 5f 4c  F $(USE_NATIVE_L
36e0: 49 42 50 41 54 48 53 29 21 3d 30 0a 4e 4c 54 4c  IBPATHS)!=0.NLTL
36f0: 49 42 50 41 54 48 53 20 3d 20 22 2f 4c 49 42 50  IBPATHS = "/LIBP
3700: 41 54 48 3a 24 28 4e 43 52 54 4c 49 42 50 41 54  ATH:$(NCRTLIBPAT
3710: 48 29 22 20 22 2f 4c 49 42 50 41 54 48 3a 24 28  H)" "/LIBPATH:$(
3720: 4e 53 44 4b 4c 49 42 50 41 54 48 29 22 0a 0a 21  NSDKLIBPATH)"..!
3730: 49 46 44 45 46 20 4e 55 43 52 54 4c 49 42 50 41  IFDEF NUCRTLIBPA
3740: 54 48 0a 4e 55 43 52 54 4c 49 42 50 41 54 48 20  TH.NUCRTLIBPATH 
3750: 3d 20 24 28 4e 55 43 52 54 4c 49 42 50 41 54 48  = $(NUCRTLIBPATH
3760: 3a 5c 5c 3d 5c 29 0a 4e 4c 54 4c 49 42 50 41 54  :\\=\).NLTLIBPAT
3770: 48 53 20 3d 20 24 28 4e 4c 54 4c 49 42 50 41 54  HS = $(NLTLIBPAT
3780: 48 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28  HS) "/LIBPATH:$(
3790: 4e 55 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21  NUCRTLIBPATH)".!
37a0: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
37b0: 43 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f  C compiler and o
37c0: 70 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69  ptions for use i
37d0: 6e 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75  n building execu
37e0: 74 61 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69  tables that.# wi
37f0: 6c 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20 74 61  ll run on the ta
3800: 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20  rget platform.  
3810: 28 42 43 43 20 61 6e 64 20 54 43 43 20 61 72 65  (BCC and TCC are
3820: 20 75 73 75 61 6c 6c 79 20 74 68 65 0a 23 20 73   usually the.# s
3830: 61 6d 65 20 75 6e 6c 65 73 73 20 79 6f 75 72 20  ame unless your 
3840: 61 72 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c  are cross-compil
3850: 69 6e 67 2e 29 0a 23 0a 21 49 46 20 24 28 55 53  ing.).#.!IF $(US
3860: 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 54  E_FULLWARN)!=0.T
3870: 43 43 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f  CC = $(CC) -nolo
3880: 67 6f 20 2d 57 34 20 2d 44 49 4e 43 4c 55 44 45  go -W4 -DINCLUDE
3890: 5f 4d 53 56 43 5f 48 3d 31 20 24 28 43 43 4f 50  _MSVC_H=1 $(CCOP
38a0: 54 53 29 20 24 28 54 43 43 4f 50 54 53 29 0a 21  TS) $(TCCOPTS).!
38b0: 45 4c 53 45 0a 54 43 43 20 3d 20 24 28 43 43 29  ELSE.TCC = $(CC)
38c0: 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43   -nologo -W3 $(C
38d0: 43 4f 50 54 53 29 20 24 28 54 43 43 4f 50 54 53  COPTS) $(TCCOPTS
38e0: 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63  ).!ENDIF..# Chec
38f0: 6b 20 69 66 20 77 61 72 6e 69 6e 67 73 20 73 68  k if warnings sh
3900: 6f 75 6c 64 20 62 65 20 74 72 65 61 74 65 64 20  ould be treated 
3910: 61 73 20 65 72 72 6f 72 73 20 77 68 65 6e 20 63  as errors when c
3920: 6f 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 20  ompiling..#.!IF 
3930: 24 28 55 53 45 5f 46 41 54 41 4c 5f 57 41 52 4e  $(USE_FATAL_WARN
3940: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC
3950: 29 20 2d 57 58 0a 21 45 4e 44 49 46 0a 0a 54 43  ) -WX.!ENDIF..TC
3960: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c  C = $(TCC) -DSQL
3970: 49 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e  ITE_OS_WIN=1 -I.
3980: 20 2d 49 24 28 54 4f 50 29 20 2d 49 24 28 54 4f   -I$(TOP) -I$(TO
3990: 50 29 5c 73 72 63 20 2d 66 70 3a 70 72 65 63 69  P)\src -fp:preci
39a0: 73 65 0a 52 43 43 20 3d 20 24 28 52 43 29 20 2d  se.RCC = $(RC) -
39b0: 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31  DSQLITE_OS_WIN=1
39c0: 20 2d 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49   -I. -I$(TOP) -I
39d0: 24 28 54 4f 50 29 5c 73 72 63 20 24 28 52 43 4f  $(TOP)\src $(RCO
39e0: 50 54 53 29 20 24 28 52 43 43 4f 50 54 53 29 0a  PTS) $(RCCOPTS).
39f0: 0a 23 20 43 68 65 63 6b 20 69 66 20 77 65 20 77  .# Check if we w
3a00: 61 6e 74 20 74 6f 20 75 73 65 20 74 68 65 20 22  ant to use the "
3a10: 73 74 64 63 61 6c 6c 22 20 63 61 6c 6c 69 6e 67  stdcall" calling
3a20: 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 77 68 65 6e   convention when
3a30: 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 20 54 68   compiling..# Th
3a40: 69 73 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72  is is not suppor
3a50: 74 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69  ted by the compi
3a60: 6c 65 72 73 20 66 6f 72 20 6e 6f 6e 2d 78 38 36  lers for non-x86
3a70: 20 70 6c 61 74 66 6f 72 6d 73 2e 20 20 49 74 20   platforms.  It 
3a80: 73 68 6f 75 6c 64 0a 23 20 61 6c 73 6f 20 62 65  should.# also be
3a90: 20 6e 6f 74 65 64 20 68 65 72 65 20 74 68 61 74   noted here that
3aa0: 20 62 75 69 6c 64 69 6e 67 20 61 6e 79 20 74 61   building any ta
3ab0: 72 67 65 74 20 77 69 74 68 20 74 68 65 73 65 20  rget with these 
3ac0: 22 73 74 64 63 61 6c 6c 22 20 6f 70 74 69 6f 6e  "stdcall" option
3ad0: 73 0a 23 20 77 69 6c 6c 20 6d 6f 73 74 20 6c 69  s.# will most li
3ae0: 6b 65 6c 79 20 66 61 69 6c 20 69 66 20 74 68 65  kely fail if the
3af0: 20 54 63 6c 20 6c 69 62 72 61 72 79 20 69 73 20   Tcl library is 
3b00: 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 20 20  also required.  
3b10: 54 68 69 73 20 69 73 20 64 75 65 0a 23 20 74 6f  This is due.# to
3b20: 20 68 6f 77 20 74 68 65 20 54 63 6c 20 6c 69 62   how the Tcl lib
3b30: 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 61  rary functions a
3b40: 72 65 20 64 65 63 6c 61 72 65 64 20 61 6e 64 20  re declared and 
3b50: 65 78 70 6f 72 74 65 64 20 28 69 2e 65 2e 20 77  exported (i.e. w
3b60: 69 74 68 6f 75 74 0a 23 20 61 6e 20 65 78 70 6c  ithout.# an expl
3b70: 69 63 69 74 20 63 61 6c 6c 69 6e 67 20 63 6f 6e  icit calling con
3b80: 76 65 6e 74 69 6f 6e 2c 20 77 68 69 63 68 20 72  vention, which r
3b90: 65 73 75 6c 74 73 20 69 6e 20 22 63 64 65 63 6c  esults in "cdecl
3ba0: 22 29 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  ")..#.!IF $(USE_
3bb0: 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24  STDCALL)!=0 || $
3bc0: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21  (FOR_WIN10)!=0.!
3bd0: 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22  IF "$(PLATFORM)"
3be0: 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f 43 43 4f  =="x86".CORE_CCO
3bf0: 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44  NV_OPTS = -Gz -D
3c00: 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63  SQLITE_CDECL=__c
3c10: 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50  decl -DSQLITE_AP
3c20: 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20  ICALL=__stdcall 
3c30: 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43  -DSQLITE_CALLBAC
3c40: 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51  K=__stdcall -DSQ
3c50: 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74  LITE_SYSAPI=__st
3c60: 64 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f 4e  dcall.SHELL_CCON
3c70: 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53  V_OPTS = -Gz -DS
3c80: 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64  QLITE_CDECL=__cd
3c90: 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49  ecl -DSQLITE_API
3ca0: 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  CALL=__stdcall -
3cb0: 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b  DSQLITE_CALLBACK
3cc0: 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c  =__stdcall -DSQL
3cd0: 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64  ITE_SYSAPI=__std
3ce0: 63 61 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  call.# <<mark>>.
3cf0: 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20  TEST_CCONV_OPTS 
3d00: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43  = -Gz -DSQLITE_C
3d10: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53  DECL=__cdecl -DS
3d20: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f  QLITE_APICALL=__
3d30: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45  stdcall -DSQLITE
3d40: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63  _CALLBACK=__stdc
3d50: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53  all -DSQLITE_SYS
3d60: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  API=__stdcall -D
3d70: 49 4e 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f 54  INCLUDE_SQLITE_T
3d80: 43 4c 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f  CL_H=1 -DSQLITE_
3d90: 54 43 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a 23  TCLAPI=__cdecl.#
3da0: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45   <</mark>>.!ELSE
3db0: 0a 21 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52  .!IFNDEF PLATFOR
3dc0: 4d 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54  M.CORE_CCONV_OPT
3dd0: 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45  S = -Gz -DSQLITE
3de0: 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d  _CDECL=__cdecl -
3df0: 44 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d  DSQLITE_APICALL=
3e00: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
3e10: 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74  TE_CALLBACK=__st
3e20: 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53  dcall -DSQLITE_S
3e30: 59 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a  YSAPI=__stdcall.
3e40: 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53  SHELL_CCONV_OPTS
3e50: 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f   = -Gz -DSQLITE_
3e60: 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44  CDECL=__cdecl -D
3e70: 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f  SQLITE_APICALL=_
3e80: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
3e90: 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64  E_CALLBACK=__std
3ea0: 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59  call -DSQLITE_SY
3eb0: 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23  SAPI=__stdcall.#
3ec0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43   <<mark>>.TEST_C
3ed0: 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20  CONV_OPTS = -Gz 
3ee0: 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f  -DSQLITE_CDECL=_
3ef0: 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f  _cdecl -DSQLITE_
3f00: 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c  APICALL=__stdcal
3f10: 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42  l -DSQLITE_CALLB
3f20: 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  ACK=__stdcall -D
3f30: 53 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f  SQLITE_SYSAPI=__
3f40: 73 74 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44  stdcall -DINCLUD
3f50: 45 5f 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31  E_SQLITE_TCL_H=1
3f60: 20 2d 44 53 51 4c 49 54 45 5f 54 43 4c 41 50 49   -DSQLITE_TCLAPI
3f70: 3d 5f 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61  =__cdecl.# <</ma
3f80: 72 6b 3e 3e 0a 21 45 4c 53 45 0a 43 4f 52 45 5f  rk>>.!ELSE.CORE_
3f90: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45  CCONV_OPTS =.SHE
3fa0: 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a  LL_CCONV_OPTS =.
3fb0: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f  # <<mark>>.TEST_
3fc0: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c  CCONV_OPTS =.# <
3fd0: 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a  </mark>>.!ENDIF.
3fe0: 21 45 4e 44 49 46 0a 21 45 4c 53 45 0a 43 4f 52  !ENDIF.!ELSE.COR
3ff0: 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53  E_CCONV_OPTS =.S
4000: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20  HELL_CCONV_OPTS 
4010: 3d 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53  =.# <<mark>>.TES
4020: 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23  T_CCONV_OPTS =.#
4030: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49   <</mark>>.!ENDI
4040: 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61  F..# These are a
4050: 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c  dditional compil
4060: 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20  er options used 
4070: 66 6f 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62  for the core lib
4080: 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20  rary..#.!IFNDEF 
4090: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
40a0: 53 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f  S.!IF $(DYNAMIC_
40b0: 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46  SHELL)!=0 || $(F
40c0: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 43 4f 52  OR_WIN10)!=0.COR
40d0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d  E_COMPILE_OPTS =
40e0: 20 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50   $(CORE_CCONV_OP
40f0: 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 41 50 49  TS) -DSQLITE_API
4100: 3d 5f 5f 64 65 63 6c 73 70 65 63 28 64 6c 6c 65  =__declspec(dlle
4110: 78 70 6f 72 74 29 0a 21 45 4c 53 45 0a 43 4f 52  xport).!ELSE.COR
4120: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d  E_COMPILE_OPTS =
4130: 20 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50   $(CORE_CCONV_OP
4140: 54 53 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  TS).!ENDIF.!ENDI
4150: 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74  F..# These are t
4160: 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 61  he additional ta
4170: 72 67 65 74 73 20 74 68 61 74 20 74 68 65 20 63  rgets that the c
4180: 6f 72 65 20 6c 69 62 72 61 72 79 20 73 68 6f 75  ore library shou
4190: 6c 64 20 64 65 70 65 6e 64 20 6f 6e 0a 23 20 77  ld depend on.# w
41a0: 68 65 6e 20 6c 69 6e 6b 69 6e 67 2e 0a 23 0a 21  hen linking..#.!
41b0: 49 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b  IFNDEF CORE_LINK
41c0: 5f 44 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d  _DEP.!IF $(DYNAM
41d0: 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52  IC_SHELL)!=0.COR
41e0: 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4c  E_LINK_DEP =.!EL
41f0: 53 45 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30  SEIF $(FOR_WIN10
4200: 29 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46  )==0 || "$(PLATF
4210: 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52  ORM)"=="x86".COR
4220: 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 20 73 71 6c  E_LINK_DEP = sql
4230: 69 74 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a 43  ite3.def.!ELSE.C
4240: 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21  ORE_LINK_DEP =.!
4250: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
4260: 54 68 65 73 65 20 61 72 65 20 61 64 64 69 74 69  These are additi
4270: 6f 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69  onal linker opti
4280: 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68 65  ons used for the
4290: 20 63 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23   core library..#
42a0: 0a 21 49 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49  .!IFNDEF CORE_LI
42b0: 4e 4b 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59  NK_OPTS.!IF $(DY
42c0: 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a  NAMIC_SHELL)!=0.
42d0: 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d  CORE_LINK_OPTS =
42e0: 0a 21 45 4c 53 45 49 46 20 24 28 46 4f 52 5f 57  .!ELSEIF $(FOR_W
42f0: 49 4e 31 30 29 3d 3d 30 20 7c 7c 20 22 24 28 50  IN10)==0 || "$(P
4300: 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22  LATFORM)"=="x86"
4310: 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20  .CORE_LINK_OPTS 
4320: 3d 20 2f 44 45 46 3a 73 71 6c 69 74 65 33 2e 64  = /DEF:sqlite3.d
4330: 65 66 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49  ef.!ELSE.CORE_LI
4340: 4e 4b 5f 4f 50 54 53 20 3d 0a 21 45 4e 44 49 46  NK_OPTS =.!ENDIF
4350: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65  .!ENDIF..# These
4360: 20 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20   are additional 
4370: 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73  compiler options
4380: 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 73 68   used for the sh
4390: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a  ell executable..
43a0: 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f  #.!IFNDEF SHELL_
43b0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46  COMPILE_OPTS.!IF
43c0: 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c   $(DYNAMIC_SHELL
43d0: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49  )!=0 || $(FOR_WI
43e0: 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f  N10)!=0.SHELL_CO
43f0: 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53  MPILE_OPTS = $(S
4400: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29  HELL_CCONV_OPTS)
4410: 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f   -DSQLITE_API=__
4420: 64 65 63 6c 73 70 65 63 28 64 6c 6c 69 6d 70 6f  declspec(dllimpo
4430: 72 74 29 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f  rt).!ELSE.SHELL_
4440: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24  COMPILE_OPTS = $
4450: 28 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54  (SHELL_CCONV_OPT
4460: 53 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  S).!ENDIF.!ENDIF
4470: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20  ..# This is the 
4480: 73 6f 75 72 63 65 20 63 6f 64 65 20 74 68 61 74  source code that
4490: 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75   the shell execu
44a0: 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 62 65 20  table should be 
44b0: 63 6f 6d 70 69 6c 65 64 0a 23 20 77 69 74 68 2e  compiled.# with.
44c0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c  .#.!IFNDEF SHELL
44d0: 5f 43 4f 52 45 5f 53 52 43 0a 21 49 46 20 24 28  _CORE_SRC.!IF $(
44e0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d  DYNAMIC_SHELL)!=
44f0: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10
4500: 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f  )!=0.SHELL_CORE_
4510: 53 52 43 20 3d 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  SRC =.# <<mark>>
4520: 0a 21 45 4c 53 45 49 46 20 24 28 55 53 45 5f 41  .!ELSEIF $(USE_A
4530: 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a  MALGAMATION)==0.
4540: 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d  SHELL_CORE_SRC =
4550: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c  .# <</mark>>.!EL
4560: 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52  SE.SHELL_CORE_SR
4570: 43 20 3d 20 24 28 53 51 4c 49 54 45 33 43 29 0a  C = $(SQLITE3C).
4580: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
4590: 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 72   This is the cor
45a0: 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 74  e library that t
45b0: 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61  he shell executa
45c0: 62 6c 65 20 73 68 6f 75 6c 64 20 64 65 70 65 6e  ble should depen
45d0: 64 20 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20  d on..#.!IFNDEF 
45e0: 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 0a 21  SHELL_CORE_DEP.!
45f0: 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45  IF $(DYNAMIC_SHE
4600: 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f  LL)!=0 || $(FOR_
4610: 57 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f  WIN10)!=0.SHELL_
4620: 43 4f 52 45 5f 44 45 50 20 3d 20 24 28 53 51 4c  CORE_DEP = $(SQL
4630: 49 54 45 33 44 4c 4c 29 0a 23 20 3c 3c 6d 61 72  ITE3DLL).# <<mar
4640: 6b 3e 3e 0a 21 45 4c 53 45 49 46 20 24 28 55 53  k>>.!ELSEIF $(US
4650: 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d  E_AMALGAMATION)=
4660: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45  =0.SHELL_CORE_DE
4670: 50 20 3d 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c  P = libsqlite3.l
4680: 69 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21  ib.# <</mark>>.!
4690: 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f  ELSE.SHELL_CORE_
46a0: 44 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e  DEP =.!ENDIF.!EN
46b0: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  DIF..# <<mark>>.
46c0: 23 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72  # If zlib suppor
46d0: 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64  t is enabled, ad
46e0: 64 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 69  d the dependenci
46f0: 65 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46  es for it..#.!IF
4700: 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 20   $(USE_ZLIB)!=0 
4710: 26 26 20 24 28 42 55 49 4c 44 5f 5a 4c 49 42 29  && $(BUILD_ZLIB)
4720: 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44  !=0.SHELL_CORE_D
4730: 45 50 20 3d 20 7a 6c 69 62 20 24 28 53 48 45 4c  EP = zlib $(SHEL
4740: 4c 5f 43 4f 52 45 5f 44 45 50 29 0a 54 45 53 54  L_CORE_DEP).TEST
4750: 46 49 58 54 55 52 45 5f 44 45 50 20 3d 20 7a 6c  FIXTURE_DEP = zl
4760: 69 62 20 24 28 54 45 53 54 46 49 58 54 55 52 45  ib $(TESTFIXTURE
4770: 5f 44 45 50 29 0a 21 45 4e 44 49 46 0a 23 20 3c  _DEP).!ENDIF.# <
4780: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 73  </mark>>..# This
4790: 20 69 73 20 74 68 65 20 63 6f 72 65 20 6c 69 62   is the core lib
47a0: 72 61 72 79 20 74 68 61 74 20 74 68 65 20 73 68  rary that the sh
47b0: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 73  ell executable s
47c0: 68 6f 75 6c 64 20 6c 69 6e 6b 20 77 69 74 68 2e  hould link with.
47d0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c  .#.!IFNDEF SHELL
47e0: 5f 43 4f 52 45 5f 4c 49 42 0a 21 49 46 20 24 28  _CORE_LIB.!IF $(
47f0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d  DYNAMIC_SHELL)!=
4800: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10
4810: 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f  )!=0.SHELL_CORE_
4820: 4c 49 42 20 3d 20 24 28 53 51 4c 49 54 45 33 4c  LIB = $(SQLITE3L
4830: 49 42 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21  IB).# <<mark>>.!
4840: 45 4c 53 45 49 46 20 24 28 55 53 45 5f 41 4d 41  ELSEIF $(USE_AMA
4850: 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 53 48  LGAMATION)==0.SH
4860: 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 6c  ELL_CORE_LIB = l
4870: 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 23 20  ibsqlite3.lib.# 
4880: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a  <</mark>>.!ELSE.
4890: 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d  SHELL_CORE_LIB =
48a0: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
48b0: 23 20 54 68 65 73 65 20 61 72 65 20 61 64 64 69  # These are addi
48c0: 74 69 6f 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70  tional linker op
48d0: 74 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74  tions used for t
48e0: 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61  he shell executa
48f0: 62 6c 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53  ble..#.!IFNDEF S
4900: 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 53  HELL_LINK_OPTS.S
4910: 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d  HELL_LINK_OPTS =
4920: 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49   $(SHELL_CORE_LI
4930: 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65  B).!ENDIF..# Che
4940: 63 6b 20 69 66 20 61 73 73 65 6d 62 6c 79 20 63  ck if assembly c
4950: 6f 64 65 20 6c 69 73 74 69 6e 67 73 20 73 68 6f  ode listings sho
4960: 75 6c 64 20 62 65 20 67 65 6e 65 72 61 74 65 64  uld be generated
4970: 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 0a   for the source.
4980: 23 20 63 6f 64 65 20 66 69 6c 65 73 20 74 6f 20  # code files to 
4990: 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21  be compiled..#.!
49a0: 49 46 20 24 28 55 53 45 5f 4c 49 53 54 49 4e 47  IF $(USE_LISTING
49b0: 53 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  S)!=0.TCC = $(TC
49c0: 43 29 20 2d 46 41 63 73 0a 21 45 4e 44 49 46 0a  C) -FAcs.!ENDIF.
49d0: 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  .# When compilin
49e0: 67 20 74 68 65 20 6c 69 62 72 61 72 79 20 66 6f  g the library fo
49f0: 72 20 75 73 65 20 69 6e 20 74 68 65 20 57 69 6e  r use in the Win
4a00: 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0a  RT environment,.
4a10: 23 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20  # the following 
4a20: 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6f 70 74  compile-time opt
4a30: 69 6f 6e 73 20 6d 75 73 74 20 62 65 20 75 73 65  ions must be use
4a40: 64 20 61 73 20 77 65 6c 6c 20 74 6f 0a 23 20 64  d as well to.# d
4a50: 69 73 61 62 6c 65 20 75 73 65 20 6f 66 20 57 69  isable use of Wi
4a60: 6e 33 32 20 41 50 49 73 20 74 68 61 74 20 61 72  n32 APIs that ar
4a70: 65 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20  e not available 
4a80: 61 6e 64 20 74 6f 20 65 6e 61 62 6c 65 0a 23 20  and to enable.# 
4a90: 75 73 65 20 6f 66 20 57 69 6e 33 32 20 41 50 49  use of Win32 API
4aa0: 73 20 74 68 61 74 20 61 72 65 20 73 70 65 63 69  s that are speci
4ab0: 66 69 63 20 74 6f 20 57 69 6e 64 6f 77 73 20 38  fic to Windows 8
4ac0: 20 61 6e 64 2f 6f 72 20 57 69 6e 52 54 2e 0a 23   and/or WinRT..#
4ad0: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54  .!IF $(FOR_WINRT
4ae0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC
4af0: 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49  ) -DSQLITE_OS_WI
4b00: 4e 52 54 3d 31 0a 52 43 43 20 3d 20 24 28 52 43  NRT=1.RCC = $(RC
4b10: 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57  C) -DSQLITE_OS_W
4b20: 49 4e 52 54 3d 31 0a 54 43 43 20 3d 20 24 28 54  INRT=1.TCC = $(T
4b30: 43 43 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d  CC) -DWINAPI_FAM
4b40: 49 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c  ILY=WINAPI_FAMIL
4b50: 59 5f 41 50 50 0a 52 43 43 20 3d 20 24 28 52 43  Y_APP.RCC = $(RC
4b60: 43 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49  C) -DWINAPI_FAMI
4b70: 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59  LY=WINAPI_FAMILY
4b80: 5f 41 50 50 0a 21 45 4e 44 49 46 0a 0a 23 20 43  _APP.!ENDIF..# C
4b90: 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e   compiler option
4ba0: 73 20 66 6f 72 20 74 68 65 20 57 69 6e 64 6f 77  s for the Window
4bb0: 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 20 28 6e  s 10 platform (n
4bc0: 65 65 64 73 20 4d 53 56 43 20 32 30 31 35 29 2e  eeds MSVC 2015).
4bd0: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  .#.!IF $(FOR_WIN
4be0: 31 30 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54  10)!=0.TCC = $(T
4bf0: 43 43 29 20 2f 64 32 67 75 61 72 64 34 20 2d 44  CC) /d2guard4 -D
4c00: 5f 41 52 4d 5f 57 49 4e 41 50 49 5f 50 41 52 54  _ARM_WINAPI_PART
4c10: 49 54 49 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53 44  ITION_DESKTOP_SD
4c20: 4b 5f 41 56 41 49 4c 41 42 4c 45 0a 42 43 43 20  K_AVAILABLE.BCC 
4c30: 3d 20 24 28 42 43 43 29 20 2f 64 32 67 75 61 72  = $(BCC) /d2guar
4c40: 64 34 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 49  d4 -D_ARM_WINAPI
4c50: 5f 50 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b 54  _PARTITION_DESKT
4c60: 4f 50 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c 45  OP_SDK_AVAILABLE
4c70: 0a 21 45 4e 44 49 46 0a 0a 23 20 41 6c 73 6f 2c  .!ENDIF..# Also,
4c80: 20 77 65 20 6e 65 65 64 20 74 6f 20 64 79 6e 61   we need to dyna
4c90: 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74 6f 20  mically link to 
4ca0: 74 68 65 20 63 6f 72 72 65 63 74 20 4d 53 56 43  the correct MSVC
4cb0: 20 72 75 6e 74 69 6d 65 0a 23 20 77 68 65 6e 20   runtime.# when 
4cc0: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69  compiling for Wi
4cd0: 6e 52 54 20 28 65 2e 67 2e 20 64 65 62 75 67 20  nRT (e.g. debug 
4ce0: 6f 72 20 72 65 6c 65 61 73 65 29 20 4f 52 20 69  or release) OR i
4cf0: 66 20 74 68 65 0a 23 20 55 53 45 5f 43 52 54 5f  f the.# USE_CRT_
4d00: 44 4c 4c 20 6f 70 74 69 6f 6e 20 69 73 20 73 65  DLL option is se
4d10: 74 20 74 6f 20 66 6f 72 63 65 20 64 79 6e 61 6d  t to force dynam
4d20: 69 63 61 6c 6c 79 20 6c 69 6e 6b 69 6e 67 20 74  ically linking t
4d30: 6f 20 74 68 65 0a 23 20 4d 53 56 43 20 72 75 6e  o the.# MSVC run
4d40: 74 69 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a  time library..#.
4d50: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29  !IF $(FOR_WINRT)
4d60: 21 3d 30 20 7c 7c 20 24 28 55 53 45 5f 43 52 54  !=0 || $(USE_CRT
4d70: 5f 44 4c 4c 29 21 3d 30 0a 21 49 46 20 24 28 44  _DLL)!=0.!IF $(D
4d80: 45 42 55 47 29 3e 31 0a 54 43 43 20 3d 20 24 28  EBUG)>1.TCC = $(
4d90: 54 43 43 29 20 2d 4d 44 64 0a 42 43 43 20 3d 20  TCC) -MDd.BCC = 
4da0: 24 28 42 43 43 29 20 2d 4d 44 64 0a 21 45 4c 53  $(BCC) -MDd.!ELS
4db0: 45 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  E.TCC = $(TCC) -
4dc0: 4d 44 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  MD.BCC = $(BCC) 
4dd0: 2d 4d 44 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45  -MD.!ENDIF.!ELSE
4de0: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a  .!IF $(DEBUG)>1.
4df0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 54  TCC = $(TCC) -MT
4e00: 64 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  d.BCC = $(BCC) -
4e10: 4d 54 64 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20  MTd.!ELSE.TCC = 
4e20: 24 28 54 43 43 29 20 2d 4d 54 0a 42 43 43 20 3d  $(TCC) -MT.BCC =
4e30: 20 24 28 42 43 43 29 20 2d 4d 54 0a 21 45 4e 44   $(BCC) -MT.!END
4e40: 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d  IF.!ENDIF..# <<m
4e50: 61 72 6b 3e 3e 0a 23 20 54 68 65 20 6d 6b 73 71  ark>>.# The mksq
4e60: 6c 69 74 65 33 63 2e 74 63 6c 20 61 6e 64 20 6d  lite3c.tcl and m
4e70: 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 73 63  ksqlite3h.tcl sc
4e80: 72 69 70 74 73 20 77 69 6c 6c 20 70 75 6c 6c 20  ripts will pull 
4e90: 69 6e 0a 23 20 61 6e 79 20 65 78 74 65 6e 73 69  in.# any extensi
4ea0: 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 20  on header files 
4eb0: 62 79 20 64 65 66 61 75 6c 74 2e 20 20 46 6f 72  by default.  For
4ec0: 20 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f   non-amalgamatio
4ed0: 6e 0a 23 20 62 75 69 6c 64 73 2c 20 77 65 20 6e  n.# builds, we n
4ee0: 65 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65  eed to make sure
4ef0: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61   the compiler ca
4f00: 6e 20 66 69 6e 64 20 74 68 65 73 65 2e 0a 23 0a  n find these..#.
4f10: 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41  !IF $(USE_AMALGA
4f20: 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 43 43 20 3d  MATION)==0.TCC =
4f30: 20 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29   $(TCC) -I$(TOP)
4f40: 5c 65 78 74 5c 66 74 73 33 0a 52 43 43 20 3d 20  \ext\fts3.RCC = 
4f50: 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c  $(RCC) -I$(TOP)\
4f60: 65 78 74 5c 66 74 73 33 0a 54 43 43 20 3d 20 24  ext\fts3.TCC = $
4f70: 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65  (TCC) -I$(TOP)\e
4f80: 78 74 5c 72 74 72 65 65 0a 52 43 43 20 3d 20 24  xt\rtree.RCC = $
4f90: 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65  (RCC) -I$(TOP)\e
4fa0: 78 74 5c 72 74 72 65 65 0a 54 43 43 20 3d 20 24  xt\rtree.TCC = $
4fb0: 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65  (TCC) -I$(TOP)\e
4fc0: 78 74 5c 73 65 73 73 69 6f 6e 0a 52 43 43 20 3d  xt\session.RCC =
4fd0: 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29   $(RCC) -I$(TOP)
4fe0: 5c 65 78 74 5c 73 65 73 73 69 6f 6e 0a 21 45 4e  \ext\session.!EN
4ff0: 44 49 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c  DIF..# The mksql
5000: 69 74 65 33 63 2e 74 63 6c 20 73 63 72 69 70 74  ite3c.tcl script
5010: 20 61 63 63 65 70 74 73 20 73 6f 6d 65 20 6f 70   accepts some op
5020: 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d  tions on the com
5030: 6d 61 6e 64 0a 23 20 6c 69 6e 65 2e 20 20 57 68  mand.# line.  Wh
5040: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74  en compiling wit
5050: 68 20 64 65 62 75 67 67 69 6e 67 20 65 6e 61 62  h debugging enab
5060: 6c 65 64 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65  led, some of the
5070: 73 65 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65  se.# options are
5080: 20 6e 65 63 65 73 73 61 72 79 20 69 6e 20 6f 72   necessary in or
5090: 64 65 72 20 74 6f 20 61 6c 6c 6f 77 20 64 65 62  der to allow deb
50a0: 75 67 67 69 6e 67 20 73 79 6d 62 6f 6c 73 20 74  ugging symbols t
50b0: 6f 0a 23 20 77 6f 72 6b 20 63 6f 72 72 65 63 74  o.# work correct
50c0: 6c 79 20 77 69 74 68 20 56 69 73 75 61 6c 20 53  ly with Visual S
50d0: 74 75 64 69 6f 20 77 68 65 6e 20 75 73 69 6e 67  tudio when using
50e0: 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f   the amalgamatio
50f0: 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53  n..#.!IFNDEF MKS
5100: 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 0a 21 49 46  QLITE3C_TOOL.!IF
5110: 20 24 28 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47   $(MINIMAL_AMALG
5120: 41 4d 41 54 49 4f 4e 29 21 3d 30 0a 4d 4b 53 51  AMATION)!=0.MKSQ
5130: 4c 49 54 45 33 43 5f 54 4f 4f 4c 20 3d 20 24 28  LITE3C_TOOL = $(
5140: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69  TOP)\tool\mksqli
5150: 74 65 33 63 2d 6e 6f 65 78 74 2e 74 63 6c 0a 21  te3c-noext.tcl.!
5160: 45 4c 53 45 0a 4d 4b 53 51 4c 49 54 45 33 43 5f  ELSE.MKSQLITE3C_
5170: 54 4f 4f 4c 20 3d 20 24 28 54 4f 50 29 5c 74 6f  TOOL = $(TOP)\to
5180: 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63  ol\mksqlite3c.tc
5190: 6c 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  l.!ENDIF.!ENDIF.
51a0: 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54  .!IFNDEF MKSQLIT
51b0: 45 33 43 5f 41 52 47 53 0a 21 49 46 20 24 28 44  E3C_ARGS.!IF $(D
51c0: 45 42 55 47 29 3e 31 0a 4d 4b 53 51 4c 49 54 45  EBUG)>1.MKSQLITE
51d0: 33 43 5f 41 52 47 53 20 3d 20 2d 2d 6c 69 6e 65  3C_ARGS = --line
51e0: 6d 61 63 72 6f 73 0a 21 45 4c 53 45 0a 4d 4b 53  macros.!ELSE.MKS
51f0: 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 0a 21  QLITE3C_ARGS =.!
5200: 45 4e 44 49 46 0a 21 49 46 20 24 28 55 53 45 5f  ENDIF.!IF $(USE_
5210: 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24  STDCALL)!=0 || $
5220: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4d  (FOR_WIN10)!=0.M
5230: 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d  KSQLITE3C_ARGS =
5240: 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52   $(MKSQLITE3C_AR
5250: 47 53 29 20 2d 2d 75 73 65 61 70 69 63 61 6c 6c  GS) --useapicall
5260: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
5270: 23 20 54 68 65 20 6d 6b 73 71 6c 69 74 65 33 68  # The mksqlite3h
5280: 2e 74 63 6c 20 73 63 72 69 70 74 20 61 63 63 65  .tcl script acce
5290: 70 74 73 20 73 6f 6d 65 20 6f 70 74 69 6f 6e 73  pts some options
52a0: 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20   on the command 
52b0: 6c 69 6e 65 2e 0a 23 20 57 68 65 6e 20 63 6f 6d  line..# When com
52c0: 70 69 6c 69 6e 67 20 77 69 74 68 20 73 74 64 63  piling with stdc
52d0: 61 6c 6c 20 73 75 70 70 6f 72 74 2c 20 73 6f 6d  all support, som
52e0: 65 20 6f 66 20 74 68 65 73 65 20 6f 70 74 69 6f  e of these optio
52f0: 6e 73 20 61 72 65 0a 23 20 6e 65 63 65 73 73 61  ns are.# necessa
5300: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b  ry..#.!IFNDEF MK
5310: 53 51 4c 49 54 45 33 48 5f 41 52 47 53 0a 21 49  SQLITE3H_ARGS.!I
5320: 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29  F $(USE_STDCALL)
5330: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e  !=0 || $(FOR_WIN
5340: 31 30 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33  10)!=0.MKSQLITE3
5350: 48 5f 41 52 47 53 20 3d 20 2d 2d 75 73 65 61 70  H_ARGS = --useap
5360: 69 63 61 6c 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51  icall.!ELSE.MKSQ
5370: 4c 49 54 45 33 48 5f 41 52 47 53 20 3d 0a 21 45  LITE3H_ARGS =.!E
5380: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c  NDIF.!ENDIF.# <<
5390: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65 66 69 6e  /mark>>..# Defin
53a0: 65 20 2d 44 4e 44 45 42 55 47 20 74 6f 20 63 6f  e -DNDEBUG to co
53b0: 6d 70 69 6c 65 20 77 69 74 68 6f 75 74 20 64 65  mpile without de
53c0: 62 75 67 67 69 6e 67 20 28 69 2e 65 2e 2c 20 66  bugging (i.e., f
53d0: 6f 72 20 70 72 6f 64 75 63 74 69 6f 6e 20 75 73  or production us
53e0: 61 67 65 29 0a 23 20 4f 6d 69 74 74 69 6e 67 20  age).# Omitting 
53f0: 74 68 65 20 64 65 66 69 6e 65 20 77 69 6c 6c 20  the define will 
5400: 63 61 75 73 65 20 65 78 74 72 61 20 64 65 62 75  cause extra debu
5410: 67 67 69 6e 67 20 63 6f 64 65 20 74 6f 20 62 65  gging code to be
5420: 20 69 6e 73 65 72 74 65 64 20 61 6e 64 0a 23 20   inserted and.# 
5430: 69 6e 63 6c 75 64 65 73 20 65 78 74 72 61 20 63  includes extra c
5440: 6f 6d 6d 65 6e 74 73 20 77 68 65 6e 20 22 45 58  omments when "EX
5450: 50 4c 41 49 4e 20 73 74 6d 74 22 20 69 73 20 75  PLAIN stmt" is u
5460: 73 65 64 2e 0a 23 0a 21 49 46 20 24 28 44 45 42  sed..#.!IF $(DEB
5470: 55 47 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54  UG)==0.TCC = $(T
5480: 43 43 29 20 2d 44 4e 44 45 42 55 47 0a 42 43 43  CC) -DNDEBUG.BCC
5490: 20 3d 20 24 28 42 43 43 29 20 2d 44 4e 44 45 42   = $(BCC) -DNDEB
54a0: 55 47 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  UG.RCC = $(RCC) 
54b0: 2d 44 4e 44 45 42 55 47 0a 21 45 4e 44 49 46 0a  -DNDEBUG.!ENDIF.
54c0: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 30 20  .!IF $(DEBUG)>0 
54d0: 7c 7c 20 24 28 41 50 49 5f 41 52 4d 4f 52 29 21  || $(API_ARMOR)!
54e0: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1
54f0: 30 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  0)!=0.TCC = $(TC
5500: 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  C) -DSQLITE_ENAB
5510: 4c 45 5f 41 50 49 5f 41 52 4d 4f 52 3d 31 0a 52  LE_API_ARMOR=1.R
5520: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ
5530: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f  LITE_ENABLE_API_
5540: 41 52 4d 4f 52 3d 31 0a 21 45 4e 44 49 46 0a 0a  ARMOR=1.!ENDIF..
5550: 21 49 46 20 24 28 44 45 42 55 47 29 3e 32 0a 54  !IF $(DEBUG)>2.T
5560: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ
5570: 4c 49 54 45 5f 44 45 42 55 47 3d 31 0a 52 43 43  LITE_DEBUG=1.RCC
5580: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49   = $(RCC) -DSQLI
5590: 54 45 5f 44 45 42 55 47 3d 31 0a 21 49 46 20 24  TE_DEBUG=1.!IF $
55a0: 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d  (DYNAMIC_SHELL)=
55b0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
55c0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
55d0: 57 48 45 52 45 54 52 41 43 45 20 2d 44 53 51 4c  WHERETRACE -DSQL
55e0: 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 4c 45 43  ITE_ENABLE_SELEC
55f0: 54 54 52 41 43 45 0a 52 43 43 20 3d 20 24 28 52  TTRACE.RCC = $(R
5600: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  CC) -DSQLITE_ENA
5610: 42 4c 45 5f 57 48 45 52 45 54 52 41 43 45 20 2d  BLE_WHERETRACE -
5620: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53  DSQLITE_ENABLE_S
5630: 45 4c 45 43 54 54 52 41 43 45 0a 21 45 4e 44 49  ELECTTRACE.!ENDI
5640: 46 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28  F.!ENDIF..!IF $(
5650: 44 45 42 55 47 29 3e 34 20 7c 7c 20 24 28 4f 53  DEBUG)>4 || $(OS
5660: 54 52 41 43 45 29 21 3d 30 0a 54 43 43 20 3d 20  TRACE)!=0.TCC = 
5670: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_
5680: 46 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31  FORCE_OS_TRACE=1
5690: 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f   -DSQLITE_DEBUG_
56a0: 4f 53 5f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d  OS_TRACE=1.RCC =
56b0: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45   $(RCC) -DSQLITE
56c0: 5f 46 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d  _FORCE_OS_TRACE=
56d0: 31 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47  1 -DSQLITE_DEBUG
56e0: 5f 4f 53 5f 54 52 41 43 45 3d 31 0a 21 45 4e 44  _OS_TRACE=1.!END
56f0: 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29  IF..!IF $(DEBUG)
5700: 3e 35 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  >5.TCC = $(TCC) 
5710: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
5720: 49 4f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20  IOTRACE=1.RCC = 
5730: 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(RCC) -DSQLITE_
5740: 45 4e 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31  ENABLE_IOTRACE=1
5750: 0a 21 45 4e 44 49 46 0a 0a 23 20 50 72 65 76 65  .!ENDIF..# Preve
5760: 6e 74 20 77 61 72 6e 69 6e 67 73 20 61 62 6f 75  nt warnings abou
5770: 74 20 22 69 6e 73 65 63 75 72 65 22 20 4d 53 56  t "insecure" MSV
5780: 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72  C runtime librar
5790: 79 20 66 75 6e 63 74 69 6f 6e 73 0a 23 20 62 65  y functions.# be
57a0: 69 6e 67 20 75 73 65 64 2e 0a 23 0a 54 43 43 20  ing used..#.TCC 
57b0: 3d 20 24 28 54 43 43 29 20 2d 44 5f 43 52 54 5f  = $(TCC) -D_CRT_
57c0: 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43  SECURE_NO_DEPREC
57d0: 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52  ATE -D_CRT_SECUR
57e0: 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 42 43  E_NO_WARNINGS.BC
57f0: 43 20 3d 20 24 28 42 43 43 29 20 2d 44 5f 43 52  C = $(BCC) -D_CR
5800: 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52  T_SECURE_NO_DEPR
5810: 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43  ECATE -D_CRT_SEC
5820: 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a  URE_NO_WARNINGS.
5830: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f  RCC = $(RCC) -D_
5840: 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45  CRT_SECURE_NO_DE
5850: 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 53  PRECATE -D_CRT_S
5860: 45 43 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47  ECURE_NO_WARNING
5870: 53 0a 0a 23 20 50 72 65 76 65 6e 74 20 77 61 72  S..# Prevent war
5880: 6e 69 6e 67 73 20 61 62 6f 75 74 20 22 64 65 70  nings about "dep
5890: 72 65 63 61 74 65 64 22 20 50 4f 53 49 58 20 66  recated" POSIX f
58a0: 75 6e 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 75  unctions being u
58b0: 73 65 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54  sed..#.TCC = $(T
58c0: 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54  CC) -D_CRT_NONST
58d0: 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20  DC_NO_DEPRECATE 
58e0: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e  -D_CRT_NONSTDC_N
58f0: 4f 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d  O_WARNINGS.BCC =
5900: 20 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 4e   $(BCC) -D_CRT_N
5910: 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43  ONSTDC_NO_DEPREC
5920: 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54  ATE -D_CRT_NONST
5930: 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52  DC_NO_WARNINGS.R
5940: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43  CC = $(RCC) -D_C
5950: 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45  RT_NONSTDC_NO_DE
5960: 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e  PRECATE -D_CRT_N
5970: 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e  ONSTDC_NO_WARNIN
5980: 47 53 0a 0a 23 20 55 73 65 20 74 68 65 20 53 51  GS..# Use the SQ
5990: 4c 69 74 65 20 64 65 62 75 67 67 69 6e 67 20 68  Lite debugging h
59a0: 65 61 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23  eap subsystem?.#
59b0: 0a 21 49 46 20 24 28 4d 45 4d 44 45 42 55 47 29  .!IF $(MEMDEBUG)
59c0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC)
59d0: 20 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42   -DSQLITE_MEMDEB
59e0: 55 47 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  UG=1.RCC = $(RCC
59f0: 29 20 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45  ) -DSQLITE_MEMDE
5a00: 42 55 47 3d 31 0a 0a 23 20 55 73 65 20 6e 61 74  BUG=1..# Use nat
5a10: 69 76 65 20 57 69 6e 33 32 20 68 65 61 70 20 73  ive Win32 heap s
5a20: 75 62 73 79 73 74 65 6d 20 69 6e 73 74 65 61 64  ubsystem instead
5a30: 20 6f 66 20 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f   of malloc/free?
5a40: 0a 23 0a 21 45 4c 53 45 49 46 20 24 28 57 49 4e  .#.!ELSEIF $(WIN
5a50: 33 32 48 45 41 50 29 21 3d 30 0a 54 43 43 20 3d  32HEAP)!=0.TCC =
5a60: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE
5a70: 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a  _WIN32_MALLOC=1.
5a80: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS
5a90: 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c  QLITE_WIN32_MALL
5aa0: 4f 43 3d 31 0a 0a 23 20 56 61 6c 69 64 61 74 65  OC=1..# Validate
5ab0: 20 74 68 65 20 68 65 61 70 20 6f 6e 20 65 76 65   the heap on eve
5ac0: 72 79 20 63 61 6c 6c 20 69 6e 74 6f 20 74 68 65  ry call into the
5ad0: 20 6e 61 74 69 76 65 20 57 69 6e 33 32 20 68 65   native Win32 he
5ae0: 61 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a  ap subsystem?.#.
5af0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 33 0a 54  !IF $(DEBUG)>3.T
5b00: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ
5b10: 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f  LITE_WIN32_MALLO
5b20: 43 5f 56 41 4c 49 44 41 54 45 3d 31 0a 52 43 43  C_VALIDATE=1.RCC
5b30: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49   = $(RCC) -DSQLI
5b40: 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f  TE_WIN32_MALLOC_
5b50: 56 41 4c 49 44 41 54 45 3d 31 0a 21 45 4e 44 49  VALIDATE=1.!ENDI
5b60: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  F.!ENDIF..# <<ma
5b70: 72 6b 3e 3e 0a 23 20 54 68 65 20 6c 6f 63 61 74  rk>>.# The locat
5b80: 69 6f 6e 73 20 6f 66 20 74 68 65 20 54 63 6c 20  ions of the Tcl 
5b90: 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61  header and libra
5ba0: 72 79 20 66 69 6c 65 73 2e 20 20 41 6c 73 6f 2c  ry files.  Also,
5bb0: 20 74 68 65 20 6c 69 62 72 61 72 79 20 74 68 61   the library tha
5bc0: 74 0a 23 20 6e 6f 6e 2d 73 74 75 62 73 20 65 6e  t.# non-stubs en
5bd0: 61 62 6c 65 64 20 70 72 6f 67 72 61 6d 73 20 75  abled programs u
5be0: 73 69 6e 67 20 54 63 6c 20 6d 75 73 74 20 6c 69  sing Tcl must li
5bf0: 6e 6b 20 61 67 61 69 6e 73 74 2e 20 20 54 68 65  nk against.  The
5c00: 73 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28  se variables.# (
5c10: 54 43 4c 49 4e 43 44 49 52 2c 20 54 43 4c 4c 49  TCLINCDIR, TCLLI
5c20: 42 44 49 52 2c 20 61 6e 64 20 4c 49 42 54 43 4c  BDIR, and LIBTCL
5c30: 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64  ) may be overrid
5c40: 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69  den via the envi
5c50: 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20  ronment.# prior 
5c60: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65  to running nmake
5c70: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74   in order to mat
5c80: 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e  ch the actual in
5c90: 73 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e  stalled location
5ca0: 20 61 6e 64 0a 23 20 76 65 72 73 69 6f 6e 20 6f   and.# version o
5cb0: 6e 20 74 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a  n this machine..
5cc0: 23 0a 21 49 46 4e 44 45 46 20 54 43 4c 44 49 52  #.!IFNDEF TCLDIR
5cd0: 0a 54 43 4c 44 49 52 20 3d 20 24 28 54 4f 50 29  .TCLDIR = $(TOP)
5ce0: 5c 63 6f 6d 70 61 74 5c 74 63 6c 0a 21 45 4e 44  \compat\tcl.!END
5cf0: 49 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c 49  IF..!IFNDEF TCLI
5d00: 4e 43 44 49 52 0a 54 43 4c 49 4e 43 44 49 52 20  NCDIR.TCLINCDIR 
5d10: 3d 20 24 28 54 43 4c 44 49 52 29 5c 69 6e 63 6c  = $(TCLDIR)\incl
5d20: 75 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e  ude.!ENDIF..!IFN
5d30: 44 45 46 20 54 43 4c 4c 49 42 44 49 52 0a 54 43  DEF TCLLIBDIR.TC
5d40: 4c 4c 49 42 44 49 52 20 3d 20 24 28 54 43 4c 44  LLIBDIR = $(TCLD
5d50: 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a  IR)\lib.!ENDIF..
5d60: 21 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 0a 4c  !IFNDEF LIBTCL.L
5d70: 49 42 54 43 4c 20 3d 20 74 63 6c 38 36 2e 6c 69  IBTCL = tcl86.li
5d80: 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45  b.!ENDIF..!IFNDE
5d90: 46 20 4c 49 42 54 43 4c 53 54 55 42 0a 4c 49 42  F LIBTCLSTUB.LIB
5da0: 54 43 4c 53 54 55 42 20 3d 20 74 63 6c 73 74 75  TCLSTUB = tclstu
5db0: 62 38 36 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a  b86.lib.!ENDIF..
5dc0: 21 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 50 41  !IFNDEF LIBTCLPA
5dd0: 54 48 0a 4c 49 42 54 43 4c 50 41 54 48 20 3d 20  TH.LIBTCLPATH = 
5de0: 24 28 54 43 4c 44 49 52 29 5c 62 69 6e 0a 21 45  $(TCLDIR)\bin.!E
5df0: 4e 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63 61  NDIF..# The loca
5e00: 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 7a 6c 69  tions of the zli
5e10: 62 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62  b header and lib
5e20: 72 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68 65  rary files.  The
5e30: 73 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28  se variables.# (
5e40: 5a 4c 49 42 49 4e 43 44 49 52 2c 20 5a 4c 49 42  ZLIBINCDIR, ZLIB
5e50: 4c 49 42 44 49 52 2c 20 61 6e 64 20 5a 4c 49 42  LIBDIR, and ZLIB
5e60: 4c 49 42 29 20 6d 61 79 20 62 65 20 6f 76 65 72  LIB) may be over
5e70: 72 69 64 64 65 6e 20 76 69 61 20 74 68 65 20 65  ridden via the e
5e80: 6e 76 69 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69  nvironment.# pri
5e90: 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d  or to running nm
5ea0: 61 6b 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20  ake in order to 
5eb0: 6d 61 74 63 68 20 74 68 65 20 61 63 74 75 61 6c  match the actual
5ec0: 20 69 6e 73 74 61 6c 6c 65 64 20 28 6f 72 20 73   installed (or s
5ed0: 6f 75 72 63 65 0a 23 20 63 6f 64 65 29 20 6c 6f  ource.# code) lo
5ee0: 63 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 20 6d  cation on this m
5ef0: 61 63 68 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45  achine..#.!IFNDE
5f00: 46 20 5a 4c 49 42 44 49 52 0a 5a 4c 49 42 44 49  F ZLIBDIR.ZLIBDI
5f10: 52 20 3d 20 24 28 54 4f 50 29 5c 63 6f 6d 70 61  R = $(TOP)\compa
5f20: 74 5c 7a 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21  t\zlib.!ENDIF..!
5f30: 49 46 4e 44 45 46 20 5a 4c 49 42 49 4e 43 44 49  IFNDEF ZLIBINCDI
5f40: 52 0a 5a 4c 49 42 49 4e 43 44 49 52 20 3d 20 24  R.ZLIBINCDIR = $
5f50: 28 5a 4c 49 42 44 49 52 29 0a 21 45 4e 44 49 46  (ZLIBDIR).!ENDIF
5f60: 0a 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42 4c 49  ..!IFNDEF ZLIBLI
5f70: 42 44 49 52 0a 5a 4c 49 42 4c 49 42 44 49 52 20  BDIR.ZLIBLIBDIR 
5f80: 3d 20 24 28 5a 4c 49 42 44 49 52 29 0a 21 45 4e  = $(ZLIBDIR).!EN
5f90: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 5a 4c 49  DIF..!IFNDEF ZLI
5fa0: 42 4c 49 42 0a 21 49 46 20 24 28 44 59 4e 41 4d  BLIB.!IF $(DYNAM
5fb0: 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 5a 4c 49  IC_SHELL)!=0.ZLI
5fc0: 42 4c 49 42 20 3d 20 7a 64 6c 6c 2e 6c 69 62 0a  BLIB = zdll.lib.
5fd0: 21 45 4c 53 45 0a 5a 4c 49 42 4c 49 42 20 3d 20  !ELSE.ZLIBLIB = 
5fe0: 7a 6c 69 62 2e 6c 69 62 0a 21 45 4e 44 49 46 0a  zlib.lib.!ENDIF.
5ff0: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f  !ENDIF..# The lo
6000: 63 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 49  cations of the I
6010: 43 55 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69  CU header and li
6020: 62 72 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68  brary files.  Th
6030: 65 73 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20  ese variables.# 
6040: 28 49 43 55 49 4e 43 44 49 52 2c 20 49 43 55 4c  (ICUINCDIR, ICUL
6050: 49 42 44 49 52 2c 20 61 6e 64 20 4c 49 42 49 43  IBDIR, and LIBIC
6060: 55 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69  U) may be overri
6070: 64 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76  dden via the env
6080: 69 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72  ironment.# prior
6090: 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b   to running nmak
60a0: 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61  e in order to ma
60b0: 74 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 69  tch the actual i
60c0: 6e 73 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f  nstalled locatio
60d0: 6e 20 6f 6e 0a 23 20 74 68 69 73 20 6d 61 63 68  n on.# this mach
60e0: 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 49  ine..#.!IFNDEF I
60f0: 43 55 44 49 52 0a 49 43 55 44 49 52 20 3d 20 24  CUDIR.ICUDIR = $
6100: 28 54 4f 50 29 5c 63 6f 6d 70 61 74 5c 69 63 75  (TOP)\compat\icu
6110: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46  .!ENDIF..!IFNDEF
6120: 20 49 43 55 49 4e 43 44 49 52 0a 49 43 55 49 4e   ICUINCDIR.ICUIN
6130: 43 44 49 52 20 3d 20 24 28 49 43 55 44 49 52 29  CDIR = $(ICUDIR)
6140: 5c 69 6e 63 6c 75 64 65 0a 21 45 4e 44 49 46 0a  \include.!ENDIF.
6150: 0a 21 49 46 4e 44 45 46 20 49 43 55 4c 49 42 44  .!IFNDEF ICULIBD
6160: 49 52 0a 49 43 55 4c 49 42 44 49 52 20 3d 20 24  IR.ICULIBDIR = $
6170: 28 49 43 55 44 49 52 29 5c 6c 69 62 0a 21 45 4e  (ICUDIR)\lib.!EN
6180: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42  DIF..!IFNDEF LIB
6190: 49 43 55 0a 4c 49 42 49 43 55 20 3d 20 69 63 75  ICU.LIBICU = icu
61a0: 75 63 2e 6c 69 62 20 69 63 75 69 6e 2e 6c 69 62  uc.lib icuin.lib
61b0: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20  .!ENDIF..# This 
61c0: 69 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 74  is the command t
61d0: 6f 20 75 73 65 20 66 6f 72 20 74 63 6c 73 68 20  o use for tclsh 
61e0: 2d 20 6e 6f 72 6d 61 6c 6c 79 20 6a 75 73 74 20  - normally just 
61f0: 22 74 63 6c 73 68 22 2c 20 62 75 74 20 77 65 20  "tclsh", but we 
6200: 6d 61 79 0a 23 20 6b 6e 6f 77 20 74 68 65 20 73  may.# know the s
6210: 70 65 63 69 66 69 63 20 76 65 72 73 69 6f 6e 20  pecific version 
6220: 77 65 20 77 61 6e 74 20 74 6f 20 75 73 65 2e 20  we want to use. 
6230: 20 54 68 69 73 20 76 61 72 69 61 62 6c 65 20 28   This variable (
6240: 54 43 4c 53 48 5f 43 4d 44 29 20 6d 61 79 20 62  TCLSH_CMD) may b
6250: 65 0a 23 20 6f 76 65 72 72 69 64 64 65 6e 20 76  e.# overridden v
6260: 69 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65  ia the environme
6270: 6e 74 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e  nt prior to runn
6280: 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64  ing nmake in ord
6290: 65 72 20 74 6f 20 73 65 6c 65 63 74 20 61 0a 23  er to select a.#
62a0: 20 73 70 65 63 69 66 69 63 20 54 63 6c 20 73 68   specific Tcl sh
62b0: 65 6c 6c 20 74 6f 20 75 73 65 2e 0a 23 0a 21 49  ell to use..#.!I
62c0: 46 4e 44 45 46 20 54 43 4c 53 48 5f 43 4d 44 0a  FNDEF TCLSH_CMD.
62d0: 21 49 46 20 24 28 55 53 45 5f 54 43 4c 53 48 5f  !IF $(USE_TCLSH_
62e0: 49 4e 5f 50 41 54 48 29 21 3d 30 20 7c 7c 20 21  IN_PATH)!=0 || !
62f0: 45 58 49 53 54 28 22 24 28 54 43 4c 44 49 52 29  EXIST("$(TCLDIR)
6300: 5c 62 69 6e 5c 74 63 6c 73 68 2e 65 78 65 22 29  \bin\tclsh.exe")
6310: 0a 54 43 4c 53 48 5f 43 4d 44 20 3d 20 74 63 6c  .TCLSH_CMD = tcl
6320: 73 68 0a 21 45 4c 53 45 0a 54 43 4c 53 48 5f 43  sh.!ELSE.TCLSH_C
6330: 4d 44 20 3d 20 24 28 54 43 4c 44 49 52 29 5c 62  MD = $(TCLDIR)\b
6340: 69 6e 5c 74 63 6c 73 68 2e 65 78 65 0a 21 45 4e  in\tclsh.exe.!EN
6350: 44 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f  DIF.!ENDIF.# <</
6360: 6d 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 70 69 6c  mark>>..# Compil
6370: 65 72 20 6f 70 74 69 6f 6e 73 20 6e 65 65 64 65  er options neede
6380: 64 20 66 6f 72 20 70 72 6f 67 72 61 6d 73 20 74  d for programs t
6390: 68 61 74 20 75 73 65 20 74 68 65 20 72 65 61 64  hat use the read
63a0: 6c 69 6e 65 28 29 20 6c 69 62 72 61 72 79 2e 0a  line() library..
63b0: 23 0a 21 49 46 4e 44 45 46 20 52 45 41 44 4c 49  #.!IFNDEF READLI
63c0: 4e 45 5f 46 4c 41 47 53 0a 52 45 41 44 4c 49 4e  NE_FLAGS.READLIN
63d0: 45 5f 46 4c 41 47 53 20 3d 20 2d 44 48 41 56 45  E_FLAGS = -DHAVE
63e0: 5f 52 45 41 44 4c 49 4e 45 3d 30 0a 21 45 4e 44  _READLINE=0.!END
63f0: 49 46 0a 0a 23 20 54 68 65 20 6c 69 62 72 61 72  IF..# The librar
6400: 79 20 74 68 61 74 20 70 72 6f 67 72 61 6d 73 20  y that programs 
6410: 75 73 69 6e 67 20 72 65 61 64 6c 69 6e 65 28 29  using readline()
6420: 20 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e   must link again
6430: 73 74 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c 49  st..#.!IFNDEF LI
6440: 42 52 45 41 44 4c 49 4e 45 0a 4c 49 42 52 45 41  BREADLINE.LIBREA
6450: 44 4c 49 4e 45 20 3d 0a 21 45 4e 44 49 46 0a 0a  DLINE =.!ENDIF..
6460: 23 20 53 68 6f 75 6c 64 20 74 68 65 20 64 61 74  # Should the dat
6470: 61 62 61 73 65 20 65 6e 67 69 6e 65 20 62 65 20  abase engine be 
6480: 63 6f 6d 70 69 6c 65 64 20 74 68 72 65 61 64 73  compiled threads
6490: 61 66 65 0a 23 0a 54 43 43 20 3d 20 24 28 54 43  afe.#.TCC = $(TC
64a0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45  C) -DSQLITE_THRE
64b0: 41 44 53 41 46 45 3d 31 0a 52 43 43 20 3d 20 24  ADSAFE=1.RCC = $
64c0: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54  (RCC) -DSQLITE_T
64d0: 48 52 45 41 44 53 41 46 45 3d 31 0a 0a 23 20 44  HREADSAFE=1..# D
64e0: 6f 20 74 68 72 65 61 64 73 20 6f 76 65 72 72 69  o threads overri
64f0: 64 65 20 65 61 63 68 20 6f 74 68 65 72 73 20 6c  de each others l
6500: 6f 63 6b 73 20 62 79 20 64 65 66 61 75 6c 74 20  ocks by default 
6510: 28 31 29 2c 20 6f 72 20 64 6f 20 77 65 20 74 65  (1), or do we te
6520: 73 74 20 28 2d 31 29 0a 23 0a 54 43 43 20 3d 20  st (-1).#.TCC = 
6530: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_
6540: 54 48 52 45 41 44 5f 4f 56 45 52 52 49 44 45 5f  THREAD_OVERRIDE_
6550: 4c 4f 43 4b 3d 2d 31 0a 52 43 43 20 3d 20 24 28  LOCK=-1.RCC = $(
6560: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  RCC) -DSQLITE_TH
6570: 52 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c 4f  READ_OVERRIDE_LO
6580: 43 4b 3d 2d 31 0a 0a 23 20 41 6e 79 20 74 61 72  CK=-1..# Any tar
6590: 67 65 74 20 6c 69 62 72 61 72 69 65 73 20 77 68  get libraries wh
65a0: 69 63 68 20 6c 69 62 73 71 6c 69 74 65 20 6d 75  ich libsqlite mu
65b0: 73 74 20 62 65 20 6c 69 6e 6b 65 64 20 61 67 61  st be linked aga
65c0: 69 6e 73 74 0a 23 0a 21 49 46 4e 44 45 46 20 54  inst.#.!IFNDEF T
65d0: 4c 49 42 53 0a 54 4c 49 42 53 20 3d 0a 21 45 4e  LIBS.TLIBS =.!EN
65e0: 44 49 46 0a 0a 23 20 46 6c 61 67 73 20 63 6f 6e  DIF..# Flags con
65f0: 74 72 6f 6c 6c 69 6e 67 20 75 73 65 20 6f 66 20  trolling use of 
6600: 74 68 65 20 69 6e 20 6d 65 6d 6f 72 79 20 62 74  the in memory bt
6610: 72 65 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69  ree implementati
6620: 6f 6e 0a 23 0a 23 20 53 51 4c 49 54 45 5f 54 45  on.#.# SQLITE_TE
6630: 4d 50 5f 53 54 4f 52 45 20 69 73 20 30 20 74 6f  MP_STORE is 0 to
6640: 20 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79   force temporary
6650: 20 74 61 62 6c 65 73 20 74 6f 20 62 65 20 69 6e   tables to be in
6660: 20 61 20 66 69 6c 65 2c 20 31 20 74 6f 0a 23 20   a file, 1 to.# 
6670: 64 65 66 61 75 6c 74 20 74 6f 20 66 69 6c 65 2c  default to file,
6680: 20 32 20 74 6f 20 64 65 66 61 75 6c 74 20 74 6f   2 to default to
6690: 20 6d 65 6d 6f 72 79 2c 20 61 6e 64 20 33 20 74   memory, and 3 t
66a0: 6f 20 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72  o force temporar
66b0: 79 0a 23 20 74 61 62 6c 65 73 20 74 6f 20 61 6c  y.# tables to al
66c0: 77 61 79 73 20 62 65 20 69 6e 20 6d 65 6d 6f 72  ways be in memor
66d0: 79 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43  y..#.TCC = $(TCC
66e0: 29 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f  ) -DSQLITE_TEMP_
66f0: 53 54 4f 52 45 3d 31 0a 52 43 43 20 3d 20 24 28  STORE=1.RCC = $(
6700: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 45  RCC) -DSQLITE_TE
6710: 4d 50 5f 53 54 4f 52 45 3d 31 0a 0a 23 20 45 6e  MP_STORE=1..# En
6720: 61 62 6c 65 2f 64 69 73 61 62 6c 65 20 6c 6f 61  able/disable loa
6730: 64 61 62 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73  dable extensions
6740: 2c 20 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69  , and other opti
6750: 6f 6e 61 6c 20 66 65 61 74 75 72 65 73 0a 23 20  onal features.# 
6760: 62 61 73 65 64 20 6f 6e 20 63 6f 6e 66 69 67 75  based on configu
6770: 72 61 74 69 6f 6e 2e 20 28 2d 44 53 51 4c 49 54  ration. (-DSQLIT
6780: 45 5f 4f 4d 49 54 2a 2c 20 2d 44 53 51 4c 49 54  E_OMIT*, -DSQLIT
6790: 45 5f 45 4e 41 42 4c 45 2a 29 2e 0a 23 20 54 68  E_ENABLE*)..# Th
67a0: 65 20 73 61 6d 65 20 73 65 74 20 6f 66 20 4f 4d  e same set of OM
67b0: 49 54 20 61 6e 64 20 45 4e 41 42 4c 45 20 66 6c  IT and ENABLE fl
67c0: 61 67 73 20 73 68 6f 75 6c 64 20 62 65 20 70 61  ags should be pa
67d0: 73 73 65 64 20 74 6f 20 74 68 65 0a 23 20 4c 45  ssed to the.# LE
67e0: 4d 4f 4e 20 70 61 72 73 65 72 20 67 65 6e 65 72  MON parser gener
67f0: 61 74 6f 72 20 61 6e 64 20 74 68 65 20 6d 6b 6b  ator and the mkk
6800: 65 79 77 6f 72 64 68 61 73 68 20 74 6f 6f 6c 20  eywordhash tool 
6810: 61 73 20 77 65 6c 6c 2e 0a 0a 23 20 54 68 65 73  as well...# Thes
6820: 65 20 61 72 65 20 74 68 65 20 72 65 71 75 69 72  e are the requir
6830: 65 64 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c  ed SQLite compil
6840: 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73  ation options us
6850: 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  ed when compilin
6860: 67 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64  g for.# the Wind
6870: 6f 77 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a  ows platform..#.
6880: 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  REQ_FEATURE_FLAG
6890: 53 20 3d 20 24 28 52 45 51 5f 46 45 41 54 55 52  S = $(REQ_FEATUR
68a0: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
68b0: 45 5f 4d 41 58 5f 54 52 49 47 47 45 52 5f 44 45  E_MAX_TRIGGER_DE
68c0: 50 54 48 3d 31 30 30 0a 0a 23 20 49 66 20 77 65  PTH=100..# If we
68d0: 20 61 72 65 20 6c 69 6e 6b 69 6e 67 20 74 6f 20   are linking to 
68e0: 74 68 65 20 52 50 43 52 54 34 20 6c 69 62 72 61  the RPCRT4 libra
68f0: 72 79 2c 20 65 6e 61 62 6c 65 20 66 65 61 74 75  ry, enable featu
6900: 72 65 73 20 74 68 61 74 20 6e 65 65 64 20 69 74  res that need it
6910: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 50  ..#.!IF $(USE_RP
6920: 43 52 54 34 5f 4c 49 42 29 21 3d 30 0a 52 45 51  CRT4_LIB)!=0.REQ
6930: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d  _FEATURE_FLAGS =
6940: 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46   $(REQ_FEATURE_F
6950: 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 57  LAGS) -DSQLITE_W
6960: 49 4e 33 32 5f 55 53 45 5f 55 55 49 44 3d 31 0a  IN32_USE_UUID=1.
6970: 21 45 4e 44 49 46 0a 0a 23 20 41 64 64 20 74 68  !ENDIF..# Add th
6980: 65 20 72 65 71 75 69 72 65 64 20 61 6e 64 20 6f  e required and o
6990: 70 74 69 6f 6e 61 6c 20 53 51 4c 69 74 65 20 63  ptional SQLite c
69a0: 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f  ompilation optio
69b0: 6e 73 20 69 6e 74 6f 20 74 68 65 20 63 6f 6d 6d  ns into the comm
69c0: 61 6e 64 0a 23 20 6c 69 6e 65 73 20 75 73 65 64  and.# lines used
69d0: 20 74 6f 20 69 6e 76 6f 6b 65 20 74 68 65 20 4d   to invoke the M
69e0: 53 56 43 20 63 6f 64 65 20 61 6e 64 20 72 65 73  SVC code and res
69f0: 6f 75 72 63 65 20 63 6f 6d 70 69 6c 65 72 73 2e  ource compilers.
6a00: 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  .#.TCC = $(TCC) 
6a10: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c  $(REQ_FEATURE_FL
6a20: 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55  AGS) $(OPT_FEATU
6a30: 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f  RE_FLAGS) $(EXT_
6a40: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 0a 52  FEATURE_FLAGS).R
6a50: 43 43 20 3d 20 24 28 52 43 43 29 20 24 28 52 45  CC = $(RCC) $(RE
6a60: 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  Q_FEATURE_FLAGS)
6a70: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46   $(OPT_FEATURE_F
6a80: 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54  LAGS) $(EXT_FEAT
6a90: 55 52 45 5f 46 4c 41 47 53 29 0a 0a 23 20 41 64  URE_FLAGS)..# Ad
6aa0: 64 20 69 6e 20 61 6e 79 20 6f 70 74 69 6f 6e 61  d in any optiona
6ab0: 6c 20 70 61 72 61 6d 65 74 65 72 73 20 73 70 65  l parameters spe
6ac0: 63 69 66 69 65 64 20 6f 6e 20 74 68 65 20 63 6f  cified on the co
6ad0: 6d 6d 61 6e 65 20 6c 69 6e 65 2c 20 65 2e 67 2e  mmane line, e.g.
6ae0: 0a 23 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65  .# nmake /f Make
6af0: 66 69 6c 65 2e 6d 73 63 20 61 6c 6c 20 22 4f 50  file.msc all "OP
6b00: 54 53 3d 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  TS=-DSQLITE_ENAB
6b10: 4c 45 5f 46 4f 4f 3d 31 20 2d 44 53 51 4c 49 54  LE_FOO=1 -DSQLIT
6b20: 45 5f 4f 4d 49 54 5f 46 4f 4f 3d 31 22 0a 23 0a  E_OMIT_FOO=1".#.
6b30: 54 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 4f  TCC = $(TCC) $(O
6b40: 50 54 53 29 0a 52 43 43 20 3d 20 24 28 52 43 43  PTS).RCC = $(RCC
6b50: 29 20 24 28 4f 50 54 53 29 0a 0a 23 20 49 66 20  ) $(OPTS)..# If 
6b60: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65  compiling for de
6b70: 62 75 67 67 69 6e 67 2c 20 61 64 64 20 73 6f 6d  bugging, add som
6b80: 65 20 64 65 66 69 6e 65 73 2e 0a 23 0a 21 49 46  e defines..#.!IF
6b90: 20 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20   $(DEBUG)>1.TCC 
6ba0: 3d 20 24 28 54 43 43 29 20 2d 44 5f 44 45 42 55  = $(TCC) -D_DEBU
6bb0: 47 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  G.BCC = $(BCC) -
6bc0: 44 5f 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28  D_DEBUG.RCC = $(
6bd0: 52 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 21 45  RCC) -D_DEBUG.!E
6be0: 4e 44 49 46 0a 0a 23 20 49 66 20 6f 70 74 69 6d  NDIF..# If optim
6bf0: 69 7a 61 74 69 6f 6e 73 20 61 72 65 20 65 6e 61  izations are ena
6c00: 62 6c 65 64 20 6f 72 20 64 69 73 61 62 6c 65 64  bled or disabled
6c10: 20 28 65 69 74 68 65 72 20 69 6d 70 6c 69 63 69   (either implici
6c20: 74 6c 79 20 6f 72 0a 23 20 65 78 70 6c 69 63 69  tly or.# explici
6c30: 74 6c 79 29 2c 20 61 64 64 20 74 68 65 20 6e 65  tly), add the ne
6c40: 63 65 73 73 61 72 79 20 66 6c 61 67 73 2e 0a 23  cessary flags..#
6c50: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 20  .!IF $(DEBUG)>1 
6c60: 7c 7c 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f  || $(OPTIMIZATIO
6c70: 4e 53 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54  NS)==0.TCC = $(T
6c80: 43 43 29 20 2d 4f 64 0a 42 43 43 20 3d 20 24 28  CC) -Od.BCC = $(
6c90: 42 43 43 29 20 2d 4f 64 0a 21 49 46 20 24 28 55  BCC) -Od.!IF $(U
6ca0: 53 45 5f 52 55 4e 54 49 4d 45 5f 43 48 45 43 4b  SE_RUNTIME_CHECK
6cb0: 53 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  S)!=0.TCC = $(TC
6cc0: 43 29 20 2d 52 54 43 31 0a 42 43 43 20 3d 20 24  C) -RTC1.BCC = $
6cd0: 28 42 43 43 29 20 2d 52 54 43 31 0a 21 45 4e 44  (BCC) -RTC1.!END
6ce0: 49 46 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54  IF.!ELSEIF $(OPT
6cf0: 49 4d 49 5a 41 54 49 4f 4e 53 29 3e 3d 33 0a 54  IMIZATIONS)>=3.T
6d00: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 78 0a  CC = $(TCC) -Ox.
6d10: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 78  BCC = $(BCC) -Ox
6d20: 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d  .!ELSEIF $(OPTIM
6d30: 49 5a 41 54 49 4f 4e 53 29 3d 3d 32 0a 54 43 43  IZATIONS)==2.TCC
6d40: 20 3d 20 24 28 54 43 43 29 20 2d 4f 32 0a 42 43   = $(TCC) -O2.BC
6d50: 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 32 0a 21  C = $(BCC) -O2.!
6d60: 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a  ELSEIF $(OPTIMIZ
6d70: 41 54 49 4f 4e 53 29 3d 3d 31 0a 54 43 43 20 3d  ATIONS)==1.TCC =
6d80: 20 24 28 54 43 43 29 20 2d 4f 31 0a 42 43 43 20   $(TCC) -O1.BCC 
6d90: 3d 20 24 28 42 43 43 29 20 2d 4f 31 0a 21 45 4e  = $(BCC) -O1.!EN
6da0: 44 49 46 0a 0a 23 20 49 66 20 73 79 6d 62 6f 6c  DIF..# If symbol
6db0: 73 20 61 72 65 20 65 6e 61 62 6c 65 64 20 28 6f  s are enabled (o
6dc0: 72 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20  r compiling for 
6dd0: 64 65 62 75 67 67 69 6e 67 29 2c 20 65 6e 61 62  debugging), enab
6de0: 6c 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 24  le PDBs..#.!IF $
6df0: 28 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 53  (DEBUG)>1 || $(S
6e00: 59 4d 42 4f 4c 53 29 21 3d 30 0a 54 43 43 20 3d  YMBOLS)!=0.TCC =
6e10: 20 24 28 54 43 43 29 20 2d 5a 69 0a 42 43 43 20   $(TCC) -Zi.BCC 
6e20: 3d 20 24 28 42 43 43 29 20 2d 5a 69 0a 21 45 4e  = $(BCC) -Zi.!EN
6e30: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  DIF..# <<mark>>.
6e40: 23 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72  # If zlib suppor
6e50: 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64  t is enabled, ad
6e60: 64 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f  d the compiler o
6e70: 70 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23  ptions for it..#
6e80: 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29  .!IF $(USE_ZLIB)
6e90: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC)
6ea0: 20 2d 44 53 51 4c 49 54 45 5f 48 41 56 45 5f 5a   -DSQLITE_HAVE_Z
6eb0: 4c 49 42 3d 31 0a 52 43 43 20 3d 20 24 28 52 43  LIB=1.RCC = $(RC
6ec0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 48 41 56 45  C) -DSQLITE_HAVE
6ed0: 5f 5a 4c 49 42 3d 31 0a 54 43 43 20 3d 20 24 28  _ZLIB=1.TCC = $(
6ee0: 54 43 43 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43  TCC) -I$(ZLIBINC
6ef0: 44 49 52 29 0a 52 43 43 20 3d 20 24 28 52 43 43  DIR).RCC = $(RCC
6f00: 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49 52  ) -I$(ZLIBINCDIR
6f10: 29 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 49  ).!ENDIF..# If I
6f20: 43 55 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e  CU support is en
6f30: 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 63  abled, add the c
6f40: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options 
6f50: 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28  for it..#.!IF $(
6f60: 55 53 45 5f 49 43 55 29 21 3d 30 0a 54 43 43 20  USE_ICU)!=0.TCC 
6f70: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54  = $(TCC) -DSQLIT
6f80: 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 52  E_ENABLE_ICU=1.R
6f90: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ
6fa0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d  LITE_ENABLE_ICU=
6fb0: 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  1.TCC = $(TCC) -
6fc0: 49 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a  I$(TOP)\ext\icu.
6fd0: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24  RCC = $(RCC) -I$
6fe0: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 54 43  (TOP)\ext\icu.TC
6ff0: 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 49  C = $(TCC) -I$(I
7000: 43 55 49 4e 43 44 49 52 29 0a 52 43 43 20 3d 20  CUINCDIR).RCC = 
7010: 24 28 52 43 43 29 20 2d 49 24 28 49 43 55 49 4e  $(RCC) -I$(ICUIN
7020: 43 44 49 52 29 0a 21 45 4e 44 49 46 0a 23 20 3c  CDIR).!ENDIF.# <
7030: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d  </mark>>..# Comm
7040: 61 6e 64 20 6c 69 6e 65 20 70 72 65 66 69 78 65  and line prefixe
7050: 73 20 66 6f 72 20 63 6f 6d 70 69 6c 69 6e 67 20  s for compiling 
7060: 63 6f 64 65 2c 20 63 6f 6d 70 69 6c 69 6e 67 20  code, compiling 
7070: 72 65 73 6f 75 72 63 65 73 2c 0a 23 20 6c 69 6e  resources,.# lin
7080: 6b 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 4c 54 43  king, etc..#.LTC
7090: 4f 4d 50 49 4c 45 20 3d 20 24 28 54 43 43 29 20  OMPILE = $(TCC) 
70a0: 2d 46 6f 24 40 20 2d 46 64 24 2a 2e 70 64 62 0a  -Fo$@ -Fd$*.pdb.
70b0: 4c 54 52 43 4f 4d 50 49 4c 45 20 3d 20 24 28 52  LTRCOMPILE = $(R
70c0: 43 43 29 20 2d 72 0a 4c 54 4c 49 42 20 3d 20 6c  CC) -r.LTLIB = l
70d0: 69 62 2e 65 78 65 0a 4c 54 4c 49 4e 4b 20 3d 20  ib.exe.LTLINK = 
70e0: 24 28 54 43 43 29 20 2d 46 65 24 40 0a 0a 23 20  $(TCC) -Fe$@..# 
70f0: 49 66 20 72 65 71 75 65 73 74 65 64 2c 20 6c 69  If requested, li
7100: 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34  nk to the RPCRT4
7110: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 20   library..#.!IF 
7120: 24 28 55 53 45 5f 52 50 43 52 54 34 5f 4c 49 42  $(USE_RPCRT4_LIB
7130: 29 21 3d 30 0a 4c 54 4c 49 42 53 20 3d 20 24 28  )!=0.LTLIBS = $(
7140: 4c 54 4c 49 42 53 29 20 72 70 63 72 74 34 2e 6c  LTLIBS) rpcrt4.l
7150: 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20  ib.!ENDIF..# If 
7160: 61 20 70 6c 61 74 66 6f 72 6d 20 77 61 73 20 73  a platform was s
7170: 65 74 2c 20 66 6f 72 63 65 20 74 68 65 20 6c 69  et, force the li
7180: 6e 6b 65 72 20 74 6f 20 74 61 72 67 65 74 20 74  nker to target t
7190: 68 61 74 2e 0a 23 20 4e 6f 74 65 20 74 68 61 74  hat..# Note that
71a0: 20 74 68 65 20 76 63 76 61 72 73 2a 2e 62 61 74   the vcvars*.bat
71b0: 20 66 61 6d 69 6c 79 20 6f 66 20 62 61 74 63 68   family of batch
71c0: 20 66 69 6c 65 73 20 74 79 70 69 63 61 6c 6c 79   files typically
71d0: 0a 23 20 73 65 74 20 74 68 69 73 20 66 6f 72 20  .# set this for 
71e0: 79 6f 75 2e 20 20 4f 74 68 65 72 77 69 73 65 2c  you.  Otherwise,
71f0: 20 74 68 65 20 6c 69 6e 6b 65 72 20 77 69 6c 6c   the linker will
7200: 20 61 74 74 65 6d 70 74 0a 23 20 74 6f 20 64 65   attempt.# to de
7210: 64 75 63 65 20 74 68 65 20 62 69 6e 61 72 79 20  duce the binary 
7220: 74 79 70 65 20 62 61 73 65 64 20 6f 6e 20 74 68  type based on th
7230: 65 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 2e 0a  e object files..
7240: 21 49 46 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a  !IFDEF PLATFORM.
7250: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f  LTLINKOPTS = /NO
7260: 4c 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a 24 28  LOGO /MACHINE:$(
7270: 50 4c 41 54 46 4f 52 4d 29 0a 4c 54 4c 49 42 4f  PLATFORM).LTLIBO
7280: 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d  PTS = /NOLOGO /M
7290: 41 43 48 49 4e 45 3a 24 28 50 4c 41 54 46 4f 52  ACHINE:$(PLATFOR
72a0: 4d 29 0a 21 45 4c 53 45 0a 21 49 46 44 45 46 20  M).!ELSE.!IFDEF 
72b0: 56 49 53 55 41 4c 53 54 55 44 49 4f 56 45 52 53  VISUALSTUDIOVERS
72c0: 49 4f 4e 0a 21 49 46 20 22 24 28 56 49 53 55 41  ION.!IF "$(VISUA
72d0: 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22  LSTUDIOVERSION)"
72e0: 3e 3d 22 31 32 2e 30 22 0a 4c 54 4c 49 4e 4b 4f  >="12.0".LTLINKO
72f0: 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d  PTS = /NOLOGO /M
7300: 41 43 48 49 4e 45 3a 78 38 36 0a 4c 54 4c 49 42  ACHINE:x86.LTLIB
7310: 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f  OPTS = /NOLOGO /
7320: 4d 41 43 48 49 4e 45 3a 78 38 36 0a 21 45 4c 53  MACHINE:x86.!ELS
7330: 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f  E.LTLINKOPTS = /
7340: 4e 4f 4c 4f 47 4f 0a 4c 54 4c 49 42 4f 50 54 53  NOLOGO.LTLIBOPTS
7350: 20 3d 20 2f 4e 4f 4c 4f 47 4f 0a 21 45 4e 44 49   = /NOLOGO.!ENDI
7360: 46 0a 21 45 4c 53 45 0a 4c 54 4c 49 4e 4b 4f 50  F.!ELSE.LTLINKOP
7370: 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 0a 4c 54 4c  TS = /NOLOGO.LTL
7380: 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f  IBOPTS = /NOLOGO
7390: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
73a0: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  # When compiling
73b0: 20 66 6f 72 20 75 73 65 20 69 6e 20 74 68 65 20   for use in the 
73c0: 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e  WinRT environmen
73d0: 74 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  t, the following
73e0: 0a 23 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e  .# linker option
73f0: 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 6f   must be used to
7400: 20 6d 61 72 6b 20 74 68 65 20 65 78 65 63 75 74   mark the execut
7410: 61 62 6c 65 20 61 73 20 72 75 6e 6e 61 62 6c 65  able as runnable
7420: 0a 23 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 63  .# only in the c
7430: 6f 6e 74 65 78 74 20 6f 66 20 61 6e 20 61 70 70  ontext of an app
7440: 6c 69 63 61 74 69 6f 6e 20 63 6f 6e 74 61 69 6e  lication contain
7450: 65 72 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f  er..#.!IF $(FOR_
7460: 57 49 4e 52 54 29 21 3d 30 0a 4c 54 4c 49 4e 4b  WINRT)!=0.LTLINK
7470: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO
7480: 50 54 53 29 20 2f 41 50 50 43 4f 4e 54 41 49 4e  PTS) /APPCONTAIN
7490: 45 52 0a 21 49 46 20 22 24 28 56 49 53 55 41 4c  ER.!IF "$(VISUAL
74a0: 53 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d  STUDIOVERSION)"=
74b0: 3d 22 31 32 2e 30 22 20 7c 7c 20 22 24 28 56 49  ="12.0" || "$(VI
74c0: 53 55 41 4c 53 54 55 44 49 4f 56 45 52 53 49 4f  SUALSTUDIOVERSIO
74d0: 4e 29 22 3d 3d 22 31 34 2e 30 22 0a 21 49 46 4e  N)"=="14.0".!IFN
74e0: 44 45 46 20 53 54 4f 52 45 4c 49 42 50 41 54 48  DEF STORELIBPATH
74f0: 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d  .!IF "$(PLATFORM
7500: 29 22 3d 3d 22 78 38 36 22 0a 53 54 4f 52 45 4c  )"=="x86".STOREL
7510: 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49  IBPATH = $(CRTLI
7520: 42 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 4c  BPATH)\store.!EL
7530: 53 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d  SEIF "$(PLATFORM
7540: 29 22 3d 3d 22 78 36 34 22 0a 53 54 4f 52 45 4c  )"=="x64".STOREL
7550: 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49  IBPATH = $(CRTLI
7560: 42 50 41 54 48 29 5c 73 74 6f 72 65 5c 61 6d 64  BPATH)\store\amd
7570: 36 34 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c  64.!ELSEIF "$(PL
7580: 41 54 46 4f 52 4d 29 22 3d 3d 22 41 52 4d 22 0a  ATFORM)"=="ARM".
7590: 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24  STORELIBPATH = $
75a0: 28 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f  (CRTLIBPATH)\sto
75b0: 72 65 5c 61 72 6d 0a 21 45 4c 53 45 0a 53 54 4f  re\arm.!ELSE.STO
75c0: 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52  RELIBPATH = $(CR
75d0: 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65 0a  TLIBPATH)\store.
75e0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 53 54  !ENDIF.!ENDIF.ST
75f0: 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 53  ORELIBPATH = $(S
7600: 54 4f 52 45 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c  TORELIBPATH:\\=\
7610: 29 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24  ).LTLINKOPTS = $
7620: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c  (LTLINKOPTS) "/L
7630: 49 42 50 41 54 48 3a 24 28 53 54 4f 52 45 4c 49  IBPATH:$(STORELI
7640: 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21  BPATH)".!ENDIF.!
7650: 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f  ENDIF..# When co
7660: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64  mpiling for Wind
7670: 6f 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 61  ows Phone 8.1, a
7680: 6e 20 65 78 74 72 61 20 6c 69 62 72 61 72 79 20  n extra library 
7690: 70 61 74 68 20 69 73 0a 23 20 72 65 71 75 69 72  path is.# requir
76a0: 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  ed..#.!IF $(USE_
76b0: 57 50 38 31 5f 4f 50 54 53 29 21 3d 30 0a 21 49  WP81_OPTS)!=0.!I
76c0: 46 4e 44 45 46 20 57 50 38 31 4c 49 42 50 41 54  FNDEF WP81LIBPAT
76d0: 48 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52  H.!IF "$(PLATFOR
76e0: 4d 29 22 3d 3d 22 78 38 36 22 0a 57 50 38 31 4c  M)"=="x86".WP81L
76f0: 49 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52  IBPATH = $(PROGR
7700: 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e  AMFILES_X86)\Win
7710: 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c  dows Phone Kits\
7720: 38 2e 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4c 53  8.1\lib\x86.!ELS
7730: 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  EIF "$(PLATFORM)
7740: 22 3d 3d 22 41 52 4d 22 0a 57 50 38 31 4c 49 42  "=="ARM".WP81LIB
7750: 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d  PATH = $(PROGRAM
7760: 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f  FILES_X86)\Windo
7770: 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e  ws Phone Kits\8.
7780: 31 5c 6c 69 62 5c 41 52 4d 0a 21 45 4c 53 45 0a  1\lib\ARM.!ELSE.
7790: 57 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24 28  WP81LIBPATH = $(
77a0: 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36  PROGRAMFILES_X86
77b0: 29 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20  )\Windows Phone 
77c0: 4b 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38 36  Kits\8.1\lib\x86
77d0: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 21  .!ENDIF.!ENDIF.!
77e0: 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f  ENDIF..# When co
77f0: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64  mpiling for Wind
7800: 6f 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 73  ows Phone 8.1, s
7810: 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b 65 72  ome extra linker
7820: 20 6f 70 74 69 6f 6e 73 0a 23 20 61 72 65 20 61   options.# are a
7830: 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 0a 23 0a  lso required..#.
7840: 21 49 46 20 24 28 55 53 45 5f 57 50 38 31 5f 4f  !IF $(USE_WP81_O
7850: 50 54 53 29 21 3d 30 0a 21 49 46 44 45 46 20 57  PTS)!=0.!IFDEF W
7860: 50 38 31 4c 49 42 50 41 54 48 0a 4c 54 4c 49 4e  P81LIBPATH.LTLIN
7870: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
7880: 4f 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a  OPTS) "/LIBPATH:
7890: 24 28 57 50 38 31 4c 49 42 50 41 54 48 29 22 0a  $(WP81LIBPATH)".
78a0: 21 45 4e 44 49 46 0a 4c 54 4c 49 4e 4b 4f 50 54  !ENDIF.LTLINKOPT
78b0: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS
78c0: 29 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 0a 4c  ) /DYNAMICBASE.L
78d0: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54  TLINKOPTS = $(LT
78e0: 4c 49 4e 4b 4f 50 54 53 29 20 57 69 6e 64 6f 77  LINKOPTS) Window
78f0: 73 50 68 6f 6e 65 43 6f 72 65 2e 6c 69 62 20 52  sPhoneCore.lib R
7900: 75 6e 74 69 6d 65 4f 62 6a 65 63 74 2e 6c 69 62  untimeObject.lib
7910: 20 50 68 6f 6e 65 41 70 70 4d 6f 64 65 6c 48 6f   PhoneAppModelHo
7920: 73 74 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54  st.lib.LTLINKOPT
7930: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS
7940: 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a  ) /NODEFAULTLIB:
7950: 6b 65 72 6e 65 6c 33 32 2e 6c 69 62 20 2f 4e 4f  kernel32.lib /NO
7960: 44 45 46 41 55 4c 54 4c 49 42 3a 6f 6c 65 33 32  DEFAULTLIB:ole32
7970: 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 57  .lib.!ENDIF..# W
7980: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f  hen compiling fo
7990: 72 20 55 57 50 20 6f 72 20 74 68 65 20 57 69 6e  r UWP or the Win
79a0: 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d  dows 10 platform
79b0: 2c 20 73 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e  , some extra lin
79c0: 6b 65 72 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72  ker.# options ar
79d0: 65 20 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e  e also required.
79e0: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 55 57 50  .#.!IF $(FOR_UWP
79f0: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49  )!=0 || $(FOR_WI
7a00: 4e 31 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50  N10)!=0.LTLINKOP
7a10: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT
7a20: 53 29 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 20  S) /DYNAMICBASE 
7a30: 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65  /NODEFAULTLIB:ke
7a40: 72 6e 65 6c 33 32 2e 6c 69 62 0a 4c 54 4c 49 4e  rnel32.lib.LTLIN
7a50: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
7a60: 4f 50 54 53 29 20 6d 69 6e 63 6f 72 65 2e 6c 69  OPTS) mincore.li
7a70: 62 0a 21 49 46 44 45 46 20 50 53 44 4b 4c 49 42  b.!IFDEF PSDKLIB
7a80: 50 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  PATH.LTLINKOPTS 
7a90: 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  = $(LTLINKOPTS) 
7aa0: 22 2f 4c 49 42 50 41 54 48 3a 24 28 50 53 44 4b  "/LIBPATH:$(PSDK
7ab0: 4c 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46  LIBPATH)".!ENDIF
7ac0: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 46  .!ENDIF..!IF $(F
7ad0: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54 4c  OR_WIN10)!=0.LTL
7ae0: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49  INKOPTS = $(LTLI
7af0: 4e 4b 4f 50 54 53 29 20 2f 67 75 61 72 64 3a 63  NKOPTS) /guard:c
7b00: 66 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 55 43  f "/LIBPATH:$(UC
7b10: 52 54 4c 49 42 50 41 54 48 29 22 0a 21 49 46 20  RTLIBPATH)".!IF 
7b20: 24 28 44 45 42 55 47 29 3e 31 0a 4c 54 4c 49 4e  $(DEBUG)>1.LTLIN
7b30: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
7b40: 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54  OPTS) /NODEFAULT
7b50: 4c 49 42 3a 6c 69 62 75 63 72 74 64 2e 6c 69 62  LIB:libucrtd.lib
7b60: 20 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 72   /DEFAULTLIB:ucr
7b70: 74 64 2e 6c 69 62 0a 21 45 4c 53 45 0a 4c 54 4c  td.lib.!ELSE.LTL
7b80: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49  INKOPTS = $(LTLI
7b90: 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55  NKOPTS) /NODEFAU
7ba0: 4c 54 4c 49 42 3a 6c 69 62 75 63 72 74 2e 6c 69  LTLIB:libucrt.li
7bb0: 62 20 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63  b /DEFAULTLIB:uc
7bc0: 72 74 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21 45  rt.lib.!ENDIF.!E
7bd0: 4e 44 49 46 0a 0a 23 20 49 66 20 65 69 74 68 65  NDIF..# If eithe
7be0: 72 20 64 65 62 75 67 67 69 6e 67 20 6f 72 20 73  r debugging or s
7bf0: 79 6d 62 6f 6c 73 20 61 72 65 20 65 6e 61 62 6c  ymbols are enabl
7c00: 65 64 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 2e  ed, enable PDBs.
7c10: 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e  .#.!IF $(DEBUG)>
7c20: 31 20 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21  1 || $(SYMBOLS)!
7c30: 3d 30 0a 4c 44 46 4c 41 47 53 20 3d 20 2f 44 45  =0.LDFLAGS = /DE
7c40: 42 55 47 20 24 28 4c 44 4f 50 54 53 29 0a 21 45  BUG $(LDOPTS).!E
7c50: 4c 53 45 0a 4c 44 46 4c 41 47 53 20 3d 20 24 28  LSE.LDFLAGS = $(
7c60: 4c 44 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a  LDOPTS).!ENDIF..
7c70: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 74 61  # <<mark>>.# Sta
7c80: 72 74 20 77 69 74 68 20 74 68 65 20 54 63 6c 20  rt with the Tcl 
7c90: 72 65 6c 61 74 65 64 20 6c 69 6e 6b 65 72 20 6f  related linker o
7ca0: 70 74 69 6f 6e 73 2e 0a 23 0a 21 49 46 20 24 28  ptions..#.!IF $(
7cb0: 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 54 43 4c 4c 49  NO_TCL)==0.TCLLI
7cc0: 42 50 41 54 48 53 20 3d 20 24 28 54 43 4c 4c 49  BPATHS = $(TCLLI
7cd0: 42 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54 48  BPATHS) /LIBPATH
7ce0: 3a 24 28 54 43 4c 4c 49 42 44 49 52 29 0a 54 43  :$(TCLLIBDIR).TC
7cf0: 4c 4c 49 42 53 20 3d 20 24 28 54 43 4c 4c 49 42  LLIBS = $(TCLLIB
7d00: 53 29 20 24 28 4c 49 42 54 43 4c 29 0a 21 45 4e  S) $(LIBTCL).!EN
7d10: 44 49 46 0a 0a 23 20 49 66 20 7a 6c 69 62 20 73  DIF..# If zlib s
7d20: 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65  upport is enable
7d30: 64 2c 20 61 64 64 20 74 68 65 20 6c 69 6e 6b 65  d, add the linke
7d40: 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69 74  r options for it
7d50: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c  ..#.!IF $(USE_ZL
7d60: 49 42 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54 48  IB)!=0.LTLIBPATH
7d70: 53 20 3d 20 24 28 4c 54 4c 49 42 50 41 54 48 53  S = $(LTLIBPATHS
7d80: 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 5a 4c 49  ) /LIBPATH:$(ZLI
7d90: 42 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 20  BLIBDIR).LTLIBS 
7da0: 3d 20 24 28 4c 54 4c 49 42 53 29 20 24 28 5a 4c  = $(LTLIBS) $(ZL
7db0: 49 42 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a 23  IBLIB).!ENDIF..#
7dc0: 20 49 66 20 49 43 55 20 73 75 70 70 6f 72 74 20   If ICU support 
7dd0: 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20  is enabled, add 
7de0: 74 68 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f  the linker optio
7df0: 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46  ns for it..#.!IF
7e00: 20 24 28 55 53 45 5f 49 43 55 29 21 3d 30 0a 4c   $(USE_ICU)!=0.L
7e10: 54 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4c 54  TLIBPATHS = $(LT
7e20: 4c 49 42 50 41 54 48 53 29 20 2f 4c 49 42 50 41  LIBPATHS) /LIBPA
7e30: 54 48 3a 24 28 49 43 55 4c 49 42 44 49 52 29 0a  TH:$(ICULIBDIR).
7e40: 4c 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49 42  LTLIBS = $(LTLIB
7e50: 53 29 20 24 28 4c 49 42 49 43 55 29 0a 21 45 4e  S) $(LIBICU).!EN
7e60: 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  DIF.# <</mark>>.
7e70: 0a 23 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f  .# You should no
7e80: 74 20 68 61 76 65 20 74 6f 20 63 68 61 6e 67 65  t have to change
7e90: 20 61 6e 79 74 68 69 6e 67 20 62 65 6c 6f 77 20   anything below 
7ea0: 74 68 69 73 20 6c 69 6e 65 0a 23 23 23 23 23 23  this line.######
7eb0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7ec0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7ed0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7ee0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7ef0: 23 23 23 23 23 23 23 23 23 0a 0a 23 20 3c 3c 6d  #########..# <<m
7f00: 61 72 6b 3e 3e 0a 23 20 4f 62 6a 65 63 74 20 66  ark>>.# Object f
7f10: 69 6c 65 73 20 66 6f 72 20 74 68 65 20 53 51 4c  iles for the SQL
7f20: 69 74 65 20 6c 69 62 72 61 72 79 20 28 6e 6f 6e  ite library (non
7f30: 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a  -amalgamation)..
7f40: 23 0a 4c 49 42 4f 42 4a 53 30 20 3d 20 76 64 62  #.LIBOBJS0 = vdb
7f50: 65 2e 6c 6f 20 70 61 72 73 65 2e 6c 6f 20 61 6c  e.lo parse.lo al
7f60: 74 65 72 2e 6c 6f 20 61 6e 61 6c 79 7a 65 2e 6c  ter.lo analyze.l
7f70: 6f 20 61 74 74 61 63 68 2e 6c 6f 20 61 75 74 68  o attach.lo auth
7f80: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 62  .lo \.         b
7f90: 61 63 6b 75 70 2e 6c 6f 20 62 69 74 76 65 63 2e  ackup.lo bitvec.
7fa0: 6c 6f 20 62 74 6d 75 74 65 78 2e 6c 6f 20 62 74  lo btmutex.lo bt
7fb0: 72 65 65 2e 6c 6f 20 62 75 69 6c 64 2e 6c 6f 20  ree.lo build.lo 
7fc0: 5c 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62  \.         callb
7fd0: 61 63 6b 2e 6c 6f 20 63 6f 6d 70 6c 65 74 65 2e  ack.lo complete.
7fe0: 6c 6f 20 63 74 69 6d 65 2e 6c 6f 20 5c 0a 20 20  lo ctime.lo \.  
7ff0: 20 20 20 20 20 20 20 64 61 74 65 2e 6c 6f 20 64         date.lo d
8000: 62 70 61 67 65 2e 6c 6f 20 64 62 73 74 61 74 2e  bpage.lo dbstat.
8010: 6c 6f 20 64 65 6c 65 74 65 2e 6c 6f 20 5c 0a 20  lo delete.lo \. 
8020: 20 20 20 20 20 20 20 20 65 78 70 72 2e 6c 6f 20          expr.lo 
8030: 66 61 75 6c 74 2e 6c 6f 20 66 6b 65 79 2e 6c 6f  fault.lo fkey.lo
8040: 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 33   \.         fts3
8050: 2e 6c 6f 20 66 74 73 33 5f 61 75 78 2e 6c 6f 20  .lo fts3_aux.lo 
8060: 66 74 73 33 5f 65 78 70 72 2e 6c 6f 20 66 74 73  fts3_expr.lo fts
8070: 33 5f 68 61 73 68 2e 6c 6f 20 66 74 73 33 5f 69  3_hash.lo fts3_i
8080: 63 75 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  cu.lo \.        
8090: 20 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f 20   fts3_porter.lo 
80a0: 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 20  fts3_snippet.lo 
80b0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c  fts3_tokenizer.l
80c0: 6f 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  o fts3_tokenizer
80d0: 31 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  1.lo \.         
80e0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74  fts3_tokenize_vt
80f0: 61 62 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f  ab.lo fts3_unico
8100: 64 65 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f  de.lo fts3_unico
8110: 64 65 32 2e 6c 6f 20 66 74 73 33 5f 77 72 69 74  de2.lo fts3_writ
8120: 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  e.lo \.         
8130: 66 74 73 35 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  fts5.lo \.      
8140: 20 20 20 66 75 6e 63 2e 6c 6f 20 67 6c 6f 62 61     func.lo globa
8150: 6c 2e 6c 6f 20 68 61 73 68 2e 6c 6f 20 5c 0a 20  l.lo hash.lo \. 
8160: 20 20 20 20 20 20 20 20 69 63 75 2e 6c 6f 20 69          icu.lo i
8170: 6e 73 65 72 74 2e 6c 6f 20 6a 73 6f 6e 31 2e 6c  nsert.lo json1.l
8180: 6f 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f 61 64  o legacy.lo load
8190: 65 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ext.lo \.       
81a0: 20 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c 6f 63    main.lo malloc
81b0: 2e 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65 6d 31  .lo mem0.lo mem1
81c0: 2e 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65 6d 33  .lo mem2.lo mem3
81d0: 2e 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a 20 20  .lo mem5.lo \.  
81e0: 20 20 20 20 20 20 20 6d 65 6d 64 62 2e 6c 6f 20         memdb.lo 
81f0: 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 20 5c 0a  memjournal.lo \.
8200: 20 20 20 20 20 20 20 20 20 6d 75 74 65 78 2e 6c           mutex.l
8210: 6f 20 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 20  o mutex_noop.lo 
8220: 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 20 6d 75  mutex_unix.lo mu
8230: 74 65 78 5f 77 33 32 2e 6c 6f 20 5c 0a 20 20 20  tex_w32.lo \.   
8240: 20 20 20 20 20 20 6e 6f 74 69 66 79 2e 6c 6f 20        notify.lo 
8250: 6f 70 63 6f 64 65 73 2e 6c 6f 20 6f 73 2e 6c 6f  opcodes.lo os.lo
8260: 20 6f 73 5f 75 6e 69 78 2e 6c 6f 20 6f 73 5f 77   os_unix.lo os_w
8270: 69 6e 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  in.lo \.        
8280: 20 70 61 67 65 72 2e 6c 6f 20 70 63 61 63 68 65   pager.lo pcache
8290: 2e 6c 6f 20 70 63 61 63 68 65 31 2e 6c 6f 20 70  .lo pcache1.lo p
82a0: 72 61 67 6d 61 2e 6c 6f 20 70 72 65 70 61 72 65  ragma.lo prepare
82b0: 2e 6c 6f 20 70 72 69 6e 74 66 2e 6c 6f 20 5c 0a  .lo printf.lo \.
82c0: 20 20 20 20 20 20 20 20 20 72 61 6e 64 6f 6d 2e           random.
82d0: 6c 6f 20 72 65 73 6f 6c 76 65 2e 6c 6f 20 72 6f  lo resolve.lo ro
82e0: 77 73 65 74 2e 6c 6f 20 72 74 72 65 65 2e 6c 6f  wset.lo rtree.lo
82f0: 20 5c 0a 20 20 20 20 20 20 20 20 20 73 71 6c 69   \.         sqli
8300: 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 20 73 65  te3session.lo se
8310: 6c 65 63 74 2e 6c 6f 20 73 71 6c 69 74 65 33 72  lect.lo sqlite3r
8320: 62 75 2e 6c 6f 20 73 74 61 74 75 73 2e 6c 6f 20  bu.lo status.lo 
8330: 73 74 6d 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  stmt.lo \.      
8340: 20 20 20 74 61 62 6c 65 2e 6c 6f 20 74 68 72 65     table.lo thre
8350: 61 64 73 2e 6c 6f 20 74 6f 6b 65 6e 69 7a 65 2e  ads.lo tokenize.
8360: 6c 6f 20 74 72 65 65 76 69 65 77 2e 6c 6f 20 74  lo treeview.lo t
8370: 72 69 67 67 65 72 2e 6c 6f 20 5c 0a 20 20 20 20  rigger.lo \.    
8380: 20 20 20 20 20 75 70 64 61 74 65 2e 6c 6f 20 75       update.lo u
8390: 70 73 65 72 74 2e 6c 6f 20 75 74 69 6c 2e 6c 6f  psert.lo util.lo
83a0: 20 76 61 63 75 75 6d 2e 6c 6f 20 5c 0a 20 20 20   vacuum.lo \.   
83b0: 20 20 20 20 20 20 76 64 62 65 61 70 69 2e 6c 6f        vdbeapi.lo
83c0: 20 76 64 62 65 61 75 78 2e 6c 6f 20 76 64 62 65   vdbeaux.lo vdbe
83d0: 62 6c 6f 62 2e 6c 6f 20 76 64 62 65 6d 65 6d 2e  blob.lo vdbemem.
83e0: 6c 6f 20 76 64 62 65 73 6f 72 74 2e 6c 6f 20 5c  lo vdbesort.lo \
83f0: 0a 20 20 20 20 20 20 20 20 20 76 64 62 65 74 72  .         vdbetr
8400: 61 63 65 2e 6c 6f 20 77 61 6c 2e 6c 6f 20 77 61  ace.lo wal.lo wa
8410: 6c 6b 65 72 2e 6c 6f 20 77 68 65 72 65 2e 6c 6f  lker.lo where.lo
8420: 20 77 68 65 72 65 63 6f 64 65 2e 6c 6f 20 77 68   wherecode.lo wh
8430: 65 72 65 65 78 70 72 2e 6c 6f 20 5c 0a 20 20 20  ereexpr.lo \.   
8440: 20 20 20 20 20 20 77 69 6e 64 6f 77 2e 6c 6f 20        window.lo 
8450: 75 74 66 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a 23  utf.lo vtab.lo.#
8460: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f 62   <</mark>>..# Ob
8470: 6a 65 63 74 20 66 69 6c 65 73 20 66 6f 72 20 74  ject files for t
8480: 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e  he amalgamation.
8490: 0a 23 0a 4c 49 42 4f 42 4a 53 31 20 3d 20 73 71  .#.LIBOBJS1 = sq
84a0: 6c 69 74 65 33 2e 6c 6f 0a 0a 23 20 44 65 74 65  lite3.lo..# Dete
84b0: 72 6d 69 6e 65 20 74 68 65 20 72 65 61 6c 20 76  rmine the real v
84c0: 61 6c 75 65 20 6f 66 20 4c 49 42 4f 42 4a 20 62  alue of LIBOBJ b
84d0: 61 73 65 64 20 6f 6e 20 74 68 65 20 27 63 6f 6e  ased on the 'con
84e0: 66 69 67 75 72 65 27 20 73 63 72 69 70 74 0a 23  figure' script.#
84f0: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46 20  .# <<mark>>.!IF 
8500: 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49  $(USE_AMALGAMATI
8510: 4f 4e 29 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d 20  ON)==0.LIBOBJ = 
8520: 24 28 4c 49 42 4f 42 4a 53 30 29 0a 21 45 4c 53  $(LIBOBJS0).!ELS
8530: 45 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c 49  E.# <</mark>>.LI
8540: 42 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53  BOBJ = $(LIBOBJS
8550: 31 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45  1).# <<mark>>.!E
8560: 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  NDIF.# <</mark>>
8570: 0a 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 69 66  ..# Determine if
8580: 20 65 6d 62 65 64 64 65 64 20 72 65 73 6f 75 72   embedded resour
8590: 63 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61  ce compilation a
85a0: 6e 64 20 75 73 61 67 65 20 61 72 65 20 65 6e 61  nd usage are ena
85b0: 62 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53  bled..#.!IF $(US
85c0: 45 5f 52 43 29 21 3d 30 0a 4c 49 42 52 45 53 4f  E_RC)!=0.LIBRESO
85d0: 42 4a 53 20 3d 20 73 71 6c 69 74 65 33 72 65 73  BJS = sqlite3res
85e0: 2e 6c 6f 0a 21 45 4c 53 45 0a 4c 49 42 52 45 53  .lo.!ELSE.LIBRES
85f0: 4f 42 4a 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23  OBJS =.!ENDIF..#
8600: 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 43 6f 72 65   <<mark>>.# Core
8610: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c   source code fil
8620: 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52  es, part 1..#.SR
8630: 43 30 30 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C00 = \.  $(TOP)
8640: 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20 5c 0a 20  \src\alter.c \. 
8650: 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c   $(TOP)\src\anal
8660: 79 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  yze.c \.  $(TOP)
8670: 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 20 5c 0a  \src\attach.c \.
8680: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74    $(TOP)\src\aut
8690: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  h.c \.  $(TOP)\s
86a0: 72 63 5c 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20  rc\backup.c \.  
86b0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65  $(TOP)\src\bitve
86c0: 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  c.c \.  $(TOP)\s
86d0: 72 63 5c 62 74 6d 75 74 65 78 2e 63 20 5c 0a 20  rc\btmutex.c \. 
86e0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65   $(TOP)\src\btre
86f0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
8700: 72 63 5c 62 75 69 6c 64 2e 63 20 5c 0a 20 20 24  rc\build.c \.  $
8710: 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61  (TOP)\src\callba
8720: 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ck.c \.  $(TOP)\
8730: 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 5c  src\complete.c \
8740: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 74  .  $(TOP)\src\ct
8750: 69 6d 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ime.c \.  $(TOP)
8760: 5c 73 72 63 5c 64 61 74 65 2e 63 20 5c 0a 20 20  \src\date.c \.  
8770: 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67  $(TOP)\src\dbpag
8780: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
8790: 72 63 5c 64 62 73 74 61 74 2e 63 20 5c 0a 20 20  rc\dbstat.c \.  
87a0: 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74  $(TOP)\src\delet
87b0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
87c0: 72 63 5c 65 78 70 72 2e 63 20 5c 0a 20 20 24 28  rc\expr.c \.  $(
87d0: 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63  TOP)\src\fault.c
87e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
87f0: 66 6b 65 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50  fkey.c \.  $(TOP
8800: 29 5c 73 72 63 5c 66 75 6e 63 2e 63 20 5c 0a 20  )\src\func.c \. 
8810: 20 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62   $(TOP)\src\glob
8820: 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  al.c \.  $(TOP)\
8830: 73 72 63 5c 68 61 73 68 2e 63 20 5c 0a 20 20 24  src\hash.c \.  $
8840: 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74  (TOP)\src\insert
8850: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8860: 63 5c 6c 65 67 61 63 79 2e 63 20 5c 0a 20 20 24  c\legacy.c \.  $
8870: 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78  (TOP)\src\loadex
8880: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s
8890: 72 63 5c 6d 61 69 6e 2e 63 20 5c 0a 20 20 24 28  rc\main.c \.  $(
88a0: 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e  TOP)\src\malloc.
88b0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
88c0: 5c 6d 65 6d 30 2e 63 20 5c 0a 20 20 24 28 54 4f  \mem0.c \.  $(TO
88d0: 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 5c 0a  P)\src\mem1.c \.
88e0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d    $(TOP)\src\mem
88f0: 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  2.c \.  $(TOP)\s
8900: 72 63 5c 6d 65 6d 33 2e 63 20 5c 0a 20 20 24 28  rc\mem3.c \.  $(
8910: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20  TOP)\src\mem5.c 
8920: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
8930: 65 6d 64 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50  emdb.c \.  $(TOP
8940: 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c  )\src\memjournal
8950: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8960: 63 5c 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28  c\mutex.c \.  $(
8970: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e  TOP)\src\mutex_n
8980: 6f 6f 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  oop.c \.  $(TOP)
8990: 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e  \src\mutex_unix.
89a0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
89b0: 5c 6d 75 74 65 78 5f 77 33 32 2e 63 20 5c 0a 20  \mutex_w32.c \. 
89c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69   $(TOP)\src\noti
89d0: 66 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  fy.c \.  $(TOP)\
89e0: 73 72 63 5c 6f 73 2e 63 20 5c 0a 20 20 24 28 54  src\os.c \.  $(T
89f0: 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e  OP)\src\os_unix.
8a00: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8a10: 5c 6f 73 5f 77 69 6e 2e 63 0a 0a 23 20 43 6f 72  \os_win.c..# Cor
8a20: 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69  e source code fi
8a30: 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53  les, part 2..#.S
8a40: 52 43 30 31 20 3d 20 5c 0a 20 20 24 28 54 4f 50  RC01 = \.  $(TOP
8a50: 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 20 5c 0a  )\src\pager.c \.
8a60: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61    $(TOP)\src\pca
8a70: 63 68 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  che.c \.  $(TOP)
8a80: 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20 5c  \src\pcache1.c \
8a90: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  .  $(TOP)\src\pr
8aa0: 61 67 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50  agma.c \.  $(TOP
8ab0: 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 20  )\src\prepare.c 
8ac0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  \.  $(TOP)\src\p
8ad0: 72 69 6e 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f  rintf.c \.  $(TO
8ae0: 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20  P)\src\random.c 
8af0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72  \.  $(TOP)\src\r
8b00: 65 73 6f 6c 76 65 2e 63 20 5c 0a 20 20 24 28 54  esolve.c \.  $(T
8b10: 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63  OP)\src\rowset.c
8b20: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8b30: 73 65 6c 65 63 74 2e 63 20 5c 0a 20 20 24 28 54  select.c \.  $(T
8b40: 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63  OP)\src\status.c
8b50: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8b60: 74 61 62 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f  table.c \.  $(TO
8b70: 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63  P)\src\threads.c
8b80: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8b90: 74 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20  tclsqlite.c \.  
8ba0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e  $(TOP)\src\token
8bb0: 69 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ize.c \.  $(TOP)
8bc0: 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63 20  \src\treeview.c 
8bd0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8be0: 72 69 67 67 65 72 2e 63 20 5c 0a 20 20 24 28 54  rigger.c \.  $(T
8bf0: 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 5c 0a  OP)\src\utf.c \.
8c00: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64    $(TOP)\src\upd
8c10: 61 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ate.c \.  $(TOP)
8c20: 5c 73 72 63 5c 75 70 73 65 72 74 2e 63 20 5c 0a  \src\upsert.c \.
8c30: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69    $(TOP)\src\uti
8c40: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  l.c \.  $(TOP)\s
8c50: 72 63 5c 76 61 63 75 75 6d 2e 63 20 5c 0a 20 20  rc\vacuum.c \.  
8c60: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e  $(TOP)\src\vdbe.
8c70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8c80: 5c 76 64 62 65 61 70 69 2e 63 20 5c 0a 20 20 24  \vdbeapi.c \.  $
8c90: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75  (TOP)\src\vdbeau
8ca0: 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  x.c \.  $(TOP)\s
8cb0: 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 5c 0a  rc\vdbeblob.c \.
8cc0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62    $(TOP)\src\vdb
8cd0: 65 6d 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50  emem.c \.  $(TOP
8ce0: 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63  )\src\vdbesort.c
8cf0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8d00: 76 64 62 65 74 72 61 63 65 2e 63 20 5c 0a 20 20  vdbetrace.c \.  
8d10: 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e  $(TOP)\src\vtab.
8d20: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8d30: 5c 77 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50  \wal.c \.  $(TOP
8d40: 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20 5c  )\src\walker.c \
8d50: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  .  $(TOP)\src\wh
8d60: 65 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ere.c \.  $(TOP)
8d70: 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63  \src\wherecode.c
8d80: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8d90: 77 68 65 72 65 65 78 70 72 2e 63 20 5c 0a 20 20  whereexpr.c \.  
8da0: 24 28 54 4f 50 29 5c 73 72 63 5c 77 69 6e 64 6f  $(TOP)\src\windo
8db0: 77 2e 63 0a 0a 23 20 43 6f 72 65 20 6d 69 73 63  w.c..# Core misc
8dc0: 65 6c 6c 61 6e 65 6f 75 73 20 66 69 6c 65 73 2e  ellaneous files.
8dd0: 0a 23 0a 53 52 43 30 33 20 3d 20 5c 0a 20 20 24  .#.SRC03 = \.  $
8de0: 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e  (TOP)\src\parse.
8df0: 79 0a 0a 23 20 43 6f 72 65 20 68 65 61 64 65 72  y..# Core header
8e00: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a   files, part 1..
8e10: 23 0a 53 52 43 30 34 20 3d 20 5c 0a 20 20 24 28  #.SRC04 = \.  $(
8e20: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 68  TOP)\src\btree.h
8e30: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8e40: 62 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20 20 24  btreeInt.h \.  $
8e50: 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 68  (TOP)\src\hash.h
8e60: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8e70: 68 77 74 69 6d 65 2e 68 20 5c 0a 20 20 24 28 54  hwtime.h \.  $(T
8e80: 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c  OP)\src\msvc.h \
8e90: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  .  $(TOP)\src\mu
8ea0: 74 65 78 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  tex.h \.  $(TOP)
8eb0: 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 24 28  \src\os.h \.  $(
8ec0: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d  TOP)\src\os_comm
8ed0: 6f 6e 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  on.h \.  $(TOP)\
8ee0: 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20 5c  src\os_setup.h \
8ef0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  .  $(TOP)\src\os
8f00: 5f 77 69 6e 2e 68 0a 0a 23 20 43 6f 72 65 20 68  _win.h..# Core h
8f10: 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72  eader files, par
8f20: 74 20 32 2e 0a 23 0a 53 52 43 30 35 20 3d 20 5c  t 2..#.SRC05 = \
8f30: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61  .  $(TOP)\src\pa
8f40: 67 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ger.h \.  $(TOP)
8f50: 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a  \src\pcache.h \.
8f60: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61    $(TOP)\src\pra
8f70: 67 6d 61 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  gma.h \.  $(TOP)
8f80: 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e  \src\sqlite.h.in
8f90: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8fa0: 73 71 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a 20  sqlite3ext.h \. 
8fb0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69   $(TOP)\src\sqli
8fc0: 74 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f  teInt.h \.  $(TO
8fd0: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c 69 6d  P)\src\sqliteLim
8fe0: 69 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  it.h \.  $(TOP)\
8ff0: 73 72 63 5c 76 64 62 65 2e 68 20 5c 0a 20 20 24  src\vdbe.h \.  $
9000: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 49 6e  (TOP)\src\vdbeIn
9010: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.h \.  $(TOP)\s
9020: 72 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20  rc\vxworks.h \. 
9030: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e   $(TOP)\src\wal.
9040: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
9050: 5c 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20 45  \whereInt.h..# E
9060: 78 74 65 6e 73 69 6f 6e 20 73 6f 75 72 63 65 20  xtension source 
9070: 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74  code files, part
9080: 20 31 2e 0a 23 0a 53 52 43 30 36 20 3d 20 5c 0a   1..#.SRC06 = \.
9090: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
90a0: 31 5c 66 74 73 31 2e 63 20 5c 0a 20 20 24 28 54  1\fts1.c \.  $(T
90b0: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
90c0: 31 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54  1_hash.c \.  $(T
90d0: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
90e0: 31 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24  1_porter.c \.  $
90f0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66  (TOP)\ext\fts1\f
9100: 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63  ts1_tokenizer1.c
9110: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9120: 66 74 73 32 5c 66 74 73 32 2e 63 20 5c 0a 20 20  fts2\fts2.c \.  
9130: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
9140: 66 74 73 32 5f 68 61 73 68 2e 63 20 5c 0a 20 20  fts2_hash.c \.  
9150: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
9160: 66 74 73 32 5f 69 63 75 2e 63 20 5c 0a 20 20 24  fts2_icu.c \.  $
9170: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
9180: 74 73 32 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20  ts2_porter.c \. 
9190: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
91a0: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts2_tokenizer.
91b0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
91c0: 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e  \fts2\fts2_token
91d0: 69 7a 65 72 31 2e 63 0a 0a 23 20 45 78 74 65 6e  izer1.c..# Exten
91e0: 73 69 6f 6e 20 73 6f 75 72 63 65 20 63 6f 64 65  sion source code
91f0: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a   files, part 2..
9200: 23 0a 53 52 43 30 37 20 3d 20 5c 0a 20 20 24 28  #.SRC07 = \.  $(
9210: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
9220: 73 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  s3.c \.  $(TOP)\
9230: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75  ext\fts3\fts3_au
9240: 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  x.c \.  $(TOP)\e
9250: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70  xt\fts3\fts3_exp
9260: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e
9270: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73  xt\fts3\fts3_has
9280: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  h.c \.  $(TOP)\e
9290: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75  xt\fts3\fts3_icu
92a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
92b0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74  t\fts3\fts3_port
92c0: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\
92d0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e  ext\fts3\fts3_sn
92e0: 69 70 70 65 74 2e 63 20 5c 0a 20 20 24 28 54 4f  ippet.c \.  $(TO
92f0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
9300: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20  _tokenizer.c \. 
9310: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
9320: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31  \fts3_tokenizer1
9330: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9340: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
9350: 6e 69 7a 65 5f 76 74 61 62 2e 63 20 5c 0a 20 20  nize_vtab.c \.  
9360: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
9370: 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20 5c  fts3_unicode.c \
9380: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
9390: 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32  s3\fts3_unicode2
93a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
93b0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74  t\fts3\fts3_writ
93c0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  e.c \.  $(TOP)\e
93d0: 78 74 5c 69 63 75 5c 69 63 75 2e 63 20 5c 0a 20  xt\icu\icu.c \. 
93e0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65   $(TOP)\ext\rtre
93f0: 65 5c 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28  e\rtree.c \.  $(
9400: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
9410: 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e  \sqlite3session.
9420: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9430: 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e  \rbu\sqlite3rbu.
9440: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9450: 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 20 5c 0a  \misc\json1.c \.
9460: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
9470: 63 5c 73 74 6d 74 2e 63 0a 0a 23 20 45 78 74 65  c\stmt.c..# Exte
9480: 6e 73 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c  nsion header fil
9490: 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52  es, part 1..#.SR
94a0: 43 30 38 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C08 = \.  $(TOP)
94b0: 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 68  \ext\fts1\fts1.h
94c0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
94d0: 66 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 68  fts1\fts1_hash.h
94e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
94f0: 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69  fts1\fts1_tokeni
9500: 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  zer.h \.  $(TOP)
9510: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 68  \ext\fts2\fts2.h
9520: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9530: 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 68  fts2\fts2_hash.h
9540: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9550: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69  fts2\fts2_tokeni
9560: 7a 65 72 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69  zer.h..# Extensi
9570: 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c  on header files,
9580: 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 39   part 2..#.SRC09
9590: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78   = \.  $(TOP)\ex
95a0: 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a  t\fts3\fts3.h \.
95b0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
95c0: 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20  3\fts3Int.h \.  
95d0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
95e0: 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20  fts3_hash.h \.  
95f0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
9600: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68  fts3_tokenizer.h
9610: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9620: 69 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 20  icu\sqliteicu.h 
9630: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  \.  $(TOP)\ext\r
9640: 74 72 65 65 5c 72 74 72 65 65 2e 68 20 5c 0a 20  tree\rtree.h \. 
9650: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65   $(TOP)\ext\rtre
9660: 65 5c 67 65 6f 70 6f 6c 79 2e 63 20 5c 0a 20 20  e\geopoly.c \.  
9670: 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73  $(TOP)\ext\rbu\s
9680: 71 6c 69 74 65 33 72 62 75 2e 68 20 5c 0a 20 20  qlite3rbu.h \.  
9690: 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69  $(TOP)\ext\sessi
96a0: 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f  on\sqlite3sessio
96b0: 6e 2e 68 0a 0a 23 20 47 65 6e 65 72 61 74 65 64  n.h..# Generated
96c0: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c   source code fil
96d0: 65 73 0a 23 0a 53 52 43 31 30 20 3d 20 5c 0a 20  es.#.SRC10 = \. 
96e0: 20 6f 70 63 6f 64 65 73 2e 63 20 5c 0a 20 20 70   opcodes.c \.  p
96f0: 61 72 73 65 2e 63 0a 0a 23 20 47 65 6e 65 72 61  arse.c..# Genera
9700: 74 65 64 20 68 65 61 64 65 72 20 66 69 6c 65 73  ted header files
9710: 0a 23 0a 53 52 43 31 31 20 3d 20 5c 0a 20 20 6b  .#.SRC11 = \.  k
9720: 65 79 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a 20  eywordhash.h \. 
9730: 20 6f 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20 70   opcodes.h \.  p
9740: 61 72 73 65 2e 68 20 5c 0a 20 20 73 68 65 6c 6c  arse.h \.  shell
9750: 2e 63 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 33  .c \.  $(SQLITE3
9760: 48 29 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20  H)..# Generated 
9770: 54 63 6c 20 68 65 61 64 65 72 20 66 69 6c 65 73  Tcl header files
9780: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44  .#.!IF $(USE_STD
9790: 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  CALL)!=0 || $(FO
97a0: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 52 43 31  R_WIN10)!=0.SRC1
97b0: 32 20 3d 20 5c 0a 20 20 24 28 53 51 4c 49 54 45  2 = \.  $(SQLITE
97c0: 54 43 4c 48 29 20 5c 0a 20 20 24 28 53 51 4c 49  TCLH) \.  $(SQLI
97d0: 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 21 45 4c  TETCLDECLSH).!EL
97e0: 53 45 0a 53 52 43 31 32 20 3d 0a 21 45 4e 44 49  SE.SRC12 =.!ENDI
97f0: 46 0a 0a 23 20 41 6c 6c 20 73 6f 75 72 63 65 20  F..# All source 
9800: 63 6f 64 65 20 66 69 6c 65 73 2e 0a 23 0a 53 52  code files..#.SR
9810: 43 20 3d 20 24 28 53 52 43 30 30 29 20 24 28 53  C = $(SRC00) $(S
9820: 52 43 30 31 29 20 24 28 53 52 43 30 33 29 20 24  RC01) $(SRC03) $
9830: 28 53 52 43 30 34 29 20 24 28 53 52 43 30 35 29  (SRC04) $(SRC05)
9840: 20 24 28 53 52 43 30 36 29 20 24 28 53 52 43 30   $(SRC06) $(SRC0
9850: 37 29 20 24 28 53 52 43 30 38 29 20 24 28 53 52  7) $(SRC08) $(SR
9860: 43 30 39 29 20 24 28 53 52 43 31 30 29 20 24 28  C09) $(SRC10) $(
9870: 53 52 43 31 31 29 0a 0a 23 20 53 6f 75 72 63 65  SRC11)..# Source
9880: 20 63 6f 64 65 20 74 6f 20 74 68 65 20 74 65 73   code to the tes
9890: 74 20 66 69 6c 65 73 2e 0a 23 0a 54 45 53 54 53  t files..#.TESTS
98a0: 52 43 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c  RC = \.  $(TOP)\
98b0: 73 72 63 5c 74 65 73 74 31 2e 63 20 5c 0a 20 20  src\test1.c \.  
98c0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 32  $(TOP)\src\test2
98d0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
98e0: 63 5c 74 65 73 74 33 2e 63 20 5c 0a 20 20 24 28  c\test3.c \.  $(
98f0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 34 2e 63  TOP)\src\test4.c
9900: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9910: 74 65 73 74 35 2e 63 20 5c 0a 20 20 24 28 54 4f  test5.c \.  $(TO
9920: 50 29 5c 73 72 63 5c 74 65 73 74 36 2e 63 20 5c  P)\src\test6.c \
9930: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9940: 73 74 37 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  st7.c \.  $(TOP)
9950: 5c 73 72 63 5c 74 65 73 74 38 2e 63 20 5c 0a 20  \src\test8.c \. 
9960: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
9970: 39 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  9.c \.  $(TOP)\s
9980: 72 63 5c 74 65 73 74 5f 61 75 74 6f 65 78 74 2e  rc\test_autoext.
9990: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
99a0: 5c 74 65 73 74 5f 61 73 79 6e 63 2e 63 20 5c 0a  \test_async.c \.
99b0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
99c0: 74 5f 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24  t_backup.c \.  $
99d0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62  (TOP)\src\test_b
99e0: 65 73 74 69 6e 64 65 78 2e 63 20 5c 0a 20 20 24  estindex.c \.  $
99f0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62  (TOP)\src\test_b
9a00: 6c 6f 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  lob.c \.  $(TOP)
9a10: 5c 73 72 63 5c 74 65 73 74 5f 62 74 72 65 65 2e  \src\test_btree.
9a20: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9a30: 5c 74 65 73 74 5f 63 6f 6e 66 69 67 2e 63 20 5c  \test_config.c \
9a40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9a50: 73 74 5f 64 65 6c 65 74 65 2e 63 20 5c 0a 20 20  st_delete.c \.  
9a60: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9a70: 64 65 6d 6f 76 66 73 2e 63 20 5c 0a 20 20 24 28  demovfs.c \.  $(
9a80: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65  TOP)\src\test_de
9a90: 76 73 79 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50  vsym.c \.  $(TOP
9aa0: 29 5c 73 72 63 5c 74 65 73 74 5f 66 73 2e 63 20  )\src\test_fs.c 
9ab0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9ac0: 65 73 74 5f 66 75 6e 63 2e 63 20 5c 0a 20 20 24  est_func.c \.  $
9ad0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 68  (TOP)\src\test_h
9ae0: 65 78 69 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50  exio.c \.  $(TOP
9af0: 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e 69 74 2e  )\src\test_init.
9b00: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9b10: 5c 74 65 73 74 5f 69 6e 74 61 72 72 61 79 2e 63  \test_intarray.c
9b20: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9b30: 74 65 73 74 5f 6a 6f 75 72 6e 61 6c 2e 63 20 5c  test_journal.c \
9b40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9b50: 73 74 5f 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20  st_malloc.c \.  
9b60: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9b70: 6d 64 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  md5.c \.  $(TOP)
9b80: 5c 73 72 63 5c 74 65 73 74 5f 6d 75 6c 74 69 70  \src\test_multip
9b90: 6c 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  lex.c \.  $(TOP)
9ba0: 5c 73 72 63 5c 74 65 73 74 5f 6d 75 74 65 78 2e  \src\test_mutex.
9bb0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9bc0: 5c 74 65 73 74 5f 6f 6e 65 66 69 6c 65 2e 63 20  \test_onefile.c 
9bd0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9be0: 65 73 74 5f 6f 73 69 6e 73 74 2e 63 20 5c 0a 20  est_osinst.c \. 
9bf0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
9c00: 5f 70 63 61 63 68 65 2e 63 20 5c 0a 20 20 24 28  _pcache.c \.  $(
9c10: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 71 75  TOP)\src\test_qu
9c20: 6f 74 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ota.c \.  $(TOP)
9c30: 5c 73 72 63 5c 74 65 73 74 5f 72 74 72 65 65 2e  \src\test_rtree.
9c40: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9c50: 5c 74 65 73 74 5f 73 63 68 65 6d 61 2e 63 20 5c  \test_schema.c \
9c60: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9c70: 73 74 5f 73 65 72 76 65 72 2e 63 20 5c 0a 20 20  st_server.c \.  
9c80: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9c90: 73 75 70 65 72 6c 6f 63 6b 2e 63 20 5c 0a 20 20  superlock.c \.  
9ca0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9cb0: 73 79 73 63 61 6c 6c 2e 63 20 5c 0a 20 20 24 28  syscall.c \.  $(
9cc0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 74 63  TOP)\src\test_tc
9cd0: 6c 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  lsh.c \.  $(TOP)
9ce0: 5c 73 72 63 5c 74 65 73 74 5f 74 63 6c 76 61 72  \src\test_tclvar
9cf0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
9d00: 63 5c 74 65 73 74 5f 74 68 72 65 61 64 2e 63 20  c\test_thread.c 
9d10: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9d20: 65 73 74 5f 76 66 73 2e 63 20 5c 0a 20 20 24 28  est_vfs.c \.  $(
9d30: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69  TOP)\src\test_wi
9d40: 6e 64 69 72 65 6e 74 2e 63 20 5c 0a 20 20 24 28  ndirent.c \.  $(
9d50: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69  TOP)\src\test_wi
9d60: 6e 64 6f 77 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ndow.c \.  $(TOP
9d70: 29 5c 73 72 63 5c 74 65 73 74 5f 77 73 64 2e 63  )\src\test_wsd.c
9d80: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9d90: 66 74 73 33 5c 66 74 73 33 5f 74 65 72 6d 2e 63  fts3\fts3_term.c
9da0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9db0: 66 74 73 33 5c 66 74 73 33 5f 74 65 73 74 2e 63  fts3\fts3_test.c
9dc0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9dd0: 72 62 75 5c 74 65 73 74 5f 72 62 75 2e 63 20 5c  rbu\test_rbu.c \
9de0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65  .  $(TOP)\ext\se
9df0: 73 73 69 6f 6e 5c 74 65 73 74 5f 73 65 73 73 69  ssion\test_sessi
9e00: 6f 6e 2e 63 0a 0a 23 20 53 74 61 74 69 63 61 6c  on.c..# Statical
9e10: 6c 79 20 6c 69 6e 6b 65 64 20 65 78 74 65 6e 73  ly linked extens
9e20: 69 6f 6e 73 2e 0a 23 0a 54 45 53 54 45 58 54 20  ions..#.TESTEXT 
9e30: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  = \.  $(TOP)\ext
9e40: 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65  \expert\sqlite3e
9e50: 78 70 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f  xpert.c \.  $(TO
9e60: 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 74 65  P)\ext\expert\te
9e70: 73 74 5f 65 78 70 65 72 74 2e 63 20 5c 0a 20 20  st_expert.c \.  
9e80: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
9e90: 61 6d 61 74 63 68 2e 63 20 5c 0a 20 20 24 28 54  amatch.c \.  $(T
9ea0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 61 72  OP)\ext\misc\car
9eb0: 72 61 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ray.c \.  $(TOP)
9ec0: 5c 65 78 74 5c 6d 69 73 63 5c 63 6c 6f 73 75 72  \ext\misc\closur
9ed0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  e.c \.  $(TOP)\e
9ee0: 78 74 5c 6d 69 73 63 5c 63 73 76 2e 63 20 5c 0a  xt\misc\csv.c \.
9ef0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
9f00: 63 5c 65 76 61 6c 2e 63 20 5c 0a 20 20 24 28 54  c\eval.c \.  $(T
9f10: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 65 78 70  OP)\ext\misc\exp
9f20: 6c 61 69 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50  lain.c \.  $(TOP
9f30: 29 5c 65 78 74 5c 6d 69 73 63 5c 66 69 6c 65 69  )\ext\misc\filei
9f40: 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  o.c \.  $(TOP)\e
9f50: 78 74 5c 6d 69 73 63 5c 66 75 7a 7a 65 72 2e 63  xt\misc\fuzzer.c
9f60: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9f70: 66 74 73 35 5c 66 74 73 35 5f 74 63 6c 2e 63 20  fts5\fts5_tcl.c 
9f80: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9f90: 74 73 35 5c 66 74 73 35 5f 74 65 73 74 5f 6d 69  ts5\fts5_test_mi
9fa0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9fb0: 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 65 73 74  t\fts5\fts5_test
9fc0: 5f 74 6f 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50  _tok.c \.  $(TOP
9fd0: 29 5c 65 78 74 5c 6d 69 73 63 5c 69 65 65 65 37  )\ext\misc\ieee7
9fe0: 35 34 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  54.c \.  $(TOP)\
9ff0: 65 78 74 5c 6d 69 73 63 5c 6d 6d 61 70 77 61 72  ext\misc\mmapwar
a000: 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  m.c \.  $(TOP)\e
a010: 78 74 5c 6d 69 73 63 5c 6e 65 78 74 63 68 61 72  xt\misc\nextchar
a020: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
a030: 74 5c 6d 69 73 63 5c 6e 6f 72 6d 61 6c 69 7a 65  t\misc\normalize
a040: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
a050: 74 5c 6d 69 73 63 5c 70 65 72 63 65 6e 74 69 6c  t\misc\percentil
a060: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  e.c \.  $(TOP)\e
a070: 78 74 5c 6d 69 73 63 5c 70 72 65 66 69 78 65 73  xt\misc\prefixes
a080: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
a090: 74 5c 6d 69 73 63 5c 72 65 67 65 78 70 2e 63 20  t\misc\regexp.c 
a0a0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
a0b0: 69 73 63 5c 72 65 6d 65 6d 62 65 72 2e 63 20 5c  isc\remember.c \
a0c0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
a0d0: 73 63 5c 73 65 72 69 65 73 2e 63 20 5c 0a 20 20  sc\series.c \.  
a0e0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
a0f0: 73 70 65 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24  spellfix.c \.  $
a100: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 74  (TOP)\ext\misc\t
a110: 6f 74 79 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f  otype.c \.  $(TO
a120: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 75 6e 69 6f  P)\ext\misc\unio
a130: 6e 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f  nvtab.c \.  $(TO
a140: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 77 68 6f 6c  P)\ext\misc\whol
a150: 65 6e 75 6d 62 65 72 2e 63 0a 0a 23 20 49 66 20  enumber.c..# If 
a160: 75 73 65 20 6f 66 20 7a 6c 69 62 20 69 73 20 65  use of zlib is e
a170: 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20  nabled, add the 
a180: 22 7a 69 70 66 69 6c 65 2e 63 22 20 73 6f 75 72  "zipfile.c" sour
a190: 63 65 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24  ce file..#.!IF $
a1a0: 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a 54 45  (USE_ZLIB)!=0.TE
a1b0: 53 54 45 58 54 20 3d 20 24 28 54 45 53 54 45 58  STEXT = $(TESTEX
a1c0: 54 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  T) $(TOP)\ext\mi
a1d0: 73 63 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e  sc\zipfile.c.!EN
a1e0: 44 49 46 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f  DIF..# Source co
a1f0: 64 65 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72  de to the librar
a200: 79 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20 62  y files needed b
a210: 79 20 74 68 65 20 74 65 73 74 20 66 69 78 74 75  y the test fixtu
a220: 72 65 0a 23 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61  re.# (non-amalga
a230: 6d 61 74 69 6f 6e 29 0a 23 0a 54 45 53 54 53 52  mation).#.TESTSR
a240: 43 32 20 3d 20 5c 0a 20 20 24 28 53 52 43 30 30  C2 = \.  $(SRC00
a250: 29 20 5c 0a 20 20 24 28 53 52 43 30 31 29 20 5c  ) \.  $(SRC01) \
a260: 0a 20 20 24 28 53 52 43 30 36 29 20 5c 0a 20 20  .  $(SRC06) \.  
a270: 24 28 53 52 43 30 37 29 20 5c 0a 20 20 24 28 53  $(SRC07) \.  $(S
a280: 52 43 31 30 29 20 5c 0a 20 20 24 28 54 4f 50 29  RC10) \.  $(TOP)
a290: 5c 65 78 74 5c 61 73 79 6e 63 5c 73 71 6c 69 74  \ext\async\sqlit
a2a0: 65 33 61 73 79 6e 63 2e 63 0a 0a 23 20 48 65 61  e3async.c..# Hea
a2b0: 64 65 72 20 66 69 6c 65 73 20 75 73 65 64 20 62  der files used b
a2c0: 79 20 61 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f  y all library so
a2d0: 75 72 63 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44  urce files..#.HD
a2e0: 52 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  R = \.   $(TOP)\
a2f0: 73 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20  src\btree.h \.  
a300: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65   $(TOP)\src\btre
a310: 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f  eInt.h \.   $(TO
a320: 50 29 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a  P)\src\hash.h \.
a330: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 77     $(TOP)\src\hw
a340: 74 69 6d 65 2e 68 20 5c 0a 20 20 20 6b 65 79 77  time.h \.   keyw
a350: 6f 72 64 68 61 73 68 2e 68 20 5c 0a 20 20 20 24  ordhash.h \.   $
a360: 28 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68  (TOP)\src\msvc.h
a370: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
a380: 5c 6d 75 74 65 78 2e 68 20 5c 0a 20 20 20 6f 70  \mutex.h \.   op
a390: 63 6f 64 65 73 2e 68 20 5c 0a 20 20 20 24 28 54  codes.h \.   $(T
a3a0: 4f 50 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20  OP)\src\os.h \. 
a3b0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f    $(TOP)\src\os_
a3c0: 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 28  common.h \.   $(
a3d0: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75  TOP)\src\os_setu
a3e0: 70 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  p.h \.   $(TOP)\
a3f0: 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20  src\os_win.h \. 
a400: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67    $(TOP)\src\pag
a410: 65 72 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  er.h \.   $(TOP)
a420: 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a  \src\pcache.h \.
a430: 20 20 20 70 61 72 73 65 2e 68 20 5c 0a 20 20 20     parse.h \.   
a440: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d  $(TOP)\src\pragm
a450: 61 2e 68 20 5c 0a 20 20 20 24 28 53 51 4c 49 54  a.h \.   $(SQLIT
a460: 45 33 48 29 20 5c 0a 20 20 20 73 71 6c 69 74 65  E3H) \.   sqlite
a470: 33 65 78 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f  3ext.h \.   $(TO
a480: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74  P)\src\sqliteInt
a490: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
a4a0: 72 63 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68  rc\sqliteLimit.h
a4b0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
a4c0: 5c 76 64 62 65 2e 68 20 5c 0a 20 20 20 24 28 54  \vdbe.h \.   $(T
a4d0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e  OP)\src\vdbeInt.
a4e0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
a4f0: 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20  c\vxworks.h \.  
a500: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72   $(TOP)\src\wher
a510: 65 49 6e 74 2e 68 0a 0a 23 20 48 65 61 64 65 72  eInt.h..# Header
a520: 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 65   files used by e
a530: 78 74 65 6e 73 69 6f 6e 73 0a 23 0a 45 58 54 48  xtensions.#.EXTH
a540: 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c  DR = $(EXTHDR) \
a550: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
a560: 73 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28  s1\fts1.h \.  $(
a570: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
a580: 73 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s1_hash.h \.  $(
a590: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
a5a0: 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45  s1_tokenizer.h.E
a5b0: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52  XTHDR = $(EXTHDR
a5c0: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext
a5d0: 5c 66 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20  \fts2\fts2.h \. 
a5e0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
a5f0: 5c 66 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20  \fts2_hash.h \. 
a600: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
a610: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts2_tokenizer.
a620: 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54  h.EXTHDR = $(EXT
a630: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\
a640: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20  ext\fts3\fts3.h 
a650: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
a660: 74 73 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a  ts3\fts3Int.h \.
a670: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
a680: 33 5c 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a  3\fts3_hash.h \.
a690: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
a6a0: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3\fts3_tokenizer
a6b0: 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58  .h.EXTHDR = $(EX
a6c0: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29  THDR) \.  $(TOP)
a6d0: 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65  \ext\rtree\rtree
a6e0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex
a6f0: 74 5c 72 74 72 65 65 5c 67 65 6f 70 6f 6c 79 2e  t\rtree\geopoly.
a700: 63 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54  c.EXTHDR = $(EXT
a710: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\
a720: 65 78 74 5c 69 63 75 5c 73 71 6c 69 74 65 69 63  ext\icu\sqliteic
a730: 75 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45  u.h.EXTHDR = $(E
a740: 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50  XTHDR) \.  $(TOP
a750: 29 5c 65 78 74 5c 72 74 72 65 65 5c 73 71 6c 69  )\ext\rtree\sqli
a760: 74 65 33 72 74 72 65 65 2e 68 0a 45 58 54 48 44  te3rtree.h.EXTHD
a770: 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a  R = $(EXTHDR) \.
a780: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73    $(TOP)\ext\ses
a790: 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73  sion\sqlite3sess
a7a0: 69 6f 6e 2e 68 0a 0a 23 20 65 78 65 63 75 74 61  ion.h..# executa
a7b0: 62 6c 65 73 20 6e 65 65 64 65 64 20 66 6f 72 20  bles needed for 
a7c0: 74 65 73 74 69 6e 67 0a 23 0a 54 45 53 54 50 52  testing.#.TESTPR
a7d0: 4f 47 53 20 3d 20 5c 0a 20 20 74 65 73 74 66 69  OGS = \.  testfi
a7e0: 78 74 75 72 65 2e 65 78 65 20 5c 0a 20 20 24 28  xture.exe \.  $(
a7f0: 53 51 4c 49 54 45 33 45 58 45 29 20 5c 0a 20 20  SQLITE3EXE) \.  
a800: 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
a810: 2e 65 78 65 20 5c 0a 20 20 73 71 6c 69 74 65 33  .exe \.  sqlite3
a820: 5f 63 68 65 63 6b 65 72 2e 65 78 65 20 5c 0a 20  _checker.exe \. 
a830: 20 73 71 6c 64 69 66 66 2e 65 78 65 20 5c 0a 20   sqldiff.exe \. 
a840: 20 64 62 68 61 73 68 2e 65 78 65 20 5c 0a 20 20   dbhash.exe \.  
a850: 73 71 6c 74 63 6c 73 68 2e 65 78 65 0a 0a 23 20  sqltclsh.exe..# 
a860: 44 61 74 61 62 61 73 65 73 20 63 6f 6e 74 61 69  Databases contai
a870: 6e 69 6e 67 20 66 75 7a 7a 65 72 20 74 65 73 74  ning fuzzer test
a880: 20 63 61 73 65 73 0a 23 0a 46 55 5a 5a 44 41 54   cases.#.FUZZDAT
a890: 41 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74  A = \.  $(TOP)\t
a8a0: 65 73 74 5c 66 75 7a 7a 64 61 74 61 31 2e 64 62  est\fuzzdata1.db
a8b0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74   \.  $(TOP)\test
a8c0: 5c 66 75 7a 7a 64 61 74 61 32 2e 64 62 20 5c 0a  \fuzzdata2.db \.
a8d0: 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75    $(TOP)\test\fu
a8e0: 7a 7a 64 61 74 61 33 2e 64 62 20 5c 0a 20 20 24  zzdata3.db \.  $
a8f0: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64  (TOP)\test\fuzzd
a900: 61 74 61 34 2e 64 62 20 5c 0a 20 20 24 28 54 4f  ata4.db \.  $(TO
a910: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61  P)\test\fuzzdata
a920: 35 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c  5.db \.  $(TOP)\
a930: 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 36 2e 64  test\fuzzdata6.d
a940: 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73  b \.  $(TOP)\tes
a950: 74 5c 66 75 7a 7a 64 61 74 61 37 2e 64 62 20 5c  t\fuzzdata7.db \
a960: 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66  .  $(TOP)\test\f
a970: 75 7a 7a 64 61 74 61 38 2e 64 62 0a 23 20 3c 3c  uzzdata8.db.# <<
a980: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 41 64 64 69 74  /mark>>..# Addit
a990: 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6f  ional compiler o
a9a0: 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 73  ptions for the s
a9b0: 68 65 6c 6c 2e 20 20 54 68 65 73 65 20 61 72 65  hell.  These are
a9c0: 20 6f 6e 6c 79 20 65 66 66 65 63 74 69 76 65 0a   only effective.
a9d0: 23 20 77 68 65 6e 20 74 68 65 20 73 68 65 6c 6c  # when the shell
a9e0: 20 69 73 20 6e 6f 74 20 62 65 69 6e 67 20 64 79   is not being dy
a9f0: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64  namically linked
aa00: 2e 0a 23 0a 21 49 46 20 24 28 44 59 4e 41 4d 49  ..#.!IF $(DYNAMI
aa10: 43 5f 53 48 45 4c 4c 29 3d 3d 30 20 26 26 20 24  C_SHELL)==0 && $
aa20: 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 0a 53  (FOR_WIN10)==0.S
aa30: 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  HELL_COMPILE_OPT
aa40: 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50  S = $(SHELL_COMP
aa50: 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49  ILE_OPTS) -DSQLI
aa60: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 34 3d 31  TE_ENABLE_FTS4=1
aa70: 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f  .SHELL_COMPILE_O
aa80: 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f  PTS = $(SHELL_CO
aa90: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51  MPILE_OPTS) -DSQ
aaa0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 45 58 50 4c  LITE_ENABLE_EXPL
aab0: 41 49 4e 5f 43 4f 4d 4d 45 4e 54 53 3d 31 0a 53  AIN_COMMENTS=1.S
aac0: 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  HELL_COMPILE_OPT
aad0: 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50  S = $(SHELL_COMP
aae0: 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49  ILE_OPTS) -DSQLI
aaf0: 54 45 5f 45 4e 41 42 4c 45 5f 4f 46 46 53 45 54  TE_ENABLE_OFFSET
ab00: 5f 53 51 4c 5f 46 55 4e 43 3d 31 0a 53 48 45 4c  _SQL_FUNC=1.SHEL
ab10: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d  L_COMPILE_OPTS =
ab20: 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45   $(SHELL_COMPILE
ab30: 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f  _OPTS) -DSQLITE_
ab40: 45 4e 41 42 4c 45 5f 44 45 53 45 52 49 41 4c 49  ENABLE_DESERIALI
ab50: 5a 45 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 3c  ZE=1.!ENDIF..# <
ab60: 3c 6d 61 72 6b 3e 3e 0a 23 20 45 78 74 72 61 20  <mark>>.# Extra 
ab70: 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73  compiler options
ab80: 20 66 6f 72 20 76 61 72 69 6f 75 73 20 74 65 73   for various tes
ab90: 74 20 74 6f 6f 6c 73 2e 0a 23 0a 4d 50 54 45 53  t tools..#.MPTES
aba0: 54 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  TER_COMPILE_OPTS
abb0: 20 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42   = -DSQLITE_ENAB
abc0: 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54  LE_JSON1 -DSQLIT
abd0: 45 5f 45 4e 41 42 4c 45 5f 46 54 53 35 0a 46 55  E_ENABLE_FTS5.FU
abe0: 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c  ZZERSHELL_COMPIL
abf0: 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54  E_OPTS = -DSQLIT
ac00: 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a 46  E_ENABLE_JSON1.F
ac10: 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 20 3d 20  UZZCHECK_OPTS = 
ac20: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
ac30: 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45  JSON1 -DSQLITE_E
ac40: 4e 41 42 4c 45 5f 4d 45 4d 53 59 53 35 20 2d 44  NABLE_MEMSYS5 -D
ac50: 53 51 4c 49 54 45 5f 4f 53 53 5f 46 55 5a 5a 20  SQLITE_OSS_FUZZ 
ac60: 2d 44 53 51 4c 49 54 45 5f 4d 41 58 5f 4d 45 4d  -DSQLITE_MAX_MEM
ac70: 4f 52 59 3d 35 30 30 30 30 30 30 30 20 2d 44 53  ORY=50000000 -DS
ac80: 51 4c 49 54 45 5f 50 52 49 4e 54 46 5f 50 52 45  QLITE_PRINTF_PRE
ac90: 43 49 53 49 4f 4e 5f 4c 49 4d 49 54 3d 31 30 30  CISION_LIMIT=100
aca0: 30 0a 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53  0.FUZZCHECK_OPTS
acb0: 20 3d 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 4f   = $(FUZZCHECK_O
acc0: 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  PTS) -DSQLITE_EN
acd0: 41 42 4c 45 5f 44 45 53 45 52 49 41 4c 49 5a 45  ABLE_DESERIALIZE
ace0: 0a 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 20  .FUZZCHECK_OPTS 
acf0: 3d 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 4f 50  = $(FUZZCHECK_OP
ad00: 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  TS) -DSQLITE_ENA
ad10: 42 4c 45 5f 46 54 53 34 0a 46 55 5a 5a 43 48 45  BLE_FTS4.FUZZCHE
ad20: 43 4b 5f 4f 50 54 53 20 3d 20 24 28 46 55 5a 5a  CK_OPTS = $(FUZZ
ad30: 43 48 45 43 4b 5f 4f 50 54 53 29 20 2d 44 53 51  CHECK_OPTS) -DSQ
ad40: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45  LITE_ENABLE_RTRE
ad50: 45 0a 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53  E.FUZZCHECK_OPTS
ad60: 20 3d 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 4f   = $(FUZZCHECK_O
ad70: 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  PTS) -DSQLITE_EN
ad80: 41 42 4c 45 5f 47 45 4f 50 4f 4c 59 0a 46 55 5a  ABLE_GEOPOLY.FUZ
ad90: 5a 43 48 45 43 4b 5f 4f 50 54 53 20 3d 20 24 28  ZCHECK_OPTS = $(
ada0: 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 29 20  FUZZCHECK_OPTS) 
adb0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
adc0: 44 42 53 54 41 54 5f 56 54 41 42 0a 0a 46 55 5a  DBSTAT_VTAB..FUZ
add0: 5a 43 48 45 43 4b 5f 53 52 43 20 3d 20 24 28 54  ZCHECK_SRC = $(T
ade0: 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 63 68 65  OP)\test\fuzzche
adf0: 63 6b 2e 63 20 24 28 54 4f 50 29 5c 74 65 73 74  ck.c $(TOP)\test
ae00: 5c 6f 73 73 66 75 7a 7a 2e 63 0a 4f 53 53 53 48  \ossfuzz.c.OSSSH
ae10: 45 4c 4c 5f 53 52 43 20 3d 20 24 28 54 4f 50 29  ELL_SRC = $(TOP)
ae20: 5c 74 65 73 74 5c 6f 73 73 73 68 65 6c 6c 2e 63  \test\ossshell.c
ae30: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73   $(TOP)\test\oss
ae40: 66 75 7a 7a 2e 63 0a 44 42 46 55 5a 5a 5f 43 4f  fuzz.c.DBFUZZ_CO
ae50: 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53  MPILE_OPTS = -DS
ae60: 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
ae70: 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  =0 -DSQLITE_OMIT
ae80: 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 0a  _LOAD_EXTENSION.
ae90: 4b 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20  KV_COMPILE_OPTS 
aea0: 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  = -DSQLITE_THREA
aeb0: 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
aec0: 5f 44 49 52 45 43 54 5f 4f 56 45 52 46 4c 4f 57  _DIRECT_OVERFLOW
aed0: 5f 52 45 41 44 0a 53 54 5f 43 4f 4d 50 49 4c 45  _READ.ST_COMPILE
aee0: 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45  _OPTS = -DSQLITE
aef0: 5f 54 48 52 45 41 44 53 41 46 45 3d 30 0a 0a 23  _THREADSAFE=0..#
af00: 20 53 74 61 6e 64 61 72 64 20 6f 70 74 69 6f 6e   Standard option
af10: 73 20 74 6f 20 74 65 73 74 66 69 78 74 75 72 65  s to testfixture
af20: 2e 0a 23 0a 54 45 53 54 4f 50 54 53 20 3d 20 2d  ..#.TESTOPTS = -
af30: 2d 76 65 72 62 6f 73 65 3d 66 69 6c 65 20 2d 2d  -verbose=file --
af40: 6f 75 74 70 75 74 3d 74 65 73 74 2d 6f 75 74 2e  output=test-out.
af50: 74 78 74 0a 0a 23 20 45 78 74 72 61 20 74 61 72  txt..# Extra tar
af60: 67 65 74 73 20 66 6f 72 20 74 68 65 20 22 61 6c  gets for the "al
af70: 6c 22 20 74 61 72 67 65 74 20 74 68 61 74 20 72  l" target that r
af80: 65 71 75 69 72 65 20 54 63 6c 2e 0a 23 0a 21 49  equire Tcl..#.!I
af90: 46 20 24 28 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 41  F $(NO_TCL)==0.A
afa0: 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 20 3d  LL_TCL_TARGETS =
afb0: 20 24 28 53 51 4c 49 54 45 33 54 43 4c 44 4c 4c   $(SQLITE3TCLDLL
afc0: 29 0a 21 45 4c 53 45 0a 41 4c 4c 5f 54 43 4c 5f  ).!ELSE.ALL_TCL_
afd0: 54 41 52 47 45 54 53 20 3d 0a 21 45 4e 44 49 46  TARGETS =.!ENDIF
afe0: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20  .# <</mark>>..# 
aff0: 54 68 69 73 20 69 73 20 74 68 65 20 64 65 66 61  This is the defa
b000: 75 6c 74 20 4d 61 6b 65 66 69 6c 65 20 74 61 72  ult Makefile tar
b010: 67 65 74 2e 20 20 54 68 65 20 6f 62 6a 65 63 74  get.  The object
b020: 73 20 6c 69 73 74 65 64 20 68 65 72 65 0a 23 20  s listed here.# 
b030: 61 72 65 20 77 68 61 74 20 67 65 74 20 62 75 69  are what get bui
b040: 6c 64 20 77 68 65 6e 20 79 6f 75 20 74 79 70 65  ld when you type
b050: 20 6a 75 73 74 20 22 6d 61 6b 65 22 20 77 69 74   just "make" wit
b060: 68 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a  h no arguments..
b070: 23 0a 63 6f 72 65 3a 09 64 6c 6c 20 6c 69 62 73  #.core:.dll libs
b080: 71 6c 69 74 65 33 2e 6c 69 62 20 73 68 65 6c 6c  qlite3.lib shell
b090: 0a 0a 23 20 54 61 72 67 65 74 73 20 74 68 61 74  ..# Targets that
b0a0: 20 72 65 71 75 69 72 65 20 74 68 65 20 54 63 6c   require the Tcl
b0b0: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 74 63 6c 3a   library..#.tcl:
b0c0: 09 24 28 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45  .$(ALL_TCL_TARGE
b0d0: 54 53 29 0a 0a 23 20 54 68 69 73 20 4d 61 6b 65  TS)..# This Make
b0e0: 66 69 6c 65 20 74 61 72 67 65 74 20 62 75 69 6c  file target buil
b0f0: 64 73 20 61 6c 6c 20 6f 66 20 74 68 65 20 73 74  ds all of the st
b100: 61 6e 64 61 72 64 20 62 69 6e 61 72 69 65 73 2e  andard binaries.
b110: 0a 23 0a 61 6c 6c 3a 09 63 6f 72 65 20 74 63 6c  .#.all:.core tcl
b120: 0a 0a 23 20 44 79 6e 61 6d 69 63 20 6c 69 6e 6b  ..# Dynamic link
b130: 20 6c 69 62 72 61 72 79 20 73 65 63 74 69 6f 6e   library section
b140: 2e 0a 23 0a 64 6c 6c 3a 09 24 28 53 51 4c 49 54  ..#.dll:.$(SQLIT
b150: 45 33 44 4c 4c 29 0a 0a 23 20 53 68 65 6c 6c 20  E3DLL)..# Shell 
b160: 65 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 73 68  executable..#.sh
b170: 65 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33 45 58  ell:.$(SQLITE3EX
b180: 45 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 6c  E)..# <<mark>>.l
b190: 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 24  ibsqlite3.lib:.$
b1a0: 28 4c 49 42 4f 42 4a 29 0a 09 24 28 4c 54 4c 49  (LIBOBJ)..$(LTLI
b1b0: 42 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20  B) $(LTLIBOPTS) 
b1c0: 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a  /OUT:$@ $(LIBOBJ
b1d0: 29 20 24 28 54 4c 49 42 53 29 0a 0a 6c 69 62 74  ) $(TLIBS)..libt
b1e0: 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 74  clsqlite3.lib:.t
b1f0: 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73  clsqlite.lo libs
b200: 71 6c 69 74 65 33 2e 6c 69 62 0a 09 24 28 4c 54  qlite3.lib..$(LT
b210: 4c 49 42 29 20 24 28 4c 54 4c 49 42 4f 50 54 53  LIB) $(LTLIBOPTS
b220: 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29  ) $(TCLLIBPATHS)
b230: 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f   $(LTLIBPATHS) /
b240: 4f 55 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65  OUT:$@ tclsqlite
b250: 2e 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c  .lo libsqlite3.l
b260: 69 62 20 24 28 4c 49 42 54 43 4c 53 54 55 42 29  ib $(LIBTCLSTUB)
b270: 20 24 28 54 4c 49 42 53 29 0a 0a 74 63 6c 73 71   $(TLIBS)..tclsq
b280: 6c 69 74 65 33 2e 64 65 66 3a 09 74 63 6c 73 71  lite3.def:.tclsq
b290: 6c 69 74 65 2e 6c 6f 0a 09 65 63 68 6f 20 45 58  lite.lo..echo EX
b2a0: 50 4f 52 54 53 20 3e 20 74 63 6c 73 71 6c 69 74  PORTS > tclsqlit
b2b0: 65 33 2e 64 65 66 0a 09 64 75 6d 70 62 69 6e 20  e3.def..dumpbin 
b2c0: 2f 61 6c 6c 20 74 63 6c 73 71 6c 69 74 65 2e 6c  /all tclsqlite.l
b2d0: 6f 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f  o \...| $(TCLSH_
b2e0: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
b2f0: 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 69 6e 63  \replace.tcl inc
b300: 6c 75 64 65 20 22 5e 5c 73 2b 2f 45 58 50 4f 52  lude "^\s+/EXPOR
b310: 54 3a 5f 3f 28 28 3f 3a 53 71 6c 69 74 65 33 7c  T:_?((?:Sqlite3|
b320: 54 63 6c 73 71 6c 69 74 65 33 29 5f 5b 5e 40 5d  Tclsqlite3)_[^@]
b330: 2a 29 28 3f 3a 40 5c 64 2b 29 3f 24 24 22 20 5c  *)(?:@\d+)?$$" \
b340: 31 20 5c 0a 09 09 7c 20 73 6f 72 74 20 3e 3e 20  1 \...| sort >> 
b350: 74 63 6c 73 71 6c 69 74 65 33 2e 64 65 66 0a 0a  tclsqlite3.def..
b360: 70 6b 67 49 6e 64 65 78 2e 74 63 6c 3a 09 24 28  pkgIndex.tcl:.$(
b370: 54 4f 50 29 5c 56 45 52 53 49 4f 4e 0a 09 66 6f  TOP)\VERSION..fo
b380: 72 20 2f 46 20 25 25 56 20 69 6e 20 28 27 74 79  r /F %%V in ('ty
b390: 70 65 20 22 24 28 54 4f 50 29 5c 56 45 52 53 49  pe "$(TOP)\VERSI
b3a0: 4f 4e 22 27 29 20 64 6f 20 28 20 5c 0a 09 09 65  ON"') do ( \...e
b3b0: 63 68 6f 20 70 61 63 6b 61 67 65 20 69 66 6e 65  cho package ifne
b3c0: 65 64 65 64 20 73 71 6c 69 74 65 33 20 40 76 65  eded sqlite3 @ve
b3d0: 72 73 69 6f 6e 40 20 5b 6c 69 73 74 20 6c 6f 61  rsion@ [list loa
b3e0: 64 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 24 64  d [file join $$d
b3f0: 69 72 20 24 28 53 51 4c 49 54 45 33 54 43 4c 44  ir $(SQLITE3TCLD
b400: 4c 4c 29 5d 20 73 71 6c 69 74 65 33 5d 20 5c 0a  LL)] sqlite3] \.
b410: 09 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  ...| $(TCLSH_CMD
b420: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re
b430: 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20  place.tcl exact 
b440: 40 76 65 72 73 69 6f 6e 40 20 25 25 56 20 3e 20  @version@ %%V > 
b450: 70 6b 67 49 6e 64 65 78 2e 74 63 6c 20 5c 0a 09  pkgIndex.tcl \..
b460: 29 0a 0a 24 28 53 51 4c 49 54 45 33 54 43 4c 44  )..$(SQLITE3TCLD
b470: 4c 4c 29 3a 09 6c 69 62 74 63 6c 73 71 6c 69 74  LL):.libtclsqlit
b480: 65 33 2e 6c 69 62 20 24 28 4c 49 42 52 45 53 4f  e3.lib $(LIBRESO
b490: 42 4a 53 29 20 74 63 6c 73 71 6c 69 74 65 33 2e  BJS) tclsqlite3.
b4a0: 64 65 66 20 70 6b 67 49 6e 64 65 78 2e 74 63 6c  def pkgIndex.tcl
b4b0: 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47  ..$(LD) $(LDFLAG
b4c0: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
b4d0: 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f   $(LTLIBPATHS) /
b4e0: 44 4c 4c 20 2f 44 45 46 3a 74 63 6c 73 71 6c 69  DLL /DEF:tclsqli
b4f0: 74 65 33 2e 64 65 66 20 2f 4f 55 54 3a 24 40 20  te3.def /OUT:$@ 
b500: 6c 69 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69  libtclsqlite3.li
b510: 62 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20  b $(LIBRESOBJS) 
b520: 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42  $(LTLIBS) $(TLIB
b530: 53 29 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  S).# <</mark>>..
b540: 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 3a 09 24  $(SQLITE3DLL):.$
b550: 28 4c 49 42 4f 42 4a 29 20 24 28 4c 49 42 52 45  (LIBOBJ) $(LIBRE
b560: 53 4f 42 4a 53 29 20 24 28 43 4f 52 45 5f 4c 49  SOBJS) $(CORE_LI
b570: 4e 4b 5f 44 45 50 29 0a 09 24 28 4c 44 29 20 24  NK_DEP)..$(LD) $
b580: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
b590: 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50  NKOPTS) $(LTLIBP
b5a0: 41 54 48 53 29 20 2f 44 4c 4c 20 24 28 43 4f 52  ATHS) /DLL $(COR
b5b0: 45 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20 2f 4f 55  E_LINK_OPTS) /OU
b5c0: 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 24  T:$@ $(LIBOBJ) $
b5d0: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c  (LIBRESOBJS) $(L
b5e0: 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a  TLIBS) $(TLIBS).
b5f0: 0a 23 20 3c 3c 62 6c 6f 63 6b 32 3e 3e 0a 73 71  .# <<block2>>.sq
b600: 6c 69 74 65 33 2e 64 65 66 3a 09 6c 69 62 73 71  lite3.def:.libsq
b610: 6c 69 74 65 33 2e 6c 69 62 0a 09 65 63 68 6f 20  lite3.lib..echo 
b620: 45 58 50 4f 52 54 53 20 3e 20 73 71 6c 69 74 65  EXPORTS > sqlite
b630: 33 2e 64 65 66 0a 09 64 75 6d 70 62 69 6e 20 2f  3.def..dumpbin /
b640: 61 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c  all libsqlite3.l
b650: 69 62 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48  ib \...| $(TCLSH
b660: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
b670: 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 69 6e  l\replace.tcl in
b680: 63 6c 75 64 65 20 22 5e 5c 73 2b 31 20 5f 3f 28  clude "^\s+1 _?(
b690: 73 71 6c 69 74 65 33 28 3f 3a 73 65 73 73 69 6f  sqlite3(?:sessio
b6a0: 6e 7c 63 68 61 6e 67 65 73 65 74 7c 63 68 61 6e  n|changeset|chan
b6b0: 67 65 67 72 6f 75 70 7c 72 65 62 61 73 65 72 29  gegroup|rebaser)
b6c0: 3f 5f 5b 5e 40 5d 2a 29 28 3f 3a 40 5c 64 2b 29  ?_[^@]*)(?:@\d+)
b6d0: 3f 24 24 22 20 5c 31 20 5c 0a 09 09 7c 20 73 6f  ?$$" \1 \...| so
b6e0: 72 74 20 3e 3e 20 73 71 6c 69 74 65 33 2e 64 65  rt >> sqlite3.de
b6f0: 66 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a  f.# <</block2>>.
b700: 0a 24 28 53 51 4c 49 54 45 33 45 58 45 29 3a 09  .$(SQLITE3EXE):.
b710: 73 68 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f  shell.c $(SHELL_
b720: 43 4f 52 45 5f 44 45 50 29 20 24 28 4c 49 42 52  CORE_DEP) $(LIBR
b730: 45 53 4f 42 4a 53 29 20 24 28 53 48 45 4c 4c 5f  ESOBJS) $(SHELL_
b740: 43 4f 52 45 5f 53 52 43 29 20 24 28 53 51 4c 49  CORE_SRC) $(SQLI
b750: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
b760: 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45   $(SHELL_COMPILE
b770: 5f 4f 50 54 53 29 20 24 28 52 45 41 44 4c 49 4e  _OPTS) $(READLIN
b780: 45 5f 46 4c 41 47 53 29 20 73 68 65 6c 6c 2e 63  E_FLAGS) shell.c
b790: 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52   $(SHELL_CORE_SR
b7a0: 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 53  C) \.../link $(S
b7b0: 51 4c 49 54 45 33 45 58 45 50 44 42 29 20 24 28  QLITE3EXEPDB) $(
b7c0: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
b7d0: 4b 4f 50 54 53 29 20 24 28 53 48 45 4c 4c 5f 4c  KOPTS) $(SHELL_L
b7e0: 49 4e 4b 5f 4f 50 54 53 29 20 24 28 4c 54 4c 49  INK_OPTS) $(LTLI
b7f0: 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53  BPATHS) $(LIBRES
b800: 4f 42 4a 53 29 20 24 28 4c 49 42 52 45 41 44 4c  OBJS) $(LIBREADL
b810: 49 4e 45 29 20 24 28 4c 54 4c 49 42 53 29 20 24  INE) $(LTLIBS) $
b820: 28 54 4c 49 42 53 29 0a 0a 23 20 3c 3c 6d 61 72  (TLIBS)..# <<mar
b830: 6b 3e 3e 0a 73 71 6c 64 69 66 66 2e 65 78 65 3a  k>>.sqldiff.exe:
b840: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c  .$(TOP)\tool\sql
b850: 64 69 66 66 2e 63 20 24 28 53 51 4c 49 54 45 33  diff.c $(SQLITE3
b860: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
b870: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
b880: 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  ARN) $(TOP)\tool
b890: 5c 73 71 6c 64 69 66 66 2e 63 20 24 28 53 51 4c  \sqldiff.c $(SQL
b8a0: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
b8b0: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
b8c0: 4f 50 54 53 29 0a 0a 64 62 68 61 73 68 2e 65 78  OPTS)..dbhash.ex
b8d0: 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64  e:.$(TOP)\tool\d
b8e0: 62 68 61 73 68 2e 63 20 24 28 53 51 4c 49 54 45  bhash.c $(SQLITE
b8f0: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
b900: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
b910: 57 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f  WARN) $(TOP)\too
b920: 6c 5c 64 62 68 61 73 68 2e 63 20 24 28 53 51 4c  l\dbhash.c $(SQL
b930: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
b940: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
b950: 4f 50 54 53 29 0a 0a 73 63 72 75 62 2e 65 78 65  OPTS)..scrub.exe
b960: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  :.$(TOP)\ext\mis
b970: 63 5c 73 63 72 75 62 2e 63 20 24 28 53 51 4c 49  c\scrub.c $(SQLI
b980: 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
b990: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
b9a0: 4f 5f 57 41 52 4e 29 20 2d 44 53 43 52 55 42 5f  O_WARN) -DSCRUB_
b9b0: 53 54 41 4e 44 41 4c 4f 4e 45 3d 31 20 24 28 54  STANDALONE=1 $(T
b9c0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 63 72  OP)\ext\misc\scr
b9d0: 75 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  ub.c $(SQLITE3C)
b9e0: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
b9f0: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS).
ba00: 0a 73 72 63 63 6b 31 2e 65 78 65 3a 09 24 28 54  .srcck1.exe:.$(T
ba10: 4f 50 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e  OP)\tool\srcck1.
ba20: 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57  c..$(BCC) $(NO_W
ba30: 41 52 4e 29 20 2d 46 65 24 40 20 24 28 54 4f 50  ARN) -Fe$@ $(TOP
ba40: 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a  )\tool\srcck1.c.
ba50: 0a 73 6f 75 72 63 65 74 65 73 74 3a 09 73 72 63  .sourcetest:.src
ba60: 63 6b 31 2e 65 78 65 20 24 28 53 51 4c 49 54 45  ck1.exe $(SQLITE
ba70: 33 43 29 0a 09 73 72 63 63 6b 31 2e 65 78 65 20  3C)..srcck1.exe 
ba80: 24 28 53 51 4c 49 54 45 33 43 29 0a 0a 66 75 7a  $(SQLITE3C)..fuz
ba90: 7a 65 72 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28  zershell.exe:.$(
baa0: 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72  TOP)\tool\fuzzer
bab0: 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45  shell.c $(SQLITE
bac0: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
bad0: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
bae0: 57 41 52 4e 29 20 24 28 46 55 5a 5a 45 52 53 48  WARN) $(FUZZERSH
baf0: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
bb00: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75  ) $(TOP)\tool\fu
bb10: 7a 7a 65 72 73 68 65 6c 6c 2e 63 20 24 28 53 51  zzershell.c $(SQ
bb20: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
bb30: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
bb40: 4b 4f 50 54 53 29 0a 0a 64 62 66 75 7a 7a 2e 65  KOPTS)..dbfuzz.e
bb50: 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c  xe:.$(TOP)\test\
bb60: 64 62 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54  dbfuzz.c $(SQLIT
bb70: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
bb80: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
bb90: 5f 57 41 52 4e 29 20 24 28 44 42 46 55 5a 5a 5f  _WARN) $(DBFUZZ_
bba0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
bbb0: 54 4f 50 29 5c 74 65 73 74 5c 64 62 66 75 7a 7a  TOP)\test\dbfuzz
bbc0: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
bbd0: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
bbe0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66  $(LTLINKOPTS)..f
bbf0: 75 7a 7a 63 68 65 63 6b 2e 65 78 65 3a 09 24 28  uzzcheck.exe:.$(
bc00: 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43 29 20 24  FUZZCHECK_SRC) $
bc10: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
bc20: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
bc30: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46  ) $(NO_WARN) $(F
bc40: 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 29 20 24  UZZCHECK_OPTS) $
bc50: 28 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43 29 20  (FUZZCHECK_SRC) 
bc60: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
bc70: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
bc80: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6f 73 73 73  TLINKOPTS)..osss
bc90: 68 65 6c 6c 2e 65 78 65 3a 09 24 28 4f 53 53 53  hell.exe:.$(OSSS
bca0: 48 45 4c 4c 5f 53 52 43 29 20 24 28 53 51 4c 49  HELL_SRC) $(SQLI
bcb0: 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
bcc0: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
bcd0: 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 43 48  O_WARN) $(FUZZCH
bce0: 45 43 4b 5f 4f 50 54 53 29 20 24 28 4f 53 53 53  ECK_OPTS) $(OSSS
bcf0: 48 45 4c 4c 5f 53 52 43 29 20 24 28 53 51 4c 49  HELL_SRC) $(SQLI
bd00: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
bd10: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
bd20: 50 54 53 29 0a 0a 73 65 73 73 69 6f 6e 66 75 7a  PTS)..sessionfuz
bd30: 7a 2e 65 78 65 3a 09 7a 6c 69 62 20 24 28 54 4f  z.exe:.zlib $(TO
bd40: 50 29 5c 74 65 73 74 5c 73 65 73 73 69 6f 6e 66  P)\test\sessionf
bd50: 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45 33 43  uzz.c $(SQLITE3C
bd60: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
bd70: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
bd80: 52 4e 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44  RN) -I$(ZLIBINCD
bd90: 49 52 29 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  IR) $(TOP)\test\
bda0: 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 63 20 2f 6c  sessionfuzz.c /l
bdb0: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
bdc0: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4c 49  (LTLINKOPTS) /LI
bdd0: 42 50 41 54 48 3a 24 28 5a 4c 49 42 4c 49 42 44  BPATH:$(ZLIBLIBD
bde0: 49 52 29 20 24 28 5a 4c 49 42 4c 49 42 29 0a 0a  IR) $(ZLIBLIB)..
bdf0: 6d 70 74 65 73 74 65 72 2e 65 78 65 3a 09 24 28  mptester.exe:.$(
be00: 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65  TOP)\mptest\mpte
be10: 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  st.c $(SQLITE3C)
be20: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
be30: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
be40: 4e 29 20 24 28 4d 50 54 45 53 54 45 52 5f 43 4f  N) $(MPTESTER_CO
be50: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f  MPILE_OPTS) $(TO
be60: 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73 74  P)\mptest\mptest
be70: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
be80: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
be90: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4d  $(LTLINKOPTS)..M
bea0: 50 54 45 53 54 31 20 3d 20 6d 70 74 65 73 74 65  PTEST1 = mpteste
beb0: 72 20 6d 70 74 65 73 74 2e 64 62 20 24 28 54 4f  r mptest.db $(TO
bec0: 50 29 5c 6d 70 74 65 73 74 5c 63 72 61 73 68 30  P)\mptest\crash0
bed0: 31 2e 74 65 73 74 20 2d 2d 72 65 70 65 61 74 20  1.test --repeat 
bee0: 32 30 0a 4d 50 54 45 53 54 32 20 3d 20 6d 70 74  20.MPTEST2 = mpt
bef0: 65 73 74 65 72 20 6d 70 74 65 73 74 2e 64 62 20  ester mptest.db 
bf00: 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 75  $(TOP)\mptest\mu
bf10: 6c 74 69 77 72 69 74 65 30 31 2e 74 65 73 74 20  ltiwrite01.test 
bf20: 2d 2d 72 65 70 65 61 74 20 32 30 0a 0a 6d 70 74  --repeat 20..mpt
bf30: 65 73 74 3a 09 6d 70 74 65 73 74 65 72 2e 65 78  est:.mptester.ex
bf40: 65 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 73 74  e..del /Q mptest
bf50: 2e 64 62 20 32 3e 4e 55 4c 0a 09 24 28 4d 50 54  .db 2>NUL..$(MPT
bf60: 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST1) --journalm
bf70: 6f 64 65 20 44 45 4c 45 54 45 0a 09 24 28 4d 50  ode DELETE..$(MP
bf80: 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c  TEST2) --journal
bf90: 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54 45  mode WAL..$(MPTE
bfa0: 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f  ST1) --journalmo
bfb0: 64 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53 54  de WAL..$(MPTEST
bfc0: 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65  2) --journalmode
bfd0: 20 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54 45   PERSIST..$(MPTE
bfe0: 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f  ST1) --journalmo
bff0: 64 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d 50  de PERSIST..$(MP
c000: 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c  TEST2) --journal
c010: 6d 6f 64 65 20 54 52 55 4e 43 41 54 45 0a 09 24  mode TRUNCATE..$
c020: 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72  (MPTEST1) --jour
c030: 6e 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45  nalmode TRUNCATE
c040: 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a  ..$(MPTEST2) --j
c050: 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c 45 54  ournalmode DELET
c060: 45 0a 0a 23 20 54 68 69 73 20 74 61 72 67 65 74  E..# This target
c070: 20 63 72 65 61 74 65 73 20 61 20 64 69 72 65 63   creates a direc
c080: 74 6f 72 79 20 6e 61 6d 65 64 20 22 74 73 72 63  tory named "tsrc
c090: 22 20 61 6e 64 20 66 69 6c 6c 73 20 69 74 20 77  " and fills it w
c0a0: 69 74 68 0a 23 20 63 6f 70 69 65 73 20 6f 66 20  ith.# copies of 
c0b0: 61 6c 6c 20 6f 66 20 74 68 65 20 43 20 73 6f 75  all of the C sou
c0c0: 72 63 65 20 63 6f 64 65 20 61 6e 64 20 68 65 61  rce code and hea
c0d0: 64 65 72 20 66 69 6c 65 73 20 6e 65 65 64 65 64  der files needed
c0e0: 20 74 6f 0a 23 20 62 75 69 6c 64 20 6f 6e 20 74   to.# build on t
c0f0: 68 65 20 74 61 72 67 65 74 20 73 79 73 74 65 6d  he target system
c100: 2e 20 20 53 6f 6d 65 20 6f 66 20 74 68 65 20 43  .  Some of the C
c110: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64   source code and
c120: 20 68 65 61 64 65 72 0a 23 20 66 69 6c 65 73 20   header.# files 
c130: 61 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c  are automaticall
c140: 79 20 67 65 6e 65 72 61 74 65 64 2e 20 20 54 68  y generated.  Th
c150: 69 73 20 74 61 72 67 65 74 20 74 61 6b 65 73 20  is target takes 
c160: 63 61 72 65 20 6f 66 0a 23 20 61 6c 6c 20 74 68  care of.# all th
c170: 61 74 20 61 75 74 6f 6d 61 74 69 63 20 67 65 6e  at automatic gen
c180: 65 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74 61 72 67  eration..#..targ
c190: 65 74 5f 73 6f 75 72 63 65 3a 09 24 28 53 52 43  et_source:.$(SRC
c1a0: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64  ) $(TOP)\tool\vd
c1b0: 62 65 2d 63 6f 6d 70 72 65 73 73 2e 74 63 6c 20  be-compress.tcl 
c1c0: 66 74 73 35 2e 63 20 24 28 53 51 4c 49 54 45 5f  fts5.c $(SQLITE_
c1d0: 54 43 4c 5f 44 45 50 29 0a 09 2d 72 6d 64 69 72  TCL_DEP)..-rmdir
c1e0: 20 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e 55 4c   /Q/S tsrc 2>NUL
c1f0: 0a 09 2d 6d 6b 64 69 72 20 74 73 72 63 0a 09 66  ..-mkdir tsrc..f
c200: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30  or %i in ($(SRC0
c210: 30 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  0)) do copy /Y %
c220: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
c230: 6e 20 28 24 28 53 52 43 30 31 29 29 20 64 6f 20  n ($(SRC01)) do 
c240: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
c250: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR
c260: 43 30 33 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C03)) do copy /Y
c270: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69   %i tsrc..for %i
c280: 20 69 6e 20 28 24 28 53 52 43 30 34 29 29 20 64   in ($(SRC04)) d
c290: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
c2a0: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($(
c2b0: 53 52 43 30 35 29 29 20 64 6f 20 63 6f 70 79 20  SRC05)) do copy 
c2c0: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for 
c2d0: 25 69 20 69 6e 20 28 24 28 53 52 43 30 36 29 29  %i in ($(SRC06))
c2e0: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
c2f0: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
c300: 24 28 53 52 43 30 37 29 29 20 64 6f 20 63 6f 70  $(SRC07)) do cop
c310: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f  y /Y %i tsrc..fo
c320: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 38  r %i in ($(SRC08
c330: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
c340: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
c350: 20 28 24 28 53 52 43 30 39 29 29 20 64 6f 20 63   ($(SRC09)) do c
c360: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09  opy /Y %i tsrc..
c370: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC
c380: 31 30 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  10)) do copy /Y 
c390: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i 
c3a0: 69 6e 20 28 24 28 53 52 43 31 31 29 29 20 64 6f  in ($(SRC11)) do
c3b0: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
c3c0: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S
c3d0: 52 43 31 32 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC12)) do copy /
c3e0: 59 20 25 69 20 74 73 72 63 0a 09 63 6f 70 79 20  Y %i tsrc..copy 
c3f0: 2f 59 20 66 74 73 35 2e 63 20 74 73 72 63 0a 09  /Y fts5.c tsrc..
c400: 63 6f 70 79 20 2f 59 20 66 74 73 35 2e 68 20 74  copy /Y fts5.h t
c410: 73 72 63 0a 09 64 65 6c 20 2f 51 20 74 73 72 63  src..del /Q tsrc
c420: 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20 74 73 72  \sqlite.h.in tsr
c430: 63 5c 70 61 72 73 65 2e 79 20 32 3e 4e 55 4c 0a  c\parse.y 2>NUL.
c440: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD) $(
c450: 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63  TOP)\tool\vdbe-c
c460: 6f 6d 70 72 65 73 73 2e 74 63 6c 20 24 28 4f 50  ompress.tcl $(OP
c470: 54 53 29 20 3c 20 74 73 72 63 5c 76 64 62 65 2e  TS) < tsrc\vdbe.
c480: 63 20 3e 20 76 64 62 65 2e 6e 65 77 0a 09 6d 6f  c > vdbe.new..mo
c490: 76 65 20 76 64 62 65 2e 6e 65 77 20 74 73 72 63  ve vdbe.new tsrc
c4a0: 5c 76 64 62 65 2e 63 0a 09 65 63 68 6f 20 3e 20  \vdbe.c..echo > 
c4b0: 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 0a 0a  .target_source..
c4c0: 73 71 6c 69 74 65 33 2e 63 3a 09 2e 74 61 72 67  sqlite3.c:..targ
c4d0: 65 74 5f 73 6f 75 72 63 65 20 73 71 6c 69 74 65  et_source sqlite
c4e0: 33 65 78 74 2e 68 20 24 28 4d 4b 53 51 4c 49 54  3ext.h $(MKSQLIT
c4f0: 45 33 43 5f 54 4f 4f 4c 29 0a 09 24 28 54 43 4c  E3C_TOOL)..$(TCL
c500: 53 48 5f 43 4d 44 29 20 24 28 4d 4b 53 51 4c 49  SH_CMD) $(MKSQLI
c510: 54 45 33 43 5f 54 4f 4f 4c 29 20 24 28 4d 4b 53  TE3C_TOOL) $(MKS
c520: 51 4c 49 54 45 33 43 5f 41 52 47 53 29 0a 09 63  QLITE3C_ARGS)..c
c530: 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 73  opy $(TOP)\ext\s
c540: 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65  ession\sqlite3se
c550: 73 73 69 6f 6e 2e 68 20 2e 0a 0a 73 71 6c 69 74  ssion.h ...sqlit
c560: 65 33 2d 61 6c 6c 2e 63 3a 09 73 71 6c 69 74 65  e3-all.c:.sqlite
c570: 33 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  3.c $(TOP)\tool\
c580: 73 70 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e 74  split-sqlite3c.t
c590: 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  cl..$(TCLSH_CMD)
c5a0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c   $(TOP)\tool\spl
c5b0: 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a  it-sqlite3c.tcl.
c5c0: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52  # <</mark>>..# R
c5d0: 75 6c 65 20 74 6f 20 62 75 69 6c 64 20 74 68 65  ule to build the
c5e0: 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a 23 0a   amalgamation.#.
c5f0: 73 71 6c 69 74 65 33 2e 6c 6f 3a 09 24 28 53 51  sqlite3.lo:.$(SQ
c600: 4c 49 54 45 33 43 29 0a 09 24 28 4c 54 43 4f 4d  LITE3C)..$(LTCOM
c610: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c620: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c630: 53 51 4c 49 54 45 33 43 29 0a 0a 23 20 3c 3c 6d  SQLITE3C)..# <<m
c640: 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f  ark>>.# Rules to
c650: 20 62 75 69 6c 64 20 74 68 65 20 4c 45 4d 4f 4e   build the LEMON
c660: 20 63 6f 6d 70 69 6c 65 72 20 67 65 6e 65 72 61   compiler genera
c670: 74 6f 72 0a 23 0a 6c 65 6d 70 61 72 2e 63 3a 09  tor.#.lempar.c:.
c680: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70  $(TOP)\tool\lemp
c690: 61 72 2e 63 0a 09 63 6f 70 79 20 24 28 54 4f 50  ar.c..copy $(TOP
c6a0: 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 20  )\tool\lempar.c 
c6b0: 2e 0a 0a 6c 65 6d 6f 6e 2e 65 78 65 3a 09 24 28  ...lemon.exe:.$(
c6c0: 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e  TOP)\tool\lemon.
c6d0: 63 20 6c 65 6d 70 61 72 2e 63 0a 09 24 28 42 43  c lempar.c..$(BC
c6e0: 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  C) $(NO_WARN) -D
c6f0: 61 63 63 65 73 73 3d 5f 61 63 63 65 73 73 20 5c  access=_access \
c700: 0a 09 09 2d 46 65 24 40 20 24 28 54 4f 50 29 5c  ...-Fe$@ $(TOP)\
c710: 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 2f 6c 69  tool\lemon.c /li
c720: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
c730: 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e  NLTLINKOPTS) $(N
c740: 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 20 3c  LTLIBPATHS)..# <
c750: 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20  <mark>>.# Rules 
c760: 74 6f 20 62 75 69 6c 64 20 74 68 65 20 73 6f 75  to build the sou
c770: 72 63 65 2d 69 64 20 67 65 6e 65 72 61 74 6f 72  rce-id generator
c780: 20 74 6f 6f 6c 0a 23 0a 6d 6b 73 6f 75 72 63 65   tool.#.mksource
c790: 69 64 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  id.exe:.$(TOP)\t
c7a0: 6f 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 64 2e 63  ool\mksourceid.c
c7b0: 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41  ..$(BCC) $(NO_WA
c7c0: 52 4e 29 20 2d 46 65 24 40 20 24 28 54 4f 50 29  RN) -Fe$@ $(TOP)
c7d0: 5c 74 6f 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 64  \tool\mksourceid
c7e0: 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  .c /link $(LDFLA
c7f0: 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54  GS) $(NLTLINKOPT
c800: 53 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53  S) $(NLTLIBPATHS
c810: 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75  )..# Rules to bu
c820: 69 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20 2a  ild individual *
c830: 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20 67  .lo files from g
c840: 65 6e 65 72 61 74 65 64 20 2a 2e 63 20 66 69 6c  enerated *.c fil
c850: 65 73 2e 20 54 68 69 73 0a 23 20 61 70 70 6c 69  es. This.# appli
c860: 65 73 20 74 6f 3a 0a 23 0a 23 20 20 20 20 20 70  es to:.#.#     p
c870: 61 72 73 65 2e 6c 6f 0a 23 20 20 20 20 20 6f 70  arse.lo.#     op
c880: 63 6f 64 65 73 2e 6c 6f 0a 23 0a 70 61 72 73 65  codes.lo.#.parse
c890: 2e 6c 6f 3a 09 70 61 72 73 65 2e 63 20 24 28 48  .lo:.parse.c $(H
c8a0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c8b0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c8c0: 5f 4f 50 54 53 29 20 2d 63 20 70 61 72 73 65 2e  _OPTS) -c parse.
c8d0: 63 0a 0a 6f 70 63 6f 64 65 73 2e 6c 6f 3a 09 6f  c..opcodes.lo:.o
c8e0: 70 63 6f 64 65 73 2e 63 0a 09 24 28 4c 54 43 4f  pcodes.c..$(LTCO
c8f0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c900: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 6f  MPILE_OPTS) -c o
c910: 70 63 6f 64 65 73 2e 63 0a 23 20 3c 3c 2f 6d 61  pcodes.c.# <</ma
c920: 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f 20  rk>>..# Rule to 
c930: 62 75 69 6c 64 20 74 68 65 20 57 69 6e 33 32 20  build the Win32 
c940: 72 65 73 6f 75 72 63 65 73 20 6f 62 6a 65 63 74  resources object
c950: 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55   file..#.!IF $(U
c960: 53 45 5f 52 43 29 21 3d 30 0a 23 20 3c 3c 62 6c  SE_RC)!=0.# <<bl
c970: 6f 63 6b 31 3e 3e 0a 24 28 4c 49 42 52 45 53 4f  ock1>>.$(LIBRESO
c980: 42 4a 53 29 3a 09 24 28 54 4f 50 29 5c 73 72 63  BJS):.$(TOP)\src
c990: 5c 73 71 6c 69 74 65 33 2e 72 63 20 24 28 53 51  \sqlite3.rc $(SQ
c9a0: 4c 49 54 45 33 48 29 20 24 28 54 4f 50 29 5c 56  LITE3H) $(TOP)\V
c9b0: 45 52 53 49 4f 4e 0a 09 65 63 68 6f 20 23 69 66  ERSION..echo #if
c9c0: 6e 64 65 66 20 53 51 4c 49 54 45 5f 52 45 53 4f  ndef SQLITE_RESO
c9d0: 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 3e 20 73  URCE_VERSION > s
c9e0: 71 6c 69 74 65 33 72 63 2e 68 0a 09 66 6f 72 20  qlite3rc.h..for 
c9f0: 2f 46 20 25 25 56 20 69 6e 20 28 27 74 79 70 65  /F %%V in ('type
ca00: 20 22 24 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e   "$(TOP)\VERSION
ca10: 22 27 29 20 64 6f 20 28 20 5c 0a 09 09 65 63 68  "') do ( \...ech
ca20: 6f 20 23 64 65 66 69 6e 65 20 53 51 4c 49 54 45  o #define SQLITE
ca30: 5f 52 45 53 4f 55 52 43 45 5f 56 45 52 53 49 4f  _RESOURCE_VERSIO
ca40: 4e 20 25 25 56 20 5c 0a 09 09 09 7c 20 24 28 54  N %%V \....| $(T
ca50: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
ca60: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
ca70: 6c 20 65 78 61 63 74 20 2e 20 5e 2c 20 3e 3e 20  l exact . ^, >> 
ca80: 73 71 6c 69 74 65 33 72 63 2e 68 20 5c 0a 09 29  sqlite3rc.h \..)
ca90: 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 20 3e 3e  ..echo #endif >>
caa0: 20 73 71 6c 69 74 65 33 72 63 2e 68 0a 09 24 28   sqlite3rc.h..$(
cab0: 4c 54 52 43 4f 4d 50 49 4c 45 29 20 2d 66 6f 20  LTRCOMPILE) -fo 
cac0: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28  $(LIBRESOBJS) $(
cad0: 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33  TOP)\src\sqlite3
cae0: 2e 72 63 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 31 3e  .rc.# <</block1>
caf0: 3e 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  >.!ENDIF..# <<ma
cb00: 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20  rk>>.# Rules to 
cb10: 62 75 69 6c 64 20 69 6e 64 69 76 69 64 75 61 6c  build individual
cb20: 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d   *.lo files from
cb30: 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 73 72   files in the sr
cb40: 63 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 61  c directory..#.a
cb50: 6c 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lter.lo:.$(TOP)\
cb60: 73 72 63 5c 61 6c 74 65 72 2e 63 20 24 28 48 44  src\alter.c $(HD
cb70: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
cb80: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
cb90: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
cba0: 73 72 63 5c 61 6c 74 65 72 2e 63 0a 0a 61 6e 61  src\alter.c..ana
cbb0: 6c 79 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lyze.lo:.$(TOP)\
cbc0: 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20 24 28  src\analyze.c $(
cbd0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
cbe0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
cbf0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
cc00: 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 0a  )\src\analyze.c.
cc10: 0a 61 74 74 61 63 68 2e 6c 6f 3a 09 24 28 54 4f  .attach.lo:.$(TO
cc20: 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 20  P)\src\attach.c 
cc30: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
cc40: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
cc50: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
cc60: 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63  OP)\src\attach.c
cc70: 0a 0a 61 75 74 68 2e 6c 6f 3a 09 24 28 54 4f 50  ..auth.lo:.$(TOP
cc80: 29 5c 73 72 63 5c 61 75 74 68 2e 63 20 24 28 48  )\src\auth.c $(H
cc90: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
cca0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
ccb0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
ccc0: 5c 73 72 63 5c 61 75 74 68 2e 63 0a 0a 62 61 63  \src\auth.c..bac
ccd0: 6b 75 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  kup.lo:.$(TOP)\s
cce0: 72 63 5c 62 61 63 6b 75 70 2e 63 20 24 28 48 44  rc\backup.c $(HD
ccf0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
cd00: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
cd10: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
cd20: 73 72 63 5c 62 61 63 6b 75 70 2e 63 0a 0a 62 69  src\backup.c..bi
cd30: 74 76 65 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  tvec.lo:.$(TOP)\
cd40: 73 72 63 5c 62 69 74 76 65 63 2e 63 20 24 28 48  src\bitvec.c $(H
cd50: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
cd60: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
cd70: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
cd80: 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 0a 0a 62  \src\bitvec.c..b
cd90: 74 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f 50  tmutex.lo:.$(TOP
cda0: 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 20  )\src\btmutex.c 
cdb0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
cdc0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
cdd0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
cde0: 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e  OP)\src\btmutex.
cdf0: 63 0a 0a 62 74 72 65 65 2e 6c 6f 3a 09 24 28 54  c..btree.lo:.$(T
ce00: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 20  OP)\src\btree.c 
ce10: 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72  $(HDR) $(TOP)\sr
ce20: 63 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c 54 43  c\pager.h..$(LTC
ce30: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
ce40: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
ce50: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree
ce60: 2e 63 0a 0a 62 75 69 6c 64 2e 6c 6f 3a 09 24 28  .c..build.lo:.$(
ce70: 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63  TOP)\src\build.c
ce80: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
ce90: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
cea0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
ceb0: 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63  TOP)\src\build.c
cec0: 0a 0a 63 61 6c 6c 62 61 63 6b 2e 6c 6f 3a 09 24  ..callback.lo:.$
ced0: 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61  (TOP)\src\callba
cee0: 63 6b 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ck.c $(HDR)..$(L
cef0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
cf00: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
cf10: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c  c $(TOP)\src\cal
cf20: 6c 62 61 63 6b 2e 63 0a 0a 63 6f 6d 70 6c 65 74  lback.c..complet
cf30: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
cf40: 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 24 28 48 44  \complete.c $(HD
cf50: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
cf60: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
cf70: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
cf80: 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 0a 0a  src\complete.c..
cf90: 63 74 69 6d 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  ctime.lo:.$(TOP)
cfa0: 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20 24 28 48  \src\ctime.c $(H
cfb0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
cfc0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
cfd0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
cfe0: 5c 73 72 63 5c 63 74 69 6d 65 2e 63 0a 0a 64 61  \src\ctime.c..da
cff0: 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  te.lo:.$(TOP)\sr
d000: 63 5c 64 61 74 65 2e 63 20 24 28 48 44 52 29 0a  c\date.c $(HDR).
d010: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d020: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d030: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d040: 5c 64 61 74 65 2e 63 0a 0a 64 62 70 61 67 65 2e  \date.c..dbpage.
d050: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64  lo:.$(TOP)\src\d
d060: 62 70 61 67 65 2e 63 20 24 28 48 44 52 29 0a 09  bpage.c $(HDR)..
d070: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d080: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d090: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d0a0: 64 62 70 61 67 65 2e 63 0a 0a 64 62 73 74 61 74  dbpage.c..dbstat
d0b0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d0c0: 64 62 73 74 61 74 2e 63 20 24 28 48 44 52 29 0a  dbstat.c $(HDR).
d0d0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d0e0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d0f0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d100: 5c 64 62 73 74 61 74 2e 63 0a 0a 64 65 6c 65 74  \dbstat.c..delet
d110: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
d120: 5c 64 65 6c 65 74 65 2e 63 20 24 28 48 44 52 29  \delete.c $(HDR)
d130: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d140: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d150: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d160: 63 5c 64 65 6c 65 74 65 2e 63 0a 0a 65 78 70 72  c\delete.c..expr
d170: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d180: 65 78 70 72 2e 63 20 24 28 48 44 52 29 0a 09 24  expr.c $(HDR)..$
d190: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d1a0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d1b0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 65   -c $(TOP)\src\e
d1c0: 78 70 72 2e 63 0a 0a 66 61 75 6c 74 2e 6c 6f 3a  xpr.c..fault.lo:
d1d0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c  .$(TOP)\src\faul
d1e0: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  t.c $(HDR)..$(LT
d1f0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d200: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d210: 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c   $(TOP)\src\faul
d220: 74 2e 63 0a 0a 66 6b 65 79 2e 6c 6f 3a 09 24 28  t.c..fkey.lo:.$(
d230: 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20  TOP)\src\fkey.c 
d240: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d250: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d260: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d270: 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 0a 0a  OP)\src\fkey.c..
d280: 66 75 6e 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  func.lo:.$(TOP)\
d290: 73 72 63 5c 66 75 6e 63 2e 63 20 24 28 48 44 52  src\func.c $(HDR
d2a0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
d2b0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
d2c0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
d2d0: 72 63 5c 66 75 6e 63 2e 63 0a 0a 67 6c 6f 62 61  rc\func.c..globa
d2e0: 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  l.lo:.$(TOP)\src
d2f0: 5c 67 6c 6f 62 61 6c 2e 63 20 24 28 48 44 52 29  \global.c $(HDR)
d300: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d310: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d320: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d330: 63 5c 67 6c 6f 62 61 6c 2e 63 0a 0a 68 61 73 68  c\global.c..hash
d340: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d350: 68 61 73 68 2e 63 20 24 28 48 44 52 29 0a 09 24  hash.c $(HDR)..$
d360: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d370: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d380: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 68   -c $(TOP)\src\h
d390: 61 73 68 2e 63 0a 0a 69 6e 73 65 72 74 2e 6c 6f  ash.c..insert.lo
d3a0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73  :.$(TOP)\src\ins
d3b0: 65 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ert.c $(HDR)..$(
d3c0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d3d0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d3e0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e  -c $(TOP)\src\in
d3f0: 73 65 72 74 2e 63 0a 0a 6c 65 67 61 63 79 2e 6c  sert.c..legacy.l
d400: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65  o:.$(TOP)\src\le
d410: 67 61 63 79 2e 63 20 24 28 48 44 52 29 0a 09 24  gacy.c $(HDR)..$
d420: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d430: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d440: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c   -c $(TOP)\src\l
d450: 65 67 61 63 79 2e 63 0a 0a 6c 6f 61 64 65 78 74  egacy.c..loadext
d460: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d470: 6c 6f 61 64 65 78 74 2e 63 20 24 28 48 44 52 29  loadext.c $(HDR)
d480: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d490: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d4a0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d4b0: 63 5c 6c 6f 61 64 65 78 74 2e 63 0a 0a 6d 61 69  c\loadext.c..mai
d4c0: 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  n.lo:.$(TOP)\src
d4d0: 5c 6d 61 69 6e 2e 63 20 24 28 48 44 52 29 0a 09  \main.c $(HDR)..
d4e0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d4f0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d500: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d510: 6d 61 69 6e 2e 63 0a 0a 6d 61 6c 6c 6f 63 2e 6c  main.c..malloc.l
d520: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61  o:.$(TOP)\src\ma
d530: 6c 6c 6f 63 2e 63 20 24 28 48 44 52 29 0a 09 24  lloc.c $(HDR)..$
d540: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d550: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d560: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
d570: 61 6c 6c 6f 63 2e 63 0a 0a 6d 65 6d 30 2e 6c 6f  alloc.c..mem0.lo
d580: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  :.$(TOP)\src\mem
d590: 30 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  0.c $(HDR)..$(LT
d5a0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d5b0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d5c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30   $(TOP)\src\mem0
d5d0: 2e 63 0a 0a 6d 65 6d 31 2e 6c 6f 3a 09 24 28 54  .c..mem1.lo:.$(T
d5e0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 24  OP)\src\mem1.c $
d5f0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d600: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d610: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d620: 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 0a 0a 6d  P)\src\mem1.c..m
d630: 65 6d 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  em2.lo:.$(TOP)\s
d640: 72 63 5c 6d 65 6d 32 2e 63 20 24 28 48 44 52 29  rc\mem2.c $(HDR)
d650: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d660: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d670: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d680: 63 5c 6d 65 6d 32 2e 63 0a 0a 6d 65 6d 33 2e 6c  c\mem2.c..mem3.l
d690: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  o:.$(TOP)\src\me
d6a0: 6d 33 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  m3.c $(HDR)..$(L
d6b0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d6c0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d6d0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  c $(TOP)\src\mem
d6e0: 33 2e 63 0a 0a 6d 65 6d 35 2e 6c 6f 3a 09 24 28  3.c..mem5.lo:.$(
d6f0: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20  TOP)\src\mem5.c 
d700: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d710: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d720: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d730: 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 0a 0a  OP)\src\mem5.c..
d740: 6d 65 6d 64 62 2e 6c 6f 3a 09 24 28 54 4f 50 29  memdb.lo:.$(TOP)
d750: 5c 73 72 63 5c 6d 65 6d 64 62 2e 63 20 24 28 48  \src\memdb.c $(H
d760: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d770: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d780: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d790: 5c 73 72 63 5c 6d 65 6d 64 62 2e 63 0a 0a 6d 65  \src\memdb.c..me
d7a0: 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 3a 09 24 28 54  mjournal.lo:.$(T
d7b0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e  OP)\src\memjourn
d7c0: 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  al.c $(HDR)..$(L
d7d0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d7e0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d7f0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  c $(TOP)\src\mem
d800: 6a 6f 75 72 6e 61 6c 2e 63 0a 0a 6d 75 74 65 78  journal.c..mutex
d810: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d820: 6d 75 74 65 78 2e 63 20 24 28 48 44 52 29 0a 09  mutex.c $(HDR)..
d830: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d840: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d850: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d860: 6d 75 74 65 78 2e 63 0a 0a 6d 75 74 65 78 5f 6e  mutex.c..mutex_n
d870: 6f 6f 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  oop.lo:.$(TOP)\s
d880: 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20  rc\mutex_noop.c 
d890: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d8a0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d8b0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d8c0: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f  OP)\src\mutex_no
d8d0: 6f 70 2e 63 0a 0a 6d 75 74 65 78 5f 75 6e 69 78  op.c..mutex_unix
d8e0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d8f0: 6d 75 74 65 78 5f 75 6e 69 78 2e 63 20 24 28 48  mutex_unix.c $(H
d900: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d910: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d920: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d930: 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e  \src\mutex_unix.
d940: 63 0a 0a 6d 75 74 65 78 5f 77 33 32 2e 6c 6f 3a  c..mutex_w32.lo:
d950: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65  .$(TOP)\src\mute
d960: 78 5f 77 33 32 2e 63 20 24 28 48 44 52 29 0a 09  x_w32.c $(HDR)..
d970: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d980: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d990: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d9a0: 6d 75 74 65 78 5f 77 33 32 2e 63 0a 0a 6e 6f 74  mutex_w32.c..not
d9b0: 69 66 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ify.lo:.$(TOP)\s
d9c0: 72 63 5c 6e 6f 74 69 66 79 2e 63 20 24 28 48 44  rc\notify.c $(HD
d9d0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d9e0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d9f0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
da00: 73 72 63 5c 6e 6f 74 69 66 79 2e 63 0a 0a 70 61  src\notify.c..pa
da10: 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ger.lo:.$(TOP)\s
da20: 72 63 5c 70 61 67 65 72 2e 63 20 24 28 48 44 52  rc\pager.c $(HDR
da30: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67  ) $(TOP)\src\pag
da40: 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  er.h..$(LTCOMPIL
da50: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
da60: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
da70: 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 0a 0a 70  )\src\pager.c..p
da80: 63 61 63 68 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  cache.lo:.$(TOP)
da90: 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 20 24 28  \src\pcache.c $(
daa0: 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c  HDR) $(TOP)\src\
dab0: 70 63 61 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f  pcache.h..$(LTCO
dac0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
dad0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
dae0: 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65  (TOP)\src\pcache
daf0: 2e 63 0a 0a 70 63 61 63 68 65 31 2e 6c 6f 3a 09  .c..pcache1.lo:.
db00: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach
db10: 65 31 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f  e1.c $(HDR) $(TO
db20: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 0a  P)\src\pcache.h.
db30: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
db40: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
db50: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
db60: 5c 70 63 61 63 68 65 31 2e 63 0a 0a 6f 73 2e 6c  \pcache1.c..os.l
db70: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  o:.$(TOP)\src\os
db80: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
db90: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
dba0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
dbb0: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 0a  $(TOP)\src\os.c.
dbc0: 0a 6f 73 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54  .os_unix.lo:.$(T
dbd0: 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e  OP)\src\os_unix.
dbe0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
dbf0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
dc00: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
dc10: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69  (TOP)\src\os_uni
dc20: 78 2e 63 0a 0a 6f 73 5f 77 69 6e 2e 6c 6f 3a 09  x.c..os_win.lo:.
dc30: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69  $(TOP)\src\os_wi
dc40: 6e 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  n.c $(HDR)..$(LT
dc50: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
dc60: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
dc70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77   $(TOP)\src\os_w
dc80: 69 6e 2e 63 0a 0a 70 72 61 67 6d 61 2e 6c 6f 3a  in.c..pragma.lo:
dc90: 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67  .$(TOP)\src\prag
dca0: 6d 61 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ma.c $(HDR)..$(L
dcb0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
dcc0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
dcd0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61  c $(TOP)\src\pra
dce0: 67 6d 61 2e 63 0a 0a 70 72 65 70 61 72 65 2e 6c  gma.c..prepare.l
dcf0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  o:.$(TOP)\src\pr
dd00: 65 70 61 72 65 2e 63 20 24 28 48 44 52 29 0a 09  epare.c $(HDR)..
dd10: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
dd20: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
dd30: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
dd40: 70 72 65 70 61 72 65 2e 63 0a 0a 70 72 69 6e 74  prepare.c..print
dd50: 66 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  f.lo:.$(TOP)\src
dd60: 5c 70 72 69 6e 74 66 2e 63 20 24 28 48 44 52 29  \printf.c $(HDR)
dd70: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
dd80: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
dd90: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
dda0: 63 5c 70 72 69 6e 74 66 2e 63 0a 0a 72 61 6e 64  c\printf.c..rand
ddb0: 6f 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  om.lo:.$(TOP)\sr
ddc0: 63 5c 72 61 6e 64 6f 6d 2e 63 20 24 28 48 44 52  c\random.c $(HDR
ddd0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
dde0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
ddf0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
de00: 72 63 5c 72 61 6e 64 6f 6d 2e 63 0a 0a 72 65 73  rc\random.c..res
de10: 6f 6c 76 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  olve.lo:.$(TOP)\
de20: 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 20 24 28  src\resolve.c $(
de30: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
de40: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
de50: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
de60: 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 0a  )\src\resolve.c.
de70: 0a 72 6f 77 73 65 74 2e 6c 6f 3a 09 24 28 54 4f  .rowset.lo:.$(TO
de80: 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20  P)\src\rowset.c 
de90: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
dea0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
deb0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
dec0: 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63  OP)\src\rowset.c
ded0: 0a 0a 73 65 6c 65 63 74 2e 6c 6f 3a 09 24 28 54  ..select.lo:.$(T
dee0: 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63  OP)\src\select.c
def0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
df00: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
df10: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
df20: 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e  TOP)\src\select.
df30: 63 0a 0a 73 74 61 74 75 73 2e 6c 6f 3a 09 24 28  c..status.lo:.$(
df40: 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e  TOP)\src\status.
df50: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
df60: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
df70: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
df80: 28 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73  (TOP)\src\status
df90: 2e 63 0a 0a 74 61 62 6c 65 2e 6c 6f 3a 09 24 28  .c..table.lo:.$(
dfa0: 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63  TOP)\src\table.c
dfb0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
dfc0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
dfd0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
dfe0: 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63  TOP)\src\table.c
dff0: 0a 0a 74 68 72 65 61 64 73 2e 6c 6f 3a 09 24 28  ..threads.lo:.$(
e000: 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73  TOP)\src\threads
e010: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
e020: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
e030: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
e040: 24 28 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61  $(TOP)\src\threa
e050: 64 73 2e 63 0a 0a 74 6f 6b 65 6e 69 7a 65 2e 6c  ds.c..tokenize.l
e060: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f  o:.$(TOP)\src\to
e070: 6b 65 6e 69 7a 65 2e 63 20 6b 65 79 77 6f 72 64  kenize.c keyword
e080: 68 61 73 68 2e 68 20 24 28 48 44 52 29 0a 09 24  hash.h $(HDR)..$
e090: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
e0a0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
e0b0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74   -c $(TOP)\src\t
e0c0: 6f 6b 65 6e 69 7a 65 2e 63 0a 0a 74 72 65 65 76  okenize.c..treev
e0d0: 69 65 77 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  iew.lo:.$(TOP)\s
e0e0: 72 63 5c 74 72 65 65 76 69 65 77 2e 63 20 24 28  rc\treeview.c $(
e0f0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
e100: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
e110: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
e120: 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63  )\src\treeview.c
e130: 0a 0a 74 72 69 67 67 65 72 2e 6c 6f 3a 09 24 28  ..trigger.lo:.$(
e140: 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72  TOP)\src\trigger
e150: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
e160: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
e170: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
e180: 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67  $(TOP)\src\trigg
e190: 65 72 2e 63 0a 0a 75 70 64 61 74 65 2e 6c 6f 3a  er.c..update.lo:
e1a0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61  .$(TOP)\src\upda
e1b0: 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  te.c $(HDR)..$(L
e1c0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
e1d0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
e1e0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64  c $(TOP)\src\upd
e1f0: 61 74 65 2e 63 0a 0a 75 70 73 65 72 74 2e 6c 6f  ate.c..upsert.lo
e200: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 73  :.$(TOP)\src\ups
e210: 65 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ert.c $(HDR)..$(
e220: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
e230: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
e240: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70  -c $(TOP)\src\up
e250: 73 65 72 74 2e 63 0a 0a 75 74 66 2e 6c 6f 3a 09  sert.c..utf.lo:.
e260: 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63  $(TOP)\src\utf.c
e270: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
e280: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
e290: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
e2a0: 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 0a 0a  TOP)\src\utf.c..
e2b0: 75 74 69 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  util.lo:.$(TOP)\
e2c0: 73 72 63 5c 75 74 69 6c 2e 63 20 24 28 48 44 52  src\util.c $(HDR
e2d0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
e2e0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
e2f0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
e300: 72 63 5c 75 74 69 6c 2e 63 0a 0a 76 61 63 75 75  rc\util.c..vacuu
e310: 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  m.lo:.$(TOP)\src
e320: 5c 76 61 63 75 75 6d 2e 63 20 24 28 48 44 52 29  \vacuum.c $(HDR)
e330: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
e340: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
e350: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
e360: 63 5c 76 61 63 75 75 6d 2e 63 0a 0a 76 64 62 65  c\vacuum.c..vdbe
e370: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
e380: 76 64 62 65 2e 63 20 24 28 48 44 52 29 0a 09 24  vdbe.c $(HDR)..$
e390: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
e3a0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
e3b0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v
e3c0: 64 62 65 2e 63 0a 0a 76 64 62 65 61 70 69 2e 6c  dbe.c..vdbeapi.l
e3d0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  o:.$(TOP)\src\vd
e3e0: 62 65 61 70 69 2e 63 20 24 28 48 44 52 29 0a 09  beapi.c $(HDR)..
e3f0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
e400: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
e410: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
e420: 76 64 62 65 61 70 69 2e 63 0a 0a 76 64 62 65 61  vdbeapi.c..vdbea
e430: 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ux.lo:.$(TOP)\sr
e440: 63 5c 76 64 62 65 61 75 78 2e 63 20 24 28 48 44  c\vdbeaux.c $(HD
e450: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e460: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
e470: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
e480: 73 72 63 5c 76 64 62 65 61 75 78 2e 63 0a 0a 76  src\vdbeaux.c..v
e490: 64 62 65 62 6c 6f 62 2e 6c 6f 3a 09 24 28 54 4f  dbeblob.lo:.$(TO
e4a0: 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e  P)\src\vdbeblob.
e4b0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
e4c0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
e4d0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
e4e0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62 6c  (TOP)\src\vdbebl
e4f0: 6f 62 2e 63 0a 0a 76 64 62 65 6d 65 6d 2e 6c 6f  ob.c..vdbemem.lo
e500: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  :.$(TOP)\src\vdb
e510: 65 6d 65 6d 2e 63 20 24 28 48 44 52 29 0a 09 24  emem.c $(HDR)..$
e520: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
e530: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
e540: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v
e550: 64 62 65 6d 65 6d 2e 63 0a 0a 76 64 62 65 73 6f  dbemem.c..vdbeso
e560: 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  rt.lo:.$(TOP)\sr
e570: 63 5c 76 64 62 65 73 6f 72 74 2e 63 20 24 28 48  c\vdbesort.c $(H
e580: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
e590: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
e5a0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
e5b0: 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 0a  \src\vdbesort.c.
e5c0: 0a 76 64 62 65 74 72 61 63 65 2e 6c 6f 3a 09 24  .vdbetrace.lo:.$
e5d0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72  (TOP)\src\vdbetr
e5e0: 61 63 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ace.c $(HDR)..$(
e5f0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
e600: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
e610: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  -c $(TOP)\src\vd
e620: 62 65 74 72 61 63 65 2e 63 0a 0a 76 74 61 62 2e  betrace.c..vtab.
e630: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76  lo:.$(TOP)\src\v
e640: 74 61 62 2e 63 20 24 28 48 44 52 29 0a 09 24 28  tab.c $(HDR)..$(
e650: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
e660: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
e670: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 74  -c $(TOP)\src\vt
e680: 61 62 2e 63 0a 0a 77 61 6c 2e 6c 6f 3a 09 24 28  ab.c..wal.lo:.$(
e690: 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20 24  TOP)\src\wal.c $
e6a0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
e6b0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
e6c0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
e6d0: 50 29 5c 73 72 63 5c 77 61 6c 2e 63 0a 0a 77 61  P)\src\wal.c..wa
e6e0: 6c 6b 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lker.lo:.$(TOP)\
e6f0: 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20 24 28 48  src\walker.c $(H
e700: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
e710: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
e720: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
e730: 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 0a 0a 77  \src\walker.c..w
e740: 68 65 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  here.lo:.$(TOP)\
e750: 73 72 63 5c 77 68 65 72 65 2e 63 20 24 28 48 44  src\where.c $(HD
e760: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e770: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
e780: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
e790: 73 72 63 5c 77 68 65 72 65 2e 63 0a 0a 77 68 65  src\where.c..whe
e7a0: 72 65 63 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50  recode.lo:.$(TOP
e7b0: 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e  )\src\wherecode.
e7c0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
e7d0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
e7e0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
e7f0: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 63  (TOP)\src\wherec
e800: 6f 64 65 2e 63 0a 0a 77 68 65 72 65 65 78 70 72  ode.c..whereexpr
e810: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
e820: 77 68 65 72 65 65 78 70 72 2e 63 20 24 28 48 44  whereexpr.c $(HD
e830: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e840: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
e850: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
e860: 73 72 63 5c 77 68 65 72 65 65 78 70 72 2e 63 0a  src\whereexpr.c.
e870: 0a 77 69 6e 64 6f 77 2e 6c 6f 3a 09 24 28 54 4f  .window.lo:.$(TO
e880: 50 29 5c 73 72 63 5c 77 69 6e 64 6f 77 2e 63 20  P)\src\window.c 
e890: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
e8a0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
e8b0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
e8c0: 4f 50 29 5c 73 72 63 5c 77 69 6e 64 6f 77 2e 63  OP)\src\window.c
e8d0: 0a 0a 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 3a 09  ..tclsqlite.lo:.
e8e0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71  $(TOP)\src\tclsq
e8f0: 6c 69 74 65 2e 63 20 24 28 48 44 52 29 20 24 28  lite.c $(HDR) $(
e900: 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a  SQLITE_TCL_DEP).
e910: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
e920: 4e 4f 5f 57 41 52 4e 29 20 2d 44 55 53 45 5f 54  NO_WARN) -DUSE_T
e930: 43 4c 5f 53 54 55 42 53 3d 31 20 2d 44 42 55 49  CL_STUBS=1 -DBUI
e940: 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43  LD_sqlite -I$(TC
e950: 4c 49 4e 43 44 49 52 29 20 2d 63 20 24 28 54 4f  LINCDIR) -c $(TO
e960: 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65  P)\src\tclsqlite
e970: 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2d 73 68  .c..tclsqlite-sh
e980: 65 6c 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ell.lo:.$(TOP)\s
e990: 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24  rc\tclsqlite.c $
e9a0: 28 48 44 52 29 20 24 28 53 51 4c 49 54 45 5f 54  (HDR) $(SQLITE_T
e9b0: 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 43 4f 4d  CL_DEP)..$(LTCOM
e9c0: 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29  PILE) $(NO_WARN)
e9d0: 20 2d 44 54 43 4c 53 48 20 2d 44 42 55 49 4c 44   -DTCLSH -DBUILD
e9e0: 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49  _sqlite -I$(TCLI
e9f0: 4e 43 44 49 52 29 20 2d 63 20 24 28 54 4f 50 29  NCDIR) -c $(TOP)
ea00: 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63  \src\tclsqlite.c
ea10: 0a 0a 74 63 6c 73 71 6c 69 74 65 33 2e 65 78 65  ..tclsqlite3.exe
ea20: 3a 09 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c  :.tclsqlite-shel
ea30: 6c 2e 6c 6f 20 24 28 53 51 4c 49 54 45 33 43 29  l.lo $(SQLITE3C)
ea40: 20 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 4c   $(SQLITE3H) $(L
ea50: 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54  IBRESOBJS)..$(LT
ea60: 4c 49 4e 4b 29 20 24 28 53 51 4c 49 54 45 33 43  LINK) $(SQLITE3C
ea70: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
ea80: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
ea90: 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20   $(TCLLIBPATHS) 
eaa0: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f  $(LTLIBPATHS) /O
eab0: 55 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2d  UT:$@ tclsqlite-
eac0: 73 68 65 6c 6c 2e 6c 6f 20 24 28 4c 49 42 52 45  shell.lo $(LIBRE
ead0: 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53  SOBJS) $(TCLLIBS
eae0: 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c  ) $(LTLIBS) $(TL
eaf0: 49 42 53 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f  IBS)..# Rules to
eb00: 20 62 75 69 6c 64 20 6f 70 63 6f 64 65 73 2e 63   build opcodes.c
eb10: 20 61 6e 64 20 6f 70 63 6f 64 65 73 2e 68 0a 23   and opcodes.h.#
eb20: 0a 6f 70 63 6f 64 65 73 2e 63 3a 09 6f 70 63 6f  .opcodes.c:.opco
eb30: 64 65 73 2e 68 20 24 28 54 4f 50 29 5c 74 6f 6f  des.h $(TOP)\too
eb40: 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 6c 0a  l\mkopcodec.tcl.
eb50: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD) $(
eb60: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f  TOP)\tool\mkopco
eb70: 64 65 63 2e 74 63 6c 20 6f 70 63 6f 64 65 73 2e  dec.tcl opcodes.
eb80: 68 20 3e 20 6f 70 63 6f 64 65 73 2e 63 0a 0a 6f  h > opcodes.c..o
eb90: 70 63 6f 64 65 73 2e 68 3a 09 70 61 72 73 65 2e  pcodes.h:.parse.
eba0: 68 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  h $(TOP)\src\vdb
ebb0: 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  e.c $(TOP)\tool\
ebc0: 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 0a 09 74  mkopcodeh.tcl..t
ebd0: 79 70 65 20 70 61 72 73 65 2e 68 20 24 28 54 4f  ype parse.h $(TO
ebe0: 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 7c 20  P)\src\vdbe.c | 
ebf0: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
ec00: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64  OP)\tool\mkopcod
ec10: 65 68 2e 74 63 6c 20 3e 20 6f 70 63 6f 64 65 73  eh.tcl > opcodes
ec20: 2e 68 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62  .h..# Rules to b
ec30: 75 69 6c 64 20 70 61 72 73 65 2e 63 20 61 6e 64  uild parse.c and
ec40: 20 70 61 72 73 65 2e 68 20 2d 20 74 68 65 20 6f   parse.h - the o
ec50: 75 74 70 75 74 73 20 6f 66 20 6c 65 6d 6f 6e 2e  utputs of lemon.
ec60: 0a 23 0a 70 61 72 73 65 2e 68 3a 09 70 61 72 73  .#.parse.h:.pars
ec70: 65 2e 63 0a 0a 70 61 72 73 65 2e 63 3a 09 24 28  e.c..parse.c:.$(
ec80: 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e 79  TOP)\src\parse.y
ec90: 20 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 54 4f 50   lemon.exe $(TOP
eca0: 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 65  )\tool\addopcode
ecb0: 73 2e 74 63 6c 0a 09 64 65 6c 20 2f 51 20 70 61  s.tcl..del /Q pa
ecc0: 72 73 65 2e 79 20 70 61 72 73 65 2e 68 20 70 61  rse.y parse.h pa
ecd0: 72 73 65 2e 68 2e 74 65 6d 70 20 32 3e 4e 55 4c  rse.h.temp 2>NUL
ece0: 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 73 72  ..copy $(TOP)\sr
ecf0: 63 5c 70 61 72 73 65 2e 79 20 2e 0a 09 2e 5c 6c  c\parse.y ....\l
ed00: 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f 46  emon.exe $(REQ_F
ed10: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  EATURE_FLAGS) $(
ed20: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
ed30: 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45  S) $(EXT_FEATURE
ed40: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20  _FLAGS) $(OPTS) 
ed50: 70 61 72 73 65 2e 79 0a 09 6d 6f 76 65 20 70 61  parse.y..move pa
ed60: 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e 74 65  rse.h parse.h.te
ed70: 6d 70 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  mp..$(TCLSH_CMD)
ed80: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64   $(TOP)\tool\add
ed90: 6f 70 63 6f 64 65 73 2e 74 63 6c 20 70 61 72 73  opcodes.tcl pars
eda0: 65 2e 68 2e 74 65 6d 70 20 3e 20 70 61 72 73 65  e.h.temp > parse
edb0: 2e 68 0a 0a 24 28 53 51 4c 49 54 45 33 48 29 3a  .h..$(SQLITE3H):
edc0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69  .$(TOP)\src\sqli
edd0: 74 65 2e 68 2e 69 6e 20 24 28 54 4f 50 29 5c 6d  te.h.in $(TOP)\m
ede0: 61 6e 69 66 65 73 74 20 6d 6b 73 6f 75 72 63 65  anifest mksource
edf0: 69 64 2e 65 78 65 20 24 28 54 4f 50 29 5c 56 45  id.exe $(TOP)\VE
ee00: 52 53 49 4f 4e 0a 09 24 28 54 43 4c 53 48 5f 43  RSION..$(TCLSH_C
ee10: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
ee20: 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 24  mksqlite3h.tcl $
ee30: 28 54 4f 50 3a 5c 3d 2f 29 20 3e 20 24 28 53 51  (TOP:\=/) > $(SQ
ee40: 4c 49 54 45 33 48 29 20 24 28 4d 4b 53 51 4c 49  LITE3H) $(MKSQLI
ee50: 54 45 33 48 5f 41 52 47 53 29 0a 0a 73 71 6c 69  TE3H_ARGS)..sqli
ee60: 74 65 33 65 78 74 2e 68 3a 09 2e 74 61 72 67 65  te3ext.h:..targe
ee70: 74 5f 73 6f 75 72 63 65 0a 21 49 46 20 24 28 55  t_source.!IF $(U
ee80: 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c  SE_STDCALL)!=0 |
ee90: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
eea0: 30 0a 09 74 79 70 65 20 74 73 72 63 5c 73 71 6c  0..type tsrc\sql
eeb0: 69 74 65 33 65 78 74 2e 68 20 7c 20 24 28 54 43  ite3ext.h | $(TC
eec0: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
eed0: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
eee0: 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 5c 29 22   regsub "\(\*\)"
eef0: 20 22 28 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41   "(SQLITE_CALLBA
ef00: 43 4b 20 2a 29 22 20 5c 0a 09 09 7c 20 24 28 54  CK *)" \...| $(T
ef10: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
ef20: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
ef30: 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 22 20  l regsub "\(\*" 
ef40: 22 28 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c  "(SQLITE_APICALL
ef50: 20 2a 22 20 3e 20 73 71 6c 69 74 65 33 65 78 74   *" > sqlite3ext
ef60: 2e 68 0a 09 63 6f 70 79 20 2f 59 20 73 71 6c 69  .h..copy /Y sqli
ef70: 74 65 33 65 78 74 2e 68 20 74 73 72 63 5c 73 71  te3ext.h tsrc\sq
ef80: 6c 69 74 65 33 65 78 74 2e 68 0a 21 45 4c 53 45  lite3ext.h.!ELSE
ef90: 0a 09 63 6f 70 79 20 2f 59 20 74 73 72 63 5c 73  ..copy /Y tsrc\s
efa0: 71 6c 69 74 65 33 65 78 74 2e 68 20 73 71 6c 69  qlite3ext.h sqli
efb0: 74 65 33 65 78 74 2e 68 0a 21 45 4e 44 49 46 0a  te3ext.h.!ENDIF.
efc0: 0a 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65  .mkkeywordhash.e
efd0: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
efe0: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 0a  mkkeywordhash.c.
eff0: 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52  .$(BCC) $(NO_WAR
f000: 4e 29 20 2d 46 65 24 40 20 24 28 52 45 51 5f 46  N) -Fe$@ $(REQ_F
f010: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  EATURE_FLAGS) $(
f020: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
f030: 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45  S) $(EXT_FEATURE
f040: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20  _FLAGS) $(OPTS) 
f050: 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  \...$(TOP)\tool\
f060: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 20  mkkeywordhash.c 
f070: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
f080: 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20   $(NLTLINKOPTS) 
f090: 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a  $(NLTLIBPATHS)..
f0a0: 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 3a 09 24  keywordhash.h:.$
f0b0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79  (TOP)\tool\mkkey
f0c0: 77 6f 72 64 68 61 73 68 2e 63 20 6d 6b 6b 65 79  wordhash.c mkkey
f0d0: 77 6f 72 64 68 61 73 68 2e 65 78 65 0a 09 2e 5c  wordhash.exe...\
f0e0: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78  mkkeywordhash.ex
f0f0: 65 20 3e 20 6b 65 79 77 6f 72 64 68 61 73 68 2e  e > keywordhash.
f100: 68 0a 0a 23 20 53 6f 75 72 63 65 20 66 69 6c 65  h..# Source file
f110: 73 20 74 68 61 74 20 67 6f 20 69 6e 74 6f 20 6d  s that go into m
f120: 61 6b 69 6e 67 20 73 68 65 6c 6c 2e 63 0a 53 48  aking shell.c.SH
f130: 45 4c 4c 5f 53 52 43 20 3d 20 5c 0a 09 24 28 54  ELL_SRC = \..$(T
f140: 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63 2e  OP)\src\shell.c.
f150: 69 6e 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74  in \..$(TOP)\ext
f160: 5c 6d 69 73 63 5c 61 70 70 65 6e 64 76 66 73 2e  \misc\appendvfs.
f170: 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c  c \..$(TOP)\ext\
f180: 6d 69 73 63 5c 73 68 61 74 68 72 65 65 2e 63 20  misc\shathree.c 
f190: 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  \..$(TOP)\ext\mi
f1a0: 73 63 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a 09 24  sc\fileio.c \..$
f1b0: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63  (TOP)\ext\misc\c
f1c0: 6f 6d 70 6c 65 74 69 6f 6e 2e 63 20 5c 0a 09 24  ompletion.c \..$
f1d0: 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74  (TOP)\ext\expert
f1e0: 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 63  \sqlite3expert.c
f1f0: 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 65   \..$(TOP)\ext\e
f200: 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70  xpert\sqlite3exp
f210: 65 72 74 2e 68 20 5c 0a 09 24 28 54 4f 50 29 5c  ert.h \..$(TOP)\
f220: 65 78 74 5c 6d 69 73 63 5c 6d 65 6d 74 72 61 63  ext\misc\memtrac
f230: 65 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 73 72  e.c \..$(TOP)\sr
f240: 63 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 6e 74  c\test_windirent
f250: 2e 63 0a 0a 23 20 49 66 20 75 73 65 20 6f 66 20  .c..# If use of 
f260: 7a 6c 69 62 20 69 73 20 65 6e 61 62 6c 65 64 2c  zlib is enabled,
f270: 20 61 64 64 20 74 68 65 20 22 7a 69 70 66 69 6c   add the "zipfil
f280: 65 2e 63 22 20 73 6f 75 72 63 65 20 66 69 6c 65  e.c" source file
f290: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c  ..#.!IF $(USE_ZL
f2a0: 49 42 29 21 3d 30 0a 53 48 45 4c 4c 5f 53 52 43  IB)!=0.SHELL_SRC
f2b0: 20 3d 20 24 28 53 48 45 4c 4c 5f 53 52 43 29 20   = $(SHELL_SRC) 
f2c0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
f2d0: 73 71 6c 61 72 2e 63 0a 53 48 45 4c 4c 5f 53 52  sqlar.c.SHELL_SR
f2e0: 43 20 3d 20 24 28 53 48 45 4c 4c 5f 53 52 43 29  C = $(SHELL_SRC)
f2f0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
f300: 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e 44 49  \zipfile.c.!ENDI
f310: 46 0a 0a 73 68 65 6c 6c 2e 63 3a 09 24 28 53 48  F..shell.c:.$(SH
f320: 45 4c 4c 5f 53 52 43 29 20 24 28 54 4f 50 29 5c  ELL_SRC) $(TOP)\
f330: 74 6f 6f 6c 5c 6d 6b 73 68 65 6c 6c 63 2e 74 63  tool\mkshellc.tc
f340: 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  l..$(TCLSH_CMD) 
f350: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 68  $(TOP)\tool\mksh
f360: 65 6c 6c 63 2e 74 63 6c 20 3e 20 73 68 65 6c 6c  ellc.tcl > shell
f370: 2e 63 0a 0a 7a 6c 69 62 3a 0a 09 70 75 73 68 64  .c..zlib:..pushd
f380: 20 24 28 5a 4c 49 42 44 49 52 29 20 26 26 20 24   $(ZLIBDIR) && $
f390: 28 4d 41 4b 45 29 20 2f 66 20 77 69 6e 33 32 5c  (MAKE) /f win32\
f3a0: 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 63 6c 65  Makefile.msc cle
f3b0: 61 6e 20 24 28 5a 4c 49 42 4c 49 42 29 20 26 26  an $(ZLIBLIB) &&
f3c0: 20 70 6f 70 64 0a 0a 23 20 52 75 6c 65 73 20 74   popd..# Rules t
f3d0: 6f 20 62 75 69 6c 64 20 74 68 65 20 65 78 74 65  o build the exte
f3e0: 6e 73 69 6f 6e 20 6f 62 6a 65 63 74 73 2e 0a 23  nsion objects..#
f3f0: 0a 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  .icu.lo:.$(TOP)\
f400: 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 20 24 28  ext\icu\icu.c $(
f410: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
f420: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
f430: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
f440: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
f450: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
f460: 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63 75  TOP)\ext\icu\icu
f470: 2e 63 0a 0a 66 74 73 32 2e 6c 6f 3a 09 24 28 54  .c..fts2.lo:.$(T
f480: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
f490: 32 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  2.c $(HDR) $(EXT
f4a0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
f4b0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
f4c0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
f4d0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
f4e0: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
f4f0: 74 73 32 5c 66 74 73 32 2e 63 0a 0a 66 74 73 32  ts2\fts2.c..fts2
f500: 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29  _hash.lo:.$(TOP)
f510: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68  \ext\fts2\fts2_h
f520: 61 73 68 2e 63 20 24 28 48 44 52 29 20 24 28 45  ash.c $(HDR) $(E
f530: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
f540: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
f550: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
f560: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
f570: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
f580: 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e  \fts2\fts2_hash.
f590: 63 0a 0a 66 74 73 32 5f 69 63 75 2e 6c 6f 3a 09  c..fts2_icu.lo:.
f5a0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
f5b0: 66 74 73 32 5f 69 63 75 2e 63 20 24 28 48 44 52  fts2_icu.c $(HDR
f5c0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
f5d0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
f5e0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
f5f0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
f600: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
f610: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
f620: 69 63 75 2e 63 0a 0a 66 74 73 32 5f 70 6f 72 74  icu.c..fts2_port
f630: 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  er.lo:.$(TOP)\ex
f640: 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74  t\fts2\fts2_port
f650: 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  er.c $(HDR) $(EX
f660: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
f670: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
f680: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
f690: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
f6a0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
f6b0: 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74 65 72  fts2\fts2_porter
f6c0: 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e 69 7a  .c..fts2_tokeniz
f6d0: 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  er.lo:.$(TOP)\ex
f6e0: 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65  t\fts2\fts2_toke
f6f0: 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20 24  nizer.c $(HDR) $
f700: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
f710: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
f720: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
f730: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
f740: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
f750: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b  xt\fts2\fts2_tok
f760: 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 32 5f 74  enizer.c..fts2_t
f770: 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 28  okenizer1.lo:.$(
f780: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
f790: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20  s2_tokenizer1.c 
f7a0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
f7b0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
f7c0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
f7d0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
f7e0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
f7f0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
f800: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts2_tokenizer1.
f810: 63 0a 0a 66 74 73 33 2e 6c 6f 3a 09 24 28 54 4f  c..fts3.lo:.$(TO
f820: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
f830: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
f840: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
f850: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
f860: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
f870: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
f880: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
f890: 73 33 5c 66 74 73 33 2e 63 0a 0a 66 74 73 33 5f  s3\fts3.c..fts3_
f8a0: 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  aux.lo:.$(TOP)\e
f8b0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 78  xt\fts3\fts3_aux
f8c0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
f8d0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
f8e0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
f8f0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
f900: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
f910: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
f920: 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 0a 0a 66  s3\fts3_aux.c..f
f930: 74 73 33 5f 65 78 70 72 2e 6c 6f 3a 09 24 28 54  ts3_expr.lo:.$(T
f940: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f950: 33 5f 65 78 70 72 2e 63 20 24 28 48 44 52 29 20  3_expr.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 65 78  ext\fts3\fts3_ex
f9c0: 70 72 2e 63 0a 0a 66 74 73 33 5f 68 61 73 68 2e  pr.c..fts3_hash.
f9d0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
f9e0: 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 63 20  ts3\fts3_hash.c 
f9f0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
fa00: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
fa10: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
fa20: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
fa30: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
fa40: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
fa50: 66 74 73 33 5f 68 61 73 68 2e 63 0a 0a 66 74 73  fts3_hash.c..fts
fa60: 33 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29  3_icu.lo:.$(TOP)
fa70: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69  \ext\fts3\fts3_i
fa80: 63 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  cu.c $(HDR) $(EX
fa90: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
faa0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
fab0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
fac0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
fad0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
fae0: 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 0a  fts3\fts3_icu.c.
faf0: 0a 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f  .fts3_snippet.lo
fb00: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
fb10: 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63  3\fts3_snippet.c
fb20: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
fb30: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
fb40: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
fb50: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
fb60: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
fb70: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
fb80: 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 0a  \fts3_snippet.c.
fb90: 0a 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f 3a  .fts3_porter.lo:
fba0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
fbb0: 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 20 24  \fts3_porter.c $
fbc0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
fbd0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
fbe0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
fbf0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
fc00: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
fc10: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
fc20: 74 73 33 5f 70 6f 72 74 65 72 2e 63 0a 0a 66 74  ts3_porter.c..ft
fc30: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a  s3_tokenizer.lo:
fc40: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
fc50: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts3_tokenizer.
fc60: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
fc70: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
fc80: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
fc90: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
fca0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
fcb0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
fcc0: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3\fts3_tokenizer
fcd0: 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  .c..fts3_tokeniz
fce0: 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  er1.lo:.$(TOP)\e
fcf0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
fd00: 65 6e 69 7a 65 72 31 2e 63 20 24 28 48 44 52 29  enizer1.c $(HDR)
fd10: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
fd20: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
fd30: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
fd40: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
fd50: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
fd60: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
fd70: 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66 74 73  okenizer1.c..fts
fd80: 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e  3_tokenize_vtab.
fd90: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
fda0: 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  ts3\fts3_tokeniz
fdb0: 65 5f 76 74 61 62 2e 63 20 24 28 48 44 52 29 20  e_vtab.c $(HDR) 
fdc0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
fdd0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
fde0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
fdf0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
fe00: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
fe10: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
fe20: 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 0a 0a 66  kenize_vtab.c..f
fe30: 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 3a 09  ts3_unicode.lo:.
fe40: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
fe50: 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20 24  fts3_unicode.c $
fe60: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
fe70: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
fe80: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
fe90: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
fea0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
feb0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
fec0: 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 0a 0a 66  ts3_unicode.c..f
fed0: 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f 3a  ts3_unicode2.lo:
fee0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
fef0: 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63  \fts3_unicode2.c
ff00: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
ff10: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
ff20: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
ff30: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
ff40: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
ff50: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
ff60: 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63  \fts3_unicode2.c
ff70: 0a 0a 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f 3a  ..fts3_write.lo:
ff80: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
ff90: 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 20 24 28  \fts3_write.c $(
ffa0: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
ffb0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
ffc0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
ffd0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
ffe0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
fff0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
10000 73 33 5f 77 72 69 74 65 2e 63 0a 0a 6a 73 6f 6e  s3_write.c..json
10010 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  1.lo:.$(TOP)\ext
10020 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 20 24 28  \misc\json1.c $(
10030 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
10040 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
10050 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
10060 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
10070 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
10080 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a 73  TOP)\ext\misc\js
10090 6f 6e 31 2e 63 0a 0a 73 74 6d 74 2e 6c 6f 3a 09  on1.c..stmt.lo:.
100a0 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
100b0 73 74 6d 74 2e 63 20 24 28 48 44 52 29 20 24 28  stmt.c $(HDR) $(
100c0 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
100d0 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
100e0 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
100f0 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
10100 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
10110 74 5c 6d 69 73 63 5c 73 74 6d 74 2e 63 0a 0a 72  t\misc\stmt.c..r
10120 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  tree.lo:.$(TOP)\
10130 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e  ext\rtree\rtree.
10140 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
10150 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
10160 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
10170 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
10180 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
10190 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72  c $(TOP)\ext\rtr
101a0 65 65 5c 72 74 72 65 65 2e 63 0a 0a 73 71 6c 69  ee\rtree.c..sqli
101b0 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 3a 09 24  te3session.lo:.$
101c0 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
101d0 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  n\sqlite3session
101e0 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
101f0 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
10200 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
10210 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
10220 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
10230 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65  -c $(TOP)\ext\se
10240 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73  ssion\sqlite3ses
10250 73 69 6f 6e 2e 63 0a 0a 23 20 46 54 53 35 20 74  sion.c..# FTS5 t
10260 68 69 6e 67 73 0a 23 0a 46 54 53 35 5f 53 52 43  hings.#.FTS5_SRC
10270 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65   = \.   $(TOP)\e
10280 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 5c  xt\fts5\fts5.h \
10290 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f
102a0 74 73 35 5c 66 74 73 35 49 6e 74 2e 68 20 5c 0a  ts5\fts5Int.h \.
102b0 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
102c0 73 35 5c 66 74 73 35 5f 61 75 78 2e 63 20 5c 0a  s5\fts5_aux.c \.
102d0 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
102e0 73 35 5c 66 74 73 35 5f 62 75 66 66 65 72 2e 63  s5\fts5_buffer.c
102f0 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
10300 5c 66 74 73 35 5c 66 74 73 35 5f 6d 61 69 6e 2e  \fts5\fts5_main.
10310 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex
10320 74 5c 66 74 73 35 5c 66 74 73 35 5f 63 6f 6e 66  t\fts5\fts5_conf
10330 69 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  ig.c \.   $(TOP)
10340 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 65  \ext\fts5\fts5_e
10350 78 70 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  xpr.c \.   $(TOP
10360 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
10370 68 61 73 68 2e 63 20 5c 0a 20 20 20 24 28 54 4f  hash.c \.   $(TO
10380 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
10390 5f 69 6e 64 65 78 2e 63 20 5c 0a 20 20 20 66 74  _index.c \.   ft
103a0 73 35 70 61 72 73 65 2e 63 20 66 74 73 35 70 61  s5parse.c fts5pa
103b0 72 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  rse.h \.   $(TOP
103c0 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
103d0 73 74 6f 72 61 67 65 2e 63 20 5c 0a 20 20 20 24  storage.c \.   $
103e0 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
103f0 74 73 35 5f 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c  ts5_tokenize.c \
10400 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f
10410 74 73 35 5c 66 74 73 35 5f 75 6e 69 63 6f 64 65  ts5\fts5_unicode
10420 32 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  2.c \.   $(TOP)\
10430 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 76 61  ext\fts5\fts5_va
10440 72 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f  rint.c \.   $(TO
10450 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
10460 5f 76 6f 63 61 62 2e 63 0a 0a 4c 53 4d 31 5f 53  _vocab.c..LSM1_S
10470 52 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29  RC = \.   $(TOP)
10480 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e 68 20  \ext\lsm1\lsm.h 
10490 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
104a0 6c 73 6d 31 5c 6c 73 6d 49 6e 74 2e 68 20 5c 0a  lsm1\lsmInt.h \.
104b0 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls
104c0 6d 31 5c 6c 73 6d 5f 63 6b 70 74 2e 63 20 5c 0a  m1\lsm_ckpt.c \.
104d0 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls
104e0 6d 31 5c 6c 73 6d 5f 66 69 6c 65 2e 63 20 5c 0a  m1\lsm_file.c \.
104f0 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls
10500 6d 31 5c 6c 73 6d 5f 6c 6f 67 2e 63 20 5c 0a 20  m1\lsm_log.c \. 
10510 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
10520 31 5c 6c 73 6d 5f 6d 61 69 6e 2e 63 20 5c 0a 20  1\lsm_main.c \. 
10530 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
10540 31 5c 6c 73 6d 5f 6d 65 6d 2e 63 20 5c 0a 20 20  1\lsm_mem.c \.  
10550 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
10560 5c 6c 73 6d 5f 6d 75 74 65 78 2e 63 20 5c 0a 20  \lsm_mutex.c \. 
10570 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
10580 31 5c 6c 73 6d 5f 73 68 61 72 65 64 2e 63 20 5c  1\lsm_shared.c \
10590 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
105a0 73 6d 31 5c 6c 73 6d 5f 73 6f 72 74 65 64 2e 63  sm1\lsm_sorted.c
105b0 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
105c0 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 74 72 2e 63 20  \lsm1\lsm_str.c 
105d0 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
105e0 6c 73 6d 31 5c 6c 73 6d 5f 74 72 65 65 2e 63 20  lsm1\lsm_tree.c 
105f0 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
10600 6c 73 6d 31 5c 6c 73 6d 5f 75 6e 69 78 2e 63 20  lsm1\lsm_unix.c 
10610 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
10620 6c 73 6d 31 5c 6c 73 6d 5f 76 61 72 69 6e 74 2e  lsm1\lsm_varint.
10630 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex
10640 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 76 74 61 62 2e  t\lsm1\lsm_vtab.
10650 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex
10660 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 77 69 6e 33 32  t\lsm1\lsm_win32
10670 2e 63 0a 0a 66 74 73 35 70 61 72 73 65 2e 63 3a  .c..fts5parse.c:
10680 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35  .$(TOP)\ext\fts5
10690 5c 66 74 73 35 70 61 72 73 65 2e 79 20 6c 65 6d  \fts5parse.y lem
106a0 6f 6e 2e 65 78 65 0a 09 63 6f 70 79 20 24 28 54  on.exe..copy $(T
106b0 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
106c0 35 70 61 72 73 65 2e 79 20 2e 0a 09 64 65 6c 20  5parse.y ...del 
106d0 2f 51 20 66 74 73 35 70 61 72 73 65 2e 68 20 32  /Q fts5parse.h 2
106e0 3e 4e 55 4c 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78  >NUL...\lemon.ex
106f0 65 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f  e $(REQ_FEATURE_
10700 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41  FLAGS) $(OPT_FEA
10710 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58  TURE_FLAGS) $(EX
10720 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
10730 20 24 28 4f 50 54 53 29 20 66 74 73 35 70 61 72   $(OPTS) fts5par
10740 73 65 2e 79 0a 0a 66 74 73 35 70 61 72 73 65 2e  se.y..fts5parse.
10750 68 3a 09 66 74 73 35 70 61 72 73 65 2e 63 0a 0a  h:.fts5parse.c..
10760 66 74 73 35 2e 63 3a 09 24 28 46 54 53 35 5f 53  fts5.c:.$(FTS5_S
10770 52 43 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44  RC)..$(TCLSH_CMD
10780 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  ) $(TOP)\ext\fts
10790 35 5c 74 6f 6f 6c 5c 6d 6b 66 74 73 35 63 2e 74  5\tool\mkfts5c.t
107a0 63 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c  cl..copy $(TOP)\
107b0 65 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20  ext\fts5\fts5.h 
107c0 2e 0a 0a 6c 73 6d 31 2e 63 3a 09 24 28 4c 53 4d  ...lsm1.c:.$(LSM
107d0 31 5f 53 52 43 29 0a 09 24 28 54 43 4c 53 48 5f  1_SRC)..$(TCLSH_
107e0 43 4d 44 29 20 24 28 54 4f 50 29 5c 65 78 74 5c  CMD) $(TOP)\ext\
107f0 6c 73 6d 31 5c 74 6f 6f 6c 5c 6d 6b 6c 73 6d 31  lsm1\tool\mklsm1
10800 63 2e 74 63 6c 0a 09 63 6f 70 79 20 24 28 54 4f  c.tcl..copy $(TO
10810 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e  P)\ext\lsm1\lsm.
10820 68 20 2e 0a 0a 66 74 73 35 2e 6c 6f 3a 09 66 74  h ...fts5.lo:.ft
10830 73 35 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  s5.c $(HDR) $(EX
10840 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
10850 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
10860 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
10870 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
10880 45 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 73  E -c fts5.c..fts
10890 35 5f 65 78 74 2e 6c 6f 3a 09 66 74 73 35 2e 63  5_ext.lo:.fts5.c
108a0 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
108b0 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
108c0 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 66 74  $(NO_WARN) -c ft
108d0 73 35 2e 63 0a 0a 66 74 73 35 2e 64 6c 6c 3a 09  s5.c..fts5.dll:.
108e0 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 09 24 28 4c  fts5_ext.lo..$(L
108f0 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  D) $(LDFLAGS) $(
10900 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54  LTLINKOPTS) $(LT
10910 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f  LIBPATHS) /DLL /
10920 4f 55 54 3a 24 40 20 66 74 73 35 5f 65 78 74 2e  OUT:$@ fts5_ext.
10930 6c 6f 0a 0a 73 71 6c 69 74 65 33 72 62 75 2e 6c  lo..sqlite3rbu.l
10940 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 62  o:.$(TOP)\ext\rb
10950 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20 24  u\sqlite3rbu.c $
10960 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
10970 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44  .$(LTCOMPILE) -D
10980 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
10990 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71  (TOP)\ext\rbu\sq
109a0 6c 69 74 65 33 72 62 75 2e 63 0a 0a 23 20 52 75  lite3rbu.c..# Ru
109b0 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65  les to build the
109c0 20 27 74 65 73 74 66 69 78 74 75 72 65 27 20 61   'testfixture' a
109d0 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 23 0a 23 20  pplication..#.# 
109e0 49 66 20 75 73 69 6e 67 20 74 68 65 20 61 6d 61  If using the ama
109f0 6c 67 61 6d 61 74 69 6f 6e 2c 20 75 73 65 20 73  lgamation, use s
10a00 71 6c 69 74 65 33 2e 63 20 64 69 72 65 63 74 6c  qlite3.c directl
10a10 79 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 74  y to build the t
10a20 65 73 74 0a 23 20 66 69 78 74 75 72 65 2e 20 20  est.# fixture.  
10a30 4f 74 68 65 72 77 69 73 65 20 6c 69 6e 6b 20 61  Otherwise link a
10a40 67 61 69 6e 73 74 20 6c 69 62 73 71 6c 69 74 65  gainst libsqlite
10a50 33 2e 6c 69 62 2e 20 20 28 54 68 69 73 20 64 69  3.lib.  (This di
10a60 73 74 69 6e 63 74 69 6f 6e 20 69 73 0a 23 20 6e  stinction is.# n
10a70 65 63 65 73 73 61 72 79 20 62 65 63 61 75 73 65  ecessary because
10a80 20 74 68 65 20 74 65 73 74 20 66 69 78 74 75 72   the test fixtur
10a90 65 20 72 65 71 75 69 72 65 73 20 6e 6f 6e 2d 41  e requires non-A
10aa0 50 49 20 73 79 6d 62 6f 6c 73 20 77 68 69 63 68  PI symbols which
10ab0 20 61 72 65 0a 23 20 68 69 64 64 65 6e 20 77 68   are.# hidden wh
10ac0 65 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 69  en the library i
10ad0 73 20 62 75 69 6c 74 20 76 69 61 20 74 68 65 20  s built via the 
10ae0 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23  amalgamation)..#
10af0 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  .TESTFIXTURE_FLA
10b00 47 53 20 3d 20 2d 44 54 43 4c 53 48 5f 49 4e 49  GS = -DTCLSH_INI
10b10 54 5f 50 52 4f 43 3d 73 71 6c 69 74 65 33 54 65  T_PROC=sqlite3Te
10b20 73 74 49 6e 69 74 20 2d 44 53 51 4c 49 54 45 5f  stInit -DSQLITE_
10b30 54 45 53 54 3d 31 20 2d 44 53 51 4c 49 54 45 5f  TEST=1 -DSQLITE_
10b40 43 52 41 53 48 5f 54 45 53 54 3d 31 0a 54 45 53  CRASH_TEST=1.TES
10b50 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d  TFIXTURE_FLAGS =
10b60 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46   $(TESTFIXTURE_F
10b70 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53  LAGS) -DSQLITE_S
10b80 45 52 56 45 52 3d 31 20 2d 44 53 51 4c 49 54 45  ERVER=1 -DSQLITE
10b90 5f 50 52 49 56 41 54 45 3d 22 22 0a 54 45 53 54  _PRIVATE="".TEST
10ba0 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FIXTURE_FLAGS = 
10bb0 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  $(TESTFIXTURE_FL
10bc0 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  AGS) -DSQLITE_CO
10bd0 52 45 20 24 28 4e 4f 5f 57 41 52 4e 29 0a 54 45  RE $(NO_WARN).TE
10be0 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20  STFIXTURE_FLAGS 
10bf0 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  = $(TESTFIXTURE_
10c00 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
10c10 53 45 52 49 45 53 5f 43 4f 4e 53 54 52 41 49 4e  SERIES_CONSTRAIN
10c20 54 5f 56 45 52 49 46 59 3d 31 0a 54 45 53 54 46  T_VERIFY=1.TESTF
10c30 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  IXTURE_FLAGS = $
10c40 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  (TESTFIXTURE_FLA
10c50 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 44 45 46  GS) -DSQLITE_DEF
10c60 41 55 4c 54 5f 50 41 47 45 5f 53 49 5a 45 3d 31  AULT_PAGE_SIZE=1
10c70 30 32 34 0a 54 45 53 54 46 49 58 54 55 52 45 5f  024.TESTFIXTURE_
10c80 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49  FLAGS = $(TESTFI
10c90 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  XTURE_FLAGS) -DS
10ca0 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 4d  QLITE_ENABLE_STM
10cb0 54 56 54 41 42 3d 31 0a 54 45 53 54 46 49 58 54  TVTAB=1.TESTFIXT
10cc0 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45  URE_FLAGS = $(TE
10cd0 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29  STFIXTURE_FLAGS)
10ce0 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
10cf0 5f 44 42 50 41 47 45 5f 56 54 41 42 3d 31 0a 54  _DBPAGE_VTAB=1.T
10d00 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
10d10 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45   = $(TESTFIXTURE
10d20 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
10d30 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 3d 31 0a  _ENABLE_JSON1=1.
10d40 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
10d50 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52  S = $(TESTFIXTUR
10d60 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
10d70 45 5f 45 4e 41 42 4c 45 5f 44 45 53 45 52 49 41  E_ENABLE_DESERIA
10d80 4c 49 5a 45 3d 31 0a 54 45 53 54 46 49 58 54 55  LIZE=1.TESTFIXTU
10d90 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53  RE_FLAGS = $(TES
10da0 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20  TFIXTURE_FLAGS) 
10db0 24 28 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54  $(TEST_CCONV_OPT
10dc0 53 29 0a 0a 54 45 53 54 46 49 58 54 55 52 45 5f  S)..TESTFIXTURE_
10dd0 53 52 43 30 20 3d 20 24 28 54 45 53 54 45 58 54  SRC0 = $(TESTEXT
10de0 29 20 24 28 54 45 53 54 53 52 43 32 29 0a 54 45  ) $(TESTSRC2).TE
10df0 53 54 46 49 58 54 55 52 45 5f 53 52 43 31 20 3d  STFIXTURE_SRC1 =
10e00 20 24 28 54 45 53 54 45 58 54 29 20 24 28 53 51   $(TESTEXT) $(SQ
10e10 4c 49 54 45 33 43 29 0a 21 49 46 20 24 28 55 53  LITE3C).!IF $(US
10e20 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d  E_AMALGAMATION)=
10e30 3d 30 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53  =0.TESTFIXTURE_S
10e40 52 43 20 3d 20 24 28 54 45 53 54 53 52 43 29 20  RC = $(TESTSRC) 
10e50 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71  $(TOP)\src\tclsq
10e60 6c 69 74 65 2e 63 20 24 28 54 45 53 54 46 49 58  lite.c $(TESTFIX
10e70 54 55 52 45 5f 53 52 43 30 29 0a 21 45 4c 53 45  TURE_SRC0).!ELSE
10e80 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43  .TESTFIXTURE_SRC
10e90 20 3d 20 24 28 54 45 53 54 53 52 43 29 20 24 28   = $(TESTSRC) $(
10ea0 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69  TOP)\src\tclsqli
10eb0 74 65 2e 63 20 24 28 54 45 53 54 46 49 58 54 55  te.c $(TESTFIXTU
10ec0 52 45 5f 53 52 43 31 29 0a 21 45 4e 44 49 46 0a  RE_SRC1).!ENDIF.
10ed0 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41  .!IF $(USE_STDCA
10ee0 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f  LL)!=0 || $(FOR_
10ef0 57 49 4e 31 30 29 21 3d 30 0a 73 71 6c 69 74 65  WIN10)!=0.sqlite
10f00 5f 74 63 6c 44 65 63 6c 73 2e 68 3a 0a 09 65 63  _tclDecls.h:..ec
10f10 68 6f 20 23 69 66 6e 64 65 66 20 53 51 4c 49 54  ho #ifndef SQLIT
10f20 45 5f 54 43 4c 41 50 49 20 3e 20 24 28 53 51 4c  E_TCLAPI > $(SQL
10f30 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 65  ITETCLDECLSH)..e
10f40 63 68 6f 20 23 20 20 64 65 66 69 6e 65 20 53 51  cho #  define SQ
10f50 4c 49 54 45 5f 54 43 4c 41 50 49 20 3e 3e 20 24  LITE_TCLAPI >> $
10f60 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48  (SQLITETCLDECLSH
10f70 29 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 20 3e  )..echo #endif >
10f80 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43  > $(SQLITETCLDEC
10f90 4c 53 48 29 0a 09 74 79 70 65 20 22 24 28 54 43  LSH)..type "$(TC
10fa0 4c 49 4e 43 44 49 52 29 5c 74 63 6c 44 65 63 6c  LINCDIR)\tclDecl
10fb0 73 2e 68 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c  s.h" \...| $(TCL
10fc0 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
10fd0 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20  ool\replace.tcl 
10fe0 72 65 67 73 75 62 20 22 5e 28 45 58 54 45 52 4e  regsub "^(EXTERN
10ff0 28 3f 3a 20 43 4f 4e 53 54 5c 64 2b 3f 29 3f 5c  (?: CONST\d+?)?\
11000 73 2b 3f 5b 5e 5c 28 5d 2a 3f 5c 73 2b 3f 29 54  s+?[^\(]*?\s+?)T
11010 63 6c 5f 22 20 22 5c 31 20 53 51 4c 49 54 45 5f  cl_" "\1 SQLITE_
11020 54 43 4c 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09  TCLAPI Tcl_" \..
11030 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  .| $(TCLSH_CMD) 
11040 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl
11050 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22  ace.tcl regsub "
11060 5e 28 45 58 54 45 52 4e 5c 73 2b 3f 28 3f 3a 76  ^(EXTERN\s+?(?:v
11070 6f 69 64 7c 56 4f 49 44 29 5c 73 2b 3f 29 54 63  oid|VOID)\s+?)Tc
11080 6c 46 72 65 65 4f 62 6a 22 20 22 5c 31 20 53 51  lFreeObj" "\1 SQ
11090 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c 46  LITE_TCLAPI TclF
110a0 72 65 65 4f 62 6a 22 20 5c 0a 09 09 7c 20 24 28  reeObj" \...| $(
110b0 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
110c0 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
110d0 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 74  cl regsub "\(\*t
110e0 63 6c 5f 22 20 22 28 53 51 4c 49 54 45 5f 54 43  cl_" "(SQLITE_TC
110f0 4c 41 50 49 20 2a 74 63 6c 5f 22 20 5c 0a 09 09  LAPI *tcl_" \...
11100 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
11110 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
11120 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c  ce.tcl regsub "\
11130 28 5c 2a 74 63 6c 46 72 65 65 4f 62 6a 22 20 22  (\*tclFreeObj" "
11140 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a  (SQLITE_TCLAPI *
11150 74 63 6c 46 72 65 65 4f 62 6a 22 20 5c 0a 09 09  tclFreeObj" \...
11160 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
11170 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
11180 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c  ce.tcl regsub "\
11190 28 5c 2a 22 20 22 28 53 51 4c 49 54 45 5f 54 43  (\*" "(SQLITE_TC
111a0 4c 41 50 49 20 2a 22 20 3e 3e 20 24 28 53 51 4c  LAPI *" >> $(SQL
111b0 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 0a 73  ITETCLDECLSH)..s
111c0 71 6c 69 74 65 5f 74 63 6c 2e 68 3a 0a 09 74 79  qlite_tcl.h:..ty
111d0 70 65 20 22 24 28 54 43 4c 49 4e 43 44 49 52 29  pe "$(TCLINCDIR)
111e0 5c 74 63 6c 2e 68 22 20 7c 20 24 28 54 43 4c 53  \tcl.h" | $(TCLS
111f0 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
11200 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65  ol\replace.tcl e
11210 78 61 63 74 20 74 63 6c 44 65 63 6c 73 2e 68 20  xact tclDecls.h 
11220 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e  sqlite_tclDecls.
11230 68 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f  h \...| $(TCLSH_
11240 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
11250 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67  \replace.tcl reg
11260 73 75 62 20 22 74 79 70 65 64 65 66 20 28 2e 2a  sub "typedef (.*
11270 3f 29 5c 28 54 63 6c 5f 22 20 22 74 79 70 65 64  ?)\(Tcl_" "typed
11280 65 66 20 5c 31 20 28 53 51 4c 49 54 45 5f 54 43  ef \1 (SQLITE_TC
11290 4c 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09 09 7c  LAPI Tcl_" \...|
112a0 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD) $(
112b0 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
112c0 65 2e 74 63 6c 20 65 78 61 63 74 20 22 76 6f 69  e.tcl exact "voi
112d0 64 20 28 2a 66 72 65 65 50 72 6f 63 29 22 20 22  d (*freeProc)" "
112e0 76 6f 69 64 20 28 53 51 4c 49 54 45 5f 54 43 4c  void (SQLITE_TCL
112f0 41 50 49 20 2a 66 72 65 65 50 72 6f 63 29 22 20  API *freeProc)" 
11300 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM
11310 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r
11320 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74  eplace.tcl exact
11330 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20   "Tcl_HashEntry 
11340 2a 28 2a 66 69 6e 64 50 72 6f 63 29 22 20 22 54  *(*findProc)" "T
11350 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 53  cl_HashEntry *(S
11360 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 69  QLITE_TCLAPI *fi
11370 6e 64 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 24  ndProc)" \...| $
11380 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
11390 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
113a0 74 63 6c 20 65 78 61 63 74 20 22 54 63 6c 5f 48  tcl exact "Tcl_H
113b0 61 73 68 45 6e 74 72 79 20 2a 28 2a 63 72 65 61  ashEntry *(*crea
113c0 74 65 50 72 6f 63 29 22 20 22 54 63 6c 5f 48 61  teProc)" "Tcl_Ha
113d0 73 68 45 6e 74 72 79 20 2a 28 53 51 4c 49 54 45  shEntry *(SQLITE
113e0 5f 54 43 4c 41 50 49 20 2a 63 72 65 61 74 65 50  _TCLAPI *createP
113f0 72 6f 63 29 22 20 3e 3e 20 24 28 53 51 4c 49 54  roc)" >> $(SQLIT
11400 45 54 43 4c 48 29 0a 21 45 4e 44 49 46 0a 0a 74  ETCLH).!ENDIF..t
11410 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 3a 09  estfixture.exe:.
11420 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52  $(TESTFIXTURE_SR
11430 43 29 20 24 28 54 45 53 54 46 49 58 54 55 52 45  C) $(TESTFIXTURE
11440 5f 44 45 50 29 20 24 28 53 51 4c 49 54 45 33 48  _DEP) $(SQLITE3H
11450 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20  ) $(LIBRESOBJS) 
11460 24 28 48 44 52 29 20 24 28 53 51 4c 49 54 45 5f  $(HDR) $(SQLITE_
11470 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 4c 49  TCL_DEP)..$(LTLI
11480 4e 4b 29 20 2d 44 53 51 4c 49 54 45 5f 4e 4f 5f  NK) -DSQLITE_NO_
11490 53 59 4e 43 3d 31 20 24 28 54 45 53 54 46 49 58  SYNC=1 $(TESTFIX
114a0 54 55 52 45 5f 46 4c 41 47 53 29 20 5c 0a 09 09  TURE_FLAGS) \...
114b0 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d  -DBUILD_sqlite -
114c0 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 5c 0a  I$(TCLINCDIR) \.
114d0 09 09 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  ..$(TESTFIXTURE_
114e0 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24  SRC) \.../link $
114f0 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
11500 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 42  NKOPTS) $(TCLLIB
11510 50 41 54 48 53 29 20 24 28 4c 54 4c 49 42 50 41  PATHS) $(LTLIBPA
11520 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a  THS) $(LIBRESOBJ
11530 53 29 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28  S) $(TCLLIBS) $(
11540 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29  LTLIBS) $(TLIBS)
11550 0a 0a 65 78 74 65 6e 73 69 6f 6e 74 65 73 74 3a  ..extensiontest:
11560 09 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  .testfixture.exe
11570 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c   testloadext.dll
11580 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI
11590 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH
115a0 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
115b0 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test
115c0 5c 6c 6f 61 64 65 78 74 2e 74 65 73 74 20 24 28  \loadext.test $(
115d0 54 45 53 54 4f 50 54 53 29 0a 0a 63 6f 72 65 74  TESTOPTS)..coret
115e0 65 73 74 70 72 6f 67 73 3a 09 24 28 54 45 53 54  estprogs:.$(TEST
115f0 50 52 4f 47 53 29 0a 0a 74 65 73 74 70 72 6f 67  PROGS)..testprog
11600 73 3a 09 63 6f 72 65 74 65 73 74 70 72 6f 67 73  s:.coretestprogs
11610 20 73 72 63 63 6b 31 2e 65 78 65 20 66 75 7a 7a   srcck1.exe fuzz
11620 63 68 65 63 6b 2e 65 78 65 20 73 65 73 73 69 6f  check.exe sessio
11630 6e 66 75 7a 7a 2e 65 78 65 0a 0a 66 75 6c 6c 74  nfuzz.exe..fullt
11640 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53  est:.$(TESTPROGS
11650 29 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74  ) fuzztest..@set
11660 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41   PATH=$(LIBTCLPA
11670 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74  TH);$(PATH)...\t
11680 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24  estfixture.exe $
11690 28 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74  (TOP)\test\all.t
116a0 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a  est $(TESTOPTS).
116b0 0a 73 6f 61 6b 74 65 73 74 3a 09 24 28 54 45 53  .soaktest:.$(TES
116c0 54 50 52 4f 47 53 29 0a 09 40 73 65 74 20 50 41  TPROGS)..@set PA
116d0 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29  TH=$(LIBTCLPATH)
116e0 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74  ;$(PATH)...\test
116f0 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f  fixture.exe $(TO
11700 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74  P)\test\all.test
11710 20 2d 73 6f 61 6b 3d 31 20 24 28 54 45 53 54 4f   -soak=1 $(TESTO
11720 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74 6f 6e  PTS)..fullteston
11730 6c 79 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29  ly:.$(TESTPROGS)
11740 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20   fuzztest..@set 
11750 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54  PATH=$(LIBTCLPAT
11760 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65  H);$(PATH)...\te
11770 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28  stfixture.exe $(
11780 54 4f 50 29 5c 74 65 73 74 5c 66 75 6c 6c 2e 74  TOP)\test\full.t
11790 65 73 74 0a 0a 71 75 65 72 79 70 6c 61 6e 74 65  est..queryplante
117a0 73 74 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e  st:.testfixture.
117b0 65 78 65 20 73 68 65 6c 6c 0a 09 40 73 65 74 20  exe shell..@set 
117c0 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54  PATH=$(LIBTCLPAT
117d0 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65  H);$(PATH)...\te
117e0 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28  stfixture.exe $(
117f0 54 4f 50 29 5c 74 65 73 74 5c 70 65 72 6d 75 74  TOP)\test\permut
11800 61 74 69 6f 6e 73 2e 74 65 73 74 20 71 75 65 72  ations.test quer
11810 79 70 6c 61 6e 6e 65 72 20 24 28 54 45 53 54 4f  yplanner $(TESTO
11820 50 54 53 29 0a 0a 66 75 7a 7a 74 65 73 74 3a 09  PTS)..fuzztest:.
11830 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a 09 2e  fuzzcheck.exe...
11840 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20 24  \fuzzcheck.exe $
11850 28 46 55 5a 5a 44 41 54 41 29 0a 0a 66 61 73 74  (FUZZDATA)..fast
11860 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68  fuzztest:.fuzzch
11870 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63  eck.exe...\fuzzc
11880 68 65 63 6b 2e 65 78 65 20 2d 2d 6c 69 6d 69 74  heck.exe --limit
11890 2d 6d 65 6d 20 31 30 30 4d 20 24 28 46 55 5a 5a  -mem 100M $(FUZZ
118a0 44 41 54 41 29 0a 0a 23 20 4d 69 6e 69 6d 61 6c  DATA)..# Minimal
118b0 20 74 65 73 74 69 6e 67 20 74 68 61 74 20 72 75   testing that ru
118c0 6e 73 20 69 6e 20 6c 65 73 73 20 74 68 61 6e 20  ns in less than 
118d0 33 20 6d 69 6e 75 74 65 73 20 28 6f 6e 20 61 20  3 minutes (on a 
118e0 66 61 73 74 20 6d 61 63 68 69 6e 65 29 0a 23 0a  fast machine).#.
118f0 71 75 69 63 6b 74 65 73 74 3a 09 74 65 73 74 66  quicktest:.testf
11900 69 78 74 75 72 65 2e 65 78 65 20 73 6f 75 72 63  ixture.exe sourc
11910 65 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 48  etest..@set PATH
11920 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24  =$(LIBTCLPATH);$
11930 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69  (PATH)...\testfi
11940 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29  xture.exe $(TOP)
11950 5c 74 65 73 74 5c 65 78 74 72 61 71 75 69 63 6b  \test\extraquick
11960 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53  .test $(TESTOPTS
11970 29 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65  )..# This is the
11980 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 2e 20 20 52   common case.  R
11990 75 6e 20 6d 61 6e 79 20 74 65 73 74 73 20 74 68  un many tests th
119a0 61 74 20 64 6f 20 6e 6f 74 20 74 61 6b 65 20 74  at do not take t
119b0 6f 6f 20 6c 6f 6e 67 2c 0a 23 20 69 6e 63 6c 75  oo long,.# inclu
119c0 64 69 6e 67 20 66 75 7a 7a 63 68 65 63 6b 2c 20  ding fuzzcheck, 
119d0 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
119e0 2c 20 61 6e 64 20 73 71 6c 64 69 66 66 20 74 65  , and sqldiff te
119f0 73 74 73 2e 0a 23 0a 74 65 73 74 3a 09 24 28 54  sts..#.test:.$(T
11a00 45 53 54 50 52 4f 47 53 29 20 73 6f 75 72 63 65  ESTPROGS) source
11a10 74 65 73 74 20 66 61 73 74 66 75 7a 7a 74 65 73  test fastfuzztes
11a20 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c  t..@set PATH=$(L
11a30 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54  IBTCLPATH);$(PAT
11a40 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72  H)...\testfixtur
11a50 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73  e.exe $(TOP)\tes
11a60 74 5c 76 65 72 79 71 75 69 63 6b 2e 74 65 73 74  t\veryquick.test
11a70 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 6d   $(TESTOPTS)..sm
11a80 6f 6b 65 74 65 73 74 3a 09 24 28 54 45 53 54 50  oketest:.$(TESTP
11a90 52 4f 47 53 29 0a 09 40 73 65 74 20 50 41 54 48  ROGS)..@set PATH
11aa0 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24  =$(LIBTCLPATH);$
11ab0 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69  (PATH)...\testfi
11ac0 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29  xture.exe $(TOP)
11ad0 5c 74 65 73 74 5c 6d 61 69 6e 2e 74 65 73 74 20  \test\main.test 
11ae0 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 71 6c  $(TESTOPTS)..sql
11af0 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 3a  ite3_analyzer.c:
11b00 09 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53  .$(SQLITE3C) $(S
11b10 51 4c 49 54 45 33 48 29 20 24 28 54 4f 50 29 5c  QLITE3H) $(TOP)\
11b20 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20  src\tclsqlite.c 
11b30 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 61 63  $(TOP)\tool\spac
11b40 65 61 6e 61 6c 2e 74 63 6c 20 24 28 54 4f 50 29  eanal.tcl $(TOP)
11b50 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63  \tool\mkccode.tc
11b60 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71  l $(TOP)\tool\sq
11b70 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63  lite3_analyzer.c
11b80 2e 69 6e 20 24 28 53 51 4c 49 54 45 5f 54 43 4c  .in $(SQLITE_TCL
11b90 5f 44 45 50 29 0a 09 24 28 54 43 4c 53 48 5f 43  _DEP)..$(TCLSH_C
11ba0 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
11bb0 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f  mkccode.tcl $(TO
11bc0 50 29 5c 74 6f 6f 6c 5c 73 71 6c 69 74 65 33 5f  P)\tool\sqlite3_
11bd0 61 6e 61 6c 79 7a 65 72 2e 63 2e 69 6e 20 3e 20  analyzer.c.in > 
11be0 24 40 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61 6c  $@..sqlite3_anal
11bf0 79 7a 65 72 2e 65 78 65 3a 09 73 71 6c 69 74 65  yzer.exe:.sqlite
11c00 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 24 28 4c  3_analyzer.c $(L
11c10 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54  IBRESOBJS)..$(LT
11c20 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
11c30 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20   -DBUILD_sqlite 
11c40 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 73  -I$(TCLINCDIR) s
11c50 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
11c60 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44  c \.../link $(LD
11c70 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
11c80 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54  PTS) $(TCLLIBPAT
11c90 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53  HS) $(LTLIBPATHS
11ca0 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20  ) $(LIBRESOBJS) 
11cb0 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c  $(TCLLIBS) $(LTL
11cc0 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 73  IBS) $(TLIBS)..s
11cd0 71 6c 74 63 6c 73 68 2e 63 3a 20 73 71 6c 69 74  qltclsh.c: sqlit
11ce0 65 33 2e 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  e3.c $(TOP)\src\
11cf0 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 4f  tclsqlite.c $(TO
11d00 50 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68  P)\tool\sqltclsh
11d10 2e 74 63 6c 20 24 28 54 4f 50 29 5c 65 78 74 5c  .tcl $(TOP)\ext\
11d20 6d 69 73 63 5c 61 70 70 65 6e 64 76 66 73 2e 63  misc\appendvfs.c
11d30 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63   $(TOP)\tool\mkc
11d40 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c  code.tcl $(TOP)\
11d50 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e 63 2e  tool\sqltclsh.c.
11d60 69 6e 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  in..$(TCLSH_CMD)
11d70 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63   $(TOP)\tool\mkc
11d80 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c  code.tcl $(TOP)\
11d90 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e 63 2e  tool\sqltclsh.c.
11da0 69 6e 20 3e 73 71 6c 74 63 6c 73 68 2e 63 0a 0a  in >sqltclsh.c..
11db0 73 71 6c 74 63 6c 73 68 2e 65 78 65 3a 20 73 71  sqltclsh.exe: sq
11dc0 6c 74 63 6c 73 68 2e 63 20 20 24 28 53 48 45 4c  ltclsh.c  $(SHEL
11dd0 4c 5f 43 4f 52 45 5f 44 45 50 29 20 24 28 4c 49  L_CORE_DEP) $(LI
11de0 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c  BRESOBJS)..$(LTL
11df0 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
11e00 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d  -DBUILD_sqlite -
11e10 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 73 71  I$(TCLINCDIR) sq
11e20 6c 74 63 6c 73 68 2e 63 20 5c 0a 09 09 2f 6c 69  ltclsh.c \.../li
11e30 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
11e40 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43  LTLINKOPTS) $(TC
11e50 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c  LLIBPATHS) $(LTL
11e60 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45  IBPATHS) $(LIBRE
11e70 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53  SOBJS) $(TCLLIBS
11e80 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c  ) $(LTLIBS) $(TL
11e90 49 42 53 29 0a 0a 73 71 6c 69 74 65 33 5f 65 78  IBS)..sqlite3_ex
11ea0 70 65 72 74 2e 65 78 65 3a 20 24 28 53 51 4c 49  pert.exe: $(SQLI
11eb0 54 45 33 43 29 20 24 28 54 4f 50 29 5c 65 78 74  TE3C) $(TOP)\ext
11ec0 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65  \expert\sqlite3e
11ed0 78 70 65 72 74 2e 68 20 24 28 54 4f 50 29 5c 65  xpert.h $(TOP)\e
11ee0 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65  xt\expert\sqlite
11ef0 33 65 78 70 65 72 74 2e 63 20 24 28 54 4f 50 29  3expert.c $(TOP)
11f00 5c 65 78 74 5c 65 78 70 65 72 74 5c 65 78 70 65  \ext\expert\expe
11f10 72 74 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  rt.c..$(LTLINK) 
11f20 24 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f 50  $(NO_WARN).$(TOP
11f30 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c  )\ext\expert\sql
11f40 69 74 65 33 65 78 70 65 72 74 2e 63 20 24 28 54  ite3expert.c $(T
11f50 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 65  OP)\ext\expert\e
11f60 78 70 65 72 74 2e 63 20 24 28 53 51 4c 49 54 45  xpert.c $(SQLITE
11f70 33 43 29 20 24 28 54 4c 49 42 53 29 0a 0a 43 48  3C) $(TLIBS)..CH
11f80 45 43 4b 45 52 5f 44 45 50 53 20 3d 5c 0a 20 20  ECKER_DEPS =\.  
11f90 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6d 6b 63 63  $(TOP)/tool/mkcc
11fa0 6f 64 65 2e 74 63 6c 20 5c 0a 20 20 73 71 6c 69  ode.tcl \.  sqli
11fb0 74 65 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  te3.c \.  $(TOP)
11fc0 2f 73 72 63 2f 74 63 6c 73 71 6c 69 74 65 2e 63  /src/tclsqlite.c
11fd0 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f   \.  $(TOP)/ext/
11fe0 72 65 70 61 69 72 2f 73 71 6c 69 74 65 33 5f 63  repair/sqlite3_c
11ff0 68 65 63 6b 65 72 2e 74 63 6c 20 5c 0a 20 20 24  hecker.tcl \.  $
12000 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61 69 72  (TOP)/ext/repair
12010 2f 63 68 65 63 6b 69 6e 64 65 78 2e 63 20 5c 0a  /checkindex.c \.
12020 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70    $(TOP)/ext/rep
12030 61 69 72 2f 63 68 65 63 6b 66 72 65 65 6c 69 73  air/checkfreelis
12040 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65  t.c \.  $(TOP)/e
12050 78 74 2f 6d 69 73 63 2f 62 74 72 65 65 69 6e 66  xt/misc/btreeinf
12060 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65  o.c \.  $(TOP)/e
12070 78 74 2f 72 65 70 61 69 72 2f 73 71 6c 69 74 65  xt/repair/sqlite
12080 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69 6e 0a 0a  3_checker.c.in..
12090 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e  sqlite3_checker.
120a0 63 3a 09 24 28 43 48 45 43 4b 45 52 5f 44 45 50  c:.$(CHECKER_DEP
120b0 53 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  S)..$(TCLSH_CMD)
120c0 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63   $(TOP)\tool\mkc
120d0 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c  code.tcl $(TOP)\
120e0 65 78 74 5c 72 65 70 61 69 72 5c 73 71 6c 69 74  ext\repair\sqlit
120f0 65 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69 6e 20  e3_checker.c.in 
12100 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f 63 68  > $@..sqlite3_ch
12110 65 63 6b 65 72 2e 65 78 65 3a 09 73 71 6c 69 74  ecker.exe:.sqlit
12120 65 33 5f 63 68 65 63 6b 65 72 2e 63 20 24 28 4c  e3_checker.c $(L
12130 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54  IBRESOBJS)..$(LT
12140 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
12150 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20   -DBUILD_sqlite 
12160 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 73  -I$(TCLINCDIR) s
12170 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63  qlite3_checker.c
12180 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46   \.../link $(LDF
12190 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
121a0 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48  TS) $(TCLLIBPATH
121b0 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29  S) $(LTLIBPATHS)
121c0 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS) $
121d0 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49  (TCLLIBS) $(LTLI
121e0 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 64 62  BS) $(TLIBS)..db
121f0 64 75 6d 70 2e 65 78 65 3a 09 24 28 54 4f 50 29  dump.exe:.$(TOP)
12200 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64 75 6d 70  \ext\misc\dbdump
12210 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
12220 28 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42  (SQLITE3H) $(LIB
12230 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49  RESOBJS)..$(LTLI
12240 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) -
12250 44 44 42 44 55 4d 50 5f 53 54 41 4e 44 41 4c 4f  DDBDUMP_STANDALO
12260 4e 45 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  NE $(TOP)\ext\mi
12270 73 63 5c 64 62 64 75 6d 70 2e 63 20 24 28 53 51  sc\dbdump.c $(SQ
12280 4c 49 54 45 33 43 29 20 5c 0a 09 09 2f 6c 69 6e  LITE3C) \.../lin
12290 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
122a0 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c  TLINKOPTS) $(LTL
122b0 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45  IBPATHS) $(LIBRE
122c0 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29  SOBJS) $(LTLIBS)
122d0 0a 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f  ..testloadext.lo
122e0 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73  :.$(TOP)\src\tes
122f0 74 5f 6c 6f 61 64 65 78 74 2e 63 20 24 28 53 51  t_loadext.c $(SQ
12300 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 43 4f 4d  LITE3H)..$(LTCOM
12310 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29  PILE) $(NO_WARN)
12320 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74   -c $(TOP)\src\t
12330 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63 0a 0a 74  est_loadext.c..t
12340 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 3a 09  estloadext.dll:.
12350 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a 09  testloadext.lo..
12360 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29  $(LD) $(LDFLAGS)
12370 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24   $(LTLINKOPTS) $
12380 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c  (LTLIBPATHS) /DL
12390 4c 20 2f 4f 55 54 3a 24 40 20 74 65 73 74 6c 6f  L /OUT:$@ testlo
123a0 61 64 65 78 74 2e 6c 6f 0a 0a 64 62 74 6f 74 78  adext.lo..dbtotx
123b0 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  t.exe:.$(TOP)\to
123c0 6f 6c 5c 64 62 74 6f 74 78 74 2e 63 0a 09 24 28  ol\dbtotxt.c..$(
123d0 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
123e0 4e 29 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64  N).$(TOP)\tool\d
123f0 62 74 6f 74 78 74 2e 63 20 2f 6c 69 6e 6b 20 24  btotxt.c /link $
12400 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
12410 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 64 62 2e  NKOPTS)..showdb.
12420 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool
12430 5c 73 68 6f 77 64 62 2e 63 20 24 28 53 51 4c 49  \showdb.c $(SQLI
12440 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
12450 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
12460 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
12470 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
12480 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
12490 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$
124a0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64  (TOP)\tool\showd
124b0 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  b.c $(SQLITE3C) 
124c0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
124d0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
124e0 73 68 6f 77 73 74 61 74 34 2e 65 78 65 3a 09 24  showstat4.exe:.$
124f0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73  (TOP)\tool\shows
12500 74 61 74 34 2e 63 20 24 28 53 51 4c 49 54 45 33  tat4.c $(SQLITE3
12510 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
12520 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
12530 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
12540 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
12550 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
12560 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f  TENSION \...$(TO
12570 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 74 61 74  P)\tool\showstat
12580 34 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  4.c $(SQLITE3C) 
12590 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
125a0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
125b0 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 3a  showjournal.exe:
125c0 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f  .$(TOP)\tool\sho
125d0 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c  wjournal.c $(SQL
125e0 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
125f0 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
12600 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
12610 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d  E_THREADSAFE=0 -
12620 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41  DSQLITE_OMIT_LOA
12630 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09  D_EXTENSION \...
12640 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show
12650 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c 49  journal.c $(SQLI
12660 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
12670 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
12680 50 54 53 29 0a 0a 73 68 6f 77 77 61 6c 2e 65 78  PTS)..showwal.ex
12690 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  e:.$(TOP)\tool\s
126a0 68 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c 49 54  howwal.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 74 6f 6f 6c 5c 73 68 6f 77 77 61  TOP)\tool\showwa
12720 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  l.c $(SQLITE3C) 
12730 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
12740 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
12750 73 68 6f 77 73 68 6d 2e 65 78 65 3a 09 24 28 54  showshm.exe:.$(T
12760 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 68 6d  OP)\tool\showshm
12770 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  .c..$(LTLINK) $(
12780 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f 50 29 5c  NO_WARN).$(TOP)\
12790 74 6f 6f 6c 5c 73 68 6f 77 73 68 6d 2e 63 20 2f  tool\showshm.c /
127a0 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
127b0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 69  $(LTLINKOPTS)..i
127c0 6e 64 65 78 5f 75 73 61 67 65 2e 65 78 65 3a 20  ndex_usage.exe: 
127d0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 69 6e 64 65  $(TOP)\tool\inde
127e0 78 5f 75 73 61 67 65 2e 63 20 24 28 53 51 4c 49  x_usage.c $(SQLI
127f0 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
12800 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
12810 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
12820 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
12830 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
12840 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$
12850 28 54 4f 50 29 5c 74 6f 6f 6c 5c 69 6e 64 65 78  (TOP)\tool\index
12860 5f 75 73 61 67 65 2e 63 20 24 28 53 51 4c 49 54  _usage.c $(SQLIT
12870 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
12880 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
12890 54 53 29 0a 0a 63 68 61 6e 67 65 73 65 74 2e 65  TS)..changeset.e
128a0 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 73  xe:.$(TOP)\ext\s
128b0 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74  ession\changeset
128c0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
128d0 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
128e0 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
128f0 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
12900 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
12910 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  OMIT_LOAD_EXTENS
12920 49 4f 4e 20 5c 0a 09 09 2d 44 53 51 4c 49 54 45  ION \...-DSQLITE
12930 5f 45 4e 41 42 4c 45 5f 53 45 53 53 49 4f 4e 3d  _ENABLE_SESSION=
12940 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  1 -DSQLITE_ENABL
12950 45 5f 50 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b  E_PREUPDATE_HOOK
12960 3d 31 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78  =1 \...$(TOP)\ex
12970 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65  t\session\change
12980 73 65 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  set.c $(SQLITE3C
12990 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
129a0 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
129b0 0a 0a 63 68 61 6e 67 65 73 65 74 66 75 7a 7a 2e  ..changesetfuzz.
129c0 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  exe:.$(TOP)\ext\
129d0 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65  session\changese
129e0 74 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45  tfuzz.c $(SQLITE
129f0 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
12a00 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
12a10 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54  WARN) -DSQLITE_T
12a20 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51  HREADSAFE=0 -DSQ
12a30 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45  LITE_OMIT_LOAD_E
12a40 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 2d 44 53  XTENSION \...-DS
12a50 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 53  QLITE_ENABLE_SES
12a60 53 49 4f 4e 3d 31 20 2d 44 53 51 4c 49 54 45 5f  SION=1 -DSQLITE_
12a70 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45  ENABLE_PREUPDATE
12a80 5f 48 4f 4f 4b 3d 31 20 5c 0a 09 09 24 28 54 4f  _HOOK=1 \...$(TO
12a90 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 63  P)\ext\session\c
12aa0 68 61 6e 67 65 73 65 74 66 75 7a 7a 2e 63 20 24  hangesetfuzz.c $
12ab0 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
12ac0 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
12ad0 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 74 73 33 76  LINKOPTS)..fts3v
12ae0 69 65 77 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  iew.exe:.$(TOP)\
12af0 65 78 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 74  ext\fts3\tool\ft
12b00 73 33 76 69 65 77 2e 63 20 24 28 53 51 4c 49 54  s3view.c $(SQLIT
12b10 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
12b20 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
12b30 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
12b40 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
12b50 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
12b60 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28  EXTENSION \...$(
12b70 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f  TOP)\ext\fts3\to
12b80 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63 20 24 28  ol\fts3view.c $(
12b90 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
12ba0 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
12bb0 49 4e 4b 4f 50 54 53 29 0a 0a 72 6f 6c 6c 62 61  INKOPTS)..rollba
12bc0 63 6b 2d 74 65 73 74 2e 65 78 65 3a 09 24 28 54  ck-test.exe:.$(T
12bd0 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63  OP)\tool\rollbac
12be0 6b 2d 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54  k-test.c $(SQLIT
12bf0 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
12c00 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
12c10 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
12c20 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
12c30 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
12c40 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28  EXTENSION \...$(
12c50 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61  TOP)\tool\rollba
12c60 63 6b 2d 74 65 73 74 2e 63 20 24 28 53 51 4c 49  ck-test.c $(SQLI
12c70 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
12c80 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
12c90 50 54 53 29 0a 0a 61 74 72 63 2e 65 78 65 3a 09  PTS)..atrc.exe:.
12ca0 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 74 72 63  $(TOP)\test\atrc
12cb0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
12cc0 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
12cd0 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
12ce0 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
12cf0 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
12d00 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  OMIT_LOAD_EXTENS
12d10 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74  ION \...$(TOP)\t
12d20 65 73 74 5c 61 74 72 63 2e 63 20 24 28 53 51 4c  est\atrc.c $(SQL
12d30 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
12d40 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
12d50 4f 50 54 53 29 0a 0a 4c 6f 67 45 73 74 2e 65 78  OPTS)..LogEst.ex
12d60 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c  e:.$(TOP)\tool\l
12d70 6f 67 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45  ogest.c $(SQLITE
12d80 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
12d90 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50 29  (NO_WARN) $(TOP)
12da0 5c 74 6f 6f 6c 5c 4c 6f 67 45 73 74 2e 63 20 2f  \tool\LogEst.c /
12db0 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
12dc0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 77  $(LTLINKOPTS)..w
12dd0 6f 72 64 63 6f 75 6e 74 2e 65 78 65 3a 09 24 28  ordcount.exe:.$(
12de0 54 4f 50 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f  TOP)\test\wordco
12df0 75 6e 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  unt.c $(SQLITE3C
12e00 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
12e10 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
12e20 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  RN) -DSQLITE_THR
12e30 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49  EADSAFE=0 -DSQLI
12e40 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
12e50 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50  ENSION \...$(TOP
12e60 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74  )\test\wordcount
12e70 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
12e80 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
12e90 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73  $(LTLINKOPTS)..s
12ea0 70 65 65 64 74 65 73 74 31 2e 65 78 65 3a 09 24  peedtest1.exe:.$
12eb0 28 54 4f 50 29 5c 74 65 73 74 5c 73 70 65 65 64  (TOP)\test\speed
12ec0 74 65 73 74 31 2e 63 20 24 28 53 51 4c 49 54 45  test1.c $(SQLITE
12ed0 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
12ee0 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
12ef0 57 41 52 4e 29 20 24 28 53 54 5f 43 4f 4d 50 49  WARN) $(ST_COMPI
12f00 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54  LE_OPTS) -DSQLIT
12f10 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45  E_OMIT_LOAD_EXTE
12f20 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29  NSION \...$(TOP)
12f30 5c 74 65 73 74 5c 73 70 65 65 64 74 65 73 74 31  \test\speedtest1
12f40 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
12f50 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
12f60 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6b  $(LTLINKOPTS)..k
12f70 76 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f 50  vtest.exe:.$(TOP
12f80 29 5c 74 65 73 74 5c 6b 76 74 65 73 74 2e 63 20  )\test\kvtest.c 
12f90 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
12fa0 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
12fb0 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28  K) $(NO_WARN) $(
12fc0 4b 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  KV_COMPILE_OPTS)
12fd0 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 74   \...$(TOP)\test
12fe0 5c 6b 76 74 65 73 74 2e 63 20 24 28 53 51 4c 49  \kvtest.c $(SQLI
12ff0 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
13000 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
13010 50 54 53 29 0a 0a 72 62 75 2e 65 78 65 3a 09 24  PTS)..rbu.exe:.$
13020 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72 62  (TOP)\ext\rbu\rb
13030 75 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  u.c $(TOP)\ext\r
13040 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20  bu\sqlite3rbu.c 
13050 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
13060 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
13070 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
13080 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52 42  SQLITE_ENABLE_RB
13090 55 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74  U \...$(TOP)\ext
130a0 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 53 51 4c  \rbu\rbu.c $(SQL
130b0 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
130c0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
130d0 4f 50 54 53 29 0a 0a 4c 53 4d 44 49 52 3d 24 28  OPTS)..LSMDIR=$(
130e0 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 0a 21 49  TOP)\ext\lsm1.!I
130f0 4e 43 4c 55 44 45 20 24 28 4c 53 4d 44 49 52 29  NCLUDE $(LSMDIR)
13100 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 0a 0a 6d  \Makefile.msc..m
13110 6f 72 65 63 6c 65 61 6e 3a 09 63 6c 65 61 6e 0a  oreclean:.clean.
13120 09 64 65 6c 20 2f 51 20 24 28 53 51 4c 49 54 45  .del /Q $(SQLITE
13130 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 20  3C) $(SQLITE3H) 
13140 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  2>NUL.# <</mark>
13150 3e 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65 6c 20 2f  >..clean:..del /
13160 51 20 2a 2e 65 78 70 20 2a 2e 6c 6f 20 2a 2e 69  Q *.exp *.lo *.i
13170 6c 6b 20 2a 2e 6c 69 62 20 2a 2e 6f 62 6a 20 2a  lk *.lib *.obj *
13180 2e 6e 63 62 20 2a 2e 70 64 62 20 2a 2e 73 64 66  .ncb *.pdb *.sdf
13190 20 2a 2e 73 75 6f 20 32 3e 4e 55 4c 0a 09 64 65   *.suo 2>NUL..de
131a0 6c 20 2f 51 20 2a 2e 62 73 63 20 2a 2e 64 65 66  l /Q *.bsc *.def
131b0 20 2a 2e 63 6f 64 20 2a 2e 64 61 20 2a 2e 62 62   *.cod *.da *.bb
131c0 20 2a 2e 62 62 67 20 2a 2e 76 63 20 67 6d 6f 6e   *.bbg *.vc gmon
131d0 2e 6f 75 74 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .out 2>NUL..del 
131e0 2f 51 20 24 28 53 51 4c 49 54 45 33 45 58 45 29  /Q $(SQLITE3EXE)
131f0 20 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 20 52   $(SQLITE3DLL) R
13200 65 70 6c 61 63 65 2e 65 78 65 20 32 3e 4e 55 4c  eplace.exe 2>NUL
13210 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 09 64 65 6c  .# <<mark>>..del
13220 20 2f 51 20 24 28 53 51 4c 49 54 45 33 54 43 4c   /Q $(SQLITE3TCL
13230 44 4c 4c 29 20 70 6b 67 49 6e 64 65 78 2e 74 63  DLL) pkgIndex.tc
13240 6c 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  l 2>NUL..del /Q 
13250 6f 70 63 6f 64 65 73 2e 63 20 6f 70 63 6f 64 65  opcodes.c opcode
13260 73 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  s.h 2>NUL..del /
13270 51 20 6c 65 6d 6f 6e 2e 2a 20 6c 65 6d 70 61 72  Q lemon.* lempar
13280 2e 63 20 70 61 72 73 65 2e 2a 20 32 3e 4e 55 4c  .c parse.* 2>NUL
13290 0a 09 64 65 6c 20 2f 51 20 6d 6b 73 6f 75 72 63  ..del /Q mksourc
132a0 65 69 64 2e 2a 20 6d 6b 6b 65 79 77 6f 72 64 68  eid.* mkkeywordh
132b0 61 73 68 2e 2a 20 6b 65 79 77 6f 72 64 68 61 73  ash.* keywordhas
132c0 68 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  h.h 2>NUL..del /
132d0 51 20 6e 6f 74 61 73 68 61 72 65 64 6c 69 62 2e  Q notasharedlib.
132e0 2a 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20  * 2>NUL..-rmdir 
132f0 2f 51 2f 53 20 2e 64 65 70 73 20 32 3e 4e 55 4c  /Q/S .deps 2>NUL
13300 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e 6c  ..-rmdir /Q/S .l
13310 69 62 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69  ibs 2>NUL..-rmdi
13320 72 20 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e 55  r /Q/S tsrc 2>NU
13330 4c 0a 09 64 65 6c 20 2f 51 20 2e 74 61 72 67 65  L..del /Q .targe
13340 74 5f 73 6f 75 72 63 65 20 32 3e 4e 55 4c 0a 09  t_source 2>NUL..
13350 64 65 6c 20 2f 51 20 74 63 6c 73 71 6c 69 74 65  del /Q tclsqlite
13360 33 2e 65 78 65 20 24 28 53 51 4c 49 54 45 54 43  3.exe $(SQLITETC
13370 4c 48 29 20 24 28 53 51 4c 49 54 45 54 43 4c 44  LH) $(SQLITETCLD
13380 45 43 4c 53 48 29 20 32 3e 4e 55 4c 0a 09 64 65  ECLSH) 2>NUL..de
13390 6c 20 2f 51 20 6c 73 6d 2e 64 6c 6c 20 6c 73 6d  l /Q lsm.dll lsm
133a0 74 65 73 74 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  test.exe 2>NUL..
133b0 64 65 6c 20 2f 51 20 74 65 73 74 6c 6f 61 64 65  del /Q testloade
133c0 78 74 2e 64 6c 6c 20 32 3e 4e 55 4c 0a 09 64 65  xt.dll 2>NUL..de
133d0 6c 20 2f 51 20 74 65 73 74 66 69 78 74 75 72 65  l /Q testfixture
133e0 2e 65 78 65 20 74 65 73 74 2e 64 62 20 32 3e 4e  .exe test.db 2>N
133f0 55 4c 0a 09 64 65 6c 20 2f 51 20 4c 6f 67 45 73  UL..del /Q LogEs
13400 74 2e 65 78 65 20 66 74 73 33 76 69 65 77 2e 65  t.exe fts3view.e
13410 78 65 20 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74  xe rollback-test
13420 2e 65 78 65 20 73 68 6f 77 64 62 2e 65 78 65 20  .exe showdb.exe 
13430 64 62 64 75 6d 70 2e 65 78 65 20 32 3e 4e 55 4c  dbdump.exe 2>NUL
13440 0a 09 64 65 6c 20 2f 51 20 63 68 61 6e 67 65 73  ..del /Q changes
13450 65 74 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65  et.exe 2>NUL..de
13460 6c 20 2f 51 20 73 68 6f 77 6a 6f 75 72 6e 61 6c  l /Q showjournal
13470 2e 65 78 65 20 73 68 6f 77 73 74 61 74 34 2e 65  .exe showstat4.e
13480 78 65 20 73 68 6f 77 77 61 6c 2e 65 78 65 20 73  xe showwal.exe s
13490 70 65 65 64 74 65 73 74 31 2e 65 78 65 20 32 3e  peedtest1.exe 2>
134a0 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65  NUL..del /Q mpte
134b0 73 74 65 72 2e 65 78 65 20 77 6f 72 64 63 6f 75  ster.exe wordcou
134c0 6e 74 2e 65 78 65 20 72 62 75 2e 65 78 65 20 73  nt.exe rbu.exe s
134d0 72 63 63 6b 31 2e 65 78 65 20 32 3e 4e 55 4c 0a  rcck1.exe 2>NUL.
134e0 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 2e  .del /Q sqlite3.
134f0 63 20 73 71 6c 69 74 65 33 2d 2a 2e 63 20 73 71  c sqlite3-*.c sq
13500 6c 69 74 65 33 2e 68 20 32 3e 4e 55 4c 0a 09 64  lite3.h 2>NUL..d
13510 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 72 63 2e  el /Q sqlite3rc.
13520 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  h 2>NUL..del /Q 
13530 73 68 65 6c 6c 2e 63 20 73 71 6c 69 74 65 33 65  shell.c sqlite3e
13540 78 74 2e 68 20 73 71 6c 69 74 65 33 73 65 73 73  xt.h sqlite3sess
13550 69 6f 6e 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c  ion.h 2>NUL..del
13560 20 2f 51 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c   /Q sqlite3_anal
13570 79 7a 65 72 2e 65 78 65 20 73 71 6c 69 74 65 33  yzer.exe sqlite3
13580 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 32 3e 4e 55  _analyzer.c 2>NU
13590 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65  L..del /Q sqlite
135a0 2d 2a 2d 6f 75 74 70 75 74 2e 76 73 69 78 20 32  -*-output.vsix 2
135b0 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 66 75 7a  >NUL..del /Q fuz
135c0 7a 65 72 73 68 65 6c 6c 2e 65 78 65 20 66 75 7a  zershell.exe fuz
135d0 7a 63 68 65 63 6b 2e 65 78 65 20 73 71 6c 64 69  zcheck.exe sqldi
135e0 66 66 2e 65 78 65 20 64 62 68 61 73 68 2e 65 78  ff.exe dbhash.ex
135f0 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q 
13600 73 71 6c 74 63 6c 73 68 2e 2a 20 32 3e 4e 55 4c  sqltclsh.* 2>NUL
13610 0a 09 64 65 6c 20 2f 51 20 64 62 66 75 7a 7a 2e  ..del /Q dbfuzz.
13620 65 78 65 20 73 65 73 73 69 6f 6e 66 75 7a 7a 2e  exe sessionfuzz.
13630 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  exe 2>NUL..del /
13640 51 20 6b 76 74 65 73 74 2e 65 78 65 20 6f 73 73  Q kvtest.exe oss
13650 73 68 65 6c 6c 2e 65 78 65 20 73 63 72 75 62 2e  shell.exe scrub.
13660 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  exe 2>NUL..del /
13670 51 20 73 68 6f 77 73 68 6d 2e 65 78 65 20 73 71  Q showshm.exe sq
13680 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 2a 20  lite3_checker.* 
13690 73 71 6c 69 74 65 33 5f 65 78 70 65 72 74 2e 65  sqlite3_expert.e
136a0 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  xe 2>NUL..del /Q
136b0 20 66 74 73 35 2e 2a 20 66 74 73 35 70 61 72 73   fts5.* fts5pars
136c0 65 2e 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  e.* 2>NUL..del /
136d0 51 20 6c 73 6d 2e 68 20 6c 73 6d 31 2e 63 20 32  Q lsm.h lsm1.c 2
136e0 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  >NUL.# <</mark>>
136f0 0a                                               .