/ Hex Artifact Content
Login

Artifact 3316c2167678383ee52ae9eb4fbb2c307904000c1a39184b1f418fc935ab0f48:


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 4c 54 4c 49 4e 4b 4f  M).!ELSE.LTLINKO
72b0: 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 0a 4c 54  PTS = /NOLOGO.LT
72c0: 4c 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47  LIBOPTS = /NOLOG
72d0: 4f 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e  O.!ENDIF..# When
72e0: 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 75   compiling for u
72f0: 73 65 20 69 6e 20 74 68 65 20 57 69 6e 52 54 20  se in the WinRT 
7300: 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 74 68 65  environment, the
7310: 20 66 6f 6c 6c 6f 77 69 6e 67 0a 23 20 6c 69 6e   following.# lin
7320: 6b 65 72 20 6f 70 74 69 6f 6e 20 6d 75 73 74 20  ker option must 
7330: 62 65 20 75 73 65 64 20 74 6f 20 6d 61 72 6b 20  be used to mark 
7340: 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 61  the executable a
7350: 73 20 72 75 6e 6e 61 62 6c 65 0a 23 20 6f 6e 6c  s runnable.# onl
7360: 79 20 69 6e 20 74 68 65 20 63 6f 6e 74 65 78 74  y in the context
7370: 20 6f 66 20 61 6e 20 61 70 70 6c 69 63 61 74 69   of an applicati
7380: 6f 6e 20 63 6f 6e 74 61 69 6e 65 72 2e 0a 23 0a  on container..#.
7390: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29  !IF $(FOR_WINRT)
73a0: 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  !=0.LTLINKOPTS =
73b0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f   $(LTLINKOPTS) /
73c0: 41 50 50 43 4f 4e 54 41 49 4e 45 52 0a 21 49 46  APPCONTAINER.!IF
73d0: 20 22 24 28 56 49 53 55 41 4c 53 54 55 44 49 4f   "$(VISUALSTUDIO
73e0: 56 45 52 53 49 4f 4e 29 22 3d 3d 22 31 32 2e 30  VERSION)"=="12.0
73f0: 22 20 7c 7c 20 22 24 28 56 49 53 55 41 4c 53 54  " || "$(VISUALST
7400: 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d 22  UDIOVERSION)"=="
7410: 31 34 2e 30 22 0a 21 49 46 4e 44 45 46 20 53 54  14.0".!IFNDEF ST
7420: 4f 52 45 4c 49 42 50 41 54 48 0a 21 49 46 20 22  ORELIBPATH.!IF "
7430: 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78  $(PLATFORM)"=="x
7440: 38 36 22 0a 53 54 4f 52 45 4c 49 42 50 41 54 48  86".STORELIBPATH
7450: 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 29   = $(CRTLIBPATH)
7460: 5c 73 74 6f 72 65 0a 21 45 4c 53 45 49 46 20 22  \store.!ELSEIF "
7470: 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78  $(PLATFORM)"=="x
7480: 36 34 22 0a 53 54 4f 52 45 4c 49 42 50 41 54 48  64".STORELIBPATH
7490: 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 29   = $(CRTLIBPATH)
74a0: 5c 73 74 6f 72 65 5c 61 6d 64 36 34 0a 21 45 4c  \store\amd64.!EL
74b0: 53 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d  SEIF "$(PLATFORM
74c0: 29 22 3d 3d 22 41 52 4d 22 0a 53 54 4f 52 45 4c  )"=="ARM".STOREL
74d0: 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49  IBPATH = $(CRTLI
74e0: 42 50 41 54 48 29 5c 73 74 6f 72 65 5c 61 72 6d  BPATH)\store\arm
74f0: 0a 21 45 4c 53 45 0a 53 54 4f 52 45 4c 49 42 50  .!ELSE.STORELIBP
7500: 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41  ATH = $(CRTLIBPA
7510: 54 48 29 5c 73 74 6f 72 65 0a 21 45 4e 44 49 46  TH)\store.!ENDIF
7520: 0a 21 45 4e 44 49 46 0a 53 54 4f 52 45 4c 49 42  .!ENDIF.STORELIB
7530: 50 41 54 48 20 3d 20 24 28 53 54 4f 52 45 4c 49  PATH = $(STORELI
7540: 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 4c 54 4c 49  BPATH:\\=\).LTLI
7550: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e  NKOPTS = $(LTLIN
7560: 4b 4f 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48  KOPTS) "/LIBPATH
7570: 3a 24 28 53 54 4f 52 45 4c 49 42 50 41 54 48 29  :$(STORELIBPATH)
7580: 22 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  ".!ENDIF.!ENDIF.
7590: 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  .# When compilin
75a0: 67 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 50 68  g for Windows Ph
75b0: 6f 6e 65 20 38 2e 31 2c 20 61 6e 20 65 78 74 72  one 8.1, an extr
75c0: 61 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 69  a library path i
75d0: 73 0a 23 20 72 65 71 75 69 72 65 64 2e 0a 23 0a  s.# required..#.
75e0: 21 49 46 20 24 28 55 53 45 5f 57 50 38 31 5f 4f  !IF $(USE_WP81_O
75f0: 50 54 53 29 21 3d 30 0a 21 49 46 4e 44 45 46 20  PTS)!=0.!IFNDEF 
7600: 57 50 38 31 4c 49 42 50 41 54 48 0a 21 49 46 20  WP81LIBPATH.!IF 
7610: 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22  "$(PLATFORM)"=="
7620: 78 38 36 22 0a 57 50 38 31 4c 49 42 50 41 54 48  x86".WP81LIBPATH
7630: 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45   = $(PROGRAMFILE
7640: 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73 20 50  S_X86)\Windows P
7650: 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c 69  hone Kits\8.1\li
7660: 62 5c 78 38 36 0a 21 45 4c 53 45 49 46 20 22 24  b\x86.!ELSEIF "$
7670: 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 41 52  (PLATFORM)"=="AR
7680: 4d 22 0a 57 50 38 31 4c 49 42 50 41 54 48 20 3d  M".WP81LIBPATH =
7690: 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f   $(PROGRAMFILES_
76a0: 58 38 36 29 5c 57 69 6e 64 6f 77 73 20 50 68 6f  X86)\Windows Pho
76b0: 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62 5c  ne Kits\8.1\lib\
76c0: 41 52 4d 0a 21 45 4c 53 45 0a 57 50 38 31 4c 49  ARM.!ELSE.WP81LI
76d0: 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41  BPATH = $(PROGRA
76e0: 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64  MFILES_X86)\Wind
76f0: 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38  ows Phone Kits\8
7700: 2e 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4e 44 49  .1\lib\x86.!ENDI
7710: 46 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  F.!ENDIF.!ENDIF.
7720: 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  .# When compilin
7730: 67 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 50 68  g for Windows Ph
7740: 6f 6e 65 20 38 2e 31 2c 20 73 6f 6d 65 20 65 78  one 8.1, some ex
7750: 74 72 61 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f  tra linker optio
7760: 6e 73 0a 23 20 61 72 65 20 61 6c 73 6f 20 72 65  ns.# are also re
7770: 71 75 69 72 65 64 2e 0a 23 0a 21 49 46 20 24 28  quired..#.!IF $(
7780: 55 53 45 5f 57 50 38 31 5f 4f 50 54 53 29 21 3d  USE_WP81_OPTS)!=
7790: 30 0a 21 49 46 44 45 46 20 57 50 38 31 4c 49 42  0.!IFDEF WP81LIB
77a0: 50 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  PATH.LTLINKOPTS 
77b0: 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  = $(LTLINKOPTS) 
77c0: 22 2f 4c 49 42 50 41 54 48 3a 24 28 57 50 38 31  "/LIBPATH:$(WP81
77d0: 4c 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46  LIBPATH)".!ENDIF
77e0: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $(
77f0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 44 59 4e  LTLINKOPTS) /DYN
7800: 41 4d 49 43 42 41 53 45 0a 4c 54 4c 49 4e 4b 4f  AMICBASE.LTLINKO
7810: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50  PTS = $(LTLINKOP
7820: 54 53 29 20 57 69 6e 64 6f 77 73 50 68 6f 6e 65  TS) WindowsPhone
7830: 43 6f 72 65 2e 6c 69 62 20 52 75 6e 74 69 6d 65  Core.lib Runtime
7840: 4f 62 6a 65 63 74 2e 6c 69 62 20 50 68 6f 6e 65  Object.lib Phone
7850: 41 70 70 4d 6f 64 65 6c 48 6f 73 74 2e 6c 69 62  AppModelHost.lib
7860: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $(
7870: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44  LTLINKOPTS) /NOD
7880: 45 46 41 55 4c 54 4c 49 42 3a 6b 65 72 6e 65 6c  EFAULTLIB:kernel
7890: 33 32 2e 6c 69 62 20 2f 4e 4f 44 45 46 41 55 4c  32.lib /NODEFAUL
78a0: 54 4c 49 42 3a 6f 6c 65 33 32 2e 6c 69 62 0a 21  TLIB:ole32.lib.!
78b0: 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f  ENDIF..# When co
78c0: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 55 57 50 20  mpiling for UWP 
78d0: 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 31  or the Windows 1
78e0: 30 20 70 6c 61 74 66 6f 72 6d 2c 20 73 6f 6d 65  0 platform, some
78f0: 20 65 78 74 72 61 20 6c 69 6e 6b 65 72 0a 23 20   extra linker.# 
7900: 6f 70 74 69 6f 6e 73 20 61 72 65 20 61 6c 73 6f  options are also
7910: 20 72 65 71 75 69 72 65 64 2e 0a 23 0a 21 49 46   required..#.!IF
7920: 20 24 28 46 4f 52 5f 55 57 50 29 21 3d 30 20 7c   $(FOR_UWP)!=0 |
7930: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
7940: 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24  0.LTLINKOPTS = $
7950: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 44 59  (LTLINKOPTS) /DY
7960: 4e 41 4d 49 43 42 41 53 45 20 2f 4e 4f 44 45 46  NAMICBASE /NODEF
7970: 41 55 4c 54 4c 49 42 3a 6b 65 72 6e 65 6c 33 32  AULTLIB:kernel32
7980: 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  .lib.LTLINKOPTS 
7990: 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  = $(LTLINKOPTS) 
79a0: 6d 69 6e 63 6f 72 65 2e 6c 69 62 0a 21 49 46 44  mincore.lib.!IFD
79b0: 45 46 20 50 53 44 4b 4c 49 42 50 41 54 48 0a 4c  EF PSDKLIBPATH.L
79c0: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54  TLINKOPTS = $(LT
79d0: 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 42 50  LINKOPTS) "/LIBP
79e0: 41 54 48 3a 24 28 50 53 44 4b 4c 49 42 50 41 54  ATH:$(PSDKLIBPAT
79f0: 48 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  H)".!ENDIF.!ENDI
7a00: 46 0a 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  F..!IF $(FOR_WIN
7a10: 31 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54  10)!=0.LTLINKOPT
7a20: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS
7a30: 29 20 2f 67 75 61 72 64 3a 63 66 20 22 2f 4c 49  ) /guard:cf "/LI
7a40: 42 50 41 54 48 3a 24 28 55 43 52 54 4c 49 42 50  BPATH:$(UCRTLIBP
7a50: 41 54 48 29 22 0a 21 49 46 20 24 28 44 45 42 55  ATH)".!IF $(DEBU
7a60: 47 29 3e 31 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  G)>1.LTLINKOPTS 
7a70: 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  = $(LTLINKOPTS) 
7a80: 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6c 69  /NODEFAULTLIB:li
7a90: 62 75 63 72 74 64 2e 6c 69 62 20 2f 44 45 46 41  bucrtd.lib /DEFA
7aa0: 55 4c 54 4c 49 42 3a 75 63 72 74 64 2e 6c 69 62  ULTLIB:ucrtd.lib
7ab0: 0a 21 45 4c 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54  .!ELSE.LTLINKOPT
7ac0: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS
7ad0: 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a  ) /NODEFAULTLIB:
7ae0: 6c 69 62 75 63 72 74 2e 6c 69 62 20 2f 44 45 46  libucrt.lib /DEF
7af0: 41 55 4c 54 4c 49 42 3a 75 63 72 74 2e 6c 69 62  AULTLIB:ucrt.lib
7b00: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
7b10: 23 20 49 66 20 65 69 74 68 65 72 20 64 65 62 75  # If either debu
7b20: 67 67 69 6e 67 20 6f 72 20 73 79 6d 62 6f 6c 73  gging or symbols
7b30: 20 61 72 65 20 65 6e 61 62 6c 65 64 2c 20 65 6e   are enabled, en
7b40: 61 62 6c 65 20 50 44 42 73 2e 0a 23 0a 21 49 46  able PDBs..#.!IF
7b50: 20 24 28 44 45 42 55 47 29 3e 31 20 7c 7c 20 24   $(DEBUG)>1 || $
7b60: 28 53 59 4d 42 4f 4c 53 29 21 3d 30 0a 4c 44 46  (SYMBOLS)!=0.LDF
7b70: 4c 41 47 53 20 3d 20 2f 44 45 42 55 47 20 24 28  LAGS = /DEBUG $(
7b80: 4c 44 4f 50 54 53 29 0a 21 45 4c 53 45 0a 4c 44  LDOPTS).!ELSE.LD
7b90: 46 4c 41 47 53 20 3d 20 24 28 4c 44 4f 50 54 53  FLAGS = $(LDOPTS
7ba0: 29 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  ).!ENDIF..# <<ma
7bb0: 72 6b 3e 3e 0a 23 20 53 74 61 72 74 20 77 69 74  rk>>.# Start wit
7bc0: 68 20 74 68 65 20 54 63 6c 20 72 65 6c 61 74 65  h the Tcl relate
7bd0: 64 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73  d linker options
7be0: 2e 0a 23 0a 21 49 46 20 24 28 4e 4f 5f 54 43 4c  ..#.!IF $(NO_TCL
7bf0: 29 3d 3d 30 0a 54 43 4c 4c 49 42 50 41 54 48 53  )==0.TCLLIBPATHS
7c00: 20 3d 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53   = $(TCLLIBPATHS
7c10: 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 54 43 4c  ) /LIBPATH:$(TCL
7c20: 4c 49 42 44 49 52 29 0a 54 43 4c 4c 49 42 53 20  LIBDIR).TCLLIBS 
7c30: 3d 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c  = $(TCLLIBS) $(L
7c40: 49 42 54 43 4c 29 0a 21 45 4e 44 49 46 0a 0a 23  IBTCL).!ENDIF..#
7c50: 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 74   If zlib support
7c60: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64   is enabled, add
7c70: 20 74 68 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69   the linker opti
7c80: 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49  ons for it..#.!I
7c90: 46 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30  F $(USE_ZLIB)!=0
7ca0: 0a 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 24 28  .LTLIBPATHS = $(
7cb0: 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4c 49 42  LTLIBPATHS) /LIB
7cc0: 50 41 54 48 3a 24 28 5a 4c 49 42 4c 49 42 44 49  PATH:$(ZLIBLIBDI
7cd0: 52 29 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c 54  R).LTLIBS = $(LT
7ce0: 4c 49 42 53 29 20 24 28 5a 4c 49 42 4c 49 42 29  LIBS) $(ZLIBLIB)
7cf0: 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 49 43  .!ENDIF..# If IC
7d00: 55 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61  U support is ena
7d10: 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 6c 69  bled, add the li
7d20: 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72  nker options for
7d30: 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45   it..#.!IF $(USE
7d40: 5f 49 43 55 29 21 3d 30 0a 4c 54 4c 49 42 50 41  _ICU)!=0.LTLIBPA
7d50: 54 48 53 20 3d 20 24 28 4c 54 4c 49 42 50 41 54  THS = $(LTLIBPAT
7d60: 48 53 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 49  HS) /LIBPATH:$(I
7d70: 43 55 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42 53  CULIBDIR).LTLIBS
7d80: 20 3d 20 24 28 4c 54 4c 49 42 53 29 20 24 28 4c   = $(LTLIBS) $(L
7d90: 49 42 49 43 55 29 0a 21 45 4e 44 49 46 0a 23 20  IBICU).!ENDIF.# 
7da0: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 59 6f 75  <</mark>>..# You
7db0: 20 73 68 6f 75 6c 64 20 6e 6f 74 20 68 61 76 65   should not have
7dc0: 20 74 6f 20 63 68 61 6e 67 65 20 61 6e 79 74 68   to change anyth
7dd0: 69 6e 67 20 62 65 6c 6f 77 20 74 68 69 73 20 6c  ing below this l
7de0: 69 6e 65 0a 23 23 23 23 23 23 23 23 23 23 23 23  ine.############
7df0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7e00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7e10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7e20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7e30: 23 23 23 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  ###..# <<mark>>.
7e40: 23 20 4f 62 6a 65 63 74 20 66 69 6c 65 73 20 66  # Object files f
7e50: 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 6c 69  or the SQLite li
7e60: 62 72 61 72 79 20 28 6e 6f 6e 2d 61 6d 61 6c 67  brary (non-amalg
7e70: 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a 4c 49 42 4f  amation)..#.LIBO
7e80: 42 4a 53 30 20 3d 20 76 64 62 65 2e 6c 6f 20 70  BJS0 = vdbe.lo p
7e90: 61 72 73 65 2e 6c 6f 20 61 6c 74 65 72 2e 6c 6f  arse.lo alter.lo
7ea0: 20 61 6e 61 6c 79 7a 65 2e 6c 6f 20 61 74 74 61   analyze.lo atta
7eb0: 63 68 2e 6c 6f 20 61 75 74 68 2e 6c 6f 20 5c 0a  ch.lo auth.lo \.
7ec0: 20 20 20 20 20 20 20 20 20 62 61 63 6b 75 70 2e           backup.
7ed0: 6c 6f 20 62 69 74 76 65 63 2e 6c 6f 20 62 74 6d  lo bitvec.lo btm
7ee0: 75 74 65 78 2e 6c 6f 20 62 74 72 65 65 2e 6c 6f  utex.lo btree.lo
7ef0: 20 62 75 69 6c 64 2e 6c 6f 20 5c 0a 20 20 20 20   build.lo \.    
7f00: 20 20 20 20 20 63 61 6c 6c 62 61 63 6b 2e 6c 6f       callback.lo
7f10: 20 63 6f 6d 70 6c 65 74 65 2e 6c 6f 20 63 74 69   complete.lo cti
7f20: 6d 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  me.lo \.        
7f30: 20 64 61 74 65 2e 6c 6f 20 64 62 70 61 67 65 2e   date.lo dbpage.
7f40: 6c 6f 20 64 62 73 74 61 74 2e 6c 6f 20 64 65 6c  lo dbstat.lo del
7f50: 65 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ete.lo \.       
7f60: 20 20 65 78 70 72 2e 6c 6f 20 66 61 75 6c 74 2e    expr.lo fault.
7f70: 6c 6f 20 66 6b 65 79 2e 6c 6f 20 5c 0a 20 20 20  lo fkey.lo \.   
7f80: 20 20 20 20 20 20 66 74 73 33 2e 6c 6f 20 66 74        fts3.lo ft
7f90: 73 33 5f 61 75 78 2e 6c 6f 20 66 74 73 33 5f 65  s3_aux.lo fts3_e
7fa0: 78 70 72 2e 6c 6f 20 66 74 73 33 5f 68 61 73 68  xpr.lo fts3_hash
7fb0: 2e 6c 6f 20 66 74 73 33 5f 69 63 75 2e 6c 6f 20  .lo fts3_icu.lo 
7fc0: 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 5f  \.         fts3_
7fd0: 70 6f 72 74 65 72 2e 6c 6f 20 66 74 73 33 5f 73  porter.lo fts3_s
7fe0: 6e 69 70 70 65 74 2e 6c 6f 20 66 74 73 33 5f 74  nippet.lo fts3_t
7ff0: 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 20 66 74 73 33  okenizer.lo fts3
8000: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 20 5c  _tokenizer1.lo \
8010: 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 5f 74  .         fts3_t
8020: 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f 20  okenize_vtab.lo 
8030: 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 20  fts3_unicode.lo 
8040: 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f  fts3_unicode2.lo
8050: 20 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f 20 5c   fts3_write.lo \
8060: 0a 20 20 20 20 20 20 20 20 20 66 74 73 35 2e 6c  .         fts5.l
8070: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 75 6e  o \.         fun
8080: 63 2e 6c 6f 20 67 6c 6f 62 61 6c 2e 6c 6f 20 68  c.lo global.lo h
8090: 61 73 68 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ash.lo \.       
80a0: 20 20 69 63 75 2e 6c 6f 20 69 6e 73 65 72 74 2e    icu.lo insert.
80b0: 6c 6f 20 6a 73 6f 6e 31 2e 6c 6f 20 6c 65 67 61  lo json1.lo lega
80c0: 63 79 2e 6c 6f 20 6c 6f 61 64 65 78 74 2e 6c 6f  cy.lo loadext.lo
80d0: 20 5c 0a 20 20 20 20 20 20 20 20 20 6d 61 69 6e   \.         main
80e0: 2e 6c 6f 20 6d 61 6c 6c 6f 63 2e 6c 6f 20 6d 65  .lo malloc.lo me
80f0: 6d 30 2e 6c 6f 20 6d 65 6d 31 2e 6c 6f 20 6d 65  m0.lo mem1.lo me
8100: 6d 32 2e 6c 6f 20 6d 65 6d 33 2e 6c 6f 20 6d 65  m2.lo mem3.lo me
8110: 6d 35 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  m5.lo \.        
8120: 20 6d 65 6d 64 62 2e 6c 6f 20 6d 65 6d 6a 6f 75   memdb.lo memjou
8130: 72 6e 61 6c 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  rnal.lo \.      
8140: 20 20 20 6d 75 74 65 78 2e 6c 6f 20 6d 75 74 65     mutex.lo mute
8150: 78 5f 6e 6f 6f 70 2e 6c 6f 20 6d 75 74 65 78 5f  x_noop.lo mutex_
8160: 75 6e 69 78 2e 6c 6f 20 6d 75 74 65 78 5f 77 33  unix.lo mutex_w3
8170: 32 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  2.lo \.         
8180: 6e 6f 74 69 66 79 2e 6c 6f 20 6f 70 63 6f 64 65  notify.lo opcode
8190: 73 2e 6c 6f 20 6f 73 2e 6c 6f 20 6f 73 5f 75 6e  s.lo os.lo os_un
81a0: 69 78 2e 6c 6f 20 6f 73 5f 77 69 6e 2e 6c 6f 20  ix.lo os_win.lo 
81b0: 5c 0a 20 20 20 20 20 20 20 20 20 70 61 67 65 72  \.         pager
81c0: 2e 6c 6f 20 70 63 61 63 68 65 2e 6c 6f 20 70 63  .lo pcache.lo pc
81d0: 61 63 68 65 31 2e 6c 6f 20 70 72 61 67 6d 61 2e  ache1.lo pragma.
81e0: 6c 6f 20 70 72 65 70 61 72 65 2e 6c 6f 20 70 72  lo prepare.lo pr
81f0: 69 6e 74 66 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  intf.lo \.      
8200: 20 20 20 72 61 6e 64 6f 6d 2e 6c 6f 20 72 65 73     random.lo res
8210: 6f 6c 76 65 2e 6c 6f 20 72 6f 77 73 65 74 2e 6c  olve.lo rowset.l
8220: 6f 20 72 74 72 65 65 2e 6c 6f 20 5c 0a 20 20 20  o rtree.lo \.   
8230: 20 20 20 20 20 20 73 71 6c 69 74 65 33 73 65 73        sqlite3ses
8240: 73 69 6f 6e 2e 6c 6f 20 73 65 6c 65 63 74 2e 6c  sion.lo select.l
8250: 6f 20 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f 20  o sqlite3rbu.lo 
8260: 73 74 61 74 75 73 2e 6c 6f 20 73 74 6d 74 2e 6c  status.lo stmt.l
8270: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 74 61 62  o \.         tab
8280: 6c 65 2e 6c 6f 20 74 68 72 65 61 64 73 2e 6c 6f  le.lo threads.lo
8290: 20 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 20 74 72 65   tokenize.lo tre
82a0: 65 76 69 65 77 2e 6c 6f 20 74 72 69 67 67 65 72  eview.lo trigger
82b0: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 75  .lo \.         u
82c0: 70 64 61 74 65 2e 6c 6f 20 75 70 73 65 72 74 2e  pdate.lo upsert.
82d0: 6c 6f 20 75 74 69 6c 2e 6c 6f 20 76 61 63 75 75  lo util.lo vacuu
82e0: 6d 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  m.lo \.         
82f0: 76 64 62 65 61 70 69 2e 6c 6f 20 76 64 62 65 61  vdbeapi.lo vdbea
8300: 75 78 2e 6c 6f 20 76 64 62 65 62 6c 6f 62 2e 6c  ux.lo vdbeblob.l
8310: 6f 20 76 64 62 65 6d 65 6d 2e 6c 6f 20 76 64 62  o vdbemem.lo vdb
8320: 65 73 6f 72 74 2e 6c 6f 20 5c 0a 20 20 20 20 20  esort.lo \.     
8330: 20 20 20 20 76 64 62 65 74 72 61 63 65 2e 6c 6f      vdbetrace.lo
8340: 20 77 61 6c 2e 6c 6f 20 77 61 6c 6b 65 72 2e 6c   wal.lo walker.l
8350: 6f 20 77 68 65 72 65 2e 6c 6f 20 77 68 65 72 65  o where.lo where
8360: 63 6f 64 65 2e 6c 6f 20 77 68 65 72 65 65 78 70  code.lo whereexp
8370: 72 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  r.lo \.         
8380: 77 69 6e 64 6f 77 2e 6c 6f 20 75 74 66 2e 6c 6f  window.lo utf.lo
8390: 20 76 74 61 62 2e 6c 6f 0a 23 20 3c 3c 2f 6d 61   vtab.lo.# <</ma
83a0: 72 6b 3e 3e 0a 0a 23 20 4f 62 6a 65 63 74 20 66  rk>>..# Object f
83b0: 69 6c 65 73 20 66 6f 72 20 74 68 65 20 61 6d 61  iles for the ama
83c0: 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23 0a 4c 49 42  lgamation..#.LIB
83d0: 4f 42 4a 53 31 20 3d 20 73 71 6c 69 74 65 33 2e  OBJS1 = sqlite3.
83e0: 6c 6f 0a 0a 23 20 44 65 74 65 72 6d 69 6e 65 20  lo..# Determine 
83f0: 74 68 65 20 72 65 61 6c 20 76 61 6c 75 65 20 6f  the real value o
8400: 66 20 4c 49 42 4f 42 4a 20 62 61 73 65 64 20 6f  f LIBOBJ based o
8410: 6e 20 74 68 65 20 27 63 6f 6e 66 69 67 75 72 65  n the 'configure
8420: 27 20 73 63 72 69 70 74 0a 23 0a 23 20 3c 3c 6d  ' script.#.# <<m
8430: 61 72 6b 3e 3e 0a 21 49 46 20 24 28 55 53 45 5f  ark>>.!IF $(USE_
8440: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30  AMALGAMATION)==0
8450: 0a 4c 49 42 4f 42 4a 20 3d 20 24 28 4c 49 42 4f  .LIBOBJ = $(LIBO
8460: 42 4a 53 30 29 0a 21 45 4c 53 45 0a 23 20 3c 3c  BJS0).!ELSE.# <<
8470: 2f 6d 61 72 6b 3e 3e 0a 4c 49 42 4f 42 4a 20 3d  /mark>>.LIBOBJ =
8480: 20 24 28 4c 49 42 4f 42 4a 53 31 29 0a 23 20 3c   $(LIBOBJS1).# <
8490: 3c 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 23  <mark>>.!ENDIF.#
84a0: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65   <</mark>>..# De
84b0: 74 65 72 6d 69 6e 65 20 69 66 20 65 6d 62 65 64  termine if embed
84c0: 64 65 64 20 72 65 73 6f 75 72 63 65 20 63 6f 6d  ded resource com
84d0: 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 75 73 61  pilation and usa
84e0: 67 65 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a  ge are enabled..
84f0: 23 0a 21 49 46 20 24 28 55 53 45 5f 52 43 29 21  #.!IF $(USE_RC)!
8500: 3d 30 0a 4c 49 42 52 45 53 4f 42 4a 53 20 3d 20  =0.LIBRESOBJS = 
8510: 73 71 6c 69 74 65 33 72 65 73 2e 6c 6f 0a 21 45  sqlite3res.lo.!E
8520: 4c 53 45 0a 4c 49 42 52 45 53 4f 42 4a 53 20 3d  LSE.LIBRESOBJS =
8530: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72  .!ENDIF..# <<mar
8540: 6b 3e 3e 0a 23 20 43 6f 72 65 20 73 6f 75 72 63  k>>.# Core sourc
8550: 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61  e code files, pa
8560: 72 74 20 31 2e 0a 23 0a 53 52 43 30 30 20 3d 20  rt 1..#.SRC00 = 
8570: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61  \.  $(TOP)\src\a
8580: 6c 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  lter.c \.  $(TOP
8590: 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20  )\src\analyze.c 
85a0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61  \.  $(TOP)\src\a
85b0: 74 74 61 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f  ttach.c \.  $(TO
85c0: 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 20 5c 0a  P)\src\auth.c \.
85d0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 61 63    $(TOP)\src\bac
85e0: 6b 75 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  kup.c \.  $(TOP)
85f0: 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 20 5c 0a  \src\bitvec.c \.
8600: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d    $(TOP)\src\btm
8610: 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50  utex.c \.  $(TOP
8620: 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 20 5c 0a  )\src\btree.c \.
8630: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 75 69    $(TOP)\src\bui
8640: 6c 64 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ld.c \.  $(TOP)\
8650: 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 20 5c  src\callback.c \
8660: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f  .  $(TOP)\src\co
8670: 6d 70 6c 65 74 65 2e 63 20 5c 0a 20 20 24 28 54  mplete.c \.  $(T
8680: 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20  OP)\src\ctime.c 
8690: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 64  \.  $(TOP)\src\d
86a0: 61 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ate.c \.  $(TOP)
86b0: 5c 73 72 63 5c 64 62 70 61 67 65 2e 63 20 5c 0a  \src\dbpage.c \.
86c0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73    $(TOP)\src\dbs
86d0: 74 61 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tat.c \.  $(TOP)
86e0: 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63 20 5c 0a  \src\delete.c \.
86f0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70    $(TOP)\src\exp
8700: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  r.c \.  $(TOP)\s
8710: 72 63 5c 66 61 75 6c 74 2e 63 20 5c 0a 20 20 24  rc\fault.c \.  $
8720: 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63  (TOP)\src\fkey.c
8730: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8740: 66 75 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50  func.c \.  $(TOP
8750: 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 20 5c  )\src\global.c \
8760: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61  .  $(TOP)\src\ha
8770: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.c \.  $(TOP)\
8780: 73 72 63 5c 69 6e 73 65 72 74 2e 63 20 5c 0a 20  src\insert.c \. 
8790: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61   $(TOP)\src\lega
87a0: 63 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  cy.c \.  $(TOP)\
87b0: 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 20 5c 0a  src\loadext.c \.
87c0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69    $(TOP)\src\mai
87d0: 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  n.c \.  $(TOP)\s
87e0: 72 63 5c 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20  rc\malloc.c \.  
87f0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e  $(TOP)\src\mem0.
8800: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8810: 5c 6d 65 6d 31 2e 63 20 5c 0a 20 20 24 28 54 4f  \mem1.c \.  $(TO
8820: 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 20 5c 0a  P)\src\mem2.c \.
8830: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d    $(TOP)\src\mem
8840: 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  3.c \.  $(TOP)\s
8850: 72 63 5c 6d 65 6d 35 2e 63 20 5c 0a 20 20 24 28  rc\mem5.c \.  $(
8860: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 64 62 2e 63  TOP)\src\memdb.c
8870: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8880: 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20  memjournal.c \. 
8890: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65   $(TOP)\src\mute
88a0: 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  x.c \.  $(TOP)\s
88b0: 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20  rc\mutex_noop.c 
88c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
88d0: 75 74 65 78 5f 75 6e 69 78 2e 63 20 5c 0a 20 20  utex_unix.c \.  
88e0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex
88f0: 5f 77 33 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50  _w32.c \.  $(TOP
8900: 29 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63 20 5c  )\src\notify.c \
8910: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  .  $(TOP)\src\os
8920: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8930: 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 5c 0a 20 20  c\os_unix.c \.  
8940: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69  $(TOP)\src\os_wi
8950: 6e 2e 63 0a 0a 23 20 43 6f 72 65 20 73 6f 75 72  n.c..# Core sour
8960: 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70  ce code files, p
8970: 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 31 20 3d  art 2..#.SRC01 =
8980: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8990: 70 61 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  pager.c \.  $(TO
89a0: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 20  P)\src\pcache.c 
89b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  \.  $(TOP)\src\p
89c0: 63 61 63 68 65 31 2e 63 20 5c 0a 20 20 24 28 54  cache1.c \.  $(T
89d0: 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63  OP)\src\pragma.c
89e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
89f0: 70 72 65 70 61 72 65 2e 63 20 5c 0a 20 20 24 28  prepare.c \.  $(
8a00: 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e  TOP)\src\printf.
8a10: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8a20: 5c 72 61 6e 64 6f 6d 2e 63 20 5c 0a 20 20 24 28  \random.c \.  $(
8a30: 54 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65  TOP)\src\resolve
8a40: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8a50: 63 5c 72 6f 77 73 65 74 2e 63 20 5c 0a 20 20 24  c\rowset.c \.  $
8a60: 28 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74  (TOP)\src\select
8a70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8a80: 63 5c 73 74 61 74 75 73 2e 63 20 5c 0a 20 20 24  c\status.c \.  $
8a90: 28 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e  (TOP)\src\table.
8aa0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8ab0: 5c 74 68 72 65 61 64 73 2e 63 20 5c 0a 20 20 24  \threads.c \.  $
8ac0: 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c  (TOP)\src\tclsql
8ad0: 69 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ite.c \.  $(TOP)
8ae0: 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20  \src\tokenize.c 
8af0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8b00: 72 65 65 76 69 65 77 2e 63 20 5c 0a 20 20 24 28  reeview.c \.  $(
8b10: 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72  TOP)\src\trigger
8b20: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8b30: 63 5c 75 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f  c\utf.c \.  $(TO
8b40: 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 20  P)\src\update.c 
8b50: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75  \.  $(TOP)\src\u
8b60: 70 73 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f  psert.c \.  $(TO
8b70: 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 20 5c 0a  P)\src\util.c \.
8b80: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63    $(TOP)\src\vac
8b90: 75 75 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  uum.c \.  $(TOP)
8ba0: 5c 73 72 63 5c 76 64 62 65 2e 63 20 5c 0a 20 20  \src\vdbe.c \.  
8bb0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61  $(TOP)\src\vdbea
8bc0: 70 69 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  pi.c \.  $(TOP)\
8bd0: 73 72 63 5c 76 64 62 65 61 75 78 2e 63 20 5c 0a  src\vdbeaux.c \.
8be0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62    $(TOP)\src\vdb
8bf0: 65 62 6c 6f 62 2e 63 20 5c 0a 20 20 24 28 54 4f  eblob.c \.  $(TO
8c00: 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63  P)\src\vdbemem.c
8c10: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8c20: 76 64 62 65 73 6f 72 74 2e 63 20 5c 0a 20 20 24  vdbesort.c \.  $
8c30: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72  (TOP)\src\vdbetr
8c40: 61 63 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ace.c \.  $(TOP)
8c50: 5c 73 72 63 5c 76 74 61 62 2e 63 20 5c 0a 20 20  \src\vtab.c \.  
8c60: 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63  $(TOP)\src\wal.c
8c70: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8c80: 77 61 6c 6b 65 72 2e 63 20 5c 0a 20 20 24 28 54  walker.c \.  $(T
8c90: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 20  OP)\src\where.c 
8ca0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77  \.  $(TOP)\src\w
8cb0: 68 65 72 65 63 6f 64 65 2e 63 20 5c 0a 20 20 24  herecode.c \.  $
8cc0: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 65  (TOP)\src\wheree
8cd0: 78 70 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  xpr.c \.  $(TOP)
8ce0: 5c 73 72 63 5c 77 69 6e 64 6f 77 2e 63 0a 0a 23  \src\window.c..#
8cf0: 20 43 6f 72 65 20 6d 69 73 63 65 6c 6c 61 6e 65   Core miscellane
8d00: 6f 75 73 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43  ous files..#.SRC
8d10: 30 33 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c  03 = \.  $(TOP)\
8d20: 73 72 63 5c 70 61 72 73 65 2e 79 0a 0a 23 20 43  src\parse.y..# C
8d30: 6f 72 65 20 68 65 61 64 65 72 20 66 69 6c 65 73  ore header files
8d40: 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 30  , part 1..#.SRC0
8d50: 34 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  4 = \.  $(TOP)\s
8d60: 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 24  rc\btree.h \.  $
8d70: 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 49  (TOP)\src\btreeI
8d80: 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  nt.h \.  $(TOP)\
8d90: 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20 24  src\hash.h \.  $
8da0: 28 54 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d 65  (TOP)\src\hwtime
8db0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
8dc0: 63 5c 6d 73 76 63 2e 68 20 5c 0a 20 20 24 28 54  c\msvc.h \.  $(T
8dd0: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 68 20  OP)\src\mutex.h 
8de0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f  \.  $(TOP)\src\o
8df0: 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  s.h \.  $(TOP)\s
8e00: 72 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c  rc\os_common.h \
8e10: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  .  $(TOP)\src\os
8e20: 5f 73 65 74 75 70 2e 68 20 5c 0a 20 20 24 28 54  _setup.h \.  $(T
8e30: 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 68  OP)\src\os_win.h
8e40: 0a 0a 23 20 43 6f 72 65 20 68 65 61 64 65 72 20  ..# Core header 
8e50: 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23  files, part 2..#
8e60: 0a 53 52 43 30 35 20 3d 20 5c 0a 20 20 24 28 54  .SRC05 = \.  $(T
8e70: 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 20  OP)\src\pager.h 
8e80: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  \.  $(TOP)\src\p
8e90: 63 61 63 68 65 2e 68 20 5c 0a 20 20 24 28 54 4f  cache.h \.  $(TO
8ea0: 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68 20  P)\src\pragma.h 
8eb0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s
8ec0: 71 6c 69 74 65 2e 68 2e 69 6e 20 5c 0a 20 20 24  qlite.h.in \.  $
8ed0: 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65  (TOP)\src\sqlite
8ee0: 33 65 78 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50  3ext.h \.  $(TOP
8ef0: 29 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e  )\src\sqliteInt.
8f00: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
8f10: 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c  \sqliteLimit.h \
8f20: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  .  $(TOP)\src\vd
8f30: 62 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  be.h \.  $(TOP)\
8f40: 73 72 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a  src\vdbeInt.h \.
8f50: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 78 77    $(TOP)\src\vxw
8f60: 6f 72 6b 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50  orks.h \.  $(TOP
8f70: 29 5c 73 72 63 5c 77 61 6c 2e 68 20 5c 0a 20 20  )\src\wal.h \.  
8f80: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where
8f90: 49 6e 74 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69  Int.h..# Extensi
8fa0: 6f 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  on source code f
8fb0: 69 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a  iles, part 1..#.
8fc0: 53 52 43 30 36 20 3d 20 5c 0a 20 20 24 28 54 4f  SRC06 = \.  $(TO
8fd0: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
8fe0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8ff0: 74 5c 66 74 73 31 5c 66 74 73 31 5f 68 61 73 68  t\fts1\fts1_hash
9000: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9010: 74 5c 66 74 73 31 5c 66 74 73 31 5f 70 6f 72 74  t\fts1\fts1_port
9020: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\
9030: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f  ext\fts1\fts1_to
9040: 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24  kenizer1.c \.  $
9050: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
9060: 74 73 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ts2.c \.  $(TOP)
9070: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68  \ext\fts2\fts2_h
9080: 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ash.c \.  $(TOP)
9090: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 69  \ext\fts2\fts2_i
90a0: 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  cu.c \.  $(TOP)\
90b0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f  ext\fts2\fts2_po
90c0: 72 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  rter.c \.  $(TOP
90d0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
90e0: 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20  tokenizer.c \.  
90f0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
9100: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts2_tokenizer1.
9110: 63 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 73  c..# Extension s
9120: 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73  ource code files
9130: 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30  , part 2..#.SRC0
9140: 37 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  7 = \.  $(TOP)\e
9150: 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 20 5c  xt\fts3\fts3.c \
9160: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
9170: 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 20 5c 0a  s3\fts3_aux.c \.
9180: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
9190: 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 20 5c 0a  3\fts3_expr.c \.
91a0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
91b0: 33 5c 66 74 73 33 5f 68 61 73 68 2e 63 20 5c 0a  3\fts3_hash.c \.
91c0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
91d0: 33 5c 66 74 73 33 5f 69 63 75 2e 63 20 5c 0a 20  3\fts3_icu.c \. 
91e0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
91f0: 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 20 5c  \fts3_porter.c \
9200: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
9210: 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e  s3\fts3_snippet.
9220: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9230: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e  \fts3\fts3_token
9240: 69 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  izer.c \.  $(TOP
9250: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
9260: 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20  tokenizer1.c \. 
9270: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
9280: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76  \fts3_tokenize_v
9290: 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tab.c \.  $(TOP)
92a0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75  \ext\fts3\fts3_u
92b0: 6e 69 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54  nicode.c \.  $(T
92c0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
92d0: 33 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20  3_unicode2.c \. 
92e0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
92f0: 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 20 5c 0a  \fts3_write.c \.
9300: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75    $(TOP)\ext\icu
9310: 5c 69 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50  \icu.c \.  $(TOP
9320: 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65  )\ext\rtree\rtre
9330: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  e.c \.  $(TOP)\e
9340: 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74  xt\session\sqlit
9350: 65 33 73 65 73 73 69 6f 6e 2e 63 20 5c 0a 20 20  e3session.c \.  
9360: 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73  $(TOP)\ext\rbu\s
9370: 71 6c 69 74 65 33 72 62 75 2e 63 20 5c 0a 20 20  qlite3rbu.c \.  
9380: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
9390: 6a 73 6f 6e 31 2e 63 20 5c 0a 20 20 24 28 54 4f  json1.c \.  $(TO
93a0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 74 6d 74  P)\ext\misc\stmt
93b0: 2e 63 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20  .c..# Extension 
93c0: 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61  header files, pa
93d0: 72 74 20 31 2e 0a 23 0a 53 52 43 30 38 20 3d 20  rt 1..#.SRC08 = 
93e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
93f0: 74 73 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24  ts1\fts1.h \.  $
9400: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66  (TOP)\ext\fts1\f
9410: 74 73 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24  ts1_hash.h \.  $
9420: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66  (TOP)\ext\fts1\f
9430: 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20  ts1_tokenizer.h 
9440: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9450: 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24  ts2\fts2.h \.  $
9460: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
9470: 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24  ts2_hash.h \.  $
9480: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
9490: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a  ts2_tokenizer.h.
94a0: 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 61  .# Extension hea
94b0: 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20  der files, part 
94c0: 32 2e 0a 23 0a 53 52 43 30 39 20 3d 20 5c 0a 20  2..#.SRC09 = \. 
94d0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
94e0: 5c 66 74 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f  \fts3.h \.  $(TO
94f0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
9500: 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  Int.h \.  $(TOP)
9510: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68  \ext\fts3\fts3_h
9520: 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ash.h \.  $(TOP)
9530: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
9540: 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a 20 20 24  okenizer.h \.  $
9550: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73 71  (TOP)\ext\icu\sq
9560: 6c 69 74 65 69 63 75 2e 68 20 5c 0a 20 20 24 28  liteicu.h \.  $(
9570: 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72  TOP)\ext\rtree\r
9580: 74 72 65 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50  tree.h \.  $(TOP
9590: 29 5c 65 78 74 5c 72 74 72 65 65 5c 67 65 6f 70  )\ext\rtree\geop
95a0: 6f 6c 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  oly.c \.  $(TOP)
95b0: 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33  \ext\rbu\sqlite3
95c0: 72 62 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  rbu.h \.  $(TOP)
95d0: 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c  \ext\session\sql
95e0: 69 74 65 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23  ite3session.h..#
95f0: 20 47 65 6e 65 72 61 74 65 64 20 73 6f 75 72 63   Generated sourc
9600: 65 20 63 6f 64 65 20 66 69 6c 65 73 0a 23 0a 53  e code files.#.S
9610: 52 43 31 30 20 3d 20 5c 0a 20 20 6f 70 63 6f 64  RC10 = \.  opcod
9620: 65 73 2e 63 20 5c 0a 20 20 70 61 72 73 65 2e 63  es.c \.  parse.c
9630: 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20 68 65  ..# Generated he
9640: 61 64 65 72 20 66 69 6c 65 73 0a 23 0a 53 52 43  ader files.#.SRC
9650: 31 31 20 3d 20 5c 0a 20 20 6b 65 79 77 6f 72 64  11 = \.  keyword
9660: 68 61 73 68 2e 68 20 5c 0a 20 20 6f 70 63 6f 64  hash.h \.  opcod
9670: 65 73 2e 68 20 5c 0a 20 20 70 61 72 73 65 2e 68  es.h \.  parse.h
9680: 20 5c 0a 20 20 73 68 65 6c 6c 2e 63 20 5c 0a 20   \.  shell.c \. 
9690: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 0a 23 20   $(SQLITE3H)..# 
96a0: 47 65 6e 65 72 61 74 65 64 20 54 63 6c 20 68 65  Generated Tcl he
96b0: 61 64 65 72 20 66 69 6c 65 73 0a 23 0a 21 49 46  ader files.#.!IF
96c0: 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21   $(USE_STDCALL)!
96d0: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1
96e0: 30 29 21 3d 30 0a 53 52 43 31 32 20 3d 20 5c 0a  0)!=0.SRC12 = \.
96f0: 20 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29 20    $(SQLITETCLH) 
9700: 5c 0a 20 20 24 28 53 51 4c 49 54 45 54 43 4c 44  \.  $(SQLITETCLD
9710: 45 43 4c 53 48 29 0a 21 45 4c 53 45 0a 53 52 43  ECLSH).!ELSE.SRC
9720: 31 32 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 41  12 =.!ENDIF..# A
9730: 6c 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  ll source code f
9740: 69 6c 65 73 2e 0a 23 0a 53 52 43 20 3d 20 24 28  iles..#.SRC = $(
9750: 53 52 43 30 30 29 20 24 28 53 52 43 30 31 29 20  SRC00) $(SRC01) 
9760: 24 28 53 52 43 30 33 29 20 24 28 53 52 43 30 34  $(SRC03) $(SRC04
9770: 29 20 24 28 53 52 43 30 35 29 20 24 28 53 52 43  ) $(SRC05) $(SRC
9780: 30 36 29 20 24 28 53 52 43 30 37 29 20 24 28 53  06) $(SRC07) $(S
9790: 52 43 30 38 29 20 24 28 53 52 43 30 39 29 20 24  RC08) $(SRC09) $
97a0: 28 53 52 43 31 30 29 20 24 28 53 52 43 31 31 29  (SRC10) $(SRC11)
97b0: 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f 64 65 20  ..# Source code 
97c0: 74 6f 20 74 68 65 20 74 65 73 74 20 66 69 6c 65  to the test file
97d0: 73 2e 0a 23 0a 54 45 53 54 53 52 43 20 3d 20 5c  s..#.TESTSRC = \
97e0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
97f0: 73 74 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  st1.c \.  $(TOP)
9800: 5c 73 72 63 5c 74 65 73 74 32 2e 63 20 5c 0a 20  \src\test2.c \. 
9810: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
9820: 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  3.c \.  $(TOP)\s
9830: 72 63 5c 74 65 73 74 34 2e 63 20 5c 0a 20 20 24  rc\test4.c \.  $
9840: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 35 2e  (TOP)\src\test5.
9850: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9860: 5c 74 65 73 74 36 2e 63 20 5c 0a 20 20 24 28 54  \test6.c \.  $(T
9870: 4f 50 29 5c 73 72 63 5c 74 65 73 74 37 2e 63 20  OP)\src\test7.c 
9880: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9890: 65 73 74 38 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est8.c \.  $(TOP
98a0: 29 5c 73 72 63 5c 74 65 73 74 39 2e 63 20 5c 0a  )\src\test9.c \.
98b0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
98c0: 74 5f 61 75 74 6f 65 78 74 2e 63 20 5c 0a 20 20  t_autoext.c \.  
98d0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
98e0: 61 73 79 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f  async.c \.  $(TO
98f0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 61 63 6b  P)\src\test_back
9900: 75 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  up.c \.  $(TOP)\
9910: 73 72 63 5c 74 65 73 74 5f 62 65 73 74 69 6e 64  src\test_bestind
9920: 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ex.c \.  $(TOP)\
9930: 73 72 63 5c 74 65 73 74 5f 62 6c 6f 62 2e 63 20  src\test_blob.c 
9940: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9950: 65 73 74 5f 62 74 72 65 65 2e 63 20 5c 0a 20 20  est_btree.c \.  
9960: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9970: 63 6f 6e 66 69 67 2e 63 20 5c 0a 20 20 24 28 54  config.c \.  $(T
9980: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 6c  OP)\src\test_del
9990: 65 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ete.c \.  $(TOP)
99a0: 5c 73 72 63 5c 74 65 73 74 5f 64 65 6d 6f 76 66  \src\test_demovf
99b0: 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  s.c \.  $(TOP)\s
99c0: 72 63 5c 74 65 73 74 5f 64 65 76 73 79 6d 2e 63  rc\test_devsym.c
99d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
99e0: 74 65 73 74 5f 66 73 2e 63 20 5c 0a 20 20 24 28  test_fs.c \.  $(
99f0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 75  TOP)\src\test_fu
9a00: 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  nc.c \.  $(TOP)\
9a10: 73 72 63 5c 74 65 73 74 5f 68 65 78 69 6f 2e 63  src\test_hexio.c
9a20: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9a30: 74 65 73 74 5f 69 6e 69 74 2e 63 20 5c 0a 20 20  test_init.c \.  
9a40: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9a50: 69 6e 74 61 72 72 61 79 2e 63 20 5c 0a 20 20 24  intarray.c \.  $
9a60: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6a  (TOP)\src\test_j
9a70: 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54  ournal.c \.  $(T
9a80: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6d 61 6c  OP)\src\test_mal
9a90: 6c 6f 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  loc.c \.  $(TOP)
9aa0: 5c 73 72 63 5c 74 65 73 74 5f 6d 64 35 2e 63 20  \src\test_md5.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 6d 75 6c 74 69 70 6c 65 78 2e 63 20  est_multiplex.c 
9ad0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9ae0: 65 73 74 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20  est_mutex.c \.  
9af0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9b00: 6f 6e 65 66 69 6c 65 2e 63 20 5c 0a 20 20 24 28  onefile.c \.  $(
9b10: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 73  TOP)\src\test_os
9b20: 69 6e 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  inst.c \.  $(TOP
9b30: 29 5c 73 72 63 5c 74 65 73 74 5f 70 63 61 63 68  )\src\test_pcach
9b40: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
9b50: 72 63 5c 74 65 73 74 5f 71 75 6f 74 61 2e 63 20  rc\test_quota.c 
9b60: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9b70: 65 73 74 5f 72 74 72 65 65 2e 63 20 5c 0a 20 20  est_rtree.c \.  
9b80: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9b90: 73 63 68 65 6d 61 2e 63 20 5c 0a 20 20 24 28 54  schema.c \.  $(T
9ba0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 65 72  OP)\src\test_ser
9bb0: 76 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ver.c \.  $(TOP)
9bc0: 5c 73 72 63 5c 74 65 73 74 5f 73 75 70 65 72 6c  \src\test_superl
9bd0: 6f 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ock.c \.  $(TOP)
9be0: 5c 73 72 63 5c 74 65 73 74 5f 73 79 73 63 61 6c  \src\test_syscal
9bf0: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  l.c \.  $(TOP)\s
9c00: 72 63 5c 74 65 73 74 5f 74 63 6c 73 68 2e 63 20  rc\test_tclsh.c 
9c10: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9c20: 65 73 74 5f 74 63 6c 76 61 72 2e 63 20 5c 0a 20  est_tclvar.c \. 
9c30: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
9c40: 5f 74 68 72 65 61 64 2e 63 20 5c 0a 20 20 24 28  _thread.c \.  $(
9c50: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 76 66  TOP)\src\test_vf
9c60: 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  s.c \.  $(TOP)\s
9c70: 72 63 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 6e  rc\test_windiren
9c80: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s
9c90: 72 63 5c 74 65 73 74 5f 77 69 6e 64 6f 77 2e 63  rc\test_window.c
9ca0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9cb0: 74 65 73 74 5f 77 73 64 2e 63 20 5c 0a 20 20 24  test_wsd.c \.  $
9cc0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
9cd0: 74 73 33 5f 74 65 72 6d 2e 63 20 5c 0a 20 20 24  ts3_term.c \.  $
9ce0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
9cf0: 74 73 33 5f 74 65 73 74 2e 63 20 5c 0a 20 20 24  ts3_test.c \.  $
9d00: 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 74 65  (TOP)\ext\rbu\te
9d10: 73 74 5f 72 62 75 2e 63 20 5c 0a 20 20 24 28 54  st_rbu.c \.  $(T
9d20: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
9d30: 74 65 73 74 5f 73 65 73 73 69 6f 6e 2e 63 0a 0a  test_session.c..
9d40: 23 20 53 74 61 74 69 63 61 6c 6c 79 20 6c 69 6e  # Statically lin
9d50: 6b 65 64 20 65 78 74 65 6e 73 69 6f 6e 73 2e 0a  ked extensions..
9d60: 23 0a 54 45 53 54 45 58 54 20 3d 20 5c 0a 20 20  #.TESTEXT = \.  
9d70: 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72  $(TOP)\ext\exper
9d80: 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e  t\sqlite3expert.
9d90: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9da0: 5c 65 78 70 65 72 74 5c 74 65 73 74 5f 65 78 70  \expert\test_exp
9db0: 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ert.c \.  $(TOP)
9dc0: 5c 65 78 74 5c 6d 69 73 63 5c 61 6d 61 74 63 68  \ext\misc\amatch
9dd0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9de0: 74 5c 6d 69 73 63 5c 63 61 72 72 61 79 2e 63 20  t\misc\carray.c 
9df0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
9e00: 69 73 63 5c 63 6c 6f 73 75 72 65 2e 63 20 5c 0a  isc\closure.c \.
9e10: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
9e20: 63 5c 63 73 76 2e 63 20 5c 0a 20 20 24 28 54 4f  c\csv.c \.  $(TO
9e30: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 65 76 61 6c  P)\ext\misc\eval
9e40: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9e50: 74 5c 6d 69 73 63 5c 65 78 70 6c 61 69 6e 2e 63  t\misc\explain.c
9e60: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9e70: 6d 69 73 63 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a  misc\fileio.c \.
9e80: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
9e90: 63 5c 66 75 7a 7a 65 72 2e 63 20 5c 0a 20 20 24  c\fuzzer.c \.  $
9ea0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
9eb0: 74 73 35 5f 74 63 6c 2e 63 20 5c 0a 20 20 24 28  ts5_tcl.c \.  $(
9ec0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
9ed0: 73 35 5f 74 65 73 74 5f 6d 69 2e 63 20 5c 0a 20  s5_test_mi.c \. 
9ee0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
9ef0: 5c 66 74 73 35 5f 74 65 73 74 5f 74 6f 6b 2e 63  \fts5_test_tok.c
9f00: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9f10: 6d 69 73 63 5c 69 65 65 65 37 35 34 2e 63 20 5c  misc\ieee754.c \
9f20: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
9f30: 73 63 5c 6d 6d 61 70 77 61 72 6d 2e 63 20 5c 0a  sc\mmapwarm.c \.
9f40: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
9f50: 63 5c 6e 65 78 74 63 68 61 72 2e 63 20 5c 0a 20  c\nextchar.c \. 
9f60: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
9f70: 5c 6e 6f 72 6d 61 6c 69 7a 65 2e 63 20 5c 0a 20  \normalize.c \. 
9f80: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
9f90: 5c 70 65 72 63 65 6e 74 69 6c 65 2e 63 20 5c 0a  \percentile.c \.
9fa0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
9fb0: 63 5c 70 72 65 66 69 78 65 73 2e 63 20 5c 0a 20  c\prefixes.c \. 
9fc0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
9fd0: 5c 72 65 67 65 78 70 2e 63 20 5c 0a 20 20 24 28  \regexp.c \.  $(
9fe0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 72 65  TOP)\ext\misc\re
9ff0: 6d 65 6d 62 65 72 2e 63 20 5c 0a 20 20 24 28 54  member.c \.  $(T
a000: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 65 72  OP)\ext\misc\ser
a010: 69 65 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ies.c \.  $(TOP)
a020: 5c 65 78 74 5c 6d 69 73 63 5c 73 70 65 6c 6c 66  \ext\misc\spellf
a030: 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ix.c \.  $(TOP)\
a040: 65 78 74 5c 6d 69 73 63 5c 74 6f 74 79 70 65 2e  ext\misc\totype.
a050: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
a060: 5c 6d 69 73 63 5c 75 6e 69 6f 6e 76 74 61 62 2e  \misc\unionvtab.
a070: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
a080: 5c 6d 69 73 63 5c 77 68 6f 6c 65 6e 75 6d 62 65  \misc\wholenumbe
a090: 72 2e 63 0a 0a 23 20 49 66 20 75 73 65 20 6f 66  r.c..# If use of
a0a0: 20 7a 6c 69 62 20 69 73 20 65 6e 61 62 6c 65 64   zlib is enabled
a0b0: 2c 20 61 64 64 20 74 68 65 20 22 7a 69 70 66 69  , add the "zipfi
a0c0: 6c 65 2e 63 22 20 73 6f 75 72 63 65 20 66 69 6c  le.c" source fil
a0d0: 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a  e..#.!IF $(USE_Z
a0e0: 4c 49 42 29 21 3d 30 0a 54 45 53 54 45 58 54 20  LIB)!=0.TESTEXT 
a0f0: 3d 20 24 28 54 45 53 54 45 58 54 29 20 24 28 54  = $(TESTEXT) $(T
a100: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 7a 69 70  OP)\ext\misc\zip
a110: 66 69 6c 65 2e 63 0a 21 45 4e 44 49 46 0a 0a 23  file.c.!ENDIF..#
a120: 20 53 6f 75 72 63 65 20 63 6f 64 65 20 74 6f 20   Source code to 
a130: 74 68 65 20 6c 69 62 72 61 72 79 20 66 69 6c 65  the library file
a140: 73 20 6e 65 65 64 65 64 20 62 79 20 74 68 65 20  s needed by the 
a150: 74 65 73 74 20 66 69 78 74 75 72 65 0a 23 20 28  test fixture.# (
a160: 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  non-amalgamation
a170: 29 0a 23 0a 54 45 53 54 53 52 43 32 20 3d 20 5c  ).#.TESTSRC2 = \
a180: 0a 20 20 24 28 53 52 43 30 30 29 20 5c 0a 20 20  .  $(SRC00) \.  
a190: 24 28 53 52 43 30 31 29 20 5c 0a 20 20 24 28 53  $(SRC01) \.  $(S
a1a0: 52 43 30 36 29 20 5c 0a 20 20 24 28 53 52 43 30  RC06) \.  $(SRC0
a1b0: 37 29 20 5c 0a 20 20 24 28 53 52 43 31 30 29 20  7) \.  $(SRC10) 
a1c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 61  \.  $(TOP)\ext\a
a1d0: 73 79 6e 63 5c 73 71 6c 69 74 65 33 61 73 79 6e  sync\sqlite3asyn
a1e0: 63 2e 63 0a 0a 23 20 48 65 61 64 65 72 20 66 69  c.c..# Header fi
a1f0: 6c 65 73 20 75 73 65 64 20 62 79 20 61 6c 6c 20  les used by all 
a200: 6c 69 62 72 61 72 79 20 73 6f 75 72 63 65 20 66  library source f
a210: 69 6c 65 73 2e 0a 23 0a 48 44 52 20 3d 20 5c 0a  iles..#.HDR = \.
a220: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74     $(TOP)\src\bt
a230: 72 65 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  ree.h \.   $(TOP
a240: 29 5c 73 72 63 5c 62 74 72 65 65 49 6e 74 2e 68  )\src\btreeInt.h
a250: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
a260: 5c 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 28 54  \hash.h \.   $(T
a270: 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e 68  OP)\src\hwtime.h
a280: 20 5c 0a 20 20 20 6b 65 79 77 6f 72 64 68 61 73   \.   keywordhas
a290: 68 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  h.h \.   $(TOP)\
a2a0: 73 72 63 5c 6d 73 76 63 2e 68 20 5c 0a 20 20 20  src\msvc.h \.   
a2b0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex
a2c0: 2e 68 20 5c 0a 20 20 20 6f 70 63 6f 64 65 73 2e  .h \.   opcodes.
a2d0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
a2e0: 63 5c 6f 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f  c\os.h \.   $(TO
a2f0: 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e  P)\src\os_common
a300: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
a310: 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20 5c 0a  rc\os_setup.h \.
a320: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73     $(TOP)\src\os
a330: 5f 77 69 6e 2e 68 20 5c 0a 20 20 20 24 28 54 4f  _win.h \.   $(TO
a340: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 20 5c  P)\src\pager.h \
a350: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  .   $(TOP)\src\p
a360: 63 61 63 68 65 2e 68 20 5c 0a 20 20 20 70 61 72  cache.h \.   par
a370: 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  se.h \.   $(TOP)
a380: 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68 20 5c 0a  \src\pragma.h \.
a390: 20 20 20 24 28 53 51 4c 49 54 45 33 48 29 20 5c     $(SQLITE3H) \
a3a0: 0a 20 20 20 73 71 6c 69 74 65 33 65 78 74 2e 68  .   sqlite3ext.h
a3b0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
a3c0: 5c 73 71 6c 69 74 65 49 6e 74 2e 68 20 5c 0a 20  \sqliteInt.h \. 
a3d0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c    $(TOP)\src\sql
a3e0: 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a 20 20 20  iteLimit.h \.   
a3f0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e  $(TOP)\src\vdbe.
a400: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
a410: 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20 20  c\vdbeInt.h \.  
a420: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 78 77 6f   $(TOP)\src\vxwo
a430: 72 6b 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  rks.h \.   $(TOP
a440: 29 5c 73 72 63 5c 77 68 65 72 65 49 6e 74 2e 68  )\src\whereInt.h
a450: 0a 0a 23 20 48 65 61 64 65 72 20 66 69 6c 65 73  ..# Header files
a460: 20 75 73 65 64 20 62 79 20 65 78 74 65 6e 73 69   used by extensi
a470: 6f 6e 73 0a 23 0a 45 58 54 48 44 52 20 3d 20 24  ons.#.EXTHDR = $
a480: 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54  (EXTHDR) \.  $(T
a490: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
a4a0: 31 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  1.h \.  $(TOP)\e
a4b0: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 68 61 73  xt\fts1\fts1_has
a4c0: 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  h.h \.  $(TOP)\e
a4d0: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b  xt\fts1\fts1_tok
a4e0: 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44 52 20  enizer.h.EXTHDR 
a4f0: 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20  = $(EXTHDR) \.  
a500: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
a510: 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 54 4f 50  fts2.h \.  $(TOP
a520: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
a530: 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50  hash.h \.  $(TOP
a540: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
a550: 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48  tokenizer.h.EXTH
a560: 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c  DR = $(EXTHDR) \
a570: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
a580: 73 33 5c 66 74 73 33 2e 68 20 5c 0a 20 20 24 28  s3\fts3.h \.  $(
a590: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
a5a0: 73 33 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f  s3Int.h \.  $(TO
a5b0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
a5c0: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  _hash.h \.  $(TO
a5d0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
a5e0: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54  _tokenizer.h.EXT
a5f0: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20  HDR = $(EXTHDR) 
a600: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  \.  $(TOP)\ext\r
a610: 74 72 65 65 5c 72 74 72 65 65 2e 68 20 5c 0a 20  tree\rtree.h \. 
a620: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65   $(TOP)\ext\rtre
a630: 65 5c 67 65 6f 70 6f 6c 79 2e 63 0a 45 58 54 48  e\geopoly.c.EXTH
a640: 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c  DR = $(EXTHDR) \
a650: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 63  .  $(TOP)\ext\ic
a660: 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 0a 45 58  u\sqliteicu.h.EX
a670: 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29  THDR = $(EXTHDR)
a680: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
a690: 72 74 72 65 65 5c 73 71 6c 69 74 65 33 72 74 72  rtree\sqlite3rtr
a6a0: 65 65 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28  ee.h.EXTHDR = $(
a6b0: 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f  EXTHDR) \.  $(TO
a6c0: 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73  P)\ext\session\s
a6d0: 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 68 0a  qlite3session.h.
a6e0: 0a 23 20 65 78 65 63 75 74 61 62 6c 65 73 20 6e  .# executables n
a6f0: 65 65 64 65 64 20 66 6f 72 20 74 65 73 74 69 6e  eeded for testin
a700: 67 0a 23 0a 54 45 53 54 50 52 4f 47 53 20 3d 20  g.#.TESTPROGS = 
a710: 5c 0a 20 20 74 65 73 74 66 69 78 74 75 72 65 2e  \.  testfixture.
a720: 65 78 65 20 5c 0a 20 20 24 28 53 51 4c 49 54 45  exe \.  $(SQLITE
a730: 33 45 58 45 29 20 5c 0a 20 20 73 71 6c 69 74 65  3EXE) \.  sqlite
a740: 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65 20 5c  3_analyzer.exe \
a750: 0a 20 20 73 71 6c 69 74 65 33 5f 63 68 65 63 6b  .  sqlite3_check
a760: 65 72 2e 65 78 65 20 5c 0a 20 20 73 71 6c 64 69  er.exe \.  sqldi
a770: 66 66 2e 65 78 65 20 5c 0a 20 20 64 62 68 61 73  ff.exe \.  dbhas
a780: 68 2e 65 78 65 20 5c 0a 20 20 73 71 6c 74 63 6c  h.exe \.  sqltcl
a790: 73 68 2e 65 78 65 0a 0a 23 20 44 61 74 61 62 61  sh.exe..# Databa
a7a0: 73 65 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 66  ses containing f
a7b0: 75 7a 7a 65 72 20 74 65 73 74 20 63 61 73 65 73  uzzer test cases
a7c0: 0a 23 0a 46 55 5a 5a 44 41 54 41 20 3d 20 5c 0a  .#.FUZZDATA = \.
a7d0: 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75    $(TOP)\test\fu
a7e0: 7a 7a 64 61 74 61 31 2e 64 62 20 5c 0a 20 20 24  zzdata1.db \.  $
a7f0: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64  (TOP)\test\fuzzd
a800: 61 74 61 32 2e 64 62 20 5c 0a 20 20 24 28 54 4f  ata2.db \.  $(TO
a810: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61  P)\test\fuzzdata
a820: 33 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c  3.db \.  $(TOP)\
a830: 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 34 2e 64  test\fuzzdata4.d
a840: 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73  b \.  $(TOP)\tes
a850: 74 5c 66 75 7a 7a 64 61 74 61 35 2e 64 62 20 5c  t\fuzzdata5.db \
a860: 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66  .  $(TOP)\test\f
a870: 75 7a 7a 64 61 74 61 36 2e 64 62 20 5c 0a 20 20  uzzdata6.db \.  
a880: 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a  $(TOP)\test\fuzz
a890: 64 61 74 61 37 2e 64 62 20 5c 0a 20 20 24 28 54  data7.db \.  $(T
a8a0: 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74  OP)\test\fuzzdat
a8b0: 61 38 2e 64 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  a8.db.# <</mark>
a8c0: 3e 0a 0a 23 20 41 64 64 69 74 69 6f 6e 61 6c 20  >..# Additional 
a8d0: 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73  compiler options
a8e0: 20 66 6f 72 20 74 68 65 20 73 68 65 6c 6c 2e 20   for the shell. 
a8f0: 20 54 68 65 73 65 20 61 72 65 20 6f 6e 6c 79 20   These are only 
a900: 65 66 66 65 63 74 69 76 65 0a 23 20 77 68 65 6e  effective.# when
a910: 20 74 68 65 20 73 68 65 6c 6c 20 69 73 20 6e 6f   the shell is no
a920: 74 20 62 65 69 6e 67 20 64 79 6e 61 6d 69 63 61  t being dynamica
a930: 6c 6c 79 20 6c 69 6e 6b 65 64 2e 0a 23 0a 21 49  lly linked..#.!I
a940: 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c  F $(DYNAMIC_SHEL
a950: 4c 29 3d 3d 30 20 26 26 20 24 28 46 4f 52 5f 57  L)==0 && $(FOR_W
a960: 49 4e 31 30 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43  IN10)==0.SHELL_C
a970: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28  OMPILE_OPTS = $(
a980: 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50  SHELL_COMPILE_OP
a990: 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  TS) -DSQLITE_ENA
a9a0: 42 4c 45 5f 46 54 53 34 3d 31 0a 53 48 45 4c 4c  BLE_FTS4=1.SHELL
a9b0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS = 
a9c0: 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f  $(SHELL_COMPILE_
a9d0: 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45  OPTS) -DSQLITE_E
a9e0: 4e 41 42 4c 45 5f 45 58 50 4c 41 49 4e 5f 43 4f  NABLE_EXPLAIN_CO
a9f0: 4d 4d 45 4e 54 53 3d 31 0a 53 48 45 4c 4c 5f 43  MMENTS=1.SHELL_C
aa00: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28  OMPILE_OPTS = $(
aa10: 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50  SHELL_COMPILE_OP
aa20: 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  TS) -DSQLITE_ENA
aa30: 42 4c 45 5f 4f 46 46 53 45 54 5f 53 51 4c 5f 46  BLE_OFFSET_SQL_F
aa40: 55 4e 43 3d 31 0a 53 48 45 4c 4c 5f 43 4f 4d 50  UNC=1.SHELL_COMP
aa50: 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45  ILE_OPTS = $(SHE
aa60: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  LL_COMPILE_OPTS)
aa70: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
aa80: 5f 44 45 53 45 52 49 41 4c 49 5a 45 3d 31 0a 21  _DESERIALIZE=1.!
aa90: 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  ENDIF..# <<mark>
aaa0: 3e 0a 23 20 45 78 74 72 61 20 63 6f 6d 70 69 6c  >.# Extra compil
aab0: 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 76  er options for v
aac0: 61 72 69 6f 75 73 20 74 65 73 74 20 74 6f 6f 6c  arious test tool
aad0: 73 2e 0a 23 0a 4d 50 54 45 53 54 45 52 5f 43 4f  s..#.MPTESTER_CO
aae0: 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53  MPILE_OPTS = -DS
aaf0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f  QLITE_ENABLE_JSO
ab00: 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  N1 -DSQLITE_ENAB
ab10: 4c 45 5f 46 54 53 35 0a 46 55 5a 5a 45 52 53 48  LE_FTS5.FUZZERSH
ab20: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
ab30: 20 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42   = -DSQLITE_ENAB
ab40: 4c 45 5f 4a 53 4f 4e 31 0a 46 55 5a 5a 43 48 45  LE_JSON1.FUZZCHE
ab50: 43 4b 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49  CK_OPTS = -DSQLI
ab60: 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20  TE_ENABLE_JSON1 
ab70: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
ab80: 4d 45 4d 53 59 53 35 20 2d 44 53 51 4c 49 54 45  MEMSYS5 -DSQLITE
ab90: 5f 4f 53 53 5f 46 55 5a 5a 20 2d 44 53 51 4c 49  _OSS_FUZZ -DSQLI
aba0: 54 45 5f 4d 41 58 5f 4d 45 4d 4f 52 59 3d 35 30  TE_MAX_MEMORY=50
abb0: 30 30 30 30 30 30 20 2d 44 53 51 4c 49 54 45 5f  000000 -DSQLITE_
abc0: 50 52 49 4e 54 46 5f 50 52 45 43 49 53 49 4f 4e  PRINTF_PRECISION
abd0: 5f 4c 49 4d 49 54 3d 31 30 30 30 0a 46 55 5a 5a  _LIMIT=1000.FUZZ
abe0: 43 48 45 43 4b 5f 4f 50 54 53 20 3d 20 24 28 46  CHECK_OPTS = $(F
abf0: 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 29 20 2d  UZZCHECK_OPTS) -
ac00: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44  DSQLITE_ENABLE_D
ac10: 45 53 45 52 49 41 4c 49 5a 45 0a 46 55 5a 5a 43  ESERIALIZE.FUZZC
ac20: 48 45 43 4b 5f 4f 50 54 53 20 3d 20 24 28 46 55  HECK_OPTS = $(FU
ac30: 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 29 20 2d 44  ZZCHECK_OPTS) -D
ac40: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54  SQLITE_ENABLE_FT
ac50: 53 34 0a 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54  S4.FUZZCHECK_OPT
ac60: 53 20 3d 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f  S = $(FUZZCHECK_
ac70: 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45  OPTS) -DSQLITE_E
ac80: 4e 41 42 4c 45 5f 52 54 52 45 45 0a 46 55 5a 5a  NABLE_RTREE.FUZZ
ac90: 43 48 45 43 4b 5f 4f 50 54 53 20 3d 20 24 28 46  CHECK_OPTS = $(F
aca0: 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 29 20 2d  UZZCHECK_OPTS) -
acb0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 47  DSQLITE_ENABLE_G
acc0: 45 4f 50 4f 4c 59 0a 46 55 5a 5a 43 48 45 43 4b  EOPOLY.FUZZCHECK
acd0: 5f 4f 50 54 53 20 3d 20 24 28 46 55 5a 5a 43 48  _OPTS = $(FUZZCH
ace0: 45 43 4b 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49  ECK_OPTS) -DSQLI
acf0: 54 45 5f 45 4e 41 42 4c 45 5f 44 42 53 54 41 54  TE_ENABLE_DBSTAT
ad00: 5f 56 54 41 42 0a 0a 46 55 5a 5a 43 48 45 43 4b  _VTAB..FUZZCHECK
ad10: 5f 53 52 43 20 3d 20 24 28 54 4f 50 29 5c 74 65  _SRC = $(TOP)\te
ad20: 73 74 5c 66 75 7a 7a 63 68 65 63 6b 2e 63 20 24  st\fuzzcheck.c $
ad30: 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73 66 75  (TOP)\test\ossfu
ad40: 7a 7a 2e 63 0a 4f 53 53 53 48 45 4c 4c 5f 53 52  zz.c.OSSSHELL_SR
ad50: 43 20 3d 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  C = $(TOP)\test\
ad60: 6f 73 73 73 68 65 6c 6c 2e 63 20 24 28 54 4f 50  ossshell.c $(TOP
ad70: 29 5c 74 65 73 74 5c 6f 73 73 66 75 7a 7a 2e 63  )\test\ossfuzz.c
ad80: 0a 44 42 46 55 5a 5a 5f 43 4f 4d 50 49 4c 45 5f  .DBFUZZ_COMPILE_
ad90: 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f  OPTS = -DSQLITE_
ada0: 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
adb0: 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
adc0: 45 58 54 45 4e 53 49 4f 4e 0a 4b 56 5f 43 4f 4d  EXTENSION.KV_COM
add0: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51  PILE_OPTS = -DSQ
ade0: 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
adf0: 30 20 2d 44 53 51 4c 49 54 45 5f 44 49 52 45 43  0 -DSQLITE_DIREC
ae00: 54 5f 4f 56 45 52 46 4c 4f 57 5f 52 45 41 44 0a  T_OVERFLOW_READ.
ae10: 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20  ST_COMPILE_OPTS 
ae20: 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  = -DSQLITE_THREA
ae30: 44 53 41 46 45 3d 30 0a 0a 23 20 53 74 61 6e 64  DSAFE=0..# Stand
ae40: 61 72 64 20 6f 70 74 69 6f 6e 73 20 74 6f 20 74  ard options to t
ae50: 65 73 74 66 69 78 74 75 72 65 2e 0a 23 0a 54 45  estfixture..#.TE
ae60: 53 54 4f 50 54 53 20 3d 20 2d 2d 76 65 72 62 6f  STOPTS = --verbo
ae70: 73 65 3d 66 69 6c 65 20 2d 2d 6f 75 74 70 75 74  se=file --output
ae80: 3d 74 65 73 74 2d 6f 75 74 2e 74 78 74 0a 0a 23  =test-out.txt..#
ae90: 20 45 78 74 72 61 20 74 61 72 67 65 74 73 20 66   Extra targets f
aea0: 6f 72 20 74 68 65 20 22 61 6c 6c 22 20 74 61 72  or the "all" tar
aeb0: 67 65 74 20 74 68 61 74 20 72 65 71 75 69 72 65  get that require
aec0: 20 54 63 6c 2e 0a 23 0a 21 49 46 20 24 28 4e 4f   Tcl..#.!IF $(NO
aed0: 5f 54 43 4c 29 3d 3d 30 0a 41 4c 4c 5f 54 43 4c  _TCL)==0.ALL_TCL
aee0: 5f 54 41 52 47 45 54 53 20 3d 20 24 28 53 51 4c  _TARGETS = $(SQL
aef0: 49 54 45 33 54 43 4c 44 4c 4c 29 0a 21 45 4c 53  ITE3TCLDLL).!ELS
af00: 45 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54  E.ALL_TCL_TARGET
af10: 53 20 3d 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f  S =.!ENDIF.# <</
af20: 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 73 20 69  mark>>..# This i
af30: 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 4d 61  s the default Ma
af40: 6b 65 66 69 6c 65 20 74 61 72 67 65 74 2e 20 20  kefile target.  
af50: 54 68 65 20 6f 62 6a 65 63 74 73 20 6c 69 73 74  The objects list
af60: 65 64 20 68 65 72 65 0a 23 20 61 72 65 20 77 68  ed here.# are wh
af70: 61 74 20 67 65 74 20 62 75 69 6c 64 20 77 68 65  at get build whe
af80: 6e 20 79 6f 75 20 74 79 70 65 20 6a 75 73 74 20  n you type just 
af90: 22 6d 61 6b 65 22 20 77 69 74 68 20 6e 6f 20 61  "make" with no a
afa0: 72 67 75 6d 65 6e 74 73 2e 0a 23 0a 63 6f 72 65  rguments..#.core
afb0: 3a 09 64 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33  :.dll libsqlite3
afc0: 2e 6c 69 62 20 73 68 65 6c 6c 0a 0a 23 20 54 61  .lib shell..# Ta
afd0: 72 67 65 74 73 20 74 68 61 74 20 72 65 71 75 69  rgets that requi
afe0: 72 65 20 74 68 65 20 54 63 6c 20 6c 69 62 72 61  re the Tcl libra
aff0: 72 79 2e 0a 23 0a 74 63 6c 3a 09 24 28 41 4c 4c  ry..#.tcl:.$(ALL
b000: 5f 54 43 4c 5f 54 41 52 47 45 54 53 29 0a 0a 23  _TCL_TARGETS)..#
b010: 20 54 68 69 73 20 4d 61 6b 65 66 69 6c 65 20 74   This Makefile t
b020: 61 72 67 65 74 20 62 75 69 6c 64 73 20 61 6c 6c  arget builds all
b030: 20 6f 66 20 74 68 65 20 73 74 61 6e 64 61 72 64   of the standard
b040: 20 62 69 6e 61 72 69 65 73 2e 0a 23 0a 61 6c 6c   binaries..#.all
b050: 3a 09 63 6f 72 65 20 74 63 6c 0a 0a 23 20 44 79  :.core tcl..# Dy
b060: 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 72 61  namic link libra
b070: 72 79 20 73 65 63 74 69 6f 6e 2e 0a 23 0a 64 6c  ry section..#.dl
b080: 6c 3a 09 24 28 53 51 4c 49 54 45 33 44 4c 4c 29  l:.$(SQLITE3DLL)
b090: 0a 0a 23 20 53 68 65 6c 6c 20 65 78 65 63 75 74  ..# Shell execut
b0a0: 61 62 6c 65 2e 0a 23 0a 73 68 65 6c 6c 3a 09 24  able..#.shell:.$
b0b0: 28 53 51 4c 49 54 45 33 45 58 45 29 0a 0a 23 20  (SQLITE3EXE)..# 
b0c0: 3c 3c 6d 61 72 6b 3e 3e 0a 6c 69 62 73 71 6c 69  <<mark>>.libsqli
b0d0: 74 65 33 2e 6c 69 62 3a 09 24 28 4c 49 42 4f 42  te3.lib:.$(LIBOB
b0e0: 4a 29 0a 09 24 28 4c 54 4c 49 42 29 20 24 28 4c  J)..$(LTLIB) $(L
b0f0: 54 4c 49 42 4f 50 54 53 29 20 2f 4f 55 54 3a 24  TLIBOPTS) /OUT:$
b100: 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 28 54 4c  @ $(LIBOBJ) $(TL
b110: 49 42 53 29 0a 0a 6c 69 62 74 63 6c 73 71 6c 69  IBS)..libtclsqli
b120: 74 65 33 2e 6c 69 62 3a 09 74 63 6c 73 71 6c 69  te3.lib:.tclsqli
b130: 74 65 2e 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33  te.lo libsqlite3
b140: 2e 6c 69 62 0a 09 24 28 4c 54 4c 49 42 29 20 24  .lib..$(LTLIB) $
b150: 28 4c 54 4c 49 42 4f 50 54 53 29 20 24 28 54 43  (LTLIBOPTS) $(TC
b160: 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c  LLIBPATHS) $(LTL
b170: 49 42 50 41 54 48 53 29 20 2f 4f 55 54 3a 24 40  IBPATHS) /OUT:$@
b180: 20 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69   tclsqlite.lo li
b190: 62 73 71 6c 69 74 65 33 2e 6c 69 62 20 24 28 4c  bsqlite3.lib $(L
b1a0: 49 42 54 43 4c 53 54 55 42 29 20 24 28 54 4c 49  IBTCLSTUB) $(TLI
b1b0: 42 53 29 0a 0a 74 63 6c 73 71 6c 69 74 65 33 2e  BS)..tclsqlite3.
b1c0: 64 65 66 3a 09 74 63 6c 73 71 6c 69 74 65 2e 6c  def:.tclsqlite.l
b1d0: 6f 0a 09 65 63 68 6f 20 45 58 50 4f 52 54 53 20  o..echo EXPORTS 
b1e0: 3e 20 74 63 6c 73 71 6c 69 74 65 33 2e 64 65 66  > tclsqlite3.def
b1f0: 0a 09 64 75 6d 70 62 69 6e 20 2f 61 6c 6c 20 74  ..dumpbin /all t
b200: 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 5c 0a 09 09  clsqlite.lo \...
b210: 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
b220: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
b230: 63 65 2e 74 63 6c 20 69 6e 63 6c 75 64 65 20 22  ce.tcl include "
b240: 5e 5c 73 2b 2f 45 58 50 4f 52 54 3a 5f 3f 28 28  ^\s+/EXPORT:_?((
b250: 3f 3a 53 71 6c 69 74 65 33 7c 54 63 6c 73 71 6c  ?:Sqlite3|Tclsql
b260: 69 74 65 33 29 5f 5b 5e 40 5d 2a 29 28 3f 3a 40  ite3)_[^@]*)(?:@
b270: 5c 64 2b 29 3f 24 24 22 20 5c 31 20 5c 0a 09 09  \d+)?$$" \1 \...
b280: 7c 20 73 6f 72 74 20 3e 3e 20 74 63 6c 73 71 6c  | sort >> tclsql
b290: 69 74 65 33 2e 64 65 66 0a 0a 70 6b 67 49 6e 64  ite3.def..pkgInd
b2a0: 65 78 2e 74 63 6c 3a 09 24 28 54 4f 50 29 5c 56  ex.tcl:.$(TOP)\V
b2b0: 45 52 53 49 4f 4e 0a 09 66 6f 72 20 2f 46 20 25  ERSION..for /F %
b2c0: 25 56 20 69 6e 20 28 27 74 79 70 65 20 22 24 28  %V in ('type "$(
b2d0: 54 4f 50 29 5c 56 45 52 53 49 4f 4e 22 27 29 20  TOP)\VERSION"') 
b2e0: 64 6f 20 28 20 5c 0a 09 09 65 63 68 6f 20 70 61  do ( \...echo pa
b2f0: 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64 20 73  ckage ifneeded s
b300: 71 6c 69 74 65 33 20 40 76 65 72 73 69 6f 6e 40  qlite3 @version@
b310: 20 5b 6c 69 73 74 20 6c 6f 61 64 20 5b 66 69 6c   [list load [fil
b320: 65 20 6a 6f 69 6e 20 24 24 64 69 72 20 24 28 53  e join $$dir $(S
b330: 51 4c 49 54 45 33 54 43 4c 44 4c 4c 29 5d 20 73  QLITE3TCLDLL)] s
b340: 71 6c 69 74 65 33 5d 20 5c 0a 09 09 09 7c 20 24  qlite3] \....| $
b350: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
b360: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
b370: 74 63 6c 20 65 78 61 63 74 20 40 76 65 72 73 69  tcl exact @versi
b380: 6f 6e 40 20 25 25 56 20 3e 20 70 6b 67 49 6e 64  on@ %%V > pkgInd
b390: 65 78 2e 74 63 6c 20 5c 0a 09 29 0a 0a 24 28 53  ex.tcl \..)..$(S
b3a0: 51 4c 49 54 45 33 54 43 4c 44 4c 4c 29 3a 09 6c  QLITE3TCLDLL):.l
b3b0: 69 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62  ibtclsqlite3.lib
b3c0: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 74   $(LIBRESOBJS) t
b3d0: 63 6c 73 71 6c 69 74 65 33 2e 64 65 66 20 70 6b  clsqlite3.def pk
b3e0: 67 49 6e 64 65 78 2e 74 63 6c 0a 09 24 28 4c 44  gIndex.tcl..$(LD
b3f0: 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  ) $(LDFLAGS) $(L
b400: 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c  TLINKOPTS) $(LTL
b410: 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f 44  IBPATHS) /DLL /D
b420: 45 46 3a 74 63 6c 73 71 6c 69 74 65 33 2e 64 65  EF:tclsqlite3.de
b430: 66 20 2f 4f 55 54 3a 24 40 20 6c 69 62 74 63 6c  f /OUT:$@ libtcl
b440: 73 71 6c 69 74 65 33 2e 6c 69 62 20 24 28 4c 49  sqlite3.lib $(LI
b450: 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49  BRESOBJS) $(LTLI
b460: 42 53 29 20 24 28 54 4c 49 42 53 29 0a 23 20 3c  BS) $(TLIBS).# <
b470: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 24 28 53 51 4c 49  </mark>>..$(SQLI
b480: 54 45 33 44 4c 4c 29 3a 09 24 28 4c 49 42 4f 42  TE3DLL):.$(LIBOB
b490: 4a 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  J) $(LIBRESOBJS)
b4a0: 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50   $(CORE_LINK_DEP
b4b0: 29 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41  )..$(LD) $(LDFLA
b4c0: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
b4d0: 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  ) $(LTLIBPATHS) 
b4e0: 2f 44 4c 4c 20 24 28 43 4f 52 45 5f 4c 49 4e 4b  /DLL $(CORE_LINK
b4f0: 5f 4f 50 54 53 29 20 2f 4f 55 54 3a 24 40 20 24  _OPTS) /OUT:$@ $
b500: 28 4c 49 42 4f 42 4a 29 20 24 28 4c 49 42 52 45  (LIBOBJ) $(LIBRE
b510: 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29  SOBJS) $(LTLIBS)
b520: 20 24 28 54 4c 49 42 53 29 0a 0a 23 20 3c 3c 62   $(TLIBS)..# <<b
b530: 6c 6f 63 6b 32 3e 3e 0a 73 71 6c 69 74 65 33 2e  lock2>>.sqlite3.
b540: 64 65 66 3a 09 6c 69 62 73 71 6c 69 74 65 33 2e  def:.libsqlite3.
b550: 6c 69 62 0a 09 65 63 68 6f 20 45 58 50 4f 52 54  lib..echo EXPORT
b560: 53 20 3e 20 73 71 6c 69 74 65 33 2e 64 65 66 0a  S > sqlite3.def.
b570: 09 64 75 6d 70 62 69 6e 20 2f 61 6c 6c 20 6c 69  .dumpbin /all li
b580: 62 73 71 6c 69 74 65 33 2e 6c 69 62 20 5c 0a 09  bsqlite3.lib \..
b590: 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  .| $(TCLSH_CMD) 
b5a0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl
b5b0: 61 63 65 2e 74 63 6c 20 69 6e 63 6c 75 64 65 20  ace.tcl include 
b5c0: 22 5e 5c 73 2b 31 20 5f 3f 28 73 71 6c 69 74 65  "^\s+1 _?(sqlite
b5d0: 33 28 3f 3a 73 65 73 73 69 6f 6e 7c 63 68 61 6e  3(?:session|chan
b5e0: 67 65 73 65 74 7c 63 68 61 6e 67 65 67 72 6f 75  geset|changegrou
b5f0: 70 7c 72 65 62 61 73 65 72 29 3f 5f 5b 5e 40 5d  p|rebaser)?_[^@]
b600: 2a 29 28 3f 3a 40 5c 64 2b 29 3f 24 24 22 20 5c  *)(?:@\d+)?$$" \
b610: 31 20 5c 0a 09 09 7c 20 73 6f 72 74 20 3e 3e 20  1 \...| sort >> 
b620: 73 71 6c 69 74 65 33 2e 64 65 66 0a 23 20 3c 3c  sqlite3.def.# <<
b630: 2f 62 6c 6f 63 6b 32 3e 3e 0a 0a 24 28 53 51 4c  /block2>>..$(SQL
b640: 49 54 45 33 45 58 45 29 3a 09 73 68 65 6c 6c 2e  ITE3EXE):.shell.
b650: 63 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44  c $(SHELL_CORE_D
b660: 45 50 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  EP) $(LIBRESOBJS
b670: 29 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53  ) $(SHELL_CORE_S
b680: 52 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  RC) $(SQLITE3H).
b690: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 53 48 45  .$(LTLINK) $(SHE
b6a0: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  LL_COMPILE_OPTS)
b6b0: 20 24 28 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47   $(READLINE_FLAG
b6c0: 53 29 20 73 68 65 6c 6c 2e 63 20 24 28 53 48 45  S) shell.c $(SHE
b6d0: 4c 4c 5f 43 4f 52 45 5f 53 52 43 29 20 5c 0a 09  LL_CORE_SRC) \..
b6e0: 09 2f 6c 69 6e 6b 20 24 28 53 51 4c 49 54 45 33  ./link $(SQLITE3
b6f0: 45 58 45 50 44 42 29 20 24 28 4c 44 46 4c 41 47  EXEPDB) $(LDFLAG
b700: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
b710: 20 24 28 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50   $(SHELL_LINK_OP
b720: 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53  TS) $(LTLIBPATHS
b730: 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20  ) $(LIBRESOBJS) 
b740: 24 28 4c 49 42 52 45 41 44 4c 49 4e 45 29 20 24  $(LIBREADLINE) $
b750: 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53  (LTLIBS) $(TLIBS
b760: 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 73 71  )..# <<mark>>.sq
b770: 6c 64 69 66 66 2e 65 78 65 3a 09 24 28 54 4f 50  ldiff.exe:.$(TOP
b780: 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e 63  )\tool\sqldiff.c
b790: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
b7a0: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
b7b0: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24  NK) $(NO_WARN) $
b7c0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69  (TOP)\tool\sqldi
b7d0: 66 66 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  ff.c $(SQLITE3C)
b7e0: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
b7f0: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS).
b800: 0a 64 62 68 61 73 68 2e 65 78 65 3a 09 24 28 54  .dbhash.exe:.$(T
b810: 4f 50 29 5c 74 6f 6f 6c 5c 64 62 68 61 73 68 2e  OP)\tool\dbhash.
b820: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
b830: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
b840: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
b850: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62 68 61  $(TOP)\tool\dbha
b860: 73 68 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  sh.c $(SQLITE3C)
b870: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
b880: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS).
b890: 0a 73 63 72 75 62 2e 65 78 65 3a 09 24 28 54 4f  .scrub.exe:.$(TO
b8a0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 63 72 75  P)\ext\misc\scru
b8b0: 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  b.c $(SQLITE3C) 
b8c0: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
b8d0: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
b8e0: 29 20 2d 44 53 43 52 55 42 5f 53 54 41 4e 44 41  ) -DSCRUB_STANDA
b8f0: 4c 4f 4e 45 3d 31 20 24 28 54 4f 50 29 5c 65 78  LONE=1 $(TOP)\ex
b900: 74 5c 6d 69 73 63 5c 73 63 72 75 62 2e 63 20 24  t\misc\scrub.c $
b910: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
b920: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
b930: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 72 63 63 6b  LINKOPTS)..srcck
b940: 31 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  1.exe:.$(TOP)\to
b950: 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 09 24 28 42  ol\srcck1.c..$(B
b960: 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  CC) $(NO_WARN) -
b970: 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  Fe$@ $(TOP)\tool
b980: 5c 73 72 63 63 6b 31 2e 63 0a 0a 73 6f 75 72 63  \srcck1.c..sourc
b990: 65 74 65 73 74 3a 09 73 72 63 63 6b 31 2e 65 78  etest:.srcck1.ex
b9a0: 65 20 24 28 53 51 4c 49 54 45 33 43 29 0a 09 73  e $(SQLITE3C)..s
b9b0: 72 63 63 6b 31 2e 65 78 65 20 24 28 53 51 4c 49  rcck1.exe $(SQLI
b9c0: 54 45 33 43 29 0a 0a 66 75 7a 7a 65 72 73 68 65  TE3C)..fuzzershe
b9d0: 6c 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  ll.exe:.$(TOP)\t
b9e0: 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 6c 6c 2e  ool\fuzzershell.
b9f0: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
ba00: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
ba10: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
ba20: 24 28 46 55 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f  $(FUZZERSHELL_CO
ba30: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f  MPILE_OPTS) $(TO
ba40: 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68  P)\tool\fuzzersh
ba50: 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43  ell.c $(SQLITE3C
ba60: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
ba70: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
ba80: 0a 0a 64 62 66 75 7a 7a 2e 65 78 65 3a 09 24 28  ..dbfuzz.exe:.$(
ba90: 54 4f 50 29 5c 74 65 73 74 5c 64 62 66 75 7a 7a  TOP)\test\dbfuzz
baa0: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
bab0: 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
bac0: 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
bad0: 20 24 28 44 42 46 55 5a 5a 5f 43 4f 4d 50 49 4c   $(DBFUZZ_COMPIL
bae0: 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 74  E_OPTS) $(TOP)\t
baf0: 65 73 74 5c 64 62 66 75 7a 7a 2e 63 20 24 28 53  est\dbfuzz.c $(S
bb00: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
bb10: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
bb20: 4e 4b 4f 50 54 53 29 0a 0a 66 75 7a 7a 63 68 65  NKOPTS)..fuzzche
bb30: 63 6b 2e 65 78 65 3a 09 24 28 46 55 5a 5a 43 48  ck.exe:.$(FUZZCH
bb40: 45 43 4b 5f 53 52 43 29 20 24 28 53 51 4c 49 54  ECK_SRC) $(SQLIT
bb50: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
bb60: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
bb70: 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 43 48 45  _WARN) $(FUZZCHE
bb80: 43 4b 5f 4f 50 54 53 29 20 24 28 46 55 5a 5a 43  CK_OPTS) $(FUZZC
bb90: 48 45 43 4b 5f 53 52 43 29 20 24 28 53 51 4c 49  HECK_SRC) $(SQLI
bba0: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
bbb0: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
bbc0: 50 54 53 29 0a 0a 6f 73 73 73 68 65 6c 6c 2e 65  PTS)..ossshell.e
bbd0: 78 65 3a 09 24 28 4f 53 53 53 48 45 4c 4c 5f 53  xe:.$(OSSSHELL_S
bbe0: 52 43 29 20 24 28 53 51 4c 49 54 45 33 43 29 20  RC) $(SQLITE3C) 
bbf0: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
bc00: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
bc10: 29 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 4f 50  ) $(FUZZCHECK_OP
bc20: 54 53 29 20 24 28 4f 53 53 53 48 45 4c 4c 5f 53  TS) $(OSSSHELL_S
bc30: 52 43 29 20 24 28 53 51 4c 49 54 45 33 43 29 20  RC) $(SQLITE3C) 
bc40: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
bc50: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
bc60: 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 65 78 65 3a  sessionfuzz.exe:
bc70: 09 7a 6c 69 62 20 24 28 54 4f 50 29 5c 74 65 73  .zlib $(TOP)\tes
bc80: 74 5c 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 63 20  t\sessionfuzz.c 
bc90: 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
bca0: 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
bcb0: 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 49  K) $(NO_WARN) -I
bcc0: 24 28 5a 4c 49 42 49 4e 43 44 49 52 29 20 24 28  $(ZLIBINCDIR) $(
bcd0: 54 4f 50 29 5c 74 65 73 74 5c 73 65 73 73 69 6f  TOP)\test\sessio
bce0: 6e 66 75 7a 7a 2e 63 20 2f 6c 69 6e 6b 20 24 28  nfuzz.c /link $(
bcf0: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
bd00: 4b 4f 50 54 53 29 20 2f 4c 49 42 50 41 54 48 3a  KOPTS) /LIBPATH:
bd10: 24 28 5a 4c 49 42 4c 49 42 44 49 52 29 20 24 28  $(ZLIBLIBDIR) $(
bd20: 5a 4c 49 42 4c 49 42 29 0a 0a 6d 70 74 65 73 74  ZLIBLIB)..mptest
bd30: 65 72 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 6d  er.exe:.$(TOP)\m
bd40: 70 74 65 73 74 5c 6d 70 74 65 73 74 2e 63 20 24  ptest\mptest.c $
bd50: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
bd60: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
bd70: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 4d  ) $(NO_WARN) $(M
bd80: 50 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f  PTESTER_COMPILE_
bd90: 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 6d 70 74  OPTS) $(TOP)\mpt
bda0: 65 73 74 5c 6d 70 74 65 73 74 2e 63 20 24 28 53  est\mptest.c $(S
bdb0: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
bdc0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
bdd0: 4e 4b 4f 50 54 53 29 0a 0a 4d 50 54 45 53 54 31  NKOPTS)..MPTEST1
bde0: 20 3d 20 6d 70 74 65 73 74 65 72 20 6d 70 74 65   = mptester mpte
bdf0: 73 74 2e 64 62 20 24 28 54 4f 50 29 5c 6d 70 74  st.db $(TOP)\mpt
be00: 65 73 74 5c 63 72 61 73 68 30 31 2e 74 65 73 74  est\crash01.test
be10: 20 2d 2d 72 65 70 65 61 74 20 32 30 0a 4d 50 54   --repeat 20.MPT
be20: 45 53 54 32 20 3d 20 6d 70 74 65 73 74 65 72 20  EST2 = mptester 
be30: 6d 70 74 65 73 74 2e 64 62 20 24 28 54 4f 50 29  mptest.db $(TOP)
be40: 5c 6d 70 74 65 73 74 5c 6d 75 6c 74 69 77 72 69  \mptest\multiwri
be50: 74 65 30 31 2e 74 65 73 74 20 2d 2d 72 65 70 65  te01.test --repe
be60: 61 74 20 32 30 0a 0a 6d 70 74 65 73 74 3a 09 6d  at 20..mptest:.m
be70: 70 74 65 73 74 65 72 2e 65 78 65 0a 09 64 65 6c  ptester.exe..del
be80: 20 2f 51 20 6d 70 74 65 73 74 2e 64 62 20 32 3e   /Q mptest.db 2>
be90: 4e 55 4c 0a 09 24 28 4d 50 54 45 53 54 31 29 20  NUL..$(MPTEST1) 
bea0: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45  --journalmode DE
beb0: 4c 45 54 45 0a 09 24 28 4d 50 54 45 53 54 32 29  LETE..$(MPTEST2)
bec0: 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57   --journalmode W
bed0: 41 4c 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d  AL..$(MPTEST1) -
bee0: 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57 41 4c  -journalmode WAL
bef0: 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a  ..$(MPTEST2) --j
bf00: 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52 53 49  ournalmode PERSI
bf10: 53 54 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d  ST..$(MPTEST1) -
bf20: 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52  -journalmode PER
bf30: 53 49 53 54 0a 09 24 28 4d 50 54 45 53 54 32 29  SIST..$(MPTEST2)
bf40: 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 54   --journalmode T
bf50: 52 55 4e 43 41 54 45 0a 09 24 28 4d 50 54 45 53  RUNCATE..$(MPTES
bf60: 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T1) --journalmod
bf70: 65 20 54 52 55 4e 43 41 54 45 0a 09 24 28 4d 50  e TRUNCATE..$(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 44 45 4c 45 54 45 0a 0a 23 20 54  mode DELETE..# T
bfa0: 68 69 73 20 74 61 72 67 65 74 20 63 72 65 61 74  his target creat
bfb0: 65 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 6e  es a directory n
bfc0: 61 6d 65 64 20 22 74 73 72 63 22 20 61 6e 64 20  amed "tsrc" and 
bfd0: 66 69 6c 6c 73 20 69 74 20 77 69 74 68 0a 23 20  fills it with.# 
bfe0: 63 6f 70 69 65 73 20 6f 66 20 61 6c 6c 20 6f 66  copies of all of
bff0: 20 74 68 65 20 43 20 73 6f 75 72 63 65 20 63 6f   the C source co
c000: 64 65 20 61 6e 64 20 68 65 61 64 65 72 20 66 69  de and header fi
c010: 6c 65 73 20 6e 65 65 64 65 64 20 74 6f 0a 23 20  les needed to.# 
c020: 62 75 69 6c 64 20 6f 6e 20 74 68 65 20 74 61 72  build on the tar
c030: 67 65 74 20 73 79 73 74 65 6d 2e 20 20 53 6f 6d  get system.  Som
c040: 65 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72 63  e of the C sourc
c050: 65 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64 65  e code and heade
c060: 72 0a 23 20 66 69 6c 65 73 20 61 72 65 20 61 75  r.# files are au
c070: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65  tomatically gene
c080: 72 61 74 65 64 2e 20 20 54 68 69 73 20 74 61 72  rated.  This tar
c090: 67 65 74 20 74 61 6b 65 73 20 63 61 72 65 20 6f  get takes care o
c0a0: 66 0a 23 20 61 6c 6c 20 74 68 61 74 20 61 75 74  f.# all that aut
c0b0: 6f 6d 61 74 69 63 20 67 65 6e 65 72 61 74 69 6f  omatic generatio
c0c0: 6e 2e 0a 23 0a 2e 74 61 72 67 65 74 5f 73 6f 75  n..#..target_sou
c0d0: 72 63 65 3a 09 24 28 53 52 43 29 20 24 28 54 4f  rce:.$(SRC) $(TO
c0e0: 50 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d  P)\tool\vdbe-com
c0f0: 70 72 65 73 73 2e 74 63 6c 20 66 74 73 35 2e 63  press.tcl fts5.c
c100: 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45   $(SQLITE_TCL_DE
c110: 50 29 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20  P)..-rmdir /Q/S 
c120: 74 73 72 63 20 32 3e 4e 55 4c 0a 09 2d 6d 6b 64  tsrc 2>NUL..-mkd
c130: 69 72 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  ir tsrc..for %i 
c140: 69 6e 20 28 24 28 53 52 43 30 30 29 29 20 64 6f  in ($(SRC00)) do
c150: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
c160: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S
c170: 52 43 30 31 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC01)) do copy /
c180: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
c190: 69 20 69 6e 20 28 24 28 53 52 43 30 33 29 29 20  i in ($(SRC03)) 
c1a0: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
c1b0: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($
c1c0: 28 53 52 43 30 34 29 29 20 64 6f 20 63 6f 70 79  (SRC04)) do copy
c1d0: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
c1e0: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 35 29   %i in ($(SRC05)
c1f0: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i 
c200: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in 
c210: 28 24 28 53 52 43 30 36 29 29 20 64 6f 20 63 6f  ($(SRC06)) do co
c220: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
c230: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30  or %i in ($(SRC0
c240: 37 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  7)) do copy /Y %
c250: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
c260: 6e 20 28 24 28 53 52 43 30 38 29 29 20 64 6f 20  n ($(SRC08)) do 
c270: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
c280: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR
c290: 43 30 39 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C09)) do copy /Y
c2a0: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69   %i tsrc..for %i
c2b0: 20 69 6e 20 28 24 28 53 52 43 31 30 29 29 20 64   in ($(SRC10)) d
c2c0: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
c2d0: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($(
c2e0: 53 52 43 31 31 29 29 20 64 6f 20 63 6f 70 79 20  SRC11)) do copy 
c2f0: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for 
c300: 25 69 20 69 6e 20 28 24 28 53 52 43 31 32 29 29  %i in ($(SRC12))
c310: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
c320: 73 72 63 0a 09 63 6f 70 79 20 2f 59 20 66 74 73  src..copy /Y fts
c330: 35 2e 63 20 74 73 72 63 0a 09 63 6f 70 79 20 2f  5.c tsrc..copy /
c340: 59 20 66 74 73 35 2e 68 20 74 73 72 63 0a 09 64  Y fts5.h tsrc..d
c350: 65 6c 20 2f 51 20 74 73 72 63 5c 73 71 6c 69 74  el /Q tsrc\sqlit
c360: 65 2e 68 2e 69 6e 20 74 73 72 63 5c 70 61 72 73  e.h.in tsrc\pars
c370: 65 2e 79 20 32 3e 4e 55 4c 0a 09 24 28 54 43 4c  e.y 2>NUL..$(TCL
c380: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
c390: 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72 65 73  ool\vdbe-compres
c3a0: 73 2e 74 63 6c 20 24 28 4f 50 54 53 29 20 3c 20  s.tcl $(OPTS) < 
c3b0: 74 73 72 63 5c 76 64 62 65 2e 63 20 3e 20 76 64  tsrc\vdbe.c > vd
c3c0: 62 65 2e 6e 65 77 0a 09 6d 6f 76 65 20 76 64 62  be.new..move vdb
c3d0: 65 2e 6e 65 77 20 74 73 72 63 5c 76 64 62 65 2e  e.new tsrc\vdbe.
c3e0: 63 0a 09 65 63 68 6f 20 3e 20 2e 74 61 72 67 65  c..echo > .targe
c3f0: 74 5f 73 6f 75 72 63 65 0a 0a 73 71 6c 69 74 65  t_source..sqlite
c400: 33 2e 63 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75  3.c:..target_sou
c410: 72 63 65 20 73 71 6c 69 74 65 33 65 78 74 2e 68  rce sqlite3ext.h
c420: 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f   $(MKSQLITE3C_TO
c430: 4f 4c 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44  OL)..$(TCLSH_CMD
c440: 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54  ) $(MKSQLITE3C_T
c450: 4f 4f 4c 29 20 24 28 4d 4b 53 51 4c 49 54 45 33  OOL) $(MKSQLITE3
c460: 43 5f 41 52 47 53 29 0a 09 63 6f 70 79 20 24 28  C_ARGS)..copy $(
c470: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
c480: 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e  \sqlite3session.
c490: 68 20 2e 0a 0a 73 71 6c 69 74 65 33 2d 61 6c 6c  h ...sqlite3-all
c4a0: 2e 63 3a 09 73 71 6c 69 74 65 33 2e 63 20 24 28  .c:.sqlite3.c $(
c4b0: 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d  TOP)\tool\split-
c4c0: 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 09 24 28  sqlite3c.tcl..$(
c4d0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
c4e0: 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c  )\tool\split-sql
c4f0: 69 74 65 33 63 2e 74 63 6c 0a 23 20 3c 3c 2f 6d  ite3c.tcl.# <</m
c500: 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f  ark>>..# Rule to
c510: 20 62 75 69 6c 64 20 74 68 65 20 61 6d 61 6c 67   build the amalg
c520: 61 6d 61 74 69 6f 6e 0a 23 0a 73 71 6c 69 74 65  amation.#.sqlite
c530: 33 2e 6c 6f 3a 09 24 28 53 51 4c 49 54 45 33 43  3.lo:.$(SQLITE3C
c540: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
c550: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
c560: 50 54 53 29 20 2d 63 20 24 28 53 51 4c 49 54 45  PTS) -c $(SQLITE
c570: 33 43 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  3C)..# <<mark>>.
c580: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64  # Rules to build
c590: 20 74 68 65 20 4c 45 4d 4f 4e 20 63 6f 6d 70 69   the LEMON compi
c5a0: 6c 65 72 20 67 65 6e 65 72 61 74 6f 72 0a 23 0a  ler generator.#.
c5b0: 6c 65 6d 70 61 72 2e 63 3a 09 24 28 54 4f 50 29  lempar.c:.$(TOP)
c5c0: 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 0a 09  \tool\lempar.c..
c5d0: 63 6f 70 79 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  copy $(TOP)\tool
c5e0: 5c 6c 65 6d 70 61 72 2e 63 20 2e 0a 0a 6c 65 6d  \lempar.c ...lem
c5f0: 6f 6e 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  on.exe:.$(TOP)\t
c600: 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 6c 65 6d 70  ool\lemon.c lemp
c610: 61 72 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e  ar.c..$(BCC) $(N
c620: 4f 5f 57 41 52 4e 29 20 2d 44 61 63 63 65 73 73  O_WARN) -Daccess
c630: 3d 5f 61 63 63 65 73 73 20 5c 0a 09 09 2d 46 65  =_access \...-Fe
c640: 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c  $@ $(TOP)\tool\l
c650: 65 6d 6f 6e 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c  emon.c /link $(L
c660: 44 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e  DFLAGS) $(NLTLIN
c670: 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49 42 50  KOPTS) $(NLTLIBP
c680: 41 54 48 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  ATHS)..# <<mark>
c690: 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69  >.# Rules to bui
c6a0: 6c 64 20 74 68 65 20 73 6f 75 72 63 65 2d 69 64  ld the source-id
c6b0: 20 67 65 6e 65 72 61 74 6f 72 20 74 6f 6f 6c 0a   generator tool.
c6c0: 23 0a 6d 6b 73 6f 75 72 63 65 69 64 2e 65 78 65  #.mksourceid.exe
c6d0: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  :.$(TOP)\tool\mk
c6e0: 73 6f 75 72 63 65 69 64 2e 63 0a 09 24 28 42 43  sourceid.c..$(BC
c6f0: 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46  C) $(NO_WARN) -F
c700: 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  e$@ $(TOP)\tool\
c710: 6d 6b 73 6f 75 72 63 65 69 64 2e 63 20 2f 6c 69  mksourceid.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 52  LTLIBPATHS)..# R
c750: 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 69 6e  ules to build in
c760: 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20 66 69  dividual *.lo fi
c770: 6c 65 73 20 66 72 6f 6d 20 67 65 6e 65 72 61 74  les from generat
c780: 65 64 20 2a 2e 63 20 66 69 6c 65 73 2e 20 54 68  ed *.c files. Th
c790: 69 73 0a 23 20 61 70 70 6c 69 65 73 20 74 6f 3a  is.# applies to:
c7a0: 0a 23 0a 23 20 20 20 20 20 70 61 72 73 65 2e 6c  .#.#     parse.l
c7b0: 6f 0a 23 20 20 20 20 20 6f 70 63 6f 64 65 73 2e  o.#     opcodes.
c7c0: 6c 6f 0a 23 0a 70 61 72 73 65 2e 6c 6f 3a 09 70  lo.#.parse.lo:.p
c7d0: 61 72 73 65 2e 63 20 24 28 48 44 52 29 0a 09 24  arse.c $(HDR)..$
c7e0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c7f0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c800: 20 2d 63 20 70 61 72 73 65 2e 63 0a 0a 6f 70 63   -c parse.c..opc
c810: 6f 64 65 73 2e 6c 6f 3a 09 6f 70 63 6f 64 65 73  odes.lo:.opcodes
c820: 2e 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  .c..$(LTCOMPILE)
c830: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c840: 4f 50 54 53 29 20 2d 63 20 6f 70 63 6f 64 65 73  OPTS) -c opcodes
c850: 2e 63 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  .c.# <</mark>>..
c860: 23 20 52 75 6c 65 20 74 6f 20 62 75 69 6c 64 20  # Rule to build 
c870: 74 68 65 20 57 69 6e 33 32 20 72 65 73 6f 75 72  the Win32 resour
c880: 63 65 73 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e  ces object file.
c890: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 43 29  .#.!IF $(USE_RC)
c8a0: 21 3d 30 0a 23 20 3c 3c 62 6c 6f 63 6b 31 3e 3e  !=0.# <<block1>>
c8b0: 0a 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 3a 09  .$(LIBRESOBJS):.
c8c0: 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74  $(TOP)\src\sqlit
c8d0: 65 33 2e 72 63 20 24 28 53 51 4c 49 54 45 33 48  e3.rc $(SQLITE3H
c8e0: 29 20 24 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e  ) $(TOP)\VERSION
c8f0: 0a 09 65 63 68 6f 20 23 69 66 6e 64 65 66 20 53  ..echo #ifndef S
c900: 51 4c 49 54 45 5f 52 45 53 4f 55 52 43 45 5f 56  QLITE_RESOURCE_V
c910: 45 52 53 49 4f 4e 20 3e 20 73 71 6c 69 74 65 33  ERSION > sqlite3
c920: 72 63 2e 68 0a 09 66 6f 72 20 2f 46 20 25 25 56  rc.h..for /F %%V
c930: 20 69 6e 20 28 27 74 79 70 65 20 22 24 28 54 4f   in ('type "$(TO
c940: 50 29 5c 56 45 52 53 49 4f 4e 22 27 29 20 64 6f  P)\VERSION"') do
c950: 20 28 20 5c 0a 09 09 65 63 68 6f 20 23 64 65 66   ( \...echo #def
c960: 69 6e 65 20 53 51 4c 49 54 45 5f 52 45 53 4f 55  ine SQLITE_RESOU
c970: 52 43 45 5f 56 45 52 53 49 4f 4e 20 25 25 56 20  RCE_VERSION %%V 
c980: 5c 0a 09 09 09 7c 20 24 28 54 43 4c 53 48 5f 43  \....| $(TCLSH_C
c990: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
c9a0: 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63  replace.tcl exac
c9b0: 74 20 2e 20 5e 2c 20 3e 3e 20 73 71 6c 69 74 65  t . ^, >> sqlite
c9c0: 33 72 63 2e 68 20 5c 0a 09 29 0a 09 65 63 68 6f  3rc.h \..)..echo
c9d0: 20 23 65 6e 64 69 66 20 3e 3e 20 73 71 6c 69 74   #endif >> sqlit
c9e0: 65 33 72 63 2e 68 0a 09 24 28 4c 54 52 43 4f 4d  e3rc.h..$(LTRCOM
c9f0: 50 49 4c 45 29 20 2d 66 6f 20 24 28 4c 49 42 52  PILE) -fo $(LIBR
ca00: 45 53 4f 42 4a 53 29 20 24 28 54 4f 50 29 5c 73  ESOBJS) $(TOP)\s
ca10: 72 63 5c 73 71 6c 69 74 65 33 2e 72 63 0a 23 20  rc\sqlite3.rc.# 
ca20: 3c 3c 2f 62 6c 6f 63 6b 31 3e 3e 0a 21 45 4e 44  <</block1>>.!END
ca30: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  IF..# <<mark>>.#
ca40: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20   Rules to build 
ca50: 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20  individual *.lo 
ca60: 66 69 6c 65 73 20 66 72 6f 6d 20 66 69 6c 65 73  files from files
ca70: 20 69 6e 20 74 68 65 20 73 72 63 20 64 69 72 65   in the src dire
ca80: 63 74 6f 72 79 2e 0a 23 0a 61 6c 74 65 72 2e 6c  ctory..#.alter.l
ca90: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c  o:.$(TOP)\src\al
caa0: 74 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ter.c $(HDR)..$(
cab0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
cac0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
cad0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c  -c $(TOP)\src\al
cae0: 74 65 72 2e 63 0a 0a 61 6e 61 6c 79 7a 65 2e 6c  ter.c..analyze.l
caf0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e  o:.$(TOP)\src\an
cb00: 61 6c 79 7a 65 2e 63 20 24 28 48 44 52 29 0a 09  alyze.c $(HDR)..
cb10: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
cb20: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
cb30: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
cb40: 61 6e 61 6c 79 7a 65 2e 63 0a 0a 61 74 74 61 63  analyze.c..attac
cb50: 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  h.lo:.$(TOP)\src
cb60: 5c 61 74 74 61 63 68 2e 63 20 24 28 48 44 52 29  \attach.c $(HDR)
cb70: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cb80: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cb90: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cba0: 63 5c 61 74 74 61 63 68 2e 63 0a 0a 61 75 74 68  c\attach.c..auth
cbb0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
cbc0: 61 75 74 68 2e 63 20 24 28 48 44 52 29 0a 09 24  auth.c $(HDR)..$
cbd0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
cbe0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
cbf0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61   -c $(TOP)\src\a
cc00: 75 74 68 2e 63 0a 0a 62 61 63 6b 75 70 2e 6c 6f  uth.c..backup.lo
cc10: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 61 63  :.$(TOP)\src\bac
cc20: 6b 75 70 2e 63 20 24 28 48 44 52 29 0a 09 24 28  kup.c $(HDR)..$(
cc30: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
cc40: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
cc50: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 61  -c $(TOP)\src\ba
cc60: 63 6b 75 70 2e 63 0a 0a 62 69 74 76 65 63 2e 6c  ckup.c..bitvec.l
cc70: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 69  o:.$(TOP)\src\bi
cc80: 74 76 65 63 2e 63 20 24 28 48 44 52 29 0a 09 24  tvec.c $(HDR)..$
cc90: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
cca0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ccb0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62   -c $(TOP)\src\b
ccc0: 69 74 76 65 63 2e 63 0a 0a 62 74 6d 75 74 65 78  itvec.c..btmutex
ccd0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
cce0: 62 74 6d 75 74 65 78 2e 63 20 24 28 48 44 52 29  btmutex.c $(HDR)
ccf0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cd00: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cd10: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cd20: 63 5c 62 74 6d 75 74 65 78 2e 63 0a 0a 62 74 72  c\btmutex.c..btr
cd30: 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ee.lo:.$(TOP)\sr
cd40: 63 5c 62 74 72 65 65 2e 63 20 24 28 48 44 52 29  c\btree.c $(HDR)
cd50: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65   $(TOP)\src\page
cd60: 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  r.h..$(LTCOMPILE
cd70: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
cd80: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
cd90: 5c 73 72 63 5c 62 74 72 65 65 2e 63 0a 0a 62 75  \src\btree.c..bu
cda0: 69 6c 64 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ild.lo:.$(TOP)\s
cdb0: 72 63 5c 62 75 69 6c 64 2e 63 20 24 28 48 44 52  rc\build.c $(HDR
cdc0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
cdd0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
cde0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
cdf0: 72 63 5c 62 75 69 6c 64 2e 63 0a 0a 63 61 6c 6c  rc\build.c..call
ce00: 62 61 63 6b 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  back.lo:.$(TOP)\
ce10: 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 20 24  src\callback.c $
ce20: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
ce30: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
ce40: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
ce50: 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e  P)\src\callback.
ce60: 63 0a 0a 63 6f 6d 70 6c 65 74 65 2e 6c 6f 3a 09  c..complete.lo:.
ce70: 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c  $(TOP)\src\compl
ce80: 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ete.c $(HDR)..$(
ce90: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
cea0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
ceb0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f  -c $(TOP)\src\co
cec0: 6d 70 6c 65 74 65 2e 63 0a 0a 63 74 69 6d 65 2e  mplete.c..ctime.
ced0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63  lo:.$(TOP)\src\c
cee0: 74 69 6d 65 2e 63 20 24 28 48 44 52 29 0a 09 24  time.c $(HDR)..$
cef0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
cf00: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
cf10: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63   -c $(TOP)\src\c
cf20: 74 69 6d 65 2e 63 0a 0a 64 61 74 65 2e 6c 6f 3a  time.c..date.lo:
cf30: 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65  .$(TOP)\src\date
cf40: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
cf50: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
cf60: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
cf70: 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e  $(TOP)\src\date.
cf80: 63 0a 0a 64 62 70 61 67 65 2e 6c 6f 3a 09 24 28  c..dbpage.lo:.$(
cf90: 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67 65 2e  TOP)\src\dbpage.
cfa0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
cfb0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
cfc0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
cfd0: 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67 65  (TOP)\src\dbpage
cfe0: 2e 63 0a 0a 64 62 73 74 61 74 2e 6c 6f 3a 09 24  .c..dbstat.lo:.$
cff0: 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 61 74  (TOP)\src\dbstat
d000: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d010: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d020: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d030: 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 61  $(TOP)\src\dbsta
d040: 74 2e 63 0a 0a 64 65 6c 65 74 65 2e 6c 6f 3a 09  t.c..delete.lo:.
d050: 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74  $(TOP)\src\delet
d060: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
d070: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d080: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d090: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65   $(TOP)\src\dele
d0a0: 74 65 2e 63 0a 0a 65 78 70 72 2e 6c 6f 3a 09 24  te.c..expr.lo:.$
d0b0: 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63  (TOP)\src\expr.c
d0c0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d0d0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d0e0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
d0f0: 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 0a  TOP)\src\expr.c.
d100: 0a 66 61 75 6c 74 2e 6c 6f 3a 09 24 28 54 4f 50  .fault.lo:.$(TOP
d110: 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20 24 28  )\src\fault.c $(
d120: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d130: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d140: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d150: 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 0a 0a 66  )\src\fault.c..f
d160: 6b 65 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  key.lo:.$(TOP)\s
d170: 72 63 5c 66 6b 65 79 2e 63 20 24 28 48 44 52 29  rc\fkey.c $(HDR)
d180: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d190: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d1a0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d1b0: 63 5c 66 6b 65 79 2e 63 0a 0a 66 75 6e 63 2e 6c  c\fkey.c..func.l
d1c0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 75  o:.$(TOP)\src\fu
d1d0: 6e 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  nc.c $(HDR)..$(L
d1e0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d1f0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d200: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e  c $(TOP)\src\fun
d210: 63 2e 63 0a 0a 67 6c 6f 62 61 6c 2e 6c 6f 3a 09  c.c..global.lo:.
d220: 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61  $(TOP)\src\globa
d230: 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  l.c $(HDR)..$(LT
d240: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d250: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d260: 20 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62   $(TOP)\src\glob
d270: 61 6c 2e 63 0a 0a 68 61 73 68 2e 6c 6f 3a 09 24  al.c..hash.lo:.$
d280: 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63  (TOP)\src\hash.c
d290: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d2a0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d2b0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
d2c0: 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 0a  TOP)\src\hash.c.
d2d0: 0a 69 6e 73 65 72 74 2e 6c 6f 3a 09 24 28 54 4f  .insert.lo:.$(TO
d2e0: 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 20  P)\src\insert.c 
d2f0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d300: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d310: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d320: 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63  OP)\src\insert.c
d330: 0a 0a 6c 65 67 61 63 79 2e 6c 6f 3a 09 24 28 54  ..legacy.lo:.$(T
d340: 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63  OP)\src\legacy.c
d350: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d360: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d370: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
d380: 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e  TOP)\src\legacy.
d390: 63 0a 0a 6c 6f 61 64 65 78 74 2e 6c 6f 3a 09 24  c..loadext.lo:.$
d3a0: 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78  (TOP)\src\loadex
d3b0: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  t.c $(HDR)..$(LT
d3c0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d3d0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d3e0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64   $(TOP)\src\load
d3f0: 65 78 74 2e 63 0a 0a 6d 61 69 6e 2e 6c 6f 3a 09  ext.c..main.lo:.
d400: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e  $(TOP)\src\main.
d410: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d420: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d430: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d440: 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63  (TOP)\src\main.c
d450: 0a 0a 6d 61 6c 6c 6f 63 2e 6c 6f 3a 09 24 28 54  ..malloc.lo:.$(T
d460: 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63  OP)\src\malloc.c
d470: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d480: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d490: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
d4a0: 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e  TOP)\src\malloc.
d4b0: 63 0a 0a 6d 65 6d 30 2e 6c 6f 3a 09 24 28 54 4f  c..mem0.lo:.$(TO
d4c0: 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 24 28  P)\src\mem0.c $(
d4d0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d4e0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d4f0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d500: 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 0a 0a 6d 65  )\src\mem0.c..me
d510: 6d 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  m1.lo:.$(TOP)\sr
d520: 63 5c 6d 65 6d 31 2e 63 20 24 28 48 44 52 29 0a  c\mem1.c $(HDR).
d530: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d540: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d550: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d560: 5c 6d 65 6d 31 2e 63 0a 0a 6d 65 6d 32 2e 6c 6f  \mem1.c..mem2.lo
d570: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  :.$(TOP)\src\mem
d580: 32 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  2.c $(HDR)..$(LT
d590: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d5a0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d5b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32   $(TOP)\src\mem2
d5c0: 2e 63 0a 0a 6d 65 6d 33 2e 6c 6f 3a 09 24 28 54  .c..mem3.lo:.$(T
d5d0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 20 24  OP)\src\mem3.c $
d5e0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d5f0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d600: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d610: 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 0a 0a 6d  P)\src\mem3.c..m
d620: 65 6d 35 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  em5.lo:.$(TOP)\s
d630: 72 63 5c 6d 65 6d 35 2e 63 20 24 28 48 44 52 29  rc\mem5.c $(HDR)
d640: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d650: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d660: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d670: 63 5c 6d 65 6d 35 2e 63 0a 0a 6d 65 6d 64 62 2e  c\mem5.c..memdb.
d680: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m
d690: 65 6d 64 62 2e 63 20 24 28 48 44 52 29 0a 09 24  emdb.c $(HDR)..$
d6a0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d6b0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d6c0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
d6d0: 65 6d 64 62 2e 63 0a 0a 6d 65 6d 6a 6f 75 72 6e  emdb.c..memjourn
d6e0: 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  al.lo:.$(TOP)\sr
d6f0: 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20 24  c\memjournal.c $
d700: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d710: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d720: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d730: 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61  P)\src\memjourna
d740: 6c 2e 63 0a 0a 6d 75 74 65 78 2e 6c 6f 3a 09 24  l.c..mutex.lo:.$
d750: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e  (TOP)\src\mutex.
d760: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d770: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d780: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d790: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e  (TOP)\src\mutex.
d7a0: 63 0a 0a 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f  c..mutex_noop.lo
d7b0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  :.$(TOP)\src\mut
d7c0: 65 78 5f 6e 6f 6f 70 2e 63 20 24 28 48 44 52 29  ex_noop.c $(HDR)
d7d0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d7e0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d7f0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d800: 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 0a 0a  c\mutex_noop.c..
d810: 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 3a 09 24  mutex_unix.lo:.$
d820: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
d830: 75 6e 69 78 2e 63 20 24 28 48 44 52 29 0a 09 24  unix.c $(HDR)..$
d840: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d850: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d860: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
d870: 75 74 65 78 5f 75 6e 69 78 2e 63 0a 0a 6d 75 74  utex_unix.c..mut
d880: 65 78 5f 77 33 32 2e 6c 6f 3a 09 24 28 54 4f 50  ex_w32.lo:.$(TOP
d890: 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e  )\src\mutex_w32.
d8a0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d8b0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d8c0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d8d0: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
d8e0: 77 33 32 2e 63 0a 0a 6e 6f 74 69 66 79 2e 6c 6f  w32.c..notify.lo
d8f0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74  :.$(TOP)\src\not
d900: 69 66 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ify.c $(HDR)..$(
d910: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d920: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d930: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f  -c $(TOP)\src\no
d940: 74 69 66 79 2e 63 0a 0a 70 61 67 65 72 2e 6c 6f  tify.c..pager.lo
d950: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67  :.$(TOP)\src\pag
d960: 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f  er.c $(HDR) $(TO
d970: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 0a 09  P)\src\pager.h..
d980: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d990: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d9a0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d9b0: 70 61 67 65 72 2e 63 0a 0a 70 63 61 63 68 65 2e  pager.c..pcache.
d9c0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70  lo:.$(TOP)\src\p
d9d0: 63 61 63 68 65 2e 63 20 24 28 48 44 52 29 20 24  cache.c $(HDR) $
d9e0: 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65  (TOP)\src\pcache
d9f0: 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  .h..$(LTCOMPILE)
da00: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
da10: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
da20: 73 72 63 5c 70 63 61 63 68 65 2e 63 0a 0a 70 63  src\pcache.c..pc
da30: 61 63 68 65 31 2e 6c 6f 3a 09 24 28 54 4f 50 29  ache1.lo:.$(TOP)
da40: 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20 24  \src\pcache1.c $
da50: 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63  (HDR) $(TOP)\src
da60: 5c 70 63 61 63 68 65 2e 68 0a 09 24 28 4c 54 43  \pcache.h..$(LTC
da70: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
da80: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
da90: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach
daa0: 65 31 2e 63 0a 0a 6f 73 2e 6c 6f 3a 09 24 28 54  e1.c..os.lo:.$(T
dab0: 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20 24 28 48  OP)\src\os.c $(H
dac0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
dad0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
dae0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
daf0: 5c 73 72 63 5c 6f 73 2e 63 0a 0a 6f 73 5f 75 6e  \src\os.c..os_un
db00: 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ix.lo:.$(TOP)\sr
db10: 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 24 28 48 44  c\os_unix.c $(HD
db20: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
db30: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
db40: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
db50: 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 0a 0a 6f  src\os_unix.c..o
db60: 73 5f 77 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29  s_win.lo:.$(TOP)
db70: 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 20 24 28  \src\os_win.c $(
db80: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
db90: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
dba0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
dbb0: 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a 0a  )\src\os_win.c..
dbc0: 70 72 61 67 6d 61 2e 6c 6f 3a 09 24 28 54 4f 50  pragma.lo:.$(TOP
dbd0: 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 20 24  )\src\pragma.c $
dbe0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
dbf0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
dc00: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
dc10: 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 0a  P)\src\pragma.c.
dc20: 0a 70 72 65 70 61 72 65 2e 6c 6f 3a 09 24 28 54  .prepare.lo:.$(T
dc30: 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e  OP)\src\prepare.
dc40: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
dc50: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
dc60: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
dc70: 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72  (TOP)\src\prepar
dc80: 65 2e 63 0a 0a 70 72 69 6e 74 66 2e 6c 6f 3a 09  e.c..printf.lo:.
dc90: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74  $(TOP)\src\print
dca0: 66 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  f.c $(HDR)..$(LT
dcb0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
dcc0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
dcd0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e   $(TOP)\src\prin
dce0: 74 66 2e 63 0a 0a 72 61 6e 64 6f 6d 2e 6c 6f 3a  tf.c..random.lo:
dcf0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64  .$(TOP)\src\rand
dd00: 6f 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  om.c $(HDR)..$(L
dd10: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
dd20: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
dd30: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e  c $(TOP)\src\ran
dd40: 64 6f 6d 2e 63 0a 0a 72 65 73 6f 6c 76 65 2e 6c  dom.c..resolve.l
dd50: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 65  o:.$(TOP)\src\re
dd60: 73 6f 6c 76 65 2e 63 20 24 28 48 44 52 29 0a 09  solve.c $(HDR)..
dd70: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
dd80: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
dd90: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
dda0: 72 65 73 6f 6c 76 65 2e 63 0a 0a 72 6f 77 73 65  resolve.c..rowse
ddb0: 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  t.lo:.$(TOP)\src
ddc0: 5c 72 6f 77 73 65 74 2e 63 20 24 28 48 44 52 29  \rowset.c $(HDR)
ddd0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
dde0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ddf0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
de00: 63 5c 72 6f 77 73 65 74 2e 63 0a 0a 73 65 6c 65  c\rowset.c..sele
de10: 63 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ct.lo:.$(TOP)\sr
de20: 63 5c 73 65 6c 65 63 74 2e 63 20 24 28 48 44 52  c\select.c $(HDR
de30: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
de40: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
de50: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
de60: 72 63 5c 73 65 6c 65 63 74 2e 63 0a 0a 73 74 61  rc\select.c..sta
de70: 74 75 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  tus.lo:.$(TOP)\s
de80: 72 63 5c 73 74 61 74 75 73 2e 63 20 24 28 48 44  rc\status.c $(HD
de90: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
dea0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
deb0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
dec0: 73 72 63 5c 73 74 61 74 75 73 2e 63 0a 0a 74 61  src\status.c..ta
ded0: 62 6c 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ble.lo:.$(TOP)\s
dee0: 72 63 5c 74 61 62 6c 65 2e 63 20 24 28 48 44 52  rc\table.c $(HDR
def0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
df00: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
df10: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
df20: 72 63 5c 74 61 62 6c 65 2e 63 0a 0a 74 68 72 65  rc\table.c..thre
df30: 61 64 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ads.lo:.$(TOP)\s
df40: 72 63 5c 74 68 72 65 61 64 73 2e 63 20 24 28 48  rc\threads.c $(H
df50: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
df60: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
df70: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
df80: 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 0a 0a  \src\threads.c..
df90: 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 3a 09 24 28 54  tokenize.lo:.$(T
dfa0: 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a 65  OP)\src\tokenize
dfb0: 2e 63 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68  .c keywordhash.h
dfc0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
dfd0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
dfe0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
dff0: 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a  TOP)\src\tokeniz
e000: 65 2e 63 0a 0a 74 72 65 65 76 69 65 77 2e 6c 6f  e.c..treeview.lo
e010: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65  :.$(TOP)\src\tre
e020: 65 76 69 65 77 2e 63 20 24 28 48 44 52 29 0a 09  eview.c $(HDR)..
e030: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
e040: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
e050: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
e060: 74 72 65 65 76 69 65 77 2e 63 0a 0a 74 72 69 67  treeview.c..trig
e070: 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ger.lo:.$(TOP)\s
e080: 72 63 5c 74 72 69 67 67 65 72 2e 63 20 24 28 48  rc\trigger.c $(H
e090: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
e0a0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
e0b0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
e0c0: 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 0a 0a  \src\trigger.c..
e0d0: 75 70 64 61 74 65 2e 6c 6f 3a 09 24 28 54 4f 50  update.lo:.$(TOP
e0e0: 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 20 24  )\src\update.c $
e0f0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
e100: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
e110: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
e120: 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 0a  P)\src\update.c.
e130: 0a 75 70 73 65 72 74 2e 6c 6f 3a 09 24 28 54 4f  .upsert.lo:.$(TO
e140: 50 29 5c 73 72 63 5c 75 70 73 65 72 74 2e 63 20  P)\src\upsert.c 
e150: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
e160: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
e170: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
e180: 4f 50 29 5c 73 72 63 5c 75 70 73 65 72 74 2e 63  OP)\src\upsert.c
e190: 0a 0a 75 74 66 2e 6c 6f 3a 09 24 28 54 4f 50 29  ..utf.lo:.$(TOP)
e1a0: 5c 73 72 63 5c 75 74 66 2e 63 20 24 28 48 44 52  \src\utf.c $(HDR
e1b0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
e1c0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
e1d0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
e1e0: 72 63 5c 75 74 66 2e 63 0a 0a 75 74 69 6c 2e 6c  rc\utf.c..util.l
e1f0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 74  o:.$(TOP)\src\ut
e200: 69 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  il.c $(HDR)..$(L
e210: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
e220: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
e230: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69  c $(TOP)\src\uti
e240: 6c 2e 63 0a 0a 76 61 63 75 75 6d 2e 6c 6f 3a 09  l.c..vacuum.lo:.
e250: 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75  $(TOP)\src\vacuu
e260: 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  m.c $(HDR)..$(LT
e270: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
e280: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
e290: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75   $(TOP)\src\vacu
e2a0: 75 6d 2e 63 0a 0a 76 64 62 65 2e 6c 6f 3a 09 24  um.c..vdbe.lo:.$
e2b0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
e2c0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
e2d0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
e2e0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
e2f0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 0a  TOP)\src\vdbe.c.
e300: 0a 76 64 62 65 61 70 69 2e 6c 6f 3a 09 24 28 54  .vdbeapi.lo:.$(T
e310: 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69 2e  OP)\src\vdbeapi.
e320: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
e330: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
e340: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
e350: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70  (TOP)\src\vdbeap
e360: 69 2e 63 0a 0a 76 64 62 65 61 75 78 2e 6c 6f 3a  i.c..vdbeaux.lo:
e370: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65  .$(TOP)\src\vdbe
e380: 61 75 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28  aux.c $(HDR)..$(
e390: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
e3a0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
e3b0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  -c $(TOP)\src\vd
e3c0: 62 65 61 75 78 2e 63 0a 0a 76 64 62 65 62 6c 6f  beaux.c..vdbeblo
e3d0: 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  b.lo:.$(TOP)\src
e3e0: 5c 76 64 62 65 62 6c 6f 62 2e 63 20 24 28 48 44  \vdbeblob.c $(HD
e3f0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e400: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
e410: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
e420: 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 0a 0a  src\vdbeblob.c..
e430: 76 64 62 65 6d 65 6d 2e 6c 6f 3a 09 24 28 54 4f  vdbemem.lo:.$(TO
e440: 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63  P)\src\vdbemem.c
e450: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
e460: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
e470: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
e480: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d  TOP)\src\vdbemem
e490: 2e 63 0a 0a 76 64 62 65 73 6f 72 74 2e 6c 6f 3a  .c..vdbesort.lo:
e4a0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65  .$(TOP)\src\vdbe
e4b0: 73 6f 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24  sort.c $(HDR)..$
e4c0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
e4d0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
e4e0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v
e4f0: 64 62 65 73 6f 72 74 2e 63 0a 0a 76 64 62 65 74  dbesort.c..vdbet
e500: 72 61 63 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  race.lo:.$(TOP)\
e510: 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63 20  src\vdbetrace.c 
e520: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
e530: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
e540: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
e550: 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63  OP)\src\vdbetrac
e560: 65 2e 63 0a 0a 76 74 61 62 2e 6c 6f 3a 09 24 28  e.c..vtab.lo:.$(
e570: 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 20  TOP)\src\vtab.c 
e580: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
e590: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
e5a0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
e5b0: 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 0a 0a  OP)\src\vtab.c..
e5c0: 77 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  wal.lo:.$(TOP)\s
e5d0: 72 63 5c 77 61 6c 2e 63 20 24 28 48 44 52 29 0a  rc\wal.c $(HDR).
e5e0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
e5f0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e600: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
e610: 5c 77 61 6c 2e 63 0a 0a 77 61 6c 6b 65 72 2e 6c  \wal.c..walker.l
e620: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 61  o:.$(TOP)\src\wa
e630: 6c 6b 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24  lker.c $(HDR)..$
e640: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
e650: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
e660: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77   -c $(TOP)\src\w
e670: 61 6c 6b 65 72 2e 63 0a 0a 77 68 65 72 65 2e 6c  alker.c..where.l
e680: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  o:.$(TOP)\src\wh
e690: 65 72 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ere.c $(HDR)..$(
e6a0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
e6b0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
e6c0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  -c $(TOP)\src\wh
e6d0: 65 72 65 2e 63 0a 0a 77 68 65 72 65 63 6f 64 65  ere.c..wherecode
e6e0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
e6f0: 77 68 65 72 65 63 6f 64 65 2e 63 20 24 28 48 44  wherecode.c $(HD
e700: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e710: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
e720: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
e730: 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 0a  src\wherecode.c.
e740: 0a 77 68 65 72 65 65 78 70 72 2e 6c 6f 3a 09 24  .whereexpr.lo:.$
e750: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 65  (TOP)\src\wheree
e760: 78 70 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28  xpr.c $(HDR)..$(
e770: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
e780: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
e790: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  -c $(TOP)\src\wh
e7a0: 65 72 65 65 78 70 72 2e 63 0a 0a 77 69 6e 64 6f  ereexpr.c..windo
e7b0: 77 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  w.lo:.$(TOP)\src
e7c0: 5c 77 69 6e 64 6f 77 2e 63 20 24 28 48 44 52 29  \window.c $(HDR)
e7d0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
e7e0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
e7f0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
e800: 63 5c 77 69 6e 64 6f 77 2e 63 0a 0a 74 63 6c 73  c\window.c..tcls
e810: 71 6c 69 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  qlite.lo:.$(TOP)
e820: 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63  \src\tclsqlite.c
e830: 20 24 28 48 44 52 29 20 24 28 53 51 4c 49 54 45   $(HDR) $(SQLITE
e840: 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 43  _TCL_DEP)..$(LTC
e850: 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52  OMPILE) $(NO_WAR
e860: 4e 29 20 2d 44 55 53 45 5f 54 43 4c 5f 53 54 55  N) -DUSE_TCL_STU
e870: 42 53 3d 31 20 2d 44 42 55 49 4c 44 5f 73 71 6c  BS=1 -DBUILD_sql
e880: 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49  ite -I$(TCLINCDI
e890: 52 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  R) -c $(TOP)\src
e8a0: 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63  \tclsqlite.c..tc
e8b0: 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f  lsqlite-shell.lo
e8c0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c  :.$(TOP)\src\tcl
e8d0: 73 71 6c 69 74 65 2e 63 20 24 28 48 44 52 29 20  sqlite.c $(HDR) 
e8e0: 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50  $(SQLITE_TCL_DEP
e8f0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
e900: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 54 43 4c  $(NO_WARN) -DTCL
e910: 53 48 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74  SH -DBUILD_sqlit
e920: 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29  e -I$(TCLINCDIR)
e930: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74   -c $(TOP)\src\t
e940: 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63 6c 73  clsqlite.c..tcls
e950: 71 6c 69 74 65 33 2e 65 78 65 3a 09 74 63 6c 73  qlite3.exe:.tcls
e960: 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 24  qlite-shell.lo $
e970: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
e980: 49 54 45 33 48 29 20 24 28 4c 49 42 52 45 53 4f  ITE3H) $(LIBRESO
e990: 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  BJS)..$(LTLINK) 
e9a0: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
e9b0: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
e9c0: 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c  TLINKOPTS) $(TCL
e9d0: 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49  LIBPATHS) $(LTLI
e9e0: 42 50 41 54 48 53 29 20 2f 4f 55 54 3a 24 40 20  BPATHS) /OUT:$@ 
e9f0: 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e  tclsqlite-shell.
ea00: 6c 6f 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  lo $(LIBRESOBJS)
ea10: 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54   $(TCLLIBS) $(LT
ea20: 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS)..
ea30: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64  # Rules to build
ea40: 20 6f 70 63 6f 64 65 73 2e 63 20 61 6e 64 20 6f   opcodes.c and o
ea50: 70 63 6f 64 65 73 2e 68 0a 23 0a 6f 70 63 6f 64  pcodes.h.#.opcod
ea60: 65 73 2e 63 3a 09 6f 70 63 6f 64 65 73 2e 68 20  es.c:.opcodes.h 
ea70: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70  $(TOP)\tool\mkop
ea80: 63 6f 64 65 63 2e 74 63 6c 0a 09 24 28 54 43 4c  codec.tcl..$(TCL
ea90: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
eaa0: 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63  ool\mkopcodec.tc
eab0: 6c 20 6f 70 63 6f 64 65 73 2e 68 20 3e 20 6f 70  l opcodes.h > op
eac0: 63 6f 64 65 73 2e 63 0a 0a 6f 70 63 6f 64 65 73  codes.c..opcodes
ead0: 2e 68 3a 09 70 61 72 73 65 2e 68 20 24 28 54 4f  .h:.parse.h $(TO
eae0: 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 24 28  P)\src\vdbe.c $(
eaf0: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f  TOP)\tool\mkopco
eb00: 64 65 68 2e 74 63 6c 0a 09 74 79 70 65 20 70 61  deh.tcl..type pa
eb10: 72 73 65 2e 68 20 24 28 54 4f 50 29 5c 73 72 63  rse.h $(TOP)\src
eb20: 5c 76 64 62 65 2e 63 20 7c 20 24 28 54 43 4c 53  \vdbe.c | $(TCLS
eb30: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
eb40: 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c  ol\mkopcodeh.tcl
eb50: 20 3e 20 6f 70 63 6f 64 65 73 2e 68 0a 0a 23 20   > opcodes.h..# 
eb60: 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 70  Rules to build p
eb70: 61 72 73 65 2e 63 20 61 6e 64 20 70 61 72 73 65  arse.c and parse
eb80: 2e 68 20 2d 20 74 68 65 20 6f 75 74 70 75 74 73  .h - the outputs
eb90: 20 6f 66 20 6c 65 6d 6f 6e 2e 0a 23 0a 70 61 72   of lemon..#.par
eba0: 73 65 2e 68 3a 09 70 61 72 73 65 2e 63 0a 0a 70  se.h:.parse.c..p
ebb0: 61 72 73 65 2e 63 3a 09 24 28 54 4f 50 29 5c 73  arse.c:.$(TOP)\s
ebc0: 72 63 5c 70 61 72 73 65 2e 79 20 6c 65 6d 6f 6e  rc\parse.y lemon
ebd0: 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  .exe $(TOP)\tool
ebe0: 5c 61 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c 0a  \addopcodes.tcl.
ebf0: 09 64 65 6c 20 2f 51 20 70 61 72 73 65 2e 79 20  .del /Q parse.y 
ec00: 70 61 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e  parse.h parse.h.
ec10: 74 65 6d 70 20 32 3e 4e 55 4c 0a 09 63 6f 70 79  temp 2>NUL..copy
ec20: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73   $(TOP)\src\pars
ec30: 65 2e 79 20 2e 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65  e.y ....\lemon.e
ec40: 78 65 20 24 28 52 45 51 5f 46 45 41 54 55 52 45  xe $(REQ_FEATURE
ec50: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45  _FLAGS) $(OPT_FE
ec60: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45  ATURE_FLAGS) $(E
ec70: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
ec80: 29 20 24 28 4f 50 54 53 29 20 70 61 72 73 65 2e  ) $(OPTS) parse.
ec90: 79 0a 09 6d 6f 76 65 20 70 61 72 73 65 2e 68 20  y..move parse.h 
eca0: 70 61 72 73 65 2e 68 2e 74 65 6d 70 0a 09 24 28  parse.h.temp..$(
ecb0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
ecc0: 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 65  )\tool\addopcode
ecd0: 73 2e 74 63 6c 20 70 61 72 73 65 2e 68 2e 74 65  s.tcl parse.h.te
ece0: 6d 70 20 3e 20 70 61 72 73 65 2e 68 0a 0a 24 28  mp > parse.h..$(
ecf0: 53 51 4c 49 54 45 33 48 29 3a 09 24 28 54 4f 50  SQLITE3H):.$(TOP
ed00: 29 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69  )\src\sqlite.h.i
ed10: 6e 20 24 28 54 4f 50 29 5c 6d 61 6e 69 66 65 73  n $(TOP)\manifes
ed20: 74 20 6d 6b 73 6f 75 72 63 65 69 64 2e 65 78 65  t mksourceid.exe
ed30: 20 24 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 0a   $(TOP)\VERSION.
ed40: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD) $(
ed50: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69  TOP)\tool\mksqli
ed60: 74 65 33 68 2e 74 63 6c 20 24 28 54 4f 50 3a 5c  te3h.tcl $(TOP:\
ed70: 3d 2f 29 20 3e 20 24 28 53 51 4c 49 54 45 33 48  =/) > $(SQLITE3H
ed80: 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 48 5f 41  ) $(MKSQLITE3H_A
ed90: 52 47 53 29 0a 0a 73 71 6c 69 74 65 33 65 78 74  RGS)..sqlite3ext
eda0: 2e 68 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75 72  .h:..target_sour
edb0: 63 65 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44  ce.!IF $(USE_STD
edc0: 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  CALL)!=0 || $(FO
edd0: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 09 74 79 70  R_WIN10)!=0..typ
ede0: 65 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65 78  e tsrc\sqlite3ex
edf0: 74 2e 68 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d  t.h | $(TCLSH_CM
ee00: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r
ee10: 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75  eplace.tcl regsu
ee20: 62 20 22 5c 28 5c 2a 5c 29 22 20 22 28 53 51 4c  b "\(\*\)" "(SQL
ee30: 49 54 45 5f 43 41 4c 4c 42 41 43 4b 20 2a 29 22  ITE_CALLBACK *)"
ee40: 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43   \...| $(TCLSH_C
ee50: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
ee60: 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73  replace.tcl regs
ee70: 75 62 20 22 5c 28 5c 2a 22 20 22 28 53 51 4c 49  ub "\(\*" "(SQLI
ee80: 54 45 5f 41 50 49 43 41 4c 4c 20 2a 22 20 3e 20  TE_APICALL *" > 
ee90: 73 71 6c 69 74 65 33 65 78 74 2e 68 0a 09 63 6f  sqlite3ext.h..co
eea0: 70 79 20 2f 59 20 73 71 6c 69 74 65 33 65 78 74  py /Y sqlite3ext
eeb0: 2e 68 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65  .h tsrc\sqlite3e
eec0: 78 74 2e 68 0a 21 45 4c 53 45 0a 09 63 6f 70 79  xt.h.!ELSE..copy
eed0: 20 2f 59 20 74 73 72 63 5c 73 71 6c 69 74 65 33   /Y tsrc\sqlite3
eee0: 65 78 74 2e 68 20 73 71 6c 69 74 65 33 65 78 74  ext.h sqlite3ext
eef0: 2e 68 0a 21 45 4e 44 49 46 0a 0a 6d 6b 6b 65 79  .h.!ENDIF..mkkey
ef00: 77 6f 72 64 68 61 73 68 2e 65 78 65 3a 09 24 28  wordhash.exe:.$(
ef10: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77  TOP)\tool\mkkeyw
ef20: 6f 72 64 68 61 73 68 2e 63 0a 09 24 28 42 43 43  ordhash.c..$(BCC
ef30: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65  ) $(NO_WARN) -Fe
ef40: 24 40 20 24 28 52 45 51 5f 46 45 41 54 55 52 45  $@ $(REQ_FEATURE
ef50: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45  _FLAGS) $(OPT_FE
ef60: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45  ATURE_FLAGS) $(E
ef70: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
ef80: 29 20 24 28 4f 50 54 53 29 20 5c 0a 09 09 24 28  ) $(OPTS) \...$(
ef90: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77  TOP)\tool\mkkeyw
efa0: 6f 72 64 68 61 73 68 2e 63 20 2f 6c 69 6e 6b 20  ordhash.c /link 
efb0: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c 54  $(LDFLAGS) $(NLT
efc0: 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c  LINKOPTS) $(NLTL
efd0: 49 42 50 41 54 48 53 29 0a 0a 6b 65 79 77 6f 72  IBPATHS)..keywor
efe0: 64 68 61 73 68 2e 68 3a 09 24 28 54 4f 50 29 5c  dhash.h:.$(TOP)\
eff0: 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61  tool\mkkeywordha
f000: 73 68 2e 63 20 6d 6b 6b 65 79 77 6f 72 64 68 61  sh.c mkkeywordha
f010: 73 68 2e 65 78 65 0a 09 2e 5c 6d 6b 6b 65 79 77  sh.exe...\mkkeyw
f020: 6f 72 64 68 61 73 68 2e 65 78 65 20 3e 20 6b 65  ordhash.exe > ke
f030: 79 77 6f 72 64 68 61 73 68 2e 68 0a 0a 23 20 53  ywordhash.h..# S
f040: 6f 75 72 63 65 20 66 69 6c 65 73 20 74 68 61 74  ource files that
f050: 20 67 6f 20 69 6e 74 6f 20 6d 61 6b 69 6e 67 20   go into making 
f060: 73 68 65 6c 6c 2e 63 0a 53 48 45 4c 4c 5f 53 52  shell.c.SHELL_SR
f070: 43 20 3d 20 5c 0a 09 24 28 54 4f 50 29 5c 73 72  C = \..$(TOP)\sr
f080: 63 5c 73 68 65 6c 6c 2e 63 2e 69 6e 20 5c 0a 09  c\shell.c.in \..
f090: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
f0a0: 61 70 70 65 6e 64 76 66 73 2e 63 20 5c 0a 09 24  appendvfs.c \..$
f0b0: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73  (TOP)\ext\misc\s
f0c0: 68 61 74 68 72 65 65 2e 63 20 5c 0a 09 24 28 54  hathree.c \..$(T
f0d0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 66 69 6c  OP)\ext\misc\fil
f0e0: 65 69 6f 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c  eio.c \..$(TOP)\
f0f0: 65 78 74 5c 6d 69 73 63 5c 63 6f 6d 70 6c 65 74  ext\misc\complet
f100: 69 6f 6e 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c  ion.c \..$(TOP)\
f110: 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74  ext\expert\sqlit
f120: 65 33 65 78 70 65 72 74 2e 63 20 5c 0a 09 24 28  e3expert.c \..$(
f130: 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c  TOP)\ext\expert\
f140: 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 68 20  sqlite3expert.h 
f150: 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  \..$(TOP)\ext\mi
f160: 73 63 5c 6d 65 6d 74 72 61 63 65 2e 63 20 5c 0a  sc\memtrace.c \.
f170: 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74  .$(TOP)\src\test
f180: 5f 77 69 6e 64 69 72 65 6e 74 2e 63 0a 0a 23 20  _windirent.c..# 
f190: 49 66 20 75 73 65 20 6f 66 20 7a 6c 69 62 20 69  If use of zlib i
f1a0: 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74  s enabled, add t
f1b0: 68 65 20 22 7a 69 70 66 69 6c 65 2e 63 22 20 73  he "zipfile.c" s
f1c0: 6f 75 72 63 65 20 66 69 6c 65 2e 0a 23 0a 21 49  ource file..#.!I
f1d0: 46 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30  F $(USE_ZLIB)!=0
f1e0: 0a 53 48 45 4c 4c 5f 53 52 43 20 3d 20 24 28 53  .SHELL_SRC = $(S
f1f0: 48 45 4c 4c 5f 53 52 43 29 20 24 28 54 4f 50 29  HELL_SRC) $(TOP)
f200: 5c 65 78 74 5c 6d 69 73 63 5c 73 71 6c 61 72 2e  \ext\misc\sqlar.
f210: 63 0a 53 48 45 4c 4c 5f 53 52 43 20 3d 20 24 28  c.SHELL_SRC = $(
f220: 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 54 4f 50  SHELL_SRC) $(TOP
f230: 29 5c 65 78 74 5c 6d 69 73 63 5c 7a 69 70 66 69  )\ext\misc\zipfi
f240: 6c 65 2e 63 0a 21 45 4e 44 49 46 0a 0a 73 68 65  le.c.!ENDIF..she
f250: 6c 6c 2e 63 3a 09 24 28 53 48 45 4c 4c 5f 53 52  ll.c:.$(SHELL_SR
f260: 43 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  C) $(TOP)\tool\m
f270: 6b 73 68 65 6c 6c 63 2e 74 63 6c 0a 09 24 28 54  kshellc.tcl..$(T
f280: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
f290: 5c 74 6f 6f 6c 5c 6d 6b 73 68 65 6c 6c 63 2e 74  \tool\mkshellc.t
f2a0: 63 6c 20 3e 20 73 68 65 6c 6c 2e 63 0a 0a 7a 6c  cl > shell.c..zl
f2b0: 69 62 3a 0a 09 70 75 73 68 64 20 24 28 5a 4c 49  ib:..pushd $(ZLI
f2c0: 42 44 49 52 29 20 26 26 20 24 28 4d 41 4b 45 29  BDIR) && $(MAKE)
f2d0: 20 2f 66 20 77 69 6e 33 32 5c 4d 61 6b 65 66 69   /f win32\Makefi
f2e0: 6c 65 2e 6d 73 63 20 63 6c 65 61 6e 20 24 28 5a  le.msc clean $(Z
f2f0: 4c 49 42 4c 49 42 29 20 26 26 20 70 6f 70 64 0a  LIBLIB) && popd.
f300: 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c  .# Rules to buil
f310: 64 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20  d the extension 
f320: 6f 62 6a 65 63 74 73 2e 0a 23 0a 69 63 75 2e 6c  objects..#.icu.l
f330: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 69 63  o:.$(TOP)\ext\ic
f340: 75 5c 69 63 75 2e 63 20 24 28 48 44 52 29 20 24  u\icu.c $(HDR) $
f350: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
f360: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
f370: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
f380: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
f390: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
f3a0: 78 74 5c 69 63 75 5c 69 63 75 2e 63 0a 0a 66 74  xt\icu\icu.c..ft
f3b0: 73 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  s2.lo:.$(TOP)\ex
f3c0: 74 5c 66 74 73 32 5c 66 74 73 32 2e 63 20 24 28  t\fts2\fts2.c $(
f3d0: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
f3e0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
f3f0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
f400: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
f410: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
f420: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
f430: 73 32 2e 63 0a 0a 66 74 73 32 5f 68 61 73 68 2e  s2.c..fts2_hash.
f440: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
f450: 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 63 20  ts2\fts2_hash.c 
f460: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
f470: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
f480: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
f490: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
f4a0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
f4b0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
f4c0: 66 74 73 32 5f 68 61 73 68 2e 63 0a 0a 66 74 73  fts2_hash.c..fts
f4d0: 32 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29  2_icu.lo:.$(TOP)
f4e0: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 69  \ext\fts2\fts2_i
f4f0: 63 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  cu.c $(HDR) $(EX
f500: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
f510: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
f520: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
f530: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
f540: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
f550: 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e 63 0a  fts2\fts2_icu.c.
f560: 0a 66 74 73 32 5f 70 6f 72 74 65 72 2e 6c 6f 3a  .fts2_porter.lo:
f570: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32  .$(TOP)\ext\fts2
f580: 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e 63 20 24  \fts2_porter.c $
f590: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
f5a0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
f5b0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
f5c0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
f5d0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
f5e0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
f5f0: 74 73 32 5f 70 6f 72 74 65 72 2e 63 0a 0a 66 74  ts2_porter.c..ft
f600: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a  s2_tokenizer.lo:
f610: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32  .$(TOP)\ext\fts2
f620: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts2_tokenizer.
f630: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
f640: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
f650: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
f660: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
f670: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
f680: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
f690: 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72  2\fts2_tokenizer
f6a0: 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e 69 7a  .c..fts2_tokeniz
f6b0: 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  er1.lo:.$(TOP)\e
f6c0: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b  xt\fts2\fts2_tok
f6d0: 65 6e 69 7a 65 72 31 2e 63 20 24 28 48 44 52 29  enizer1.c $(HDR)
f6e0: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
f6f0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
f700: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
f710: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
f720: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
f730: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74  \ext\fts2\fts2_t
f740: 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66 74 73  okenizer1.c..fts
f750: 33 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  3.lo:.$(TOP)\ext
f760: 5c 66 74 73 33 5c 66 74 73 33 2e 63 20 24 28 48  \fts3\fts3.c $(H
f770: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
f780: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
f790: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
f7a0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
f7b0: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
f7c0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f7d0: 33 2e 63 0a 0a 66 74 73 33 5f 61 75 78 2e 6c 6f  3.c..fts3_aux.lo
f7e0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
f7f0: 33 5c 66 74 73 33 5f 61 75 78 2e 63 20 24 28 48  3\fts3_aux.c $(H
f800: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
f810: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
f820: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
f830: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
f840: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
f850: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f860: 33 5f 61 75 78 2e 63 0a 0a 66 74 73 33 5f 65 78  3_aux.c..fts3_ex
f870: 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  pr.lo:.$(TOP)\ex
f880: 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70 72  t\fts3\fts3_expr
f890: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
f8a0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
f8b0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
f8c0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
f8d0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
f8e0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
f8f0: 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 0a 0a  s3\fts3_expr.c..
f900: 66 74 73 33 5f 68 61 73 68 2e 6c 6f 3a 09 24 28  fts3_hash.lo:.$(
f910: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
f920: 73 33 5f 68 61 73 68 2e 63 20 24 28 48 44 52 29  s3_hash.c $(HDR)
f930: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
f940: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
f950: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
f960: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
f970: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
f980: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68  \ext\fts3\fts3_h
f990: 61 73 68 2e 63 0a 0a 66 74 73 33 5f 69 63 75 2e  ash.c..fts3_icu.
f9a0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
f9b0: 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 20 24  ts3\fts3_icu.c $
f9c0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
f9d0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
f9e0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
f9f0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
fa00: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
fa10: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
fa20: 74 73 33 5f 69 63 75 2e 63 0a 0a 66 74 73 33 5f  ts3_icu.c..fts3_
fa30: 73 6e 69 70 70 65 74 2e 6c 6f 3a 09 24 28 54 4f  snippet.lo:.$(TO
fa40: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
fa50: 5f 73 6e 69 70 70 65 74 2e 63 20 24 28 48 44 52  _snippet.c $(HDR
fa60: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
fa70: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
fa80: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
fa90: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
faa0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
fab0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
fac0: 73 6e 69 70 70 65 74 2e 63 0a 0a 66 74 73 33 5f  snippet.c..fts3_
fad0: 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50  porter.lo:.$(TOP
fae0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
faf0: 70 6f 72 74 65 72 2e 63 20 24 28 48 44 52 29 20  porter.c $(HDR) 
fb00: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
fb10: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
fb20: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
fb30: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
fb40: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
fb50: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f  ext\fts3\fts3_po
fb60: 72 74 65 72 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b  rter.c..fts3_tok
fb70: 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f 50  enizer.lo:.$(TOP
fb80: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
fb90: 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 28 48 44  tokenizer.c $(HD
fba0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
fbb0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
fbc0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
fbd0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
fbe0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
fbf0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
fc00: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 74  _tokenizer.c..ft
fc10: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f  s3_tokenizer1.lo
fc20: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
fc30: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3\fts3_tokenizer
fc40: 31 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  1.c $(HDR) $(EXT
fc50: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
fc60: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
fc70: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
fc80: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
fc90: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
fca0: 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  ts3\fts3_tokeniz
fcb0: 65 72 31 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65  er1.c..fts3_toke
fcc0: 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f 3a 09 24 28  nize_vtab.lo:.$(
fcd0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
fce0: 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62  s3_tokenize_vtab
fcf0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
fd00: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
fd10: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
fd20: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
fd30: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
fd40: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
fd50: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
fd60: 5f 76 74 61 62 2e 63 0a 0a 66 74 73 33 5f 75 6e  _vtab.c..fts3_un
fd70: 69 63 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  icode.lo:.$(TOP)
fd80: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75  \ext\fts3\fts3_u
fd90: 6e 69 63 6f 64 65 2e 63 20 24 28 48 44 52 29 20  nicode.c $(HDR) 
fda0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
fdb0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
fdc0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
fdd0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
fde0: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
fdf0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e  ext\fts3\fts3_un
fe00: 69 63 6f 64 65 2e 63 0a 0a 66 74 73 33 5f 75 6e  icode.c..fts3_un
fe10: 69 63 6f 64 65 32 2e 6c 6f 3a 09 24 28 54 4f 50  icode2.lo:.$(TOP
fe20: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
fe30: 75 6e 69 63 6f 64 65 32 2e 63 20 24 28 48 44 52  unicode2.c $(HDR
fe40: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
fe50: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
fe60: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
fe70: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
fe80: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
fe90: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
fea0: 75 6e 69 63 6f 64 65 32 2e 63 0a 0a 66 74 73 33  unicode2.c..fts3
feb0: 5f 77 72 69 74 65 2e 6c 6f 3a 09 24 28 54 4f 50  _write.lo:.$(TOP
fec0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
fed0: 77 72 69 74 65 2e 63 20 24 28 48 44 52 29 20 24  write.c $(HDR) $
fee0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
fef0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
ff00: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
ff10: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
ff20: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
ff30: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69  xt\fts3\fts3_wri
ff40: 74 65 2e 63 0a 0a 6a 73 6f 6e 31 2e 6c 6f 3a 09  te.c..json1.lo:.
ff50: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
ff60: 6a 73 6f 6e 31 2e 63 20 24 28 48 44 52 29 20 24  json1.c $(HDR) $
ff70: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
ff80: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
ff90: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
ffa0: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
ffb0: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
ffc0: 78 74 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 0a  xt\misc\json1.c.
ffd0: 0a 73 74 6d 74 2e 6c 6f 3a 09 24 28 54 4f 50 29  .stmt.lo:.$(TOP)
ffe0: 5c 65 78 74 5c 6d 69 73 63 5c 73 74 6d 74 2e 63  \ext\misc\stmt.c
fff0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
10000 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
10010 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
10020 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
10030 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
10040 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
10050 5c 73 74 6d 74 2e 63 0a 0a 72 74 72 65 65 2e 6c  \stmt.c..rtree.l
10060 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 74  o:.$(TOP)\ext\rt
10070 72 65 65 5c 72 74 72 65 65 2e 63 20 24 28 48 44  ree\rtree.c $(HD
10080 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
10090 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
100a0 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
100b0 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
100c0 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
100d0 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72  P)\ext\rtree\rtr
100e0 65 65 2e 63 0a 0a 73 71 6c 69 74 65 33 73 65 73  ee.c..sqlite3ses
100f0 73 69 6f 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  sion.lo:.$(TOP)\
10100 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69  ext\session\sqli
10110 74 65 33 73 65 73 73 69 6f 6e 2e 63 20 24 28 48  te3session.c $(H
10120 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
10130 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
10140 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
10150 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
10160 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
10170 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
10180 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 63  sqlite3session.c
10190 0a 0a 23 20 46 54 53 35 20 74 68 69 6e 67 73 0a  ..# FTS5 things.
101a0 23 0a 46 54 53 35 5f 53 52 43 20 3d 20 5c 0a 20  #.FTS5_SRC = \. 
101b0 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
101c0 35 5c 66 74 73 35 2e 68 20 5c 0a 20 20 20 24 28  5\fts5.h \.   $(
101d0 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
101e0 73 35 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54  s5Int.h \.   $(T
101f0 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
10200 35 5f 61 75 78 2e 63 20 5c 0a 20 20 20 24 28 54  5_aux.c \.   $(T
10210 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
10220 35 5f 62 75 66 66 65 72 2e 63 20 5c 0a 20 20 20  5_buffer.c \.   
10230 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\
10240 66 74 73 35 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20  fts5_main.c \.  
10250 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
10260 5c 66 74 73 35 5f 63 6f 6e 66 69 67 2e 63 20 5c  \fts5_config.c \
10270 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f
10280 74 73 35 5c 66 74 73 35 5f 65 78 70 72 2e 63 20  ts5\fts5_expr.c 
10290 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
102a0 66 74 73 35 5c 66 74 73 35 5f 68 61 73 68 2e 63  fts5\fts5_hash.c
102b0 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
102c0 5c 66 74 73 35 5c 66 74 73 35 5f 69 6e 64 65 78  \fts5\fts5_index
102d0 2e 63 20 5c 0a 20 20 20 66 74 73 35 70 61 72 73  .c \.   fts5pars
102e0 65 2e 63 20 66 74 73 35 70 61 72 73 65 2e 68 20  e.c fts5parse.h 
102f0 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
10300 66 74 73 35 5c 66 74 73 35 5f 73 74 6f 72 61 67  fts5\fts5_storag
10310 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  e.c \.   $(TOP)\
10320 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 6f  ext\fts5\fts5_to
10330 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20 20 20 24 28  kenize.c \.   $(
10340 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
10350 73 35 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a  s5_unicode2.c \.
10360 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
10370 73 35 5c 66 74 73 35 5f 76 61 72 69 6e 74 2e 63  s5\fts5_varint.c
10380 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
10390 5c 66 74 73 35 5c 66 74 73 35 5f 76 6f 63 61 62  \fts5\fts5_vocab
103a0 2e 63 0a 0a 4c 53 4d 31 5f 53 52 43 20 3d 20 5c  .c..LSM1_SRC = \
103b0 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
103c0 73 6d 31 5c 6c 73 6d 2e 68 20 5c 0a 20 20 20 24  sm1\lsm.h \.   $
103d0 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c  (TOP)\ext\lsm1\l
103e0 73 6d 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54  smInt.h \.   $(T
103f0 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d  OP)\ext\lsm1\lsm
10400 5f 63 6b 70 74 2e 63 20 5c 0a 20 20 20 24 28 54  _ckpt.c \.   $(T
10410 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d  OP)\ext\lsm1\lsm
10420 5f 66 69 6c 65 2e 63 20 5c 0a 20 20 20 24 28 54  _file.c \.   $(T
10430 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d  OP)\ext\lsm1\lsm
10440 5f 6c 6f 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f  _log.c \.   $(TO
10450 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f  P)\ext\lsm1\lsm_
10460 6d 61 69 6e 2e 63 20 5c 0a 20 20 20 24 28 54 4f  main.c \.   $(TO
10470 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f  P)\ext\lsm1\lsm_
10480 6d 65 6d 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  mem.c \.   $(TOP
10490 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d  )\ext\lsm1\lsm_m
104a0 75 74 65 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f  utex.c \.   $(TO
104b0 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f  P)\ext\lsm1\lsm_
104c0 73 68 61 72 65 64 2e 63 20 5c 0a 20 20 20 24 28  shared.c \.   $(
104d0 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73  TOP)\ext\lsm1\ls
104e0 6d 5f 73 6f 72 74 65 64 2e 63 20 5c 0a 20 20 20  m_sorted.c \.   
104f0 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c  $(TOP)\ext\lsm1\
10500 6c 73 6d 5f 73 74 72 2e 63 20 5c 0a 20 20 20 24  lsm_str.c \.   $
10510 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c  (TOP)\ext\lsm1\l
10520 73 6d 5f 74 72 65 65 2e 63 20 5c 0a 20 20 20 24  sm_tree.c \.   $
10530 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c  (TOP)\ext\lsm1\l
10540 73 6d 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 20 24  sm_unix.c \.   $
10550 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c  (TOP)\ext\lsm1\l
10560 73 6d 5f 76 61 72 69 6e 74 2e 63 20 5c 0a 20 20  sm_varint.c \.  
10570 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
10580 5c 6c 73 6d 5f 76 74 61 62 2e 63 20 5c 0a 20 20  \lsm_vtab.c \.  
10590 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
105a0 5c 6c 73 6d 5f 77 69 6e 33 32 2e 63 0a 0a 66 74  \lsm_win32.c..ft
105b0 73 35 70 61 72 73 65 2e 63 3a 09 24 28 54 4f 50  s5parse.c:.$(TOP
105c0 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 70  )\ext\fts5\fts5p
105d0 61 72 73 65 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65  arse.y lemon.exe
105e0 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78  ..copy $(TOP)\ex
105f0 74 5c 66 74 73 35 5c 66 74 73 35 70 61 72 73 65  t\fts5\fts5parse
10600 2e 79 20 2e 0a 09 64 65 6c 20 2f 51 20 66 74 73  .y ...del /Q fts
10610 35 70 61 72 73 65 2e 68 20 32 3e 4e 55 4c 0a 09  5parse.h 2>NUL..
10620 2e 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45  .\lemon.exe $(RE
10630 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  Q_FEATURE_FLAGS)
10640 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46   $(OPT_FEATURE_F
10650 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54  LAGS) $(EXT_FEAT
10660 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54  URE_FLAGS) $(OPT
10670 53 29 20 66 74 73 35 70 61 72 73 65 2e 79 0a 0a  S) fts5parse.y..
10680 66 74 73 35 70 61 72 73 65 2e 68 3a 09 66 74 73  fts5parse.h:.fts
10690 35 70 61 72 73 65 2e 63 0a 0a 66 74 73 35 2e 63  5parse.c..fts5.c
106a0 3a 09 24 28 46 54 53 35 5f 53 52 43 29 0a 09 24  :.$(FTS5_SRC)..$
106b0 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
106c0 50 29 5c 65 78 74 5c 66 74 73 35 5c 74 6f 6f 6c  P)\ext\fts5\tool
106d0 5c 6d 6b 66 74 73 35 63 2e 74 63 6c 0a 09 63 6f  \mkfts5c.tcl..co
106e0 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  py $(TOP)\ext\ft
106f0 73 35 5c 66 74 73 35 2e 68 20 2e 0a 0a 6c 73 6d  s5\fts5.h ...lsm
10700 31 2e 63 3a 09 24 28 4c 53 4d 31 5f 53 52 43 29  1.c:.$(LSM1_SRC)
10710 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  ..$(TCLSH_CMD) $
10720 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 74  (TOP)\ext\lsm1\t
10730 6f 6f 6c 5c 6d 6b 6c 73 6d 31 63 2e 74 63 6c 0a  ool\mklsm1c.tcl.
10740 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74  .copy $(TOP)\ext
10750 5c 6c 73 6d 31 5c 6c 73 6d 2e 68 20 2e 0a 0a 66  \lsm1\lsm.h ...f
10760 74 73 35 2e 6c 6f 3a 09 66 74 73 35 2e 63 20 24  ts5.lo:.fts5.c $
10770 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
10780 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
10790 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
107a0 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
107b0 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 66  SQLITE_CORE -c f
107c0 74 73 35 2e 63 0a 0a 66 74 73 35 5f 65 78 74 2e  ts5.c..fts5_ext.
107d0 6c 6f 3a 09 66 74 73 35 2e 63 20 24 28 48 44 52  lo:.fts5.c $(HDR
107e0 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
107f0 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57  TCOMPILE) $(NO_W
10800 41 52 4e 29 20 2d 63 20 66 74 73 35 2e 63 0a 0a  ARN) -c fts5.c..
10810 66 74 73 35 2e 64 6c 6c 3a 09 66 74 73 35 5f 65  fts5.dll:.fts5_e
10820 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 24 28 4c  xt.lo..$(LD) $(L
10830 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
10840 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54  OPTS) $(LTLIBPAT
10850 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40  HS) /DLL /OUT:$@
10860 20 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 0a 73 71   fts5_ext.lo..sq
10870 6c 69 74 65 33 72 62 75 2e 6c 6f 3a 09 24 28 54  lite3rbu.lo:.$(T
10880 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69  OP)\ext\rbu\sqli
10890 74 65 33 72 62 75 2e 63 20 24 28 48 44 52 29 20  te3rbu.c $(HDR) 
108a0 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
108b0 4f 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49 54 45  OMPILE) -DSQLITE
108c0 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
108d0 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72  ext\rbu\sqlite3r
108e0 62 75 2e 63 0a 0a 23 20 52 75 6c 65 73 20 74 6f  bu.c..# Rules to
108f0 20 62 75 69 6c 64 20 74 68 65 20 27 74 65 73 74   build the 'test
10900 66 69 78 74 75 72 65 27 20 61 70 70 6c 69 63 61  fixture' applica
10910 74 69 6f 6e 2e 0a 23 0a 23 20 49 66 20 75 73 69  tion..#.# If usi
10920 6e 67 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74  ng the amalgamat
10930 69 6f 6e 2c 20 75 73 65 20 73 71 6c 69 74 65 33  ion, use sqlite3
10940 2e 63 20 64 69 72 65 63 74 6c 79 20 74 6f 20 62  .c directly to b
10950 75 69 6c 64 20 74 68 65 20 74 65 73 74 0a 23 20  uild the test.# 
10960 66 69 78 74 75 72 65 2e 20 20 4f 74 68 65 72 77  fixture.  Otherw
10970 69 73 65 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74  ise link against
10980 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 2e   libsqlite3.lib.
10990 20 20 28 54 68 69 73 20 64 69 73 74 69 6e 63 74    (This distinct
109a0 69 6f 6e 20 69 73 0a 23 20 6e 65 63 65 73 73 61  ion is.# necessa
109b0 72 79 20 62 65 63 61 75 73 65 20 74 68 65 20 74  ry because the t
109c0 65 73 74 20 66 69 78 74 75 72 65 20 72 65 71 75  est fixture requ
109d0 69 72 65 73 20 6e 6f 6e 2d 41 50 49 20 73 79 6d  ires non-API sym
109e0 62 6f 6c 73 20 77 68 69 63 68 20 61 72 65 0a 23  bols which are.#
109f0 20 68 69 64 64 65 6e 20 77 68 65 6e 20 74 68 65   hidden when the
10a00 20 6c 69 62 72 61 72 79 20 69 73 20 62 75 69 6c   library is buil
10a10 74 20 76 69 61 20 74 68 65 20 61 6d 61 6c 67 61  t via the amalga
10a20 6d 61 74 69 6f 6e 29 2e 0a 23 0a 54 45 53 54 46  mation)..#.TESTF
10a30 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 2d  IXTURE_FLAGS = -
10a40 44 54 43 4c 53 48 5f 49 4e 49 54 5f 50 52 4f 43  DTCLSH_INIT_PROC
10a50 3d 73 71 6c 69 74 65 33 54 65 73 74 49 6e 69 74  =sqlite3TestInit
10a60 20 2d 44 53 51 4c 49 54 45 5f 54 45 53 54 3d 31   -DSQLITE_TEST=1
10a70 20 2d 44 53 51 4c 49 54 45 5f 43 52 41 53 48 5f   -DSQLITE_CRASH_
10a80 54 45 53 54 3d 31 0a 54 45 53 54 46 49 58 54 55  TEST=1.TESTFIXTU
10a90 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53  RE_FLAGS = $(TES
10aa0 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20  TFIXTURE_FLAGS) 
10ab0 2d 44 53 51 4c 49 54 45 5f 53 45 52 56 45 52 3d  -DSQLITE_SERVER=
10ac0 31 20 2d 44 53 51 4c 49 54 45 5f 50 52 49 56 41  1 -DSQLITE_PRIVA
10ad0 54 45 3d 22 22 0a 54 45 53 54 46 49 58 54 55 52  TE="".TESTFIXTUR
10ae0 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54  E_FLAGS = $(TEST
10af0 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FIXTURE_FLAGS) -
10b00 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 24 28 4e  DSQLITE_CORE $(N
10b10 4f 5f 57 41 52 4e 29 0a 54 45 53 54 46 49 58 54  O_WARN).TESTFIXT
10b20 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45  URE_FLAGS = $(TE
10b30 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29  STFIXTURE_FLAGS)
10b40 20 2d 44 53 51 4c 49 54 45 5f 53 45 52 49 45 53   -DSQLITE_SERIES
10b50 5f 43 4f 4e 53 54 52 41 49 4e 54 5f 56 45 52 49  _CONSTRAINT_VERI
10b60 46 59 3d 31 0a 54 45 53 54 46 49 58 54 55 52 45  FY=1.TESTFIXTURE
10b70 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46  _FLAGS = $(TESTF
10b80 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  IXTURE_FLAGS) -D
10b90 53 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 50  SQLITE_DEFAULT_P
10ba0 41 47 45 5f 53 49 5a 45 3d 31 30 32 34 0a 54 45  AGE_SIZE=1024.TE
10bb0 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20  STFIXTURE_FLAGS 
10bc0 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  = $(TESTFIXTURE_
10bd0 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
10be0 45 4e 41 42 4c 45 5f 53 54 4d 54 56 54 41 42 3d  ENABLE_STMTVTAB=
10bf0 31 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  1.TESTFIXTURE_FL
10c00 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54  AGS = $(TESTFIXT
10c10 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
10c20 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42 50 41 47  ITE_ENABLE_DBPAG
10c30 45 5f 56 54 41 42 3d 31 0a 54 45 53 54 46 49 58  E_VTAB=1.TESTFIX
10c40 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54  TURE_FLAGS = $(T
10c50 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
10c60 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
10c70 45 5f 4a 53 4f 4e 31 3d 31 0a 54 45 53 54 46 49  E_JSON1=1.TESTFI
10c80 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  XTURE_FLAGS = $(
10c90 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
10ca0 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
10cb0 4c 45 5f 44 45 53 45 52 49 41 4c 49 5a 45 3d 31  LE_DESERIALIZE=1
10cc0 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  .TESTFIXTURE_FLA
10cd0 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55  GS = $(TESTFIXTU
10ce0 52 45 5f 46 4c 41 47 53 29 20 24 28 54 45 53 54  RE_FLAGS) $(TEST
10cf0 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 0a 54 45  _CCONV_OPTS)..TE
10d00 53 54 46 49 58 54 55 52 45 5f 53 52 43 30 20 3d  STFIXTURE_SRC0 =
10d10 20 24 28 54 45 53 54 45 58 54 29 20 24 28 54 45   $(TESTEXT) $(TE
10d20 53 54 53 52 43 32 29 0a 54 45 53 54 46 49 58 54  STSRC2).TESTFIXT
10d30 55 52 45 5f 53 52 43 31 20 3d 20 24 28 54 45 53  URE_SRC1 = $(TES
10d40 54 45 58 54 29 20 24 28 53 51 4c 49 54 45 33 43  TEXT) $(SQLITE3C
10d50 29 0a 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c  ).!IF $(USE_AMAL
10d60 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 45 53  GAMATION)==0.TES
10d70 54 46 49 58 54 55 52 45 5f 53 52 43 20 3d 20 24  TFIXTURE_SRC = $
10d80 28 54 45 53 54 53 52 43 29 20 24 28 54 4f 50 29  (TESTSRC) $(TOP)
10d90 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63  \src\tclsqlite.c
10da0 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 53   $(TESTFIXTURE_S
10db0 52 43 30 29 0a 21 45 4c 53 45 0a 54 45 53 54 46  RC0).!ELSE.TESTF
10dc0 49 58 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54  IXTURE_SRC = $(T
10dd0 45 53 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73  ESTSRC) $(TOP)\s
10de0 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24  rc\tclsqlite.c $
10df0 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43  (TESTFIXTURE_SRC
10e00 31 29 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24  1).!ENDIF..!IF $
10e10 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30  (USE_STDCALL)!=0
10e20 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10)
10e30 21 3d 30 0a 73 71 6c 69 74 65 5f 74 63 6c 44 65  !=0.sqlite_tclDe
10e40 63 6c 73 2e 68 3a 0a 09 65 63 68 6f 20 23 69 66  cls.h:..echo #if
10e50 6e 64 65 66 20 53 51 4c 49 54 45 5f 54 43 4c 41  ndef SQLITE_TCLA
10e60 50 49 20 3e 20 24 28 53 51 4c 49 54 45 54 43 4c  PI > $(SQLITETCL
10e70 44 45 43 4c 53 48 29 0a 09 65 63 68 6f 20 23 20  DECLSH)..echo # 
10e80 20 64 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 54   define SQLITE_T
10e90 43 4c 41 50 49 20 3e 3e 20 24 28 53 51 4c 49 54  CLAPI >> $(SQLIT
10ea0 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 65 63 68  ETCLDECLSH)..ech
10eb0 6f 20 23 65 6e 64 69 66 20 3e 3e 20 24 28 53 51  o #endif >> $(SQ
10ec0 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09  LITETCLDECLSH)..
10ed0 74 79 70 65 20 22 24 28 54 43 4c 49 4e 43 44 49  type "$(TCLINCDI
10ee0 52 29 5c 74 63 6c 44 65 63 6c 73 2e 68 22 20 5c  R)\tclDecls.h" \
10ef0 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  ...| $(TCLSH_CMD
10f00 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re
10f10 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62  place.tcl regsub
10f20 20 22 5e 28 45 58 54 45 52 4e 28 3f 3a 20 43 4f   "^(EXTERN(?: CO
10f30 4e 53 54 5c 64 2b 3f 29 3f 5c 73 2b 3f 5b 5e 5c  NST\d+?)?\s+?[^\
10f40 28 5d 2a 3f 5c 73 2b 3f 29 54 63 6c 5f 22 20 22  (]*?\s+?)Tcl_" "
10f50 5c 31 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49  \1 SQLITE_TCLAPI
10f60 20 54 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54   Tcl_" \...| $(T
10f70 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
10f80 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
10f90 6c 20 72 65 67 73 75 62 20 22 5e 28 45 58 54 45  l regsub "^(EXTE
10fa0 52 4e 5c 73 2b 3f 28 3f 3a 76 6f 69 64 7c 56 4f  RN\s+?(?:void|VO
10fb0 49 44 29 5c 73 2b 3f 29 54 63 6c 46 72 65 65 4f  ID)\s+?)TclFreeO
10fc0 62 6a 22 20 22 5c 31 20 53 51 4c 49 54 45 5f 54  bj" "\1 SQLITE_T
10fd0 43 4c 41 50 49 20 54 63 6c 46 72 65 65 4f 62 6a  CLAPI TclFreeObj
10fe0 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f  " \...| $(TCLSH_
10ff0 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
11000 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67  \replace.tcl reg
11010 73 75 62 20 22 5c 28 5c 2a 74 63 6c 5f 22 20 22  sub "\(\*tcl_" "
11020 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a  (SQLITE_TCLAPI *
11030 74 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43  tcl_" \...| $(TC
11040 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
11050 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
11060 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 74 63 6c   regsub "\(\*tcl
11070 46 72 65 65 4f 62 6a 22 20 22 28 53 51 4c 49 54  FreeObj" "(SQLIT
11080 45 5f 54 43 4c 41 50 49 20 2a 74 63 6c 46 72 65  E_TCLAPI *tclFre
11090 65 4f 62 6a 22 20 5c 0a 09 09 7c 20 24 28 54 43  eObj" \...| $(TC
110a0 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
110b0 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
110c0 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 22 20 22   regsub "\(\*" "
110d0 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a  (SQLITE_TCLAPI *
110e0 22 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c  " >> $(SQLITETCL
110f0 44 45 43 4c 53 48 29 0a 0a 73 71 6c 69 74 65 5f  DECLSH)..sqlite_
11100 74 63 6c 2e 68 3a 0a 09 74 79 70 65 20 22 24 28  tcl.h:..type "$(
11110 54 43 4c 49 4e 43 44 49 52 29 5c 74 63 6c 2e 68  TCLINCDIR)\tcl.h
11120 22 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29  " | $(TCLSH_CMD)
11130 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep
11140 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 74  lace.tcl exact t
11150 63 6c 44 65 63 6c 73 2e 68 20 73 71 6c 69 74 65  clDecls.h sqlite
11160 5f 74 63 6c 44 65 63 6c 73 2e 68 20 5c 0a 09 09  _tclDecls.h \...
11170 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
11180 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
11190 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 74  ce.tcl regsub "t
111a0 79 70 65 64 65 66 20 28 2e 2a 3f 29 5c 28 54 63  ypedef (.*?)\(Tc
111b0 6c 5f 22 20 22 74 79 70 65 64 65 66 20 5c 31 20  l_" "typedef \1 
111c0 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54  (SQLITE_TCLAPI T
111d0 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c  cl_" \...| $(TCL
111e0 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
111f0 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20  ool\replace.tcl 
11200 65 78 61 63 74 20 22 76 6f 69 64 20 28 2a 66 72  exact "void (*fr
11210 65 65 50 72 6f 63 29 22 20 22 76 6f 69 64 20 28  eeProc)" "void (
11220 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 66  SQLITE_TCLAPI *f
11230 72 65 65 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20  reeProc)" \...| 
11240 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
11250 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
11260 2e 74 63 6c 20 65 78 61 63 74 20 22 54 63 6c 5f  .tcl exact "Tcl_
11270 48 61 73 68 45 6e 74 72 79 20 2a 28 2a 66 69 6e  HashEntry *(*fin
11280 64 50 72 6f 63 29 22 20 22 54 63 6c 5f 48 61 73  dProc)" "Tcl_Has
11290 68 45 6e 74 72 79 20 2a 28 53 51 4c 49 54 45 5f  hEntry *(SQLITE_
112a0 54 43 4c 41 50 49 20 2a 66 69 6e 64 50 72 6f 63  TCLAPI *findProc
112b0 29 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48  )" \...| $(TCLSH
112c0 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
112d0 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78  l\replace.tcl ex
112e0 61 63 74 20 22 54 63 6c 5f 48 61 73 68 45 6e 74  act "Tcl_HashEnt
112f0 72 79 20 2a 28 2a 63 72 65 61 74 65 50 72 6f 63  ry *(*createProc
11300 29 22 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72  )" "Tcl_HashEntr
11310 79 20 2a 28 53 51 4c 49 54 45 5f 54 43 4c 41 50  y *(SQLITE_TCLAP
11320 49 20 2a 63 72 65 61 74 65 50 72 6f 63 29 22 20  I *createProc)" 
11330 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29  >> $(SQLITETCLH)
11340 0a 21 45 4e 44 49 46 0a 0a 74 65 73 74 66 69 78  .!ENDIF..testfix
11350 74 75 72 65 2e 65 78 65 3a 09 24 28 54 45 53 54  ture.exe:.$(TEST
11360 46 49 58 54 55 52 45 5f 53 52 43 29 20 24 28 54  FIXTURE_SRC) $(T
11370 45 53 54 46 49 58 54 55 52 45 5f 44 45 50 29 20  ESTFIXTURE_DEP) 
11380 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49  $(SQLITE3H) $(LI
11390 42 52 45 53 4f 42 4a 53 29 20 24 28 48 44 52 29  BRESOBJS) $(HDR)
113a0 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45   $(SQLITE_TCL_DE
113b0 50 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 2d 44  P)..$(LTLINK) -D
113c0 53 51 4c 49 54 45 5f 4e 4f 5f 53 59 4e 43 3d 31  SQLITE_NO_SYNC=1
113d0 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46   $(TESTFIXTURE_F
113e0 4c 41 47 53 29 20 5c 0a 09 09 2d 44 42 55 49 4c  LAGS) \...-DBUIL
113f0 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c  D_sqlite -I$(TCL
11400 49 4e 43 44 49 52 29 20 5c 0a 09 09 24 28 54 45  INCDIR) \...$(TE
11410 53 54 46 49 58 54 55 52 45 5f 53 52 43 29 20 5c  STFIXTURE_SRC) \
11420 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  .../link $(LDFLA
11430 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
11440 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29  ) $(TCLLIBPATHS)
11450 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24   $(LTLIBPATHS) $
11460 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 54  (LIBRESOBJS) $(T
11470 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49 42 53  CLLIBS) $(LTLIBS
11480 29 20 24 28 54 4c 49 42 53 29 0a 0a 65 78 74 65  ) $(TLIBS)..exte
11490 6e 73 69 6f 6e 74 65 73 74 3a 09 74 65 73 74 66  nsiontest:.testf
114a0 69 78 74 75 72 65 2e 65 78 65 20 74 65 73 74 6c  ixture.exe testl
114b0 6f 61 64 65 78 74 2e 64 6c 6c 0a 09 40 73 65 74  oadext.dll..@set
114c0 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41   PATH=$(LIBTCLPA
114d0 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74  TH);$(PATH)...\t
114e0 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24  estfixture.exe $
114f0 28 54 4f 50 29 5c 74 65 73 74 5c 6c 6f 61 64 65  (TOP)\test\loade
11500 78 74 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50  xt.test $(TESTOP
11510 54 53 29 0a 0a 63 6f 72 65 74 65 73 74 70 72 6f  TS)..coretestpro
11520 67 73 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29  gs:.$(TESTPROGS)
11530 0a 0a 74 65 73 74 70 72 6f 67 73 3a 09 63 6f 72  ..testprogs:.cor
11540 65 74 65 73 74 70 72 6f 67 73 20 73 72 63 63 6b  etestprogs srcck
11550 31 2e 65 78 65 20 66 75 7a 7a 63 68 65 63 6b 2e  1.exe fuzzcheck.
11560 65 78 65 20 73 65 73 73 69 6f 6e 66 75 7a 7a 2e  exe sessionfuzz.
11570 65 78 65 0a 0a 66 75 6c 6c 74 65 73 74 3a 09 24  exe..fulltest:.$
11580 28 54 45 53 54 50 52 4f 47 53 29 20 66 75 7a 7a  (TESTPROGS) fuzz
11590 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d  test..@set PATH=
115a0 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28  $(LIBTCLPATH);$(
115b0 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78  PATH)...\testfix
115c0 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c  ture.exe $(TOP)\
115d0 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74 20 24 28  test\all.test $(
115e0 54 45 53 54 4f 50 54 53 29 0a 0a 73 6f 61 6b 74  TESTOPTS)..soakt
115f0 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53  est:.$(TESTPROGS
11600 29 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c  )..@set PATH=$(L
11610 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54  IBTCLPATH);$(PAT
11620 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72  H)...\testfixtur
11630 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73  e.exe $(TOP)\tes
11640 74 5c 61 6c 6c 2e 74 65 73 74 20 2d 73 6f 61 6b  t\all.test -soak
11650 3d 31 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a  =1 $(TESTOPTS)..
11660 66 75 6c 6c 74 65 73 74 6f 6e 6c 79 3a 09 24 28  fulltestonly:.$(
11670 54 45 53 54 50 52 4f 47 53 29 20 66 75 7a 7a 74  TESTPROGS) fuzzt
11680 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24  est..@set PATH=$
11690 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50  (LIBTCLPATH);$(P
116a0 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74  ATH)...\testfixt
116b0 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74  ure.exe $(TOP)\t
116c0 65 73 74 5c 66 75 6c 6c 2e 74 65 73 74 0a 0a 71  est\full.test..q
116d0 75 65 72 79 70 6c 61 6e 74 65 73 74 3a 09 74 65  ueryplantest:.te
116e0 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 73 68  stfixture.exe sh
116f0 65 6c 6c 0a 09 40 73 65 74 20 50 41 54 48 3d 24  ell..@set PATH=$
11700 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50  (LIBTCLPATH);$(P
11710 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74  ATH)...\testfixt
11720 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74  ure.exe $(TOP)\t
11730 65 73 74 5c 70 65 72 6d 75 74 61 74 69 6f 6e 73  est\permutations
11740 2e 74 65 73 74 20 71 75 65 72 79 70 6c 61 6e 6e  .test queryplann
11750 65 72 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a  er $(TESTOPTS)..
11760 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68  fuzztest:.fuzzch
11770 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63  eck.exe...\fuzzc
11780 68 65 63 6b 2e 65 78 65 20 24 28 46 55 5a 5a 44  heck.exe $(FUZZD
11790 41 54 41 29 0a 0a 66 61 73 74 66 75 7a 7a 74 65  ATA)..fastfuzzte
117a0 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78  st:.fuzzcheck.ex
117b0 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65  e...\fuzzcheck.e
117c0 78 65 20 2d 2d 6c 69 6d 69 74 2d 6d 65 6d 20 31  xe --limit-mem 1
117d0 30 30 4d 20 24 28 46 55 5a 5a 44 41 54 41 29 0a  00M $(FUZZDATA).
117e0 0a 23 20 4d 69 6e 69 6d 61 6c 20 74 65 73 74 69  .# Minimal testi
117f0 6e 67 20 74 68 61 74 20 72 75 6e 73 20 69 6e 20  ng that runs in 
11800 6c 65 73 73 20 74 68 61 6e 20 33 20 6d 69 6e 75  less than 3 minu
11810 74 65 73 20 28 6f 6e 20 61 20 66 61 73 74 20 6d  tes (on a fast m
11820 61 63 68 69 6e 65 29 0a 23 0a 71 75 69 63 6b 74  achine).#.quickt
11830 65 73 74 3a 09 74 65 73 74 66 69 78 74 75 72 65  est:.testfixture
11840 2e 65 78 65 20 73 6f 75 72 63 65 74 65 73 74 0a  .exe sourcetest.
11850 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42  .@set PATH=$(LIB
11860 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29  TCLPATH);$(PATH)
11870 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e  ...\testfixture.
11880 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  exe $(TOP)\test\
11890 65 78 74 72 61 71 75 69 63 6b 2e 74 65 73 74 20  extraquick.test 
118a0 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 23 20 54  $(TESTOPTS)..# T
118b0 68 69 73 20 69 73 20 74 68 65 20 63 6f 6d 6d 6f  his is the commo
118c0 6e 20 63 61 73 65 2e 20 20 52 75 6e 20 6d 61 6e  n case.  Run man
118d0 79 20 74 65 73 74 73 20 74 68 61 74 20 64 6f 20  y tests that do 
118e0 6e 6f 74 20 74 61 6b 65 20 74 6f 6f 20 6c 6f 6e  not take too lon
118f0 67 2c 0a 23 20 69 6e 63 6c 75 64 69 6e 67 20 66  g,.# including f
11900 75 7a 7a 63 68 65 63 6b 2c 20 73 71 6c 69 74 65  uzzcheck, sqlite
11910 33 5f 61 6e 61 6c 79 7a 65 72 2c 20 61 6e 64 20  3_analyzer, and 
11920 73 71 6c 64 69 66 66 20 74 65 73 74 73 2e 0a 23  sqldiff tests..#
11930 0a 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f  .test:.$(TESTPRO
11940 47 53 29 20 73 6f 75 72 63 65 74 65 73 74 20 66  GS) sourcetest f
11950 61 73 74 66 75 7a 7a 74 65 73 74 0a 09 40 73 65  astfuzztest..@se
11960 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50  t PATH=$(LIBTCLP
11970 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c  ATH);$(PATH)...\
11980 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe 
11990 24 28 54 4f 50 29 5c 74 65 73 74 5c 76 65 72 79  $(TOP)\test\very
119a0 71 75 69 63 6b 2e 74 65 73 74 20 24 28 54 45 53  quick.test $(TES
119b0 54 4f 50 54 53 29 0a 0a 73 6d 6f 6b 65 74 65 73  TOPTS)..smoketes
119c0 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 0a  t:.$(TESTPROGS).
119d0 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42  .@set PATH=$(LIB
119e0 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29  TCLPATH);$(PATH)
119f0 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e  ...\testfixture.
11a00 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  exe $(TOP)\test\
11a10 6d 61 69 6e 2e 74 65 73 74 20 24 28 54 45 53 54  main.test $(TEST
11a20 4f 50 54 53 29 0a 0a 73 71 6c 69 74 65 33 5f 61  OPTS)..sqlite3_a
11a30 6e 61 6c 79 7a 65 72 2e 63 3a 09 24 28 53 51 4c  nalyzer.c:.$(SQL
11a40 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
11a50 48 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63  H) $(TOP)\src\tc
11a60 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 4f 50 29  lsqlite.c $(TOP)
11a70 5c 74 6f 6f 6c 5c 73 70 61 63 65 61 6e 61 6c 2e  \tool\spaceanal.
11a80 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  tcl $(TOP)\tool\
11a90 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f  mkccode.tcl $(TO
11aa0 50 29 5c 74 6f 6f 6c 5c 73 71 6c 69 74 65 33 5f  P)\tool\sqlite3_
11ab0 61 6e 61 6c 79 7a 65 72 2e 63 2e 69 6e 20 24 28  analyzer.c.in $(
11ac0 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a  SQLITE_TCL_DEP).
11ad0 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD) $(
11ae0 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64  TOP)\tool\mkccod
11af0 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f  e.tcl $(TOP)\too
11b00 6c 5c 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a  l\sqlite3_analyz
11b10 65 72 2e 63 2e 69 6e 20 3e 20 24 40 0a 0a 73 71  er.c.in > $@..sq
11b20 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65  lite3_analyzer.e
11b30 78 65 3a 09 73 71 6c 69 74 65 33 5f 61 6e 61 6c  xe:.sqlite3_anal
11b40 79 7a 65 72 2e 63 20 24 28 4c 49 42 52 45 53 4f  yzer.c $(LIBRESO
11b50 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  BJS)..$(LTLINK) 
11b60 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49  $(NO_WARN) -DBUI
11b70 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43  LD_sqlite -I$(TC
11b80 4c 49 4e 43 44 49 52 29 20 73 71 6c 69 74 65 33  LINCDIR) sqlite3
11b90 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 5c 0a 09 09  _analyzer.c \...
11ba0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
11bb0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24   $(LTLINKOPTS) $
11bc0 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28  (TCLLIBPATHS) $(
11bd0 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49  LTLIBPATHS) $(LI
11be0 42 52 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c  BRESOBJS) $(TCLL
11bf0 49 42 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24  IBS) $(LTLIBS) $
11c00 28 54 4c 49 42 53 29 0a 0a 73 71 6c 74 63 6c 73  (TLIBS)..sqltcls
11c10 68 2e 63 3a 20 73 71 6c 69 74 65 33 2e 63 20 24  h.c: sqlite3.c $
11c20 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c  (TOP)\src\tclsql
11c30 69 74 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f  ite.c $(TOP)\too
11c40 6c 5c 73 71 6c 74 63 6c 73 68 2e 74 63 6c 20 24  l\sqltclsh.tcl $
11c50 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61  (TOP)\ext\misc\a
11c60 70 70 65 6e 64 76 66 73 2e 63 20 24 28 54 4f 50  ppendvfs.c $(TOP
11c70 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74  )\tool\mkccode.t
11c80 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  cl $(TOP)\tool\s
11c90 71 6c 74 63 6c 73 68 2e 63 2e 69 6e 0a 09 24 28  qltclsh.c.in..$(
11ca0 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
11cb0 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74  )\tool\mkccode.t
11cc0 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  cl $(TOP)\tool\s
11cd0 71 6c 74 63 6c 73 68 2e 63 2e 69 6e 20 3e 73 71  qltclsh.c.in >sq
11ce0 6c 74 63 6c 73 68 2e 63 0a 0a 73 71 6c 74 63 6c  ltclsh.c..sqltcl
11cf0 73 68 2e 65 78 65 3a 20 73 71 6c 74 63 6c 73 68  sh.exe: sqltclsh
11d00 2e 63 20 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45  .c  $(SHELL_CORE
11d10 5f 44 45 50 29 20 24 28 4c 49 42 52 45 53 4f 42  _DEP) $(LIBRESOB
11d20 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  JS)..$(LTLINK) $
11d30 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49 4c  (NO_WARN) -DBUIL
11d40 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c  D_sqlite -I$(TCL
11d50 49 4e 43 44 49 52 29 20 73 71 6c 74 63 6c 73 68  INCDIR) sqltclsh
11d60 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c  .c \.../link $(L
11d70 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
11d80 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41  OPTS) $(TCLLIBPA
11d90 54 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48  THS) $(LTLIBPATH
11da0 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  S) $(LIBRESOBJS)
11db0 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54   $(TCLLIBS) $(LT
11dc0 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS)..
11dd0 73 71 6c 69 74 65 33 5f 65 78 70 65 72 74 2e 65  sqlite3_expert.e
11de0 78 65 3a 20 24 28 53 51 4c 49 54 45 33 43 29 20  xe: $(SQLITE3C) 
11df0 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72  $(TOP)\ext\exper
11e00 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e  t\sqlite3expert.
11e10 68 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70  h $(TOP)\ext\exp
11e20 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72  ert\sqlite3exper
11e30 74 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 65  t.c $(TOP)\ext\e
11e40 78 70 65 72 74 5c 65 78 70 65 72 74 2e 63 0a 09  xpert\expert.c..
11e50 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
11e60 41 52 4e 29 09 24 28 54 4f 50 29 5c 65 78 74 5c  ARN).$(TOP)\ext\
11e70 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78  expert\sqlite3ex
11e80 70 65 72 74 2e 63 20 24 28 54 4f 50 29 5c 65 78  pert.c $(TOP)\ex
11e90 74 5c 65 78 70 65 72 74 5c 65 78 70 65 72 74 2e  t\expert\expert.
11ea0 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
11eb0 54 4c 49 42 53 29 0a 0a 43 48 45 43 4b 45 52 5f  TLIBS)..CHECKER_
11ec0 44 45 50 53 20 3d 5c 0a 20 20 24 28 54 4f 50 29  DEPS =\.  $(TOP)
11ed0 2f 74 6f 6f 6c 2f 6d 6b 63 63 6f 64 65 2e 74 63  /tool/mkccode.tc
11ee0 6c 20 5c 0a 20 20 73 71 6c 69 74 65 33 2e 63 20  l \.  sqlite3.c 
11ef0 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74  \.  $(TOP)/src/t
11f00 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24  clsqlite.c \.  $
11f10 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61 69 72  (TOP)/ext/repair
11f20 2f 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72  /sqlite3_checker
11f30 2e 74 63 6c 20 5c 0a 20 20 24 28 54 4f 50 29 2f  .tcl \.  $(TOP)/
11f40 65 78 74 2f 72 65 70 61 69 72 2f 63 68 65 63 6b  ext/repair/check
11f50 69 6e 64 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f  index.c \.  $(TO
11f60 50 29 2f 65 78 74 2f 72 65 70 61 69 72 2f 63 68  P)/ext/repair/ch
11f70 65 63 6b 66 72 65 65 6c 69 73 74 2e 63 20 5c 0a  eckfreelist.c \.
11f80 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 6d 69 73    $(TOP)/ext/mis
11f90 63 2f 62 74 72 65 65 69 6e 66 6f 2e 63 20 5c 0a  c/btreeinfo.c \.
11fa0 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70    $(TOP)/ext/rep
11fb0 61 69 72 2f 73 71 6c 69 74 65 33 5f 63 68 65 63  air/sqlite3_chec
11fc0 6b 65 72 2e 63 2e 69 6e 0a 0a 73 71 6c 69 74 65  ker.c.in..sqlite
11fd0 33 5f 63 68 65 63 6b 65 72 2e 63 3a 09 24 28 43  3_checker.c:.$(C
11fe0 48 45 43 4b 45 52 5f 44 45 50 53 29 0a 09 24 28  HECKER_DEPS)..$(
11ff0 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
12000 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74  )\tool\mkccode.t
12010 63 6c 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 65  cl $(TOP)\ext\re
12020 70 61 69 72 5c 73 71 6c 69 74 65 33 5f 63 68 65  pair\sqlite3_che
12030 63 6b 65 72 2e 63 2e 69 6e 20 3e 20 24 40 0a 0a  cker.c.in > $@..
12040 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e  sqlite3_checker.
12050 65 78 65 3a 09 73 71 6c 69 74 65 33 5f 63 68 65  exe:.sqlite3_che
12060 63 6b 65 72 2e 63 20 24 28 4c 49 42 52 45 53 4f  cker.c $(LIBRESO
12070 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  BJS)..$(LTLINK) 
12080 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49  $(NO_WARN) -DBUI
12090 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43  LD_sqlite -I$(TC
120a0 4c 49 4e 43 44 49 52 29 20 73 71 6c 69 74 65 33  LINCDIR) sqlite3
120b0 5f 63 68 65 63 6b 65 72 2e 63 20 5c 0a 09 09 2f  _checker.c \.../
120c0 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
120d0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS) $(
120e0 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c  TCLLIBPATHS) $(L
120f0 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42  TLIBPATHS) $(LIB
12100 52 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49  RESOBJS) $(TCLLI
12110 42 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28  BS) $(LTLIBS) $(
12120 54 4c 49 42 53 29 0a 0a 64 62 64 75 6d 70 2e 65  TLIBS)..dbdump.e
12130 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d  xe:.$(TOP)\ext\m
12140 69 73 63 5c 64 62 64 75 6d 70 2e 63 20 24 28 53  isc\dbdump.c $(S
12150 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
12160 45 33 48 29 20 24 28 4c 49 42 52 45 53 4f 42 4a  E3H) $(LIBRESOBJ
12170 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  S)..$(LTLINK) $(
12180 4e 4f 5f 57 41 52 4e 29 20 2d 44 44 42 44 55 4d  NO_WARN) -DDBDUM
12190 50 5f 53 54 41 4e 44 41 4c 4f 4e 45 20 24 28 54  P_STANDALONE $(T
121a0 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64  OP)\ext\misc\dbd
121b0 75 6d 70 2e 63 20 24 28 53 51 4c 49 54 45 33 43  ump.c $(SQLITE3C
121c0 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44  ) \.../link $(LD
121d0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
121e0 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48  PTS) $(LTLIBPATH
121f0 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  S) $(LIBRESOBJS)
12200 20 24 28 4c 54 4c 49 42 53 29 0a 0a 74 65 73 74   $(LTLIBS)..test
12210 6c 6f 61 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f  loadext.lo:.$(TO
12220 50 29 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64  P)\src\test_load
12230 65 78 74 2e 63 20 24 28 53 51 4c 49 54 45 33 48  ext.c $(SQLITE3H
12240 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
12250 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 24 28  $(NO_WARN) -c $(
12260 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6c 6f  TOP)\src\test_lo
12270 61 64 65 78 74 2e 63 0a 0a 74 65 73 74 6c 6f 61  adext.c..testloa
12280 64 65 78 74 2e 64 6c 6c 3a 09 74 65 73 74 6c 6f  dext.dll:.testlo
12290 61 64 65 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20  adext.lo..$(LD) 
122a0 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
122b0 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42  INKOPTS) $(LTLIB
122c0 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54  PATHS) /DLL /OUT
122d0 3a 24 40 20 74 65 73 74 6c 6f 61 64 65 78 74 2e  :$@ testloadext.
122e0 6c 6f 0a 0a 64 62 74 6f 74 78 74 2e 65 78 65 3a  lo..dbtotxt.exe:
122f0 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62 74  .$(TOP)\tool\dbt
12300 6f 74 78 74 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b  otxt.c..$(LTLINK
12310 29 20 24 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54  ) $(NO_WARN).$(T
12320 4f 50 29 5c 74 6f 6f 6c 5c 64 62 74 6f 74 78 74  OP)\tool\dbtotxt
12330 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  .c /link $(LDFLA
12340 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
12350 29 0a 0a 73 68 6f 77 64 62 2e 65 78 65 3a 09 24  )..showdb.exe:.$
12360 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64  (TOP)\tool\showd
12370 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  b.c $(SQLITE3C) 
12380 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
12390 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
123a0 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
123b0 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
123c0 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
123d0 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c  SION \...$(TOP)\
123e0 74 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28  tool\showdb.c $(
123f0 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
12400 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
12410 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 73 74  INKOPTS)..showst
12420 61 74 34 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  at4.exe:.$(TOP)\
12430 74 6f 6f 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63  tool\showstat4.c
12440 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
12450 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
12460 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) -
12470 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
12480 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  FE=0 -DSQLITE_OM
12490 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
124a0 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f  N \...$(TOP)\too
124b0 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63 20 24 28  l\showstat4.c $(
124c0 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
124d0 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
124e0 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 6a 6f  INKOPTS)..showjo
124f0 75 72 6e 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50  urnal.exe:.$(TOP
12500 29 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e  )\tool\showjourn
12510 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  al.c $(SQLITE3C)
12520 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
12530 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
12540 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45  N) -DSQLITE_THRE
12550 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54  ADSAFE=0 -DSQLIT
12560 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45  E_OMIT_LOAD_EXTE
12570 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29  NSION \...$(TOP)
12580 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61  \tool\showjourna
12590 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  l.c $(SQLITE3C) 
125a0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
125b0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
125c0 73 68 6f 77 77 61 6c 2e 65 78 65 3a 09 24 28 54  showwal.exe:.$(T
125d0 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c  OP)\tool\showwal
125e0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
125f0 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
12600 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
12610 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
12620 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
12630 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  OMIT_LOAD_EXTENS
12640 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74  ION \...$(TOP)\t
12650 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24 28  ool\showwal.c $(
12660 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
12670 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
12680 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 73 68  INKOPTS)..showsh
12690 6d 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  m.exe:.$(TOP)\to
126a0 6f 6c 5c 73 68 6f 77 73 68 6d 2e 63 0a 09 24 28  ol\showshm.c..$(
126b0 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
126c0 4e 29 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  N).$(TOP)\tool\s
126d0 68 6f 77 73 68 6d 2e 63 20 2f 6c 69 6e 6b 20 24  howshm.c /link $
126e0 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
126f0 4e 4b 4f 50 54 53 29 0a 0a 69 6e 64 65 78 5f 75  NKOPTS)..index_u
12700 73 61 67 65 2e 65 78 65 3a 20 24 28 54 4f 50 29  sage.exe: $(TOP)
12710 5c 74 6f 6f 6c 5c 69 6e 64 65 78 5f 75 73 61 67  \tool\index_usag
12720 65 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  e.c $(SQLITE3C) 
12730 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
12740 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
12750 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
12760 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
12770 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
12780 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c  SION \...$(TOP)\
12790 74 6f 6f 6c 5c 69 6e 64 65 78 5f 75 73 61 67 65  tool\index_usage
127a0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
127b0 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
127c0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 63  $(LTLINKOPTS)..c
127d0 68 61 6e 67 65 73 65 74 2e 65 78 65 3a 09 24 28  hangeset.exe:.$(
127e0 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
127f0 5c 63 68 61 6e 67 65 73 65 74 2e 63 20 24 28 53  \changeset.c $(S
12800 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
12810 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
12820 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
12830 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
12840 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
12850 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
12860 09 09 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ..-DSQLITE_ENABL
12870 45 5f 53 45 53 53 49 4f 4e 3d 31 20 2d 44 53 51  E_SESSION=1 -DSQ
12880 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 50 52 45 55  LITE_ENABLE_PREU
12890 50 44 41 54 45 5f 48 4f 4f 4b 3d 31 20 5c 0a 09  PDATE_HOOK=1 \..
128a0 09 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73  .$(TOP)\ext\sess
128b0 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74 2e 63 20  ion\changeset.c 
128c0 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
128d0 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
128e0 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 63 68 61 6e  TLINKOPTS)..chan
128f0 67 65 73 65 74 66 75 7a 7a 2e 65 78 65 3a 09 24  gesetfuzz.exe:.$
12900 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
12910 6e 5c 63 68 61 6e 67 65 73 65 74 66 75 7a 7a 2e  n\changesetfuzz.
12920 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
12930 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
12940 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
12950 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
12960 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f  AFE=0 -DSQLITE_O
12970 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
12980 4f 4e 20 5c 0a 09 09 2d 44 53 51 4c 49 54 45 5f  ON \...-DSQLITE_
12990 45 4e 41 42 4c 45 5f 53 45 53 53 49 4f 4e 3d 31  ENABLE_SESSION=1
129a0 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
129b0 5f 50 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b 3d  _PREUPDATE_HOOK=
129c0 31 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74  1 \...$(TOP)\ext
129d0 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73  \session\changes
129e0 65 74 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54  etfuzz.c $(SQLIT
129f0 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
12a00 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
12a10 54 53 29 0a 0a 66 74 73 33 76 69 65 77 2e 65 78  TS)..fts3view.ex
12a20 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  e:.$(TOP)\ext\ft
12a30 73 33 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77  s3\tool\fts3view
12a40 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
12a50 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
12a60 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
12a70 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
12a80 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
12a90 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  OMIT_LOAD_EXTENS
12aa0 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65  ION \...$(TOP)\e
12ab0 78 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 74 73  xt\fts3\tool\fts
12ac0 33 76 69 65 77 2e 63 20 24 28 53 51 4c 49 54 45  3view.c $(SQLITE
12ad0 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
12ae0 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
12af0 53 29 0a 0a 72 6f 6c 6c 62 61 63 6b 2d 74 65 73  S)..rollback-tes
12b00 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  t.exe:.$(TOP)\to
12b10 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74  ol\rollback-test
12b20 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
12b30 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
12b40 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
12b50 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
12b60 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
12b70 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  OMIT_LOAD_EXTENS
12b80 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74  ION \...$(TOP)\t
12b90 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73  ool\rollback-tes
12ba0 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
12bb0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
12bc0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
12bd0 61 74 72 63 2e 65 78 65 3a 09 24 28 54 4f 50 29  atrc.exe:.$(TOP)
12be0 5c 74 65 73 74 5c 61 74 72 63 2e 63 20 24 28 53  \test\atrc.c $(S
12bf0 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
12c00 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
12c10 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
12c20 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
12c30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
12c40 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
12c50 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 74  ..$(TOP)\test\at
12c60 72 63 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  rc.c $(SQLITE3C)
12c70 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
12c80 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS).
12c90 0a 4c 6f 67 45 73 74 2e 65 78 65 3a 09 24 28 54  .LogEst.exe:.$(T
12ca0 4f 50 29 5c 74 6f 6f 6c 5c 6c 6f 67 65 73 74 2e  OP)\tool\logest.
12cb0 63 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  c $(SQLITE3H)..$
12cc0 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
12cd0 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  RN) $(TOP)\tool\
12ce0 4c 6f 67 45 73 74 2e 63 20 2f 6c 69 6e 6b 20 24  LogEst.c /link $
12cf0 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
12d00 4e 4b 4f 50 54 53 29 0a 0a 77 6f 72 64 63 6f 75  NKOPTS)..wordcou
12d10 6e 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  nt.exe:.$(TOP)\t
12d20 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20  est\wordcount.c 
12d30 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
12d40 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
12d50 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
12d60 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
12d70 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  E=0 -DSQLITE_OMI
12d80 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e  T_LOAD_EXTENSION
12d90 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 74   \...$(TOP)\test
12da0 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24 28 53  \wordcount.c $(S
12db0 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
12dc0 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
12dd0 4e 4b 4f 50 54 53 29 0a 0a 73 70 65 65 64 74 65  NKOPTS)..speedte
12de0 73 74 31 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  st1.exe:.$(TOP)\
12df0 74 65 73 74 5c 73 70 65 65 64 74 65 73 74 31 2e  test\speedtest1.
12e00 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
12e10 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
12e20 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
12e30 24 28 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  $(ST_COMPILE_OPT
12e40 53 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  S) -DSQLITE_OMIT
12e50 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20  _LOAD_EXTENSION 
12e60 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c  \...$(TOP)\test\
12e70 73 70 65 65 64 74 65 73 74 31 2e 63 20 24 28 53  speedtest1.c $(S
12e80 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
12e90 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
12ea0 4e 4b 4f 50 54 53 29 0a 0a 6b 76 74 65 73 74 2e  NKOPTS)..kvtest.
12eb0 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74  exe:.$(TOP)\test
12ec0 5c 6b 76 74 65 73 74 2e 63 20 24 28 53 51 4c 49  \kvtest.c $(SQLI
12ed0 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
12ee0 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
12ef0 4f 5f 57 41 52 4e 29 20 24 28 4b 56 5f 43 4f 4d  O_WARN) $(KV_COM
12f00 50 49 4c 45 5f 4f 50 54 53 29 20 5c 0a 09 09 24  PILE_OPTS) \...$
12f10 28 54 4f 50 29 5c 74 65 73 74 5c 6b 76 74 65 73  (TOP)\test\kvtes
12f20 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
12f30 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
12f40 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
12f50 72 62 75 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  rbu.exe:.$(TOP)\
12f60 65 78 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28  ext\rbu\rbu.c $(
12f70 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c  TOP)\ext\rbu\sql
12f80 69 74 65 33 72 62 75 2e 63 20 24 28 53 51 4c 49  ite3rbu.c $(SQLI
12f90 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
12fa0 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
12fb0 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
12fc0 5f 45 4e 41 42 4c 45 5f 52 42 55 20 5c 0a 09 09  _ENABLE_RBU \...
12fd0 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72  $(TOP)\ext\rbu\r
12fe0 62 75 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  bu.c $(SQLITE3C)
12ff0 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
13000 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS).
13010 0a 4c 53 4d 44 49 52 3d 24 28 54 4f 50 29 5c 65  .LSMDIR=$(TOP)\e
13020 78 74 5c 6c 73 6d 31 0a 21 49 4e 43 4c 55 44 45  xt\lsm1.!INCLUDE
13030 20 24 28 4c 53 4d 44 49 52 29 5c 4d 61 6b 65 66   $(LSMDIR)\Makef
13040 69 6c 65 2e 6d 73 63 0a 0a 6d 6f 72 65 63 6c 65  ile.msc..morecle
13050 61 6e 3a 09 63 6c 65 61 6e 0a 09 64 65 6c 20 2f  an:.clean..del /
13060 51 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  Q $(SQLITE3C) $(
13070 53 51 4c 49 54 45 33 48 29 20 32 3e 4e 55 4c 0a  SQLITE3H) 2>NUL.
13080 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 63 6c 65  # <</mark>>..cle
13090 61 6e 3a 0a 09 64 65 6c 20 2f 51 20 2a 2e 65 78  an:..del /Q *.ex
130a0 70 20 2a 2e 6c 6f 20 2a 2e 69 6c 6b 20 2a 2e 6c  p *.lo *.ilk *.l
130b0 69 62 20 2a 2e 6f 62 6a 20 2a 2e 6e 63 62 20 2a  ib *.obj *.ncb *
130c0 2e 70 64 62 20 2a 2e 73 64 66 20 2a 2e 73 75 6f  .pdb *.sdf *.suo
130d0 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2a   2>NUL..del /Q *
130e0 2e 62 73 63 20 2a 2e 64 65 66 20 2a 2e 63 6f 64  .bsc *.def *.cod
130f0 20 2a 2e 64 61 20 2a 2e 62 62 20 2a 2e 62 62 67   *.da *.bb *.bbg
13100 20 2a 2e 76 63 20 67 6d 6f 6e 2e 6f 75 74 20 32   *.vc gmon.out 2
13110 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 24 28 53  >NUL..del /Q $(S
13120 51 4c 49 54 45 33 45 58 45 29 20 24 28 53 51 4c  QLITE3EXE) $(SQL
13130 49 54 45 33 44 4c 4c 29 20 52 65 70 6c 61 63 65  ITE3DLL) Replace
13140 2e 65 78 65 20 32 3e 4e 55 4c 0a 23 20 3c 3c 6d  .exe 2>NUL.# <<m
13150 61 72 6b 3e 3e 0a 09 64 65 6c 20 2f 51 20 24 28  ark>>..del /Q $(
13160 53 51 4c 49 54 45 33 54 43 4c 44 4c 4c 29 20 70  SQLITE3TCLDLL) p
13170 6b 67 49 6e 64 65 78 2e 74 63 6c 20 32 3e 4e 55  kgIndex.tcl 2>NU
13180 4c 0a 09 64 65 6c 20 2f 51 20 6f 70 63 6f 64 65  L..del /Q opcode
13190 73 2e 63 20 6f 70 63 6f 64 65 73 2e 68 20 32 3e  s.c opcodes.h 2>
131a0 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 65 6d 6f  NUL..del /Q lemo
131b0 6e 2e 2a 20 6c 65 6d 70 61 72 2e 63 20 70 61 72  n.* lempar.c par
131c0 73 65 2e 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  se.* 2>NUL..del 
131d0 2f 51 20 6d 6b 73 6f 75 72 63 65 69 64 2e 2a 20  /Q mksourceid.* 
131e0 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 2a 20  mkkeywordhash.* 
131f0 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 32 3e  keywordhash.h 2>
13200 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6e 6f 74 61  NUL..del /Q nota
13210 73 68 61 72 65 64 6c 69 62 2e 2a 20 32 3e 4e 55  sharedlib.* 2>NU
13220 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e  L..-rmdir /Q/S .
13230 64 65 70 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64  deps 2>NUL..-rmd
13240 69 72 20 2f 51 2f 53 20 2e 6c 69 62 73 20 32 3e  ir /Q/S .libs 2>
13250 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53  NUL..-rmdir /Q/S
13260 20 74 73 72 63 20 32 3e 4e 55 4c 0a 09 64 65 6c   tsrc 2>NUL..del
13270 20 2f 51 20 2e 74 61 72 67 65 74 5f 73 6f 75 72   /Q .target_sour
13280 63 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  ce 2>NUL..del /Q
13290 20 74 63 6c 73 71 6c 69 74 65 33 2e 65 78 65 20   tclsqlite3.exe 
132a0 24 28 53 51 4c 49 54 45 54 43 4c 48 29 20 24 28  $(SQLITETCLH) $(
132b0 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29  SQLITETCLDECLSH)
132c0 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c   2>NUL..del /Q l
132d0 73 6d 2e 64 6c 6c 20 6c 73 6d 74 65 73 74 2e 65  sm.dll lsmtest.e
132e0 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  xe 2>NUL..del /Q
132f0 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c   testloadext.dll
13300 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74   2>NUL..del /Q t
13310 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 74  estfixture.exe t
13320 65 73 74 2e 64 62 20 32 3e 4e 55 4c 0a 09 64 65  est.db 2>NUL..de
13330 6c 20 2f 51 20 4c 6f 67 45 73 74 2e 65 78 65 20  l /Q LogEst.exe 
13340 66 74 73 33 76 69 65 77 2e 65 78 65 20 72 6f 6c  fts3view.exe rol
13350 6c 62 61 63 6b 2d 74 65 73 74 2e 65 78 65 20 73  lback-test.exe s
13360 68 6f 77 64 62 2e 65 78 65 20 64 62 64 75 6d 70  howdb.exe dbdump
13370 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del 
13380 2f 51 20 63 68 61 6e 67 65 73 65 74 2e 65 78 65  /Q changeset.exe
13390 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73   2>NUL..del /Q s
133a0 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 20 73  howjournal.exe s
133b0 68 6f 77 73 74 61 74 34 2e 65 78 65 20 73 68 6f  howstat4.exe sho
133c0 77 77 61 6c 2e 65 78 65 20 73 70 65 65 64 74 65  wwal.exe speedte
133d0 73 74 31 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  st1.exe 2>NUL..d
133e0 65 6c 20 2f 51 20 6d 70 74 65 73 74 65 72 2e 65  el /Q mptester.e
133f0 78 65 20 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65  xe wordcount.exe
13400 20 72 62 75 2e 65 78 65 20 73 72 63 63 6b 31 2e   rbu.exe srcck1.
13410 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  exe 2>NUL..del /
13420 51 20 73 71 6c 69 74 65 33 2e 63 20 73 71 6c 69  Q sqlite3.c sqli
13430 74 65 33 2d 2a 2e 63 20 73 71 6c 69 74 65 33 2e  te3-*.c sqlite3.
13440 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  h 2>NUL..del /Q 
13450 73 71 6c 69 74 65 33 72 63 2e 68 20 32 3e 4e 55  sqlite3rc.h 2>NU
13460 4c 0a 09 64 65 6c 20 2f 51 20 73 68 65 6c 6c 2e  L..del /Q shell.
13470 63 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20 73  c sqlite3ext.h s
13480 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 68 20  qlite3session.h 
13490 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71  2>NUL..del /Q sq
134a0 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65  lite3_analyzer.e
134b0 78 65 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79  xe sqlite3_analy
134c0 7a 65 72 2e 63 20 32 3e 4e 55 4c 0a 09 64 65 6c  zer.c 2>NUL..del
134d0 20 2f 51 20 73 71 6c 69 74 65 2d 2a 2d 6f 75 74   /Q sqlite-*-out
134e0 70 75 74 2e 76 73 69 78 20 32 3e 4e 55 4c 0a 09  put.vsix 2>NUL..
134f0 64 65 6c 20 2f 51 20 66 75 7a 7a 65 72 73 68 65  del /Q fuzzershe
13500 6c 6c 2e 65 78 65 20 66 75 7a 7a 63 68 65 63 6b  ll.exe fuzzcheck
13510 2e 65 78 65 20 73 71 6c 64 69 66 66 2e 65 78 65  .exe sqldiff.exe
13520 20 64 62 68 61 73 68 2e 65 78 65 20 32 3e 4e 55   dbhash.exe 2>NU
13530 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 74 63 6c  L..del /Q sqltcl
13540 73 68 2e 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  sh.* 2>NUL..del 
13550 2f 51 20 64 62 66 75 7a 7a 2e 65 78 65 20 73 65  /Q dbfuzz.exe se
13560 73 73 69 6f 6e 66 75 7a 7a 2e 65 78 65 20 32 3e  ssionfuzz.exe 2>
13570 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6b 76 74 65  NUL..del /Q kvte
13580 73 74 2e 65 78 65 20 6f 73 73 73 68 65 6c 6c 2e  st.exe ossshell.
13590 65 78 65 20 73 63 72 75 62 2e 65 78 65 20 32 3e  exe scrub.exe 2>
135a0 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68 6f 77  NUL..del /Q show
135b0 73 68 6d 2e 65 78 65 20 73 71 6c 69 74 65 33 5f  shm.exe sqlite3_
135c0 63 68 65 63 6b 65 72 2e 2a 20 73 71 6c 69 74 65  checker.* sqlite
135d0 33 5f 65 78 70 65 72 74 2e 65 78 65 20 32 3e 4e  3_expert.exe 2>N
135e0 55 4c 0a 09 64 65 6c 20 2f 51 20 66 74 73 35 2e  UL..del /Q fts5.
135f0 2a 20 66 74 73 35 70 61 72 73 65 2e 2a 20 32 3e  * fts5parse.* 2>
13600 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 73 6d 2e  NUL..del /Q lsm.
13610 68 20 6c 73 6d 31 2e 63 20 32 3e 4e 55 4c 0a 23  h lsm1.c 2>NUL.#
13620 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a                  <</mark>>.