/ Hex Artifact Content
Login

Artifact ab99b4a0aa33f1c0f39587be9df15c9db536acf7859828ff8c51e13eb5082874:


0000: 23 0a 23 20 6e 6d 61 6b 65 20 4d 61 6b 65 66 69  #.# nmake Makefi
0010: 6c 65 20 66 6f 72 20 53 51 4c 69 74 65 0a 23 0a  le for SQLite.#.
0020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20 53  ############## S
0090: 54 41 52 54 20 4f 46 20 4f 50 54 49 4f 4e 53 20  TART OF OPTIONS 
00a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
00c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0110: 0a 23 20 54 68 65 20 74 6f 70 6c 65 76 65 6c 20  .# The toplevel 
0120: 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65  directory of the
0130: 20 73 6f 75 72 63 65 20 74 72 65 65 2e 20 20 54   source tree.  T
0140: 68 69 73 20 69 73 20 74 68 65 20 64 69 72 65 63  his is the direc
0150: 74 6f 72 79 0a 23 20 74 68 61 74 20 63 6f 6e 74  tory.# that cont
0160: 61 69 6e 73 20 74 68 69 73 20 22 4d 61 6b 65 66  ains this "Makef
0170: 69 6c 65 2e 6d 73 63 22 2e 0a 23 0a 54 4f 50 20  ile.msc"..#.TOP 
0180: 3d 20 2e 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  = ...# <<mark>>.
0190: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
01a0: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
01b0: 73 65 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d  se the SQLite am
01c0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 2e  algamation file.
01d0: 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 41  .#.!IFNDEF USE_A
01e0: 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 55 53 45 5f  MALGAMATION.USE_
01f0: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 20 3d 20 31  AMALGAMATION = 1
0200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this 
0220: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable 
0230: 66 75 6c 6c 20 77 61 72 6e 69 6e 67 73 20 28 2d  full warnings (-
0240: 57 34 2c 20 65 74 63 29 20 77 68 65 6e 20 63 6f  W4, etc) when co
0250: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 4e 44  mpiling..#.!IFND
0260: 45 46 20 55 53 45 5f 46 55 4c 4c 57 41 52 4e 0a  EF USE_FULLWARN.
0270: 55 53 45 5f 46 55 4c 4c 57 41 52 4e 20 3d 20 31  USE_FULLWARN = 1
0280: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0290: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61  his non-0 to ena
02a0: 62 6c 65 20 74 72 65 61 74 69 6e 67 20 77 61 72  ble treating war
02b0: 6e 69 6e 67 73 20 61 73 20 65 72 72 6f 72 73 20  nings as errors 
02c0: 28 2d 57 58 2c 20 65 74 63 29 20 77 68 65 6e 0a  (-WX, etc) when.
02d0: 23 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21  # compiling..#.!
02e0: 49 46 4e 44 45 46 20 55 53 45 5f 46 41 54 41 4c  IFNDEF USE_FATAL
02f0: 5f 57 41 52 4e 0a 55 53 45 5f 46 41 54 41 4c 5f  _WARN.USE_FATAL_
0300: 57 41 52 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  WARN = 0.!ENDIF.
0310: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0320: 30 20 74 6f 20 65 6e 61 62 6c 65 20 66 75 6c 6c  0 to enable full
0330: 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 20 63   runtime error c
0340: 68 65 63 6b 73 20 28 2d 52 54 43 31 2c 20 65 74  hecks (-RTC1, et
0350: 63 29 2e 20 20 54 68 69 73 0a 23 20 68 61 73 20  c).  This.# has 
0360: 6e 6f 20 65 66 66 65 63 74 20 69 66 20 28 61 6e  no effect if (an
0370: 79 29 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  y) optimizations
0380: 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a   are enabled..#.
0390: 21 49 46 4e 44 45 46 20 55 53 45 5f 52 55 4e 54  !IFNDEF USE_RUNT
03a0: 49 4d 45 5f 43 48 45 43 4b 53 0a 55 53 45 5f 52  IME_CHECKS.USE_R
03b0: 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 20 3d 20  UNTIME_CHECKS = 
03c0: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set 
03d0: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 72  this non-0 to cr
03e0: 65 61 74 65 20 61 20 53 51 4c 69 74 65 20 61 6d  eate a SQLite am
03f0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20  algamation file 
0400: 74 68 61 74 20 65 78 63 6c 75 64 65 73 20 74 68  that excludes th
0410: 65 0a 23 20 76 61 72 69 6f 75 73 20 62 75 69 6c  e.# various buil
0420: 74 2d 69 6e 20 65 78 74 65 6e 73 69 6f 6e 73 2e  t-in extensions.
0430: 0a 23 0a 21 49 46 4e 44 45 46 20 4d 49 4e 49 4d  .#.!IFNDEF MINIM
0440: 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a  AL_AMALGAMATION.
0450: 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41  MINIMAL_AMALGAMA
0460: 54 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  TION = 0.!ENDIF.
0470: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0480: 30 20 74 6f 20 75 73 65 20 22 73 74 64 63 61 6c  0 to use "stdcal
0490: 6c 22 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65  l" calling conve
04a0: 6e 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 6f  ntion for the co
04b0: 72 65 20 6c 69 62 72 61 72 79 0a 23 20 61 6e 64  re library.# and
04c0: 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   shell executabl
04d0: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45  e..#.!IFNDEF USE
04e0: 5f 53 54 44 43 41 4c 4c 0a 55 53 45 5f 53 54 44  _STDCALL.USE_STD
04f0: 43 41 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a  CALL = 0.!ENDIF.
0500: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0510: 30 20 74 6f 20 68 61 76 65 20 74 68 65 20 73 68  0 to have the sh
0520: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 6c  ell executable l
0530: 69 6e 6b 20 61 67 61 69 6e 73 74 20 74 68 65 20  ink against the 
0540: 63 6f 72 65 20 64 79 6e 61 6d 69 63 0a 23 20 6c  core dynamic.# l
0550: 69 6e 6b 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ink library..#.!
0560: 49 46 4e 44 45 46 20 44 59 4e 41 4d 49 43 5f 53  IFNDEF DYNAMIC_S
0570: 48 45 4c 4c 0a 44 59 4e 41 4d 49 43 5f 53 48 45  HELL.DYNAMIC_SHE
0580: 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  LL = 0.!ENDIF..#
0590: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
05a0: 74 6f 20 65 6e 61 62 6c 65 20 65 78 74 72 61 20  to enable extra 
05b0: 63 6f 64 65 20 74 68 61 74 20 61 74 74 65 6d 70  code that attemp
05c0: 74 73 20 74 6f 20 64 65 74 65 63 74 20 6d 69 73  ts to detect mis
05d0: 75 73 65 20 6f 66 20 74 68 65 0a 23 20 53 51 4c  use of the.# SQL
05e0: 69 74 65 20 41 50 49 2e 0a 23 0a 21 49 46 4e 44  ite API..#.!IFND
05f0: 45 46 20 41 50 49 5f 41 52 4d 4f 52 0a 41 50 49  EF API_ARMOR.API
0600: 5f 41 52 4d 4f 52 20 3d 20 30 0a 21 45 4e 44 49  _ARMOR = 0.!ENDI
0610: 46 0a 0a 23 20 49 66 20 6e 65 63 65 73 73 61 72  F..# If necessar
0620: 79 2c 20 63 72 65 61 74 65 20 61 20 6c 69 73 74  y, create a list
0630: 20 6f 66 20 68 61 72 6d 6c 65 73 73 20 63 6f 6d   of harmless com
0640: 70 69 6c 65 72 20 77 61 72 6e 69 6e 67 73 20 74  piler warnings t
0650: 6f 20 64 69 73 61 62 6c 65 20 77 68 65 6e 0a 23  o disable when.#
0660: 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 76   compiling the v
0670: 61 72 69 6f 75 73 20 74 6f 6f 6c 73 2e 20 20 46  arious tools.  F
0680: 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 73 6f  or the SQLite so
0690: 75 72 63 65 20 63 6f 64 65 20 69 74 73 65 6c 66  urce code itself
06a0: 2c 20 77 61 72 6e 69 6e 67 73 2c 0a 23 20 69 66  , warnings,.# if
06b0: 20 61 6e 79 2c 20 77 69 6c 6c 20 62 65 20 64 69   any, will be di
06c0: 73 61 62 6c 65 64 20 66 72 6f 6d 20 77 69 74 68  sabled from with
06d0: 69 6e 20 69 74 2e 0a 23 0a 21 49 46 4e 44 45 46  in it..#.!IFNDEF
06e0: 20 4e 4f 5f 57 41 52 4e 0a 21 49 46 20 24 28 55   NO_WARN.!IF $(U
06f0: 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a  SE_FULLWARN)!=0.
0700: 4e 4f 5f 57 41 52 4e 20 3d 20 2d 77 64 34 30 35  NO_WARN = -wd405
0710: 34 20 2d 77 64 34 30 35 35 20 2d 77 64 34 31 30  4 -wd4055 -wd410
0720: 30 20 2d 77 64 34 31 32 37 20 2d 77 64 34 31 33  0 -wd4127 -wd413
0730: 30 20 2d 77 64 34 31 35 32 20 2d 77 64 34 31 38  0 -wd4152 -wd418
0740: 39 20 2d 77 64 34 32 30 36 0a 4e 4f 5f 57 41 52  9 -wd4206.NO_WAR
0750: 4e 20 3d 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  N = $(NO_WARN) -
0760: 77 64 34 32 31 30 20 2d 77 64 34 32 33 32 20 2d  wd4210 -wd4232 -
0770: 77 64 34 33 30 35 20 2d 77 64 34 33 30 36 20 2d  wd4305 -wd4306 -
0780: 77 64 34 37 30 32 20 2d 77 64 34 37 30 36 0a 21  wd4702 -wd4706.!
0790: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
07a0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
07b0: 6f 20 75 73 65 20 74 68 65 20 6c 69 62 72 61 72  o use the librar
07c0: 79 20 70 61 74 68 73 20 61 6e 64 20 6f 74 68 65  y paths and othe
07d0: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 63 65 73 73  r options necess
07e0: 61 72 79 20 66 6f 72 0a 23 20 57 69 6e 64 6f 77  ary for.# Window
07f0: 73 20 50 68 6f 6e 65 20 38 2e 31 2e 0a 23 0a 21  s Phone 8.1..#.!
0800: 49 46 4e 44 45 46 20 55 53 45 5f 57 50 38 31 5f  IFNDEF USE_WP81_
0810: 4f 50 54 53 0a 55 53 45 5f 57 50 38 31 5f 4f 50  OPTS.USE_WP81_OP
0820: 54 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  TS = 0.!ENDIF..#
0830: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
0840: 74 6f 20 73 70 6c 69 74 20 74 68 65 20 53 51 4c  to split the SQL
0850: 69 74 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  ite amalgamation
0860: 20 66 69 6c 65 20 69 6e 74 6f 20 63 68 75 6e 6b   file into chunk
0870: 73 20 74 6f 0a 23 20 62 65 20 75 73 65 64 20 66  s to.# be used f
0880: 6f 72 20 64 65 62 75 67 67 69 6e 67 20 77 69 74  or debugging wit
0890: 68 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e  h Visual Studio.
08a0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 50 4c 49 54  .#.!IFNDEF SPLIT
08b0: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 53 50  _AMALGAMATION.SP
08c0: 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e  LIT_AMALGAMATION
08d0: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 3c   = 0.!ENDIF..# <
08e0: 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74 68  <mark>>.# Set th
08f0: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 68 61 76 65  is non-0 to have
0900: 20 74 68 69 73 20 6d 61 6b 65 66 69 6c 65 20 61   this makefile a
0910: 73 73 75 6d 65 20 74 68 65 20 54 63 6c 20 73 68  ssume the Tcl sh
0920: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 0a 23  ell executable.#
0930: 20 28 74 63 6c 73 68 2a 2e 65 78 65 29 20 69 73   (tclsh*.exe) is
0940: 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68   available in th
0950: 65 20 50 41 54 48 2e 20 20 42 79 20 64 65 66 61  e PATH.  By defa
0960: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73  ult, this is dis
0970: 61 62 6c 65 64 0a 23 20 66 6f 72 20 63 6f 6d 70  abled.# for comp
0980: 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 6f  atibility with o
0990: 6c 64 65 72 20 62 75 69 6c 64 20 65 6e 76 69 72  lder build envir
09a0: 6f 6e 6d 65 6e 74 73 2e 20 20 54 68 69 73 20 73  onments.  This s
09b0: 65 74 74 69 6e 67 20 6f 6e 6c 79 0a 23 20 61 70  etting only.# ap
09c0: 70 6c 69 65 73 20 69 66 20 54 43 4c 53 48 5f 43  plies if TCLSH_C
09d0: 4d 44 20 69 73 20 6e 6f 74 20 73 65 74 20 6d 61  MD is not set ma
09e0: 6e 75 61 6c 6c 79 2e 0a 23 0a 21 49 46 4e 44 45  nually..#.!IFNDE
09f0: 46 20 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f 50  F USE_TCLSH_IN_P
0a00: 41 54 48 0a 55 53 45 5f 54 43 4c 53 48 5f 49 4e  ATH.USE_TCLSH_IN
0a10: 5f 50 41 54 48 20 3d 20 30 0a 21 45 4e 44 49 46  _PATH = 0.!ENDIF
0a20: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0a30: 2d 30 20 74 6f 20 75 73 65 20 7a 6c 69 62 2c 20  -0 to use zlib, 
0a40: 70 6f 73 73 69 62 6c 79 20 63 6f 6d 70 69 6c 69  possibly compili
0a50: 6e 67 20 69 74 20 66 72 6f 6d 20 73 6f 75 72 63  ng it from sourc
0a60: 65 20 63 6f 64 65 2e 0a 23 0a 21 49 46 4e 44 45  e code..#.!IFNDE
0a70: 46 20 55 53 45 5f 5a 4c 49 42 0a 55 53 45 5f 5a  F USE_ZLIB.USE_Z
0a80: 4c 49 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  LIB = 0.!ENDIF..
0a90: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0aa0: 20 74 6f 20 62 75 69 6c 64 20 7a 6c 69 62 20 66   to build zlib f
0ab0: 72 6f 6d 20 73 6f 75 72 63 65 20 63 6f 64 65 2e  rom source code.
0ac0: 20 20 54 68 69 73 20 69 73 20 65 6e 61 62 6c 65    This is enable
0ad0: 64 20 62 79 0a 23 20 64 65 66 61 75 6c 74 20 61  d by.# default a
0ae0: 6e 64 20 69 6e 20 74 68 61 74 20 63 61 73 65 20  nd in that case 
0af0: 69 74 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d  it will be assum
0b00: 65 64 20 74 68 61 74 20 74 68 65 20 5a 4c 49 42  ed that the ZLIB
0b10: 44 49 52 20 6d 61 63 72 6f 0a 23 20 70 6f 69 6e  DIR macro.# poin
0b20: 74 73 20 74 6f 20 74 68 65 20 74 6f 70 2d 6c 65  ts to the top-le
0b30: 76 65 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20  vel source code 
0b40: 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 7a 6c  directory for zl
0b50: 69 62 2e 0a 23 0a 21 49 46 4e 44 45 46 20 42 55  ib..#.!IFNDEF BU
0b60: 49 4c 44 5f 5a 4c 49 42 0a 42 55 49 4c 44 5f 5a  ILD_ZLIB.BUILD_Z
0b70: 4c 49 42 20 3d 20 31 0a 21 45 4e 44 49 46 0a 0a  LIB = 1.!ENDIF..
0b80: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0b90: 20 74 6f 20 75 73 65 20 74 68 65 20 49 6e 74 65   to use the Inte
0ba0: 72 6e 61 74 69 6f 6e 61 6c 20 43 6f 6d 70 6f 6e  rnational Compon
0bb0: 65 6e 74 73 20 66 6f 72 20 55 6e 69 63 6f 64 65  ents for Unicode
0bc0: 20 28 49 43 55 29 2e 0a 23 0a 21 49 46 4e 44 45   (ICU)..#.!IFNDE
0bd0: 46 20 55 53 45 5f 49 43 55 0a 55 53 45 5f 49 43  F USE_ICU.USE_IC
0be0: 55 20 3d 20 30 0a 21 45 4e 44 49 46 0a 23 20 3c  U = 0.!ENDIF.# <
0bf0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53 65 74 20  </mark>>..# Set 
0c00: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 64 79  this non-0 to dy
0c10: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74  namically link t
0c20: 6f 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69  o the MSVC runti
0c30: 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  me library..#.!I
0c40: 46 4e 44 45 46 20 55 53 45 5f 43 52 54 5f 44 4c  FNDEF USE_CRT_DL
0c50: 4c 0a 55 53 45 5f 43 52 54 5f 44 4c 4c 20 3d 20  L.USE_CRT_DLL = 
0c60: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set 
0c70: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 6c 69  this non-0 to li
0c80: 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34  nk to the RPCRT4
0c90: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e   library..#.!IFN
0ca0: 44 45 46 20 55 53 45 5f 52 50 43 52 54 34 5f 4c  DEF USE_RPCRT4_L
0cb0: 49 42 0a 55 53 45 5f 52 50 43 52 54 34 5f 4c 49  IB.USE_RPCRT4_LI
0cc0: 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  B = 0.!ENDIF..# 
0cd0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
0ce0: 6f 20 67 65 6e 65 72 61 74 65 20 61 73 73 65 6d  o generate assem
0cf0: 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67  bly code listing
0d00: 73 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65  s for the source
0d10: 20 63 6f 64 65 0a 23 20 66 69 6c 65 73 2e 0a 23   code.# files..#
0d20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 4c 49 53  .!IFNDEF USE_LIS
0d30: 54 49 4e 47 53 0a 55 53 45 5f 4c 49 53 54 49 4e  TINGS.USE_LISTIN
0d40: 47 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  GS = 0.!ENDIF..#
0d50: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
0d60: 74 6f 20 61 74 74 65 6d 70 74 20 73 65 74 74 69  to attempt setti
0d70: 6e 67 20 74 68 65 20 6e 61 74 69 76 65 20 63 6f  ng the native co
0d80: 6d 70 69 6c 65 72 20 61 75 74 6f 6d 61 74 69 63  mpiler automatic
0d90: 61 6c 6c 79 0a 23 20 66 6f 72 20 63 72 6f 73 73  ally.# for cross
0da0: 2d 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 63  -compiling the c
0db0: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c  ommand line tool
0dc0: 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20  s needed during 
0dd0: 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 0a  the compilation.
0de0: 23 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46  # process..#.!IF
0df0: 4e 44 45 46 20 58 43 4f 4d 50 49 4c 45 0a 58 43  NDEF XCOMPILE.XC
0e00: 4f 4d 50 49 4c 45 20 3d 20 30 0a 21 45 4e 44 49  OMPILE = 0.!ENDI
0e10: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0e20: 6e 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 6e  n-0 to use the n
0e30: 61 74 69 76 65 20 6c 69 62 72 61 72 69 65 73 20  ative libraries 
0e40: 70 61 74 68 73 20 66 6f 72 20 63 72 6f 73 73 2d  paths for cross-
0e50: 63 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68 65 20  compiling.# the 
0e60: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f  command line too
0e70: 6c 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67  ls needed during
0e80: 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   the compilation
0e90: 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e   process..#.!IFN
0ea0: 44 45 46 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c  DEF USE_NATIVE_L
0eb0: 49 42 50 41 54 48 53 0a 55 53 45 5f 4e 41 54 49  IBPATHS.USE_NATI
0ec0: 56 45 5f 4c 49 42 50 41 54 48 53 20 3d 20 30 0a  VE_LIBPATHS = 0.
0ed0: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0ee0: 69 73 20 30 20 74 6f 20 73 6b 69 70 20 74 68 65  is 0 to skip the
0ef0: 20 63 6f 6d 70 69 6c 69 6e 67 20 61 6e 64 20 65   compiling and e
0f00: 6d 62 65 64 64 69 6e 67 20 6f 66 20 76 65 72 73  mbedding of vers
0f10: 69 6f 6e 20 72 65 73 6f 75 72 63 65 73 2e 0a 23  ion resources..#
0f20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 52 43 0a  .!IFNDEF USE_RC.
0f30: 55 53 45 5f 52 43 20 3d 20 31 0a 21 45 4e 44 49  USE_RC = 1.!ENDI
0f40: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0f50: 6e 2d 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62  n-0 to compile b
0f60: 69 6e 61 72 69 65 73 20 73 75 69 74 61 62 6c 65  inaries suitable
0f70: 20 66 6f 72 20 74 68 65 20 57 69 6e 52 54 20 65   for the WinRT e
0f80: 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68  nvironment..# Th
0f90: 69 73 20 73 65 74 74 69 6e 67 20 64 6f 65 73 20  is setting does 
0fa0: 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 61 6e 79  not apply to any
0fb0: 20 62 69 6e 61 72 69 65 73 20 74 68 61 74 20 72   binaries that r
0fc0: 65 71 75 69 72 65 20 54 63 6c 20 74 6f 20 6f 70  equire Tcl to op
0fd0: 65 72 61 74 65 0a 23 20 70 72 6f 70 65 72 6c 79  erate.# properly
0fe0: 20 28 69 2e 65 2e 20 74 68 65 20 74 65 78 74 20   (i.e. the text 
0ff0: 66 69 78 74 75 72 65 2c 20 65 74 63 29 2e 0a 23  fixture, etc)..#
1000: 0a 21 49 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e  .!IFNDEF FOR_WIN
1010: 52 54 0a 46 4f 52 5f 57 49 4e 52 54 20 3d 20 30  RT.FOR_WINRT = 0
1020: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1030: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1040: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1050: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 55  itable for the U
1060: 57 50 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a  WP environment..
1070: 23 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 64  # This setting d
1080: 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f  oes not apply to
1090: 20 61 6e 79 20 62 69 6e 61 72 69 65 73 20 74 68   any binaries th
10a0: 61 74 20 72 65 71 75 69 72 65 20 54 63 6c 20 74  at require Tcl t
10b0: 6f 20 6f 70 65 72 61 74 65 0a 23 20 70 72 6f 70  o operate.# prop
10c0: 65 72 6c 79 20 28 69 2e 65 2e 20 74 68 65 20 74  erly (i.e. the t
10d0: 65 78 74 20 66 69 78 74 75 72 65 2c 20 65 74 63  ext fixture, etc
10e0: 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52  )..#.!IFNDEF FOR
10f0: 5f 55 57 50 0a 46 4f 52 5f 55 57 50 20 3d 20 30  _UWP.FOR_UWP = 0
1100: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1110: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1120: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1130: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 57  itable for the W
1140: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
1150: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f  rm..#.!IFNDEF FO
1160: 52 5f 57 49 4e 31 30 0a 46 4f 52 5f 57 49 4e 31  R_WIN10.FOR_WIN1
1170: 30 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  0 = 0.!ENDIF..# 
1180: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74  <<mark>>.# Set t
1190: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 6b 69  his non-0 to ski
11a0: 70 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20  p attempting to 
11b0: 6c 6f 6f 6b 20 66 6f 72 20 61 6e 64 2f 6f 72 20  look for and/or 
11c0: 6c 69 6e 6b 20 77 69 74 68 20 74 68 65 20 54 63  link with the Tc
11d0: 6c 0a 23 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  l.# runtime libr
11e0: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e  ary..#.!IFNDEF N
11f0: 4f 5f 54 43 4c 0a 4e 4f 5f 54 43 4c 20 3d 20 30  O_TCL.NO_TCL = 0
1200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
1210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this 
1220: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 63 72 65 61  to non-0 to crea
1230: 74 65 20 61 6e 64 20 75 73 65 20 50 44 42 73 2e  te and use PDBs.
1240: 0a 23 0a 21 49 46 4e 44 45 46 20 53 59 4d 42 4f  .#.!IFNDEF SYMBO
1250: 4c 53 0a 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 21  LS.SYMBOLS = 1.!
1260: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
1270: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
1280: 65 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62  e the SQLite deb
1290: 75 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73  ugging heap subs
12a0: 79 73 74 65 6d 2e 0a 23 0a 21 49 46 4e 44 45 46  ystem..#.!IFNDEF
12b0: 20 4d 45 4d 44 45 42 55 47 0a 4d 45 4d 44 45 42   MEMDEBUG.MEMDEB
12c0: 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  UG = 0.!ENDIF..#
12d0: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
12e0: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 57 69  -0 to use the Wi
12f0: 6e 33 32 20 6e 61 74 69 76 65 20 68 65 61 70 20  n32 native heap 
1300: 73 75 62 73 79 73 74 65 6d 2e 0a 23 0a 21 49 46  subsystem..#.!IF
1310: 4e 44 45 46 20 57 49 4e 33 32 48 45 41 50 0a 57  NDEF WIN32HEAP.W
1320: 49 4e 33 32 48 45 41 50 20 3d 20 30 0a 21 45 4e  IN32HEAP = 0.!EN
1330: 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20  DIF..# Set this 
1340: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62  to non-0 to enab
1350: 6c 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61 63  le OSTRACE() mac
1360: 72 6f 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62  ros, which can b
1370: 65 20 75 73 65 66 75 6c 20 77 68 65 6e 0a 23 20  e useful when.# 
1380: 64 65 62 75 67 67 69 6e 67 2e 0a 23 0a 21 49 46  debugging..#.!IF
1390: 4e 44 45 46 20 4f 53 54 52 41 43 45 0a 4f 53 54  NDEF OSTRACE.OST
13a0: 52 41 43 45 20 3d 20 30 0a 21 45 4e 44 49 46 0a  RACE = 0.!ENDIF.
13b0: 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 6f  .# Set this to o
13c0: 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77  ne of the follow
13d0: 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 65 6e  ing values to en
13e0: 61 62 6c 65 20 76 61 72 69 6f 75 73 20 64 65 62  able various deb
13f0: 75 67 67 69 6e 67 0a 23 20 66 65 61 74 75 72 65  ugging.# feature
1400: 73 2e 20 20 45 61 63 68 20 6c 65 76 65 6c 20 69  s.  Each level i
1410: 6e 63 6c 75 64 65 73 20 74 68 65 20 64 65 62 75  ncludes the debu
1420: 67 67 69 6e 67 20 6f 70 74 69 6f 6e 73 20 66 72  gging options fr
1430: 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a  om the previous.
1440: 23 20 6c 65 76 65 6c 73 2e 20 20 43 75 72 72 65  # levels.  Curre
1450: 6e 74 6c 79 2c 20 74 68 65 20 72 65 63 6f 67 6e  ntly, the recogn
1460: 69 7a 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20  ized values for 
1470: 44 45 42 55 47 20 61 72 65 3a 0a 23 0a 23 20 30  DEBUG are:.#.# 0
1480: 20 3d 3d 20 4e 44 45 42 55 47 3a 20 44 69 73 61   == NDEBUG: Disa
1490: 62 6c 65 73 20 61 73 73 65 72 74 28 29 20 61 6e  bles assert() an
14a0: 64 20 6f 74 68 65 72 20 72 75 6e 74 69 6d 65 20  d other runtime 
14b0: 64 69 61 67 6e 6f 73 74 69 63 73 2e 0a 23 20 31  diagnostics..# 1
14c0: 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c   == SQLITE_ENABL
14d0: 45 5f 41 50 49 5f 41 52 4d 4f 52 3a 20 65 78 74  E_API_ARMOR: ext
14e0: 72 61 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64  ra attempts to d
14f0: 65 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20  etect misuse of 
1500: 74 68 65 20 41 50 49 2e 0a 23 20 32 20 3d 3d 20  the API..# 2 == 
1510: 44 69 73 61 62 6c 65 73 20 4e 44 45 42 55 47 20  Disables NDEBUG 
1520: 61 6e 64 20 61 6c 6c 20 6f 70 74 69 6d 69 7a 61  and all optimiza
1530: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 6e 20 65  tions and then e
1540: 6e 61 62 6c 65 73 20 50 44 42 73 2e 0a 23 20 33  nables PDBs..# 3
1550: 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55 47   == SQLITE_DEBUG
1560: 3a 20 45 6e 61 62 6c 65 73 20 76 61 72 69 6f 75  : Enables variou
1570: 73 20 64 69 61 67 6e 6f 73 74 69 63 73 20 6d 65  s diagnostics me
1580: 73 73 61 67 65 73 20 61 6e 64 20 63 6f 64 65 2e  ssages and code.
1590: 0a 23 20 34 20 3d 3d 20 53 51 4c 49 54 45 5f 57  .# 4 == SQLITE_W
15a0: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
15b0: 44 41 54 45 3a 20 56 61 6c 69 64 61 74 65 20 74  DATE: Validate t
15c0: 68 65 20 57 69 6e 33 32 20 6e 61 74 69 76 65 20  he Win32 native 
15d0: 68 65 61 70 20 70 65 72 20 63 61 6c 6c 2e 0a 23  heap per call..#
15e0: 20 35 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42   5 == SQLITE_DEB
15f0: 55 47 5f 4f 53 5f 54 52 41 43 45 3a 20 45 6e 61  UG_OS_TRACE: Ena
1600: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
1610: 20 74 68 65 20 4f 53 54 52 41 43 45 28 29 20 6d   the OSTRACE() m
1620: 61 63 72 6f 73 2e 0a 23 20 36 20 3d 3d 20 53 51  acros..# 6 == SQ
1630: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
1640: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
1650: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 49 4f 54  put from the IOT
1660: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
1670: 0a 21 49 46 4e 44 45 46 20 44 45 42 55 47 0a 44  .!IFNDEF DEBUG.D
1680: 45 42 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a  EBUG = 0.!ENDIF.
1690: 0a 23 20 45 6e 61 62 6c 65 20 75 73 65 20 6f 66  .# Enable use of
16a0: 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 70 69   available compi
16b0: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
16c0: 73 3f 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 74 68  s?  Normally, th
16d0: 69 73 20 73 68 6f 75 6c 64 20 62 65 0a 23 20 6e  is should be.# n
16e0: 6f 6e 2d 7a 65 72 6f 2e 20 20 53 65 74 74 69 6e  on-zero.  Settin
16f0: 67 20 74 68 69 73 20 74 6f 20 7a 65 72 6f 2c 20  g this to zero, 
1700: 74 68 75 73 20 64 69 73 61 62 6c 69 6e 67 20 61  thus disabling a
1710: 6c 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  ll compiler opti
1720: 6d 69 7a 61 74 69 6f 6e 73 2c 0a 23 20 63 61 6e  mizations,.# can
1730: 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 74   be useful for t
1740: 65 73 74 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  esting..#.!IFNDE
1750: 46 20 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 0a  F OPTIMIZATIONS.
1760: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 20 3d 20  OPTIMIZATIONS = 
1770: 32 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  2.!ENDIF..# Set 
1780: 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f  this to non-0 to
1790: 20 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20   enable support 
17a0: 66 6f 72 20 74 68 65 20 73 65 73 73 69 6f 6e 20  for the session 
17b0: 65 78 74 65 6e 73 69 6f 6e 2e 0a 23 0a 21 49 46  extension..#.!IF
17c0: 4e 44 45 46 20 53 45 53 53 49 4f 4e 0a 53 45 53  NDEF SESSION.SES
17d0: 53 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  SION = 0.!ENDIF.
17e0: 0a 23 20 53 65 74 20 74 68 65 20 73 6f 75 72 63  .# Set the sourc
17f0: 65 20 63 6f 64 65 20 66 69 6c 65 20 74 6f 20 62  e code file to b
1800: 65 20 75 73 65 64 20 62 79 20 65 78 65 63 75 74  e used by execut
1810: 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 72 61 72  ables and librar
1820: 69 65 73 20 77 68 65 6e 0a 23 20 74 68 65 79 20  ies when.# they 
1830: 6e 65 65 64 20 74 68 65 20 61 6d 61 6c 67 61 6d  need the amalgam
1840: 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46  ation..#.!IFNDEF
1850: 20 53 51 4c 49 54 45 33 43 0a 21 49 46 20 24 28   SQLITE3C.!IF $(
1860: 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49  SPLIT_AMALGAMATI
1870: 4f 4e 29 21 3d 30 0a 53 51 4c 49 54 45 33 43 20  ON)!=0.SQLITE3C 
1880: 3d 20 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 0a  = sqlite3-all.c.
1890: 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 43 20 3d  !ELSE.SQLITE3C =
18a0: 20 73 71 6c 69 74 65 33 2e 63 0a 21 45 4e 44 49   sqlite3.c.!ENDI
18b0: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  F.!ENDIF..# Set 
18c0: 74 68 65 20 69 6e 63 6c 75 64 65 20 63 6f 64 65  the include code
18d0: 20 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64   file to be used
18e0: 20 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20   by executables 
18f0: 61 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68  and libraries wh
1900: 65 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 53  en.# they need S
1910: 51 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44 45 46  QLite..#.!IFNDEF
1920: 20 53 51 4c 49 54 45 33 48 0a 53 51 4c 49 54 45   SQLITE3H.SQLITE
1930: 33 48 20 3d 20 73 71 6c 69 74 65 33 2e 68 0a 21  3H = sqlite3.h.!
1940: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73  ENDIF..# This is
1950: 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65   the name to use
1960: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20   for the SQLite 
1970: 64 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62  dynamic link lib
1980: 72 61 72 79 20 28 44 4c 4c 29 2e 0a 23 0a 21 49  rary (DLL)..#.!I
1990: 46 4e 44 45 46 20 53 51 4c 49 54 45 33 44 4c 4c  FNDEF SQLITE3DLL
19a0: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30  .!IF $(FOR_WIN10
19b0: 29 21 3d 30 0a 53 51 4c 49 54 45 33 44 4c 4c 20  )!=0.SQLITE3DLL 
19c0: 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 64 6c 6c  = winsqlite3.dll
19d0: 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 44 4c  .!ELSE.SQLITE3DL
19e0: 4c 20 3d 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a  L = sqlite3.dll.
19f0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
1a00: 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d   This is the nam
1a10: 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65  e to use for the
1a20: 20 53 51 4c 69 74 65 20 69 6d 70 6f 72 74 20 6c   SQLite import l
1a30: 69 62 72 61 72 79 20 28 4c 49 42 29 2e 0a 23 0a  ibrary (LIB)..#.
1a40: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 4c  !IFNDEF SQLITE3L
1a50: 49 42 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  IB.!IF $(FOR_WIN
1a60: 31 30 29 21 3d 30 0a 53 51 4c 49 54 45 33 4c 49  10)!=0.SQLITE3LI
1a70: 42 20 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 6c  B = winsqlite3.l
1a80: 69 62 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33  ib.!ELSE.SQLITE3
1a90: 4c 49 42 20 3d 20 73 71 6c 69 74 65 33 2e 6c 69  LIB = sqlite3.li
1aa0: 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  b.!ENDIF.!ENDIF.
1ab0: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e  .# This is the n
1ac0: 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74  ame to use for t
1ad0: 68 65 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 20  he SQLite shell 
1ae0: 65 78 65 63 75 74 61 62 6c 65 20 28 45 58 45 29  executable (EXE)
1af0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49  ..#.!IFNDEF SQLI
1b00: 54 45 33 45 58 45 0a 21 49 46 20 24 28 46 4f 52  TE3EXE.!IF $(FOR
1b10: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54  _WIN10)!=0.SQLIT
1b20: 45 33 45 58 45 20 3d 20 77 69 6e 73 71 6c 69 74  E3EXE = winsqlit
1b30: 65 33 73 68 65 6c 6c 2e 65 78 65 0a 21 45 4c 53  e3shell.exe.!ELS
1b40: 45 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20 73  E.SQLITE3EXE = s
1b50: 71 6c 69 74 65 33 2e 65 78 65 0a 21 45 4e 44 49  qlite3.exe.!ENDI
1b60: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73  F.!ENDIF..# This
1b70: 20 69 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74   is the argument
1b80: 20 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65   used to set the
1b90: 20 70 72 6f 67 72 61 6d 20 64 61 74 61 62 61 73   program databas
1ba0: 65 20 28 50 44 42 29 20 66 69 6c 65 20 66 6f 72  e (PDB) file for
1bb0: 20 74 68 65 0a 23 20 53 51 4c 69 74 65 20 73 68   the.# SQLite sh
1bc0: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 28  ell executable (
1bd0: 45 58 45 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  EXE)..#.!IFNDEF 
1be0: 53 51 4c 49 54 45 33 45 58 45 50 44 42 0a 21 49  SQLITE3EXEPDB.!I
1bf0: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!=
1c00: 30 0a 53 51 4c 49 54 45 33 45 58 45 50 44 42 20  0.SQLITE3EXEPDB 
1c10: 3d 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 45  =.!ELSE.SQLITE3E
1c20: 58 45 50 44 42 20 3d 20 2f 70 64 62 3a 73 71 6c  XEPDB = /pdb:sql
1c30: 69 74 65 33 73 68 2e 70 64 62 0a 21 45 4e 44 49  ite3sh.pdb.!ENDI
1c40: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  F.!ENDIF..# <<ma
1c50: 72 6b 3e 3e 0a 23 20 54 68 65 73 65 20 61 72 65  rk>>.# These are
1c60: 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68   the names of th
1c70: 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 54 63 6c  e customized Tcl
1c80: 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 75 73   header files us
1c90: 65 64 20 62 79 20 76 61 72 69 6f 75 73 20 70 61  ed by various pa
1ca0: 72 74 73 0a 23 20 6f 66 20 74 68 69 73 20 6d 61  rts.# of this ma
1cb0: 6b 65 66 69 6c 65 20 77 68 65 6e 20 74 68 65 20  kefile when the 
1cc0: 73 74 64 63 61 6c 6c 20 63 61 6c 6c 69 6e 67 20  stdcall calling 
1cd0: 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 69 6e  convention is in
1ce0: 20 75 73 65 2e 20 20 49 74 20 69 73 20 6e 6f 74   use.  It is not
1cf0: 0a 23 20 75 73 65 64 20 66 6f 72 20 61 6e 79 20  .# used for any 
1d00: 6f 74 68 65 72 20 70 75 72 70 6f 73 65 2e 0a 23  other purpose..#
1d10: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 54  .!IFNDEF SQLITET
1d20: 43 4c 48 0a 53 51 4c 49 54 45 54 43 4c 48 20 3d  CLH.SQLITETCLH =
1d30: 20 73 71 6c 69 74 65 5f 74 63 6c 2e 68 0a 21 45   sqlite_tcl.h.!E
1d40: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 53 51  NDIF..!IFNDEF SQ
1d50: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 0a 53 51  LITETCLDECLSH.SQ
1d60: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 20 3d 20  LITETCLDECLSH = 
1d70: 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e  sqlite_tclDecls.
1d80: 68 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73  h.!ENDIF..# Thes
1d90: 65 20 61 72 65 20 74 68 65 20 61 64 64 69 74 69  e are the additi
1da0: 6f 6e 61 6c 20 74 61 72 67 65 74 73 20 74 68 61  onal targets tha
1db0: 74 20 74 68 65 20 74 61 72 67 65 74 73 20 74 68  t the targets th
1dc0: 61 74 20 69 6e 74 65 67 72 61 74 65 20 77 69 74  at integrate wit
1dd0: 68 20 74 68 65 0a 23 20 54 63 6c 20 6c 69 62 72  h the.# Tcl libr
1de0: 61 72 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e  ary should depen
1df0: 64 20 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c  d on when compil
1e00: 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 21 49 46 4e  ing, etc..#.!IFN
1e10: 44 45 46 20 53 51 4c 49 54 45 5f 54 43 4c 5f 44  DEF SQLITE_TCL_D
1e20: 45 50 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44  EP.!IF $(USE_STD
1e30: 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  CALL)!=0 || $(FO
1e40: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49  R_WIN10)!=0.SQLI
1e50: 54 45 5f 54 43 4c 5f 44 45 50 20 3d 20 24 28 53  TE_TCL_DEP = $(S
1e60: 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20  QLITETCLDECLSH) 
1e70: 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45  $(SQLITETCLH).!E
1e80: 4c 53 45 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44  LSE.SQLITE_TCL_D
1e90: 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44  EP =.!ENDIF.!END
1ea0: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  IF.# <</mark>>..
1eb0: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20  # These are the 
1ec0: 22 73 74 61 6e 64 61 72 64 22 20 53 51 4c 69 74  "standard" SQLit
1ed0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70  e compilation op
1ee0: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20  tions used when 
1ef0: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20  compiling for.# 
1f00: 74 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74  the Windows plat
1f10: 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20  form..#.!IFNDEF 
1f20: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
1f30: 53 0a 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f  S.!IF $(MINIMAL_
1f40: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30  AMALGAMATION)==0
1f50: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
1f60: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU
1f70: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1f80: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 33 3d 31  TE_ENABLE_FTS3=1
1f90: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
1fa0: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU
1fb0: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1fc0: 54 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 3d  TE_ENABLE_RTREE=
1fd0: 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  1 -DSQLITE_ENABL
1fe0: 45 5f 47 45 4f 50 4f 4c 59 3d 31 0a 21 45 4e 44  E_GEOPOLY=1.!END
1ff0: 49 46 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46  IF.OPT_FEATURE_F
2000: 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41  LAGS = $(OPT_FEA
2010: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
2020: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 43 4f 4c 55  LITE_ENABLE_COLU
2030: 4d 4e 5f 4d 45 54 41 44 41 54 41 3d 31 0a 21 45  MN_METADATA=1.!E
2040: 4e 44 49 46 0a 0a 23 20 53 68 6f 75 6c 64 20 74  NDIF..# Should t
2050: 68 65 20 73 65 73 73 69 6f 6e 20 65 78 74 65 6e  he session exten
2060: 73 69 6f 6e 20 62 65 20 65 6e 61 62 6c 65 64 3f  sion be enabled?
2070: 20 20 49 66 20 73 6f 2c 20 61 64 64 20 63 6f 6d    If so, add com
2080: 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73  pilation options
2090: 0a 23 20 74 6f 20 65 6e 61 62 6c 65 20 69 74 2e  .# to enable it.
20a0: 0a 23 0a 21 49 46 20 24 28 53 45 53 53 49 4f 4e  .#.!IF $(SESSION
20b0: 29 21 3d 30 0a 4f 50 54 5f 46 45 41 54 55 52 45  )!=0.OPT_FEATURE
20c0: 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46  _FLAGS = $(OPT_F
20d0: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  EATURE_FLAGS) -D
20e0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45  SQLITE_ENABLE_SE
20f0: 53 53 49 4f 4e 3d 31 0a 4f 50 54 5f 46 45 41 54  SSION=1.OPT_FEAT
2100: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50  URE_FLAGS = $(OP
2110: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
2120: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
2130: 5f 50 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b 3d  _PREUPDATE_HOOK=
2140: 31 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73  1.!ENDIF..# Thes
2150: 65 20 61 72 65 20 74 68 65 20 22 65 78 74 65 6e  e are the "exten
2160: 64 65 64 22 20 53 51 4c 69 74 65 20 63 6f 6d 70  ded" SQLite comp
2170: 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20  ilation options 
2180: 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c  used when compil
2190: 69 6e 67 20 66 6f 72 0a 23 20 74 68 65 20 57 69  ing for.# the Wi
21a0: 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72  ndows 10 platfor
21b0: 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 45 58 54  m..#.!IFNDEF EXT
21c0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 0a 21  _FEATURE_FLAGS.!
21d0: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  IF $(FOR_WIN10)!
21e0: 3d 30 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46  =0.EXT_FEATURE_F
21f0: 4c 41 47 53 20 3d 20 24 28 45 58 54 5f 46 45 41  LAGS = $(EXT_FEA
2200: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
2210: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 34  LITE_ENABLE_FTS4
2220: 3d 31 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46  =1.EXT_FEATURE_F
2230: 4c 41 47 53 20 3d 20 24 28 45 58 54 5f 46 45 41  LAGS = $(EXT_FEA
2240: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
2250: 4c 49 54 45 5f 53 59 53 54 45 4d 5f 4d 41 4c 4c  LITE_SYSTEM_MALL
2260: 4f 43 3d 31 0a 45 58 54 5f 46 45 41 54 55 52 45  OC=1.EXT_FEATURE
2270: 5f 46 4c 41 47 53 20 3d 20 24 28 45 58 54 5f 46  _FLAGS = $(EXT_F
2280: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  EATURE_FLAGS) -D
2290: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 43 41  SQLITE_OMIT_LOCA
22a0: 4c 54 49 4d 45 3d 31 0a 21 45 4c 53 45 0a 45 58  LTIME=1.!ELSE.EX
22b0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20  T_FEATURE_FLAGS 
22c0: 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  =.!ENDIF.!ENDIF.
22d0: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
22e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2300: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2310: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2320: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
2330: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2340: 20 45 4e 44 20 4f 46 20 4f 50 54 49 4f 4e 53 20   END OF OPTIONS 
2350: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2360: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2370: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
2380: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2390: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
23a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
23b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
23c0: 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69  ..# When compili
23d0: 6e 67 20 66 6f 72 20 74 68 65 20 57 69 6e 64 6f  ng for the Windo
23e0: 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 2c 20  ws 10 platform, 
23f0: 74 68 65 20 50 4c 41 54 46 4f 52 4d 20 6d 61 63  the PLATFORM mac
2400: 72 6f 20 6d 75 73 74 20 62 65 20 73 65 74 0a 23  ro must be set.#
2410: 20 74 6f 20 61 6e 20 61 70 70 72 6f 70 72 69 61   to an appropria
2420: 74 65 20 76 61 6c 75 65 20 28 65 2e 67 2e 20 78  te value (e.g. x
2430: 38 36 2c 20 78 36 34 2c 20 61 72 6d 2c 20 61 72  86, x64, arm, ar
2440: 6d 36 34 2c 20 65 74 63 29 2e 0a 23 0a 21 49 46  m64, etc)..#.!IF
2450: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0
2460: 0a 21 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52  .!IFNDEF PLATFOR
2470: 4d 0a 21 45 52 52 4f 52 20 55 73 69 6e 67 20 74  M.!ERROR Using t
2480: 68 65 20 46 4f 52 5f 57 49 4e 31 30 20 6f 70 74  he FOR_WIN10 opt
2490: 69 6f 6e 20 72 65 71 75 69 72 65 73 20 61 20 76  ion requires a v
24a0: 61 6c 75 65 20 66 6f 72 20 50 4c 41 54 46 4f 52  alue for PLATFOR
24b0: 4d 2e 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  M..!ENDIF.!ENDIF
24c0: 0a 0a 23 20 54 68 69 73 20 61 73 73 75 6d 65 73  ..# This assumes
24d0: 20 74 68 61 74 20 4d 53 56 43 20 69 73 20 61 6c   that MSVC is al
24e0: 77 61 79 73 20 69 6e 73 74 61 6c 6c 65 64 20 69  ways installed i
24f0: 6e 20 33 32 2d 62 69 74 20 50 72 6f 67 72 61 6d  n 32-bit Program
2500: 20 46 69 6c 65 73 20 64 69 72 65 63 74 6f 72 79   Files directory
2510: 0a 23 20 61 6e 64 20 73 65 74 73 20 74 68 65 20  .# and sets the 
2520: 76 61 72 69 61 62 6c 65 20 66 6f 72 20 75 73 65  variable for use
2530: 20 69 6e 20 6c 6f 63 61 74 69 6e 67 20 6f 74 68   in locating oth
2540: 65 72 20 33 32 2d 62 69 74 20 69 6e 73 74 61 6c  er 32-bit instal
2550: 6c 73 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 0a  ls accordingly..
2560: 23 0a 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58  #.PROGRAMFILES_X
2570: 38 36 20 3d 20 24 28 56 43 49 4e 53 54 41 4c 4c  86 = $(VCINSTALL
2580: 44 49 52 29 5c 2e 2e 5c 2e 2e 0a 50 52 4f 47 52  DIR)\..\...PROGR
2590: 41 4d 46 49 4c 45 53 5f 58 38 36 20 3d 20 24 28  AMFILES_X86 = $(
25a0: 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36  PROGRAMFILES_X86
25b0: 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20  :\\=\)..# Check 
25c0: 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 69 6e  for the predefin
25d0: 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f  ed command macro
25e0: 20 43 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c   CC.  This shoul
25f0: 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 63  d point to the c
2600: 6f 6d 70 69 6c 65 72 0a 23 20 62 69 6e 61 72 79  ompiler.# binary
2610: 20 66 6f 72 20 74 68 65 20 74 61 72 67 65 74 20   for the target 
2620: 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66 20 69 74  platform.  If it
2630: 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c   is not defined,
2640: 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69   simply define i
2650: 74 20 74 6f 0a 23 20 74 68 65 20 6c 65 67 61 63  t to.# the legac
2660: 79 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20  y default value 
2670: 27 63 6c 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e  'cl.exe'..#.!IFN
2680: 44 45 46 20 43 43 0a 43 43 20 3d 20 63 6c 2e 65  DEF CC.CC = cl.e
2690: 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65  xe.!ENDIF..# Che
26a0: 63 6b 20 66 6f 72 20 74 68 65 20 70 72 65 64 65  ck for the prede
26b0: 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61  fined command ma
26c0: 63 72 6f 20 43 53 43 2e 20 20 54 68 69 73 20 73  cro CSC.  This s
26d0: 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 61  hould point to a
26e0: 20 77 6f 72 6b 69 6e 67 0a 23 20 43 20 53 68 61   working.# C Sha
26f0: 72 70 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61  rp compiler bina
2700: 72 79 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f  ry.  If it is no
2710: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c  t defined, simpl
2720: 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 74  y define it to t
2730: 68 65 0a 23 20 6c 65 67 61 63 79 20 64 65 66 61  he.# legacy defa
2740: 75 6c 74 20 76 61 6c 75 65 20 27 63 73 63 2e 65  ult value 'csc.e
2750: 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43  xe'..#.!IFNDEF C
2760: 53 43 0a 43 53 43 20 3d 20 63 73 63 2e 65 78 65  SC.CSC = csc.exe
2770: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b  .!ENDIF..# Check
2780: 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64   for the command
2790: 20 6d 61 63 72 6f 20 4c 44 2e 20 20 54 68 69 73   macro LD.  This
27a0: 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f   should point to
27b0: 20 74 68 65 20 6c 69 6e 6b 65 72 20 62 69 6e 61   the linker bina
27c0: 72 79 20 66 6f 72 0a 23 20 74 68 65 20 74 61 72  ry for.# the tar
27d0: 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 49  get platform.  I
27e0: 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66 69  f it is not defi
27f0: 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69  ned, simply defi
2800: 6e 65 20 69 74 20 74 6f 20 74 68 65 20 6c 65 67  ne it to the leg
2810: 61 63 79 0a 23 20 64 65 66 61 75 6c 74 20 76 61  acy.# default va
2820: 6c 75 65 20 27 6c 69 6e 6b 2e 65 78 65 27 2e 0a  lue 'link.exe'..
2830: 23 0a 21 49 46 4e 44 45 46 20 4c 44 0a 4c 44 20  #.!IFNDEF LD.LD 
2840: 3d 20 6c 69 6e 6b 2e 65 78 65 0a 21 45 4e 44 49  = link.exe.!ENDI
2850: 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74  F..# Check for t
2860: 68 65 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f  he predefined co
2870: 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 52 43 2e 20  mmand macro RC. 
2880: 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69   This should poi
2890: 6e 74 20 74 6f 20 74 68 65 20 72 65 73 6f 75 72  nt to the resour
28a0: 63 65 0a 23 20 63 6f 6d 70 69 6c 65 72 20 62 69  ce.# compiler bi
28b0: 6e 61 72 79 20 66 6f 72 20 74 68 65 20 74 61 72  nary for the tar
28c0: 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 49  get platform.  I
28d0: 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66 69  f it is not defi
28e0: 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69  ned, simply defi
28f0: 6e 65 0a 23 20 69 74 20 74 6f 20 74 68 65 20 6c  ne.# it to the l
2900: 65 67 61 63 79 20 64 65 66 61 75 6c 74 20 76 61  egacy default va
2910: 6c 75 65 20 27 72 63 2e 65 78 65 27 2e 0a 23 0a  lue 'rc.exe'..#.
2920: 21 49 46 4e 44 45 46 20 52 43 0a 52 43 20 3d 20  !IFNDEF RC.RC = 
2930: 72 63 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23  rc.exe.!ENDIF..#
2940: 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 4d   Check for the M
2950: 53 56 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  SVC runtime libr
2960: 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20  ary path macro. 
2970: 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 69 73   Otherwise, this
2980: 20 76 61 6c 75 65 20 77 69 6c 6c 0a 23 20 64 65   value will.# de
2990: 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27 6c 69  fault to the 'li
29a0: 62 27 20 64 69 72 65 63 74 6f 72 79 20 75 6e 64  b' directory und
29b0: 65 72 6e 65 61 74 68 20 74 68 65 20 4d 53 56 43  erneath the MSVC
29c0: 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69   installation di
29d0: 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44  rectory..#.!IFND
29e0: 45 46 20 43 52 54 4c 49 42 50 41 54 48 0a 43 52  EF CRTLIBPATH.CR
29f0: 54 4c 49 42 50 41 54 48 20 3d 20 24 28 56 43 49  TLIBPATH = $(VCI
2a00: 4e 53 54 41 4c 4c 44 49 52 29 5c 6c 69 62 0a 21  NSTALLDIR)\lib.!
2a10: 45 4e 44 49 46 0a 0a 43 52 54 4c 49 42 50 41 54  ENDIF..CRTLIBPAT
2a20: 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48  H = $(CRTLIBPATH
2a30: 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20  :\\=\)..# Check 
2a40: 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20  for the command 
2a50: 6d 61 63 72 6f 20 4e 43 43 2e 20 20 54 68 69 73  macro NCC.  This
2a60: 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f   should point to
2a70: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 62 69   the compiler bi
2a80: 6e 61 72 79 0a 23 20 66 6f 72 20 74 68 65 20 70  nary.# for the p
2a90: 6c 61 74 66 6f 72 6d 20 74 68 65 20 63 6f 6d 70  latform the comp
2aa0: 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73 73 20  ilation process 
2ab0: 69 73 20 74 61 6b 69 6e 67 20 70 6c 61 63 65 20  is taking place 
2ac0: 6f 6e 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f  on.  If it is no
2ad0: 74 0a 23 20 64 65 66 69 6e 65 64 2c 20 73 69 6d  t.# defined, sim
2ae0: 70 6c 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f  ply define it to
2af0: 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 76   have the same v
2b00: 61 6c 75 65 20 61 73 20 74 68 65 20 43 43 20 6d  alue as the CC m
2b10: 61 63 72 6f 2e 20 20 57 68 65 6e 0a 23 20 63 72  acro.  When.# cr
2b20: 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 2c 20 69  oss-compiling, i
2b30: 74 20 69 73 20 73 75 67 67 65 73 74 65 64 20 74  t is suggested t
2b40: 68 61 74 20 74 68 69 73 20 6d 61 63 72 6f 20 62  hat this macro b
2b50: 65 20 6d 6f 64 69 66 69 65 64 20 76 69 61 20 74  e modified via t
2b60: 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e  he command.# lin
2b70: 65 20 28 73 69 6e 63 65 20 6e 6d 61 6b 65 20 69  e (since nmake i
2b80: 74 73 65 6c 66 20 64 6f 65 73 20 6e 6f 74 20 70  tself does not p
2b90: 72 6f 76 69 64 65 20 61 20 62 75 69 6c 74 2d 69  rovide a built-i
2ba0: 6e 20 6d 65 74 68 6f 64 20 74 6f 20 67 75 65 73  n method to gues
2bb0: 73 20 69 74 29 2e 0a 23 20 46 6f 72 20 65 78 61  s it)..# For exa
2bc0: 6d 70 6c 65 2c 20 74 6f 20 75 73 65 20 74 68 65  mple, to use the
2bd0: 20 78 38 36 20 63 6f 6d 70 69 6c 65 72 20 77 68   x86 compiler wh
2be0: 65 6e 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69  en cross-compili
2bf0: 6e 67 20 66 6f 72 20 78 36 34 2c 20 61 20 63 6f  ng for x64, a co
2c00: 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 20 73 69 6d  mmand.# line sim
2c10: 69 6c 61 72 20 74 6f 20 74 68 65 20 66 6f 6c 6c  ilar to the foll
2c20: 6f 77 69 6e 67 20 63 6f 75 6c 64 20 62 65 20 75  owing could be u
2c30: 73 65 64 20 28 61 6c 6c 20 6f 6e 20 6f 6e 65 20  sed (all on one 
2c40: 6c 69 6e 65 29 3a 0a 23 0a 23 20 20 20 20 20 6e  line):.#.#     n
2c50: 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c 65  make /f Makefile
2c60: 2e 6d 73 63 20 73 71 6c 69 74 65 33 2e 64 6c 6c  .msc sqlite3.dll
2c70: 0a 23 20 20 20 20 20 20 20 20 20 20 20 58 43 4f  .#           XCO
2c80: 4d 50 49 4c 45 3d 31 20 55 53 45 5f 4e 41 54 49  MPILE=1 USE_NATI
2c90: 56 45 5f 4c 49 42 50 41 54 48 53 3d 31 0a 23 0a  VE_LIBPATHS=1.#.
2ca0: 23 20 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 2c  # Alternatively,
2cb0: 20 74 68 65 20 66 75 6c 6c 20 70 61 74 68 20 61   the full path a
2cc0: 6e 64 20 66 69 6c 65 20 6e 61 6d 65 20 74 6f 20  nd file name to 
2cd0: 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e  the compiler bin
2ce0: 61 72 79 20 66 6f 72 20 74 68 65 0a 23 20 70 6c  ary for the.# pl
2cf0: 61 74 66 6f 72 6d 20 74 68 65 20 63 6f 6d 70 69  atform the compi
2d00: 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73 73 20 69  lation process i
2d10: 73 20 74 61 6b 69 6e 67 20 70 6c 61 63 65 20 6d  s taking place m
2d20: 61 79 20 62 65 20 73 70 65 63 69 66 69 65 64 20  ay be specified 
2d30: 28 61 6c 6c 20 6f 6e 0a 23 20 6f 6e 65 20 6c 69  (all on.# one li
2d40: 6e 65 29 3a 0a 23 0a 23 20 20 20 20 20 6e 6d 61  ne):.#.#     nma
2d50: 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d  ke /f Makefile.m
2d60: 73 63 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a 23  sc sqlite3.dll.#
2d70: 20 20 20 20 20 20 20 20 20 20 20 22 4e 43 43 3d             "NCC=
2d80: 22 22 25 56 43 49 4e 53 54 41 4c 4c 44 49 52 25  ""%VCINSTALLDIR%
2d90: 5c 62 69 6e 5c 63 6c 2e 65 78 65 22 22 22 0a 23  \bin\cl.exe""".#
2da0: 20 20 20 20 20 20 20 20 20 20 20 55 53 45 5f 4e             USE_N
2db0: 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 3d 31  ATIVE_LIBPATHS=1
2dc0: 0a 23 0a 21 49 46 44 45 46 20 4e 43 43 0a 4e 43  .#.!IFDEF NCC.NC
2dd0: 43 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29 0a  C = $(NCC:\\=\).
2de0: 21 45 4c 53 45 49 46 20 24 28 58 43 4f 4d 50 49  !ELSEIF $(XCOMPI
2df0: 4c 45 29 21 3d 30 0a 4e 43 43 20 3d 20 22 24 28  LE)!=0.NCC = "$(
2e00: 56 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c 62 69  VCINSTALLDIR)\bi
2e10: 6e 5c 24 28 43 43 29 22 0a 4e 43 43 20 3d 20 24  n\$(CC)".NCC = $
2e20: 28 4e 43 43 3a 5c 5c 3d 5c 29 0a 21 45 4c 53 45  (NCC:\\=\).!ELSE
2e30: 0a 4e 43 43 20 3d 20 24 28 43 43 29 0a 21 45 4e  .NCC = $(CC).!EN
2e40: 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72  DIF..# Check for
2e50: 20 74 68 65 20 4d 53 56 43 20 6e 61 74 69 76 65   the MSVC native
2e60: 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79   runtime library
2e70: 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74   path macro.  Ot
2e80: 68 65 72 77 69 73 65 2c 0a 23 20 74 68 69 73 20  herwise,.# this 
2e90: 76 61 6c 75 65 20 77 69 6c 6c 20 64 65 66 61 75  value will defau
2ea0: 6c 74 20 74 6f 20 74 68 65 20 27 6c 69 62 27 20  lt to the 'lib' 
2eb0: 64 69 72 65 63 74 6f 72 79 20 75 6e 64 65 72 6e  directory undern
2ec0: 65 61 74 68 20 74 68 65 20 4d 53 56 43 0a 23 20  eath the MSVC.# 
2ed0: 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72  installation dir
2ee0: 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 45  ectory..#.!IFNDE
2ef0: 46 20 4e 43 52 54 4c 49 42 50 41 54 48 0a 4e 43  F NCRTLIBPATH.NC
2f00: 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 56 43  RTLIBPATH = $(VC
2f10: 49 4e 53 54 41 4c 4c 44 49 52 29 5c 6c 69 62 0a  INSTALLDIR)\lib.
2f20: 21 45 4e 44 49 46 0a 0a 4e 43 52 54 4c 49 42 50  !ENDIF..NCRTLIBP
2f30: 41 54 48 20 3d 20 24 28 4e 43 52 54 4c 49 42 50  ATH = $(NCRTLIBP
2f40: 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65  ATH:\\=\)..# Che
2f50: 63 6b 20 66 6f 72 20 74 68 65 20 50 6c 61 74 66  ck for the Platf
2f60: 6f 72 6d 20 53 44 4b 20 6c 69 62 72 61 72 79 20  orm SDK library 
2f70: 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68  path macro.  Oth
2f80: 65 72 77 69 73 65 2c 20 74 68 69 73 0a 23 20 76  erwise, this.# v
2f90: 61 6c 75 65 20 77 69 6c 6c 20 64 65 66 61 75 6c  alue will defaul
2fa0: 74 20 74 6f 20 74 68 65 20 27 6c 69 62 27 20 64  t to the 'lib' d
2fb0: 69 72 65 63 74 6f 72 79 20 75 6e 64 65 72 6e 65  irectory underne
2fc0: 61 74 68 20 74 68 65 20 57 69 6e 64 6f 77 73 0a  ath the Windows.
2fd0: 23 20 53 44 4b 20 69 6e 73 74 61 6c 6c 61 74 69  # SDK installati
2fe0: 6f 6e 20 64 69 72 65 63 74 6f 72 79 20 28 74 68  on directory (th
2ff0: 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61  e environment va
3000: 72 69 61 62 6c 65 20 75 73 65 64 20 61 70 70 65  riable used appe
3010: 61 72 73 0a 23 20 74 6f 20 62 65 20 61 76 61 69  ars.# to be avai
3020: 6c 61 62 6c 65 20 77 68 65 6e 20 75 73 69 6e 67  lable when using
3030: 20 56 69 73 75 61 6c 20 43 2b 2b 20 32 30 30 38   Visual C++ 2008
3040: 20 6f 72 20 6c 61 74 65 72 20 76 69 61 20 74 68   or later via th
3050: 65 0a 23 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65  e.# command line
3060: 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e 53 44  )..#.!IFNDEF NSD
3070: 4b 4c 49 42 50 41 54 48 0a 4e 53 44 4b 4c 49 42  KLIBPATH.NSDKLIB
3080: 50 41 54 48 20 3d 20 24 28 57 49 4e 44 4f 57 53  PATH = $(WINDOWS
3090: 53 44 4b 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44  SDKDIR)\lib.!END
30a0: 49 46 0a 0a 4e 53 44 4b 4c 49 42 50 41 54 48 20  IF..NSDKLIBPATH 
30b0: 3d 20 24 28 4e 53 44 4b 4c 49 42 50 41 54 48 3a  = $(NSDKLIBPATH:
30c0: 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66  \\=\)..# Check f
30d0: 6f 72 20 74 68 65 20 55 43 52 54 20 6c 69 62 72  or the UCRT 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 20 74 68 69 73   Otherwise, this
3100: 20 76 61 6c 75 65 20 77 69 6c 6c 0a 23 20 64 65   value will.# de
3110: 66 61 75 6c 74 20 74 6f 20 74 68 65 20 76 65 72  fault to the ver
3120: 73 69 6f 6e 2d 73 70 65 63 69 66 69 63 2c 20 70  sion-specific, p
3130: 6c 61 74 66 6f 72 6d 2d 73 70 65 63 69 66 69 63  latform-specific
3140: 20 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79   'lib' directory
3150: 0a 23 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68  .# underneath th
3160: 65 20 57 69 6e 64 6f 77 73 20 53 44 4b 20 69 6e  e Windows SDK in
3170: 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63  stallation direc
3180: 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20  tory..#.!IFNDEF 
3190: 55 43 52 54 4c 49 42 50 41 54 48 0a 55 43 52 54  UCRTLIBPATH.UCRT
31a0: 4c 49 42 50 41 54 48 20 3d 20 24 28 57 49 4e 44  LIBPATH = $(WIND
31b0: 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69 62 5c 24  OWSSDKDIR)\lib\$
31c0: 28 57 49 4e 44 4f 57 53 53 44 4b 4c 49 42 56 45  (WINDOWSSDKLIBVE
31d0: 52 53 49 4f 4e 29 5c 75 63 72 74 5c 24 28 50 4c  RSION)\ucrt\$(PL
31e0: 41 54 46 4f 52 4d 29 0a 21 45 4e 44 49 46 0a 0a  ATFORM).!ENDIF..
31f0: 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28  UCRTLIBPATH = $(
3200: 55 43 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c  UCRTLIBPATH:\\=\
3210: 29 0a 0a 23 20 43 20 63 6f 6d 70 69 6c 65 72 20  )..# C compiler 
3220: 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20  and options for 
3230: 75 73 65 20 69 6e 20 62 75 69 6c 64 69 6e 67 20  use in building 
3240: 65 78 65 63 75 74 61 62 6c 65 73 20 74 68 61 74  executables that
3250: 0a 23 20 77 69 6c 6c 20 72 75 6e 20 6f 6e 20 74  .# will run on t
3260: 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 61 74  he platform that
3270: 20 69 73 20 64 6f 69 6e 67 20 74 68 65 20 62 75   is doing the bu
3280: 69 6c 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45  ild..#.!IF $(USE
3290: 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 42 43  _FULLWARN)!=0.BC
32a0: 43 20 3d 20 24 28 4e 43 43 29 20 2d 6e 6f 6c 6f  C = $(NCC) -nolo
32b0: 67 6f 20 2d 57 34 20 24 28 43 43 4f 50 54 53 29  go -W4 $(CCOPTS)
32c0: 20 24 28 42 43 43 4f 50 54 53 29 0a 21 45 4c 53   $(BCCOPTS).!ELS
32d0: 45 0a 42 43 43 20 3d 20 24 28 4e 43 43 29 20 2d  E.BCC = $(NCC) -
32e0: 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43 4f  nologo -W3 $(CCO
32f0: 50 54 53 29 20 24 28 42 43 43 4f 50 54 53 29 0a  PTS) $(BCCOPTS).
3300: 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20  !ENDIF..# Check 
3310: 69 66 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65  if assembly code
3320: 20 6c 69 73 74 69 6e 67 73 20 73 68 6f 75 6c 64   listings should
3330: 20 62 65 20 67 65 6e 65 72 61 74 65 64 20 66 6f   be generated fo
3340: 72 20 74 68 65 20 73 6f 75 72 63 65 0a 23 20 63  r the source.# c
3350: 6f 64 65 20 66 69 6c 65 73 20 74 6f 20 62 65 20  ode files to be 
3360: 63 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21 49 46 20  compiled..#.!IF 
3370: 24 28 55 53 45 5f 4c 49 53 54 49 4e 47 53 29 21  $(USE_LISTINGS)!
3380: 3d 30 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  =0.BCC = $(BCC) 
3390: 2d 46 41 63 73 0a 21 45 4e 44 49 46 0a 0a 23 20  -FAcs.!ENDIF..# 
33a0: 43 68 65 63 6b 20 69 66 20 74 68 65 20 6e 61 74  Check if the nat
33b0: 69 76 65 20 6c 69 62 72 61 72 79 20 70 61 74 68  ive library path
33c0: 73 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64  s should be used
33d0: 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 0a   when compiling.
33e0: 23 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69  # the command li
33f0: 6e 65 20 74 6f 6f 6c 73 20 75 73 65 64 20 64 75  ne tools used du
3400: 72 69 6e 67 20 74 68 65 20 63 6f 6d 70 69 6c 61  ring the compila
3410: 74 69 6f 6e 20 70 72 6f 63 65 73 73 2e 20 20 49  tion process.  I
3420: 66 0a 23 20 73 6f 2c 20 73 65 74 20 74 68 65 20  f.# so, set the 
3430: 6e 65 63 65 73 73 61 72 79 20 6d 61 63 72 6f 20  necessary macro 
3440: 6e 6f 77 2e 0a 23 0a 21 49 46 20 24 28 55 53 45  now..#.!IF $(USE
3450: 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53  _NATIVE_LIBPATHS
3460: 29 21 3d 30 0a 4e 4c 54 4c 49 42 50 41 54 48 53  )!=0.NLTLIBPATHS
3470: 20 3d 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e   = "/LIBPATH:$(N
3480: 43 52 54 4c 49 42 50 41 54 48 29 22 20 22 2f 4c  CRTLIBPATH)" "/L
3490: 49 42 50 41 54 48 3a 24 28 4e 53 44 4b 4c 49 42  IBPATH:$(NSDKLIB
34a0: 50 41 54 48 29 22 0a 0a 21 49 46 44 45 46 20 4e  PATH)"..!IFDEF N
34b0: 55 43 52 54 4c 49 42 50 41 54 48 0a 4e 55 43 52  UCRTLIBPATH.NUCR
34c0: 54 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 55 43  TLIBPATH = $(NUC
34d0: 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a  RTLIBPATH:\\=\).
34e0: 4e 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 24 28  NLTLIBPATHS = $(
34f0: 4e 4c 54 4c 49 42 50 41 54 48 53 29 20 22 2f 4c  NLTLIBPATHS) "/L
3500: 49 42 50 41 54 48 3a 24 28 4e 55 43 52 54 4c 49  IBPATH:$(NUCRTLI
3510: 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21  BPATH)".!ENDIF.!
3520: 45 4e 44 49 46 0a 0a 23 20 43 20 63 6f 6d 70 69  ENDIF..# C compi
3530: 6c 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20  ler and options 
3540: 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64  for use in build
3550: 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20  ing executables 
3560: 74 68 61 74 0a 23 20 77 69 6c 6c 20 72 75 6e 20  that.# will run 
3570: 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20 70 6c  on the target pl
3580: 61 74 66 6f 72 6d 2e 20 20 28 42 43 43 20 61 6e  atform.  (BCC an
3590: 64 20 54 43 43 20 61 72 65 20 75 73 75 61 6c 6c  d TCC are usuall
35a0: 79 20 74 68 65 0a 23 20 73 61 6d 65 20 75 6e 6c  y the.# same unl
35b0: 65 73 73 20 79 6f 75 72 20 61 72 65 20 63 72 6f  ess your are cro
35c0: 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 2e 29 0a 23  ss-compiling.).#
35d0: 0a 21 49 46 20 24 28 55 53 45 5f 46 55 4c 4c 57  .!IF $(USE_FULLW
35e0: 41 52 4e 29 21 3d 30 0a 54 43 43 20 3d 20 24 28  ARN)!=0.TCC = $(
35f0: 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20  CC) -nologo -W4 
3600: 2d 44 49 4e 43 4c 55 44 45 5f 4d 53 56 43 5f 48  -DINCLUDE_MSVC_H
3610: 3d 31 20 24 28 43 43 4f 50 54 53 29 20 24 28 54  =1 $(CCOPTS) $(T
3620: 43 43 4f 50 54 53 29 0a 21 45 4c 53 45 0a 54 43  CCOPTS).!ELSE.TC
3630: 43 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67  C = $(CC) -nolog
3640: 6f 20 2d 57 33 20 24 28 43 43 4f 50 54 53 29 20  o -W3 $(CCOPTS) 
3650: 24 28 54 43 43 4f 50 54 53 29 0a 21 45 4e 44 49  $(TCCOPTS).!ENDI
3660: 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 77 61  F..# Check if wa
3670: 72 6e 69 6e 67 73 20 73 68 6f 75 6c 64 20 62 65  rnings should be
3680: 20 74 72 65 61 74 65 64 20 61 73 20 65 72 72 6f   treated as erro
3690: 72 73 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  rs when compilin
36a0: 67 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 46  g..#.!IF $(USE_F
36b0: 41 54 41 4c 5f 57 41 52 4e 29 21 3d 30 0a 54 43  ATAL_WARN)!=0.TC
36c0: 43 20 3d 20 24 28 54 43 43 29 20 2d 57 58 0a 21  C = $(TCC) -WX.!
36d0: 45 4e 44 49 46 0a 0a 54 43 43 20 3d 20 24 28 54  ENDIF..TCC = $(T
36e0: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f  CC) -DSQLITE_OS_
36f0: 57 49 4e 3d 31 20 2d 49 2e 20 2d 49 24 28 54 4f  WIN=1 -I. -I$(TO
3700: 50 29 20 2d 49 24 28 54 4f 50 29 5c 73 72 63 20  P) -I$(TOP)\src 
3710: 2d 66 70 3a 70 72 65 63 69 73 65 0a 52 43 43 20  -fp:precise.RCC 
3720: 3d 20 24 28 52 43 29 20 2d 44 53 51 4c 49 54 45  = $(RC) -DSQLITE
3730: 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20 2d 49  _OS_WIN=1 -I. -I
3740: 24 28 54 4f 50 29 20 2d 49 24 28 54 4f 50 29 5c  $(TOP) -I$(TOP)\
3750: 73 72 63 20 24 28 52 43 4f 50 54 53 29 20 24 28  src $(RCOPTS) $(
3760: 52 43 43 4f 50 54 53 29 0a 0a 23 20 43 68 65 63  RCCOPTS)..# Chec
3770: 6b 20 69 66 20 77 65 20 77 61 6e 74 20 74 6f 20  k if we want to 
3780: 75 73 65 20 74 68 65 20 22 73 74 64 63 61 6c 6c  use the "stdcall
3790: 22 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e  " calling conven
37a0: 74 69 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c  tion when compil
37b0: 69 6e 67 2e 0a 23 20 54 68 69 73 20 69 73 20 6e  ing..# This is n
37c0: 6f 74 20 73 75 70 70 6f 72 74 65 64 20 62 79 20  ot supported by 
37d0: 74 68 65 20 63 6f 6d 70 69 6c 65 72 73 20 66 6f  the compilers fo
37e0: 72 20 6e 6f 6e 2d 78 38 36 20 70 6c 61 74 66 6f  r non-x86 platfo
37f0: 72 6d 73 2e 20 20 49 74 20 73 68 6f 75 6c 64 0a  rms.  It should.
3800: 23 20 61 6c 73 6f 20 62 65 20 6e 6f 74 65 64 20  # also be noted 
3810: 68 65 72 65 20 74 68 61 74 20 62 75 69 6c 64 69  here that buildi
3820: 6e 67 20 61 6e 79 20 74 61 72 67 65 74 20 77 69  ng any target wi
3830: 74 68 20 74 68 65 73 65 20 22 73 74 64 63 61 6c  th these "stdcal
3840: 6c 22 20 6f 70 74 69 6f 6e 73 0a 23 20 77 69 6c  l" options.# wil
3850: 6c 20 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 66 61  l most likely fa
3860: 69 6c 20 69 66 20 74 68 65 20 54 63 6c 20 6c 69  il if the Tcl li
3870: 62 72 61 72 79 20 69 73 20 61 6c 73 6f 20 72 65  brary is also re
3880: 71 75 69 72 65 64 2e 20 20 54 68 69 73 20 69 73  quired.  This is
3890: 20 64 75 65 0a 23 20 74 6f 20 68 6f 77 20 74 68   due.# to how th
38a0: 65 20 54 63 6c 20 6c 69 62 72 61 72 79 20 66 75  e Tcl library fu
38b0: 6e 63 74 69 6f 6e 73 20 61 72 65 20 64 65 63 6c  nctions are decl
38c0: 61 72 65 64 20 61 6e 64 20 65 78 70 6f 72 74 65  ared and exporte
38d0: 64 20 28 69 2e 65 2e 20 77 69 74 68 6f 75 74 0a  d (i.e. without.
38e0: 23 20 61 6e 20 65 78 70 6c 69 63 69 74 20 63 61  # an explicit ca
38f0: 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e  lling convention
3900: 2c 20 77 68 69 63 68 20 72 65 73 75 6c 74 73 20  , which results 
3910: 69 6e 20 22 63 64 65 63 6c 22 29 2e 0a 23 0a 21  in "cdecl")..#.!
3920: 49 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c  IF $(USE_STDCALL
3930: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49  )!=0 || $(FOR_WI
3940: 4e 31 30 29 21 3d 30 0a 21 49 46 20 22 24 28 50  N10)!=0.!IF "$(P
3950: 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22  LATFORM)"=="x86"
3960: 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  .CORE_CCONV_OPTS
3970: 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f   = -Gz -DSQLITE_
3980: 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44  CDECL=__cdecl -D
3990: 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f  SQLITE_APICALL=_
39a0: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
39b0: 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64  E_CALLBACK=__std
39c0: 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59  call -DSQLITE_SY
39d0: 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53  SAPI=__stdcall.S
39e0: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20  HELL_CCONV_OPTS 
39f0: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43  = -Gz -DSQLITE_C
3a00: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53  DECL=__cdecl -DS
3a10: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f  QLITE_APICALL=__
3a20: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45  stdcall -DSQLITE
3a30: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63  _CALLBACK=__stdc
3a40: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53  all -DSQLITE_SYS
3a50: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 20  API=__stdcall.# 
3a60: 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43  <<mark>>.TEST_CC
3a70: 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d  ONV_OPTS = -Gz -
3a80: 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f  DSQLITE_CDECL=__
3a90: 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41  cdecl -DSQLITE_A
3aa0: 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c  PICALL=__stdcall
3ab0: 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41   -DSQLITE_CALLBA
3ac0: 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  CK=__stdcall -DS
3ad0: 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73  QLITE_SYSAPI=__s
3ae0: 74 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 45  tdcall -DINCLUDE
3af0: 5f 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 20  _SQLITE_TCL_H=1 
3b00: 2d 44 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 3d  -DSQLITE_TCLAPI=
3b10: 5f 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72  __cdecl.# <</mar
3b20: 6b 3e 3e 0a 21 45 4c 53 45 0a 21 49 46 4e 44 45  k>>.!ELSE.!IFNDE
3b30: 46 20 50 4c 41 54 46 4f 52 4d 0a 43 4f 52 45 5f  F PLATFORM.CORE_
3b40: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a  CCONV_OPTS = -Gz
3b50: 20 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d   -DSQLITE_CDECL=
3b60: 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45  __cdecl -DSQLITE
3b70: 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61  _APICALL=__stdca
3b80: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c  ll -DSQLITE_CALL
3b90: 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  BACK=__stdcall -
3ba0: 44 53 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f  DSQLITE_SYSAPI=_
3bb0: 5f 73 74 64 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43  _stdcall.SHELL_C
3bc0: 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20  CONV_OPTS = -Gz 
3bd0: 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f  -DSQLITE_CDECL=_
3be0: 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f  _cdecl -DSQLITE_
3bf0: 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c  APICALL=__stdcal
3c00: 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42  l -DSQLITE_CALLB
3c10: 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  ACK=__stdcall -D
3c20: 53 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f  SQLITE_SYSAPI=__
3c30: 73 74 64 63 61 6c 6c 0a 23 20 3c 3c 6d 61 72 6b  stdcall.# <<mark
3c40: 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50  >>.TEST_CCONV_OP
3c50: 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54  TS = -Gz -DSQLIT
3c60: 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20  E_CDECL=__cdecl 
3c70: 2d 44 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c  -DSQLITE_APICALL
3c80: 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c  =__stdcall -DSQL
3c90: 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73  ITE_CALLBACK=__s
3ca0: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f  tdcall -DSQLITE_
3cb0: 53 59 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c  SYSAPI=__stdcall
3cc0: 20 2d 44 49 4e 43 4c 55 44 45 5f 53 51 4c 49 54   -DINCLUDE_SQLIT
3cd0: 45 5f 54 43 4c 5f 48 3d 31 20 2d 44 53 51 4c 49  E_TCL_H=1 -DSQLI
3ce0: 54 45 5f 54 43 4c 41 50 49 3d 5f 5f 63 64 65 63  TE_TCLAPI=__cdec
3cf0: 6c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45  l.# <</mark>>.!E
3d00: 4c 53 45 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f  LSE.CORE_CCONV_O
3d10: 50 54 53 20 3d 0a 53 48 45 4c 4c 5f 43 43 4f 4e  PTS =.SHELL_CCON
3d20: 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 6d 61 72  V_OPTS =.# <<mar
3d30: 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56 5f 4f  k>>.TEST_CCONV_O
3d40: 50 54 53 20 3d 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  PTS =.# <</mark>
3d50: 3e 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  >.!ENDIF.!ENDIF.
3d60: 21 45 4c 53 45 0a 43 4f 52 45 5f 43 43 4f 4e 56  !ELSE.CORE_CCONV
3d70: 5f 4f 50 54 53 20 3d 0a 53 48 45 4c 4c 5f 43 43  _OPTS =.SHELL_CC
3d80: 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 6d  ONV_OPTS =.# <<m
3d90: 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56  ark>>.TEST_CCONV
3da0: 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 2f 6d 61 72  _OPTS =.# <</mar
3db0: 6b 3e 3e 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  k>>.!ENDIF..# Th
3dc0: 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f 6e  ese are addition
3dd0: 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  al compiler opti
3de0: 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68 65  ons used for the
3df0: 20 63 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23   core library..#
3e00: 0a 21 49 46 4e 44 45 46 20 43 4f 52 45 5f 43 4f  .!IFNDEF CORE_CO
3e10: 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46 20 24  MPILE_OPTS.!IF $
3e20: 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21  (DYNAMIC_SHELL)!
3e30: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1
3e40: 30 29 21 3d 30 0a 43 4f 52 45 5f 43 4f 4d 50 49  0)!=0.CORE_COMPI
3e50: 4c 45 5f 4f 50 54 53 20 3d 20 24 28 43 4f 52 45  LE_OPTS = $(CORE
3e60: 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 20 2d 44 53  _CCONV_OPTS) -DS
3e70: 51 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 65 63 6c  QLITE_API=__decl
3e80: 73 70 65 63 28 64 6c 6c 65 78 70 6f 72 74 29 0a  spec(dllexport).
3e90: 21 45 4c 53 45 0a 43 4f 52 45 5f 43 4f 4d 50 49  !ELSE.CORE_COMPI
3ea0: 4c 45 5f 4f 50 54 53 20 3d 20 24 28 43 4f 52 45  LE_OPTS = $(CORE
3eb0: 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 21 45 4e  _CCONV_OPTS).!EN
3ec0: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  DIF.!ENDIF..# Th
3ed0: 65 73 65 20 61 72 65 20 74 68 65 20 61 64 64 69  ese are the addi
3ee0: 74 69 6f 6e 61 6c 20 74 61 72 67 65 74 73 20 74  tional targets t
3ef0: 68 61 74 20 74 68 65 20 63 6f 72 65 20 6c 69 62  hat the core lib
3f00: 72 61 72 79 20 73 68 6f 75 6c 64 20 64 65 70 65  rary should depe
3f10: 6e 64 20 6f 6e 0a 23 20 77 68 65 6e 20 6c 69 6e  nd on.# when lin
3f20: 6b 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45 46 20  king..#.!IFNDEF 
3f30: 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 0a 21 49  CORE_LINK_DEP.!I
3f40: 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c  F $(DYNAMIC_SHEL
3f50: 4c 29 21 3d 30 0a 43 4f 52 45 5f 4c 49 4e 4b 5f  L)!=0.CORE_LINK_
3f60: 44 45 50 20 3d 0a 21 45 4c 53 45 49 46 20 24 28  DEP =.!ELSEIF $(
3f70: 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 20 7c 7c  FOR_WIN10)==0 ||
3f80: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d   "$(PLATFORM)"==
3f90: 22 78 38 36 22 0a 43 4f 52 45 5f 4c 49 4e 4b 5f  "x86".CORE_LINK_
3fa0: 44 45 50 20 3d 20 73 71 6c 69 74 65 33 2e 64 65  DEP = sqlite3.de
3fb0: 66 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e  f.!ELSE.CORE_LIN
3fc0: 4b 5f 44 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21  K_DEP =.!ENDIF.!
3fd0: 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61  ENDIF..# These a
3fe0: 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 6c 69  re additional li
3ff0: 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65  nker options use
4000: 64 20 66 6f 72 20 74 68 65 20 63 6f 72 65 20 6c  d for the core l
4010: 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45  ibrary..#.!IFNDE
4020: 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53  F CORE_LINK_OPTS
4030: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S
4040: 48 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f 4c 49  HELL)!=0.CORE_LI
4050: 4e 4b 5f 4f 50 54 53 20 3d 0a 21 45 4c 53 45 49  NK_OPTS =.!ELSEI
4060: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d  F $(FOR_WIN10)==
4070: 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f 52 4d  0 || "$(PLATFORM
4080: 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f 4c  )"=="x86".CORE_L
4090: 49 4e 4b 5f 4f 50 54 53 20 3d 20 2f 44 45 46 3a  INK_OPTS = /DEF:
40a0: 73 71 6c 69 74 65 33 2e 64 65 66 0a 21 45 4c 53  sqlite3.def.!ELS
40b0: 45 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53  E.CORE_LINK_OPTS
40c0: 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46   =.!ENDIF.!ENDIF
40d0: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64  ..# These are ad
40e0: 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65  ditional compile
40f0: 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66  r options used f
4100: 6f 72 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65  or the shell exe
4110: 63 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46 4e 44  cutable..#.!IFND
4120: 45 46 20 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45  EF SHELL_COMPILE
4130: 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e 41  _OPTS.!IF $(DYNA
4140: 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c  MIC_SHELL)!=0 ||
4150: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0
4160: 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f  .SHELL_COMPILE_O
4170: 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 43  PTS = $(SHELL_CC
4180: 4f 4e 56 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49  ONV_OPTS) -DSQLI
4190: 54 45 5f 41 50 49 3d 5f 5f 64 65 63 6c 73 70 65  TE_API=__declspe
41a0: 63 28 64 6c 6c 69 6d 70 6f 72 74 29 0a 21 45 4c  c(dllimport).!EL
41b0: 53 45 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45  SE.SHELL_COMPILE
41c0: 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f  _OPTS = $(SHELL_
41d0: 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 21 45 4e 44  CCONV_OPTS).!END
41e0: 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69  IF.!ENDIF..# Thi
41f0: 73 20 69 73 20 74 68 65 20 73 6f 75 72 63 65 20  s is the source 
4200: 63 6f 64 65 20 74 68 61 74 20 74 68 65 20 73 68  code that the sh
4210: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 73  ell executable s
4220: 68 6f 75 6c 64 20 62 65 20 63 6f 6d 70 69 6c 65  hould be compile
4230: 64 0a 23 20 77 69 74 68 2e 0a 23 0a 21 49 46 4e  d.# with..#.!IFN
4240: 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 53  DEF SHELL_CORE_S
4250: 52 43 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  RC.!IF $(DYNAMIC
4260: 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  _SHELL)!=0 || $(
4270: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48  FOR_WIN10)!=0.SH
4280: 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d 0a 23  ELL_CORE_SRC =.#
4290: 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 49   <<mark>>.!ELSEI
42a0: 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41  F $(USE_AMALGAMA
42b0: 54 49 4f 4e 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43  TION)==0.SHELL_C
42c0: 4f 52 45 5f 53 52 43 20 3d 0a 23 20 3c 3c 2f 6d  ORE_SRC =.# <</m
42d0: 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 53 48 45 4c  ark>>.!ELSE.SHEL
42e0: 4c 5f 43 4f 52 45 5f 53 52 43 20 3d 20 24 28 53  L_CORE_SRC = $(S
42f0: 51 4c 49 54 45 33 43 29 0a 21 45 4e 44 49 46 0a  QLITE3C).!ENDIF.
4300: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69  !ENDIF..# This i
4310: 73 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61  s the core libra
4320: 72 79 20 74 68 61 74 20 74 68 65 20 73 68 65 6c  ry that the shel
4330: 6c 20 65 78 65 63 75 74 61 62 6c 65 20 73 68 6f  l executable sho
4340: 75 6c 64 20 64 65 70 65 6e 64 20 6f 6e 2e 0a 23  uld depend on..#
4350: 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43  .!IFNDEF SHELL_C
4360: 4f 52 45 5f 44 45 50 0a 21 49 46 20 24 28 44 59  ORE_DEP.!IF $(DY
4370: 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20  NAMIC_SHELL)!=0 
4380: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  || $(FOR_WIN10)!
4390: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45  =0.SHELL_CORE_DE
43a0: 50 20 3d 20 24 28 53 51 4c 49 54 45 33 44 4c 4c  P = $(SQLITE3DLL
43b0: 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4c  ).# <<mark>>.!EL
43c0: 53 45 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47  SEIF $(USE_AMALG
43d0: 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 53 48 45 4c  AMATION)==0.SHEL
43e0: 4c 5f 43 4f 52 45 5f 44 45 50 20 3d 20 6c 69 62  L_CORE_DEP = lib
43f0: 73 71 6c 69 74 65 33 2e 6c 69 62 0a 23 20 3c 3c  sqlite3.lib.# <<
4400: 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 53 48  /mark>>.!ELSE.SH
4410: 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 20 3d 0a 21  ELL_CORE_DEP =.!
4420: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
4430: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 49 66 20 7a 6c  <<mark>>.# If zl
4440: 69 62 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e  ib support is en
4450: 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 64  abled, add the d
4460: 65 70 65 6e 64 65 6e 63 69 65 73 20 66 6f 72 20  ependencies for 
4470: 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  it..#.!IF $(USE_
4480: 5a 4c 49 42 29 21 3d 30 20 26 26 20 24 28 42 55  ZLIB)!=0 && $(BU
4490: 49 4c 44 5f 5a 4c 49 42 29 21 3d 30 0a 53 48 45  ILD_ZLIB)!=0.SHE
44a0: 4c 4c 5f 43 4f 52 45 5f 44 45 50 20 3d 20 7a 6c  LL_CORE_DEP = zl
44b0: 69 62 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f  ib $(SHELL_CORE_
44c0: 44 45 50 29 0a 54 45 53 54 46 49 58 54 55 52 45  DEP).TESTFIXTURE
44d0: 5f 44 45 50 20 3d 20 7a 6c 69 62 20 24 28 54 45  _DEP = zlib $(TE
44e0: 53 54 46 49 58 54 55 52 45 5f 44 45 50 29 0a 21  STFIXTURE_DEP).!
44f0: 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  ENDIF.# <</mark>
4500: 3e 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65  >..# This is the
4510: 20 63 6f 72 65 20 6c 69 62 72 61 72 79 20 74 68   core library th
4520: 61 74 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65  at the shell exe
4530: 63 75 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 6c  cutable should l
4540: 69 6e 6b 20 77 69 74 68 2e 0a 23 0a 21 49 46 4e  ink with..#.!IFN
4550: 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c  DEF SHELL_CORE_L
4560: 49 42 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  IB.!IF $(DYNAMIC
4570: 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  _SHELL)!=0 || $(
4580: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48  FOR_WIN10)!=0.SH
4590: 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 24  ELL_CORE_LIB = $
45a0: 28 53 51 4c 49 54 45 33 4c 49 42 29 0a 23 20 3c  (SQLITE3LIB).# <
45b0: 3c 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 49 46 20  <mark>>.!ELSEIF 
45c0: 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49  $(USE_AMALGAMATI
45d0: 4f 4e 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52  ON)==0.SHELL_COR
45e0: 45 5f 4c 49 42 20 3d 20 6c 69 62 73 71 6c 69 74  E_LIB = libsqlit
45f0: 65 33 2e 6c 69 62 0a 23 20 3c 3c 2f 6d 61 72 6b  e3.lib.# <</mark
4600: 3e 3e 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43  >>.!ELSE.SHELL_C
4610: 4f 52 45 5f 4c 49 42 20 3d 0a 21 45 4e 44 49 46  ORE_LIB =.!ENDIF
4620: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65  .!ENDIF..# These
4630: 20 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20   are additional 
4640: 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 20 75  linker options u
4650: 73 65 64 20 66 6f 72 20 74 68 65 20 73 68 65 6c  sed for the shel
4660: 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a  l executable..#.
4670: 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 4c 49  !IFNDEF SHELL_LI
4680: 4e 4b 5f 4f 50 54 53 0a 53 48 45 4c 4c 5f 4c 49  NK_OPTS.SHELL_LI
4690: 4e 4b 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c  NK_OPTS = $(SHEL
46a0: 4c 5f 43 4f 52 45 5f 4c 49 42 29 0a 21 45 4e 44  L_CORE_LIB).!END
46b0: 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 61  IF..# Check if a
46c0: 73 73 65 6d 62 6c 79 20 63 6f 64 65 20 6c 69 73  ssembly code lis
46d0: 74 69 6e 67 73 20 73 68 6f 75 6c 64 20 62 65 20  tings should be 
46e0: 67 65 6e 65 72 61 74 65 64 20 66 6f 72 20 74 68  generated for th
46f0: 65 20 73 6f 75 72 63 65 0a 23 20 63 6f 64 65 20  e source.# code 
4700: 66 69 6c 65 73 20 74 6f 20 62 65 20 63 6f 6d 70  files to be comp
4710: 69 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53  iled..#.!IF $(US
4720: 45 5f 4c 49 53 54 49 4e 47 53 29 21 3d 30 0a 54  E_LISTINGS)!=0.T
4730: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 46 41 63  CC = $(TCC) -FAc
4740: 73 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e  s.!ENDIF..# When
4750: 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 6c   compiling the l
4760: 69 62 72 61 72 79 20 66 6f 72 20 75 73 65 20 69  ibrary for use i
4770: 6e 20 74 68 65 20 57 69 6e 52 54 20 65 6e 76 69  n the WinRT envi
4780: 72 6f 6e 6d 65 6e 74 2c 0a 23 20 74 68 65 20 66  ronment,.# the f
4790: 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 70 69 6c 65  ollowing compile
47a0: 2d 74 69 6d 65 20 6f 70 74 69 6f 6e 73 20 6d 75  -time options mu
47b0: 73 74 20 62 65 20 75 73 65 64 20 61 73 20 77 65  st be used as we
47c0: 6c 6c 20 74 6f 0a 23 20 64 69 73 61 62 6c 65 20  ll to.# disable 
47d0: 75 73 65 20 6f 66 20 57 69 6e 33 32 20 41 50 49  use of Win32 API
47e0: 73 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 61  s that are not a
47f0: 76 61 69 6c 61 62 6c 65 20 61 6e 64 20 74 6f 20  vailable and to 
4800: 65 6e 61 62 6c 65 0a 23 20 75 73 65 20 6f 66 20  enable.# use of 
4810: 57 69 6e 33 32 20 41 50 49 73 20 74 68 61 74 20  Win32 APIs that 
4820: 61 72 65 20 73 70 65 63 69 66 69 63 20 74 6f 20  are specific to 
4830: 57 69 6e 64 6f 77 73 20 38 20 61 6e 64 2f 6f 72  Windows 8 and/or
4840: 20 57 69 6e 52 54 2e 0a 23 0a 21 49 46 20 24 28   WinRT..#.!IF $(
4850: 46 4f 52 5f 57 49 4e 52 54 29 21 3d 30 0a 54 43  FOR_WINRT)!=0.TC
4860: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c  C = $(TCC) -DSQL
4870: 49 54 45 5f 4f 53 5f 57 49 4e 52 54 3d 31 0a 52  ITE_OS_WINRT=1.R
4880: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ
4890: 4c 49 54 45 5f 4f 53 5f 57 49 4e 52 54 3d 31 0a  LITE_OS_WINRT=1.
48a0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 57  TCC = $(TCC) -DW
48b0: 49 4e 41 50 49 5f 46 41 4d 49 4c 59 3d 57 49 4e  INAPI_FAMILY=WIN
48c0: 41 50 49 5f 46 41 4d 49 4c 59 5f 41 50 50 0a 52  API_FAMILY_APP.R
48d0: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 57 49  CC = $(RCC) -DWI
48e0: 4e 41 50 49 5f 46 41 4d 49 4c 59 3d 57 49 4e 41  NAPI_FAMILY=WINA
48f0: 50 49 5f 46 41 4d 49 4c 59 5f 41 50 50 0a 21 45  PI_FAMILY_APP.!E
4900: 4e 44 49 46 0a 0a 23 20 43 20 63 6f 6d 70 69 6c  NDIF..# C compil
4910: 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74  er options for t
4920: 68 65 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c  he Windows 10 pl
4930: 61 74 66 6f 72 6d 20 28 6e 65 65 64 73 20 4d 53  atform (needs MS
4940: 56 43 20 32 30 31 35 29 2e 0a 23 0a 21 49 46 20  VC 2015)..#.!IF 
4950: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a  $(FOR_WIN10)!=0.
4960: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2f 64 32  TCC = $(TCC) /d2
4970: 67 75 61 72 64 34 20 2d 44 5f 41 52 4d 5f 57 49  guard4 -D_ARM_WI
4980: 4e 41 50 49 5f 50 41 52 54 49 54 49 4f 4e 5f 44  NAPI_PARTITION_D
4990: 45 53 4b 54 4f 50 5f 53 44 4b 5f 41 56 41 49 4c  ESKTOP_SDK_AVAIL
49a0: 41 42 4c 45 0a 42 43 43 20 3d 20 24 28 42 43 43  ABLE.BCC = $(BCC
49b0: 29 20 2f 64 32 67 75 61 72 64 34 20 2d 44 5f 41  ) /d2guard4 -D_A
49c0: 52 4d 5f 57 49 4e 41 50 49 5f 50 41 52 54 49 54  RM_WINAPI_PARTIT
49d0: 49 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53 44 4b 5f  ION_DESKTOP_SDK_
49e0: 41 56 41 49 4c 41 42 4c 45 0a 21 45 4e 44 49 46  AVAILABLE.!ENDIF
49f0: 0a 0a 23 20 41 6c 73 6f 2c 20 77 65 20 6e 65 65  ..# Also, we nee
4a00: 64 20 74 6f 20 64 79 6e 61 6d 69 63 61 6c 6c 79  d to dynamically
4a10: 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 63 6f 72   link to the cor
4a20: 72 65 63 74 20 4d 53 56 43 20 72 75 6e 74 69 6d  rect MSVC runtim
4a30: 65 0a 23 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69  e.# when compili
4a40: 6e 67 20 66 6f 72 20 57 69 6e 52 54 20 28 65 2e  ng for WinRT (e.
4a50: 67 2e 20 64 65 62 75 67 20 6f 72 20 72 65 6c 65  g. debug or rele
4a60: 61 73 65 29 20 4f 52 20 69 66 20 74 68 65 0a 23  ase) OR if the.#
4a70: 20 55 53 45 5f 43 52 54 5f 44 4c 4c 20 6f 70 74   USE_CRT_DLL opt
4a80: 69 6f 6e 20 69 73 20 73 65 74 20 74 6f 20 66 6f  ion is set to fo
4a90: 72 63 65 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20  rce dynamically 
4aa0: 6c 69 6e 6b 69 6e 67 20 74 6f 20 74 68 65 0a 23  linking to the.#
4ab0: 20 4d 53 56 43 20 72 75 6e 74 69 6d 65 20 6c 69   MSVC runtime li
4ac0: 62 72 61 72 79 2e 0a 23 0a 21 49 46 20 24 28 46  brary..#.!IF $(F
4ad0: 4f 52 5f 57 49 4e 52 54 29 21 3d 30 20 7c 7c 20  OR_WINRT)!=0 || 
4ae0: 24 28 55 53 45 5f 43 52 54 5f 44 4c 4c 29 21 3d  $(USE_CRT_DLL)!=
4af0: 30 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31  0.!IF $(DEBUG)>1
4b00: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d  .TCC = $(TCC) -M
4b10: 44 64 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  Dd.BCC = $(BCC) 
4b20: 2d 4d 44 64 0a 21 45 4c 53 45 0a 54 43 43 20 3d  -MDd.!ELSE.TCC =
4b30: 20 24 28 54 43 43 29 20 2d 4d 44 0a 42 43 43 20   $(TCC) -MD.BCC 
4b40: 3d 20 24 28 42 43 43 29 20 2d 4d 44 0a 21 45 4e  = $(BCC) -MD.!EN
4b50: 44 49 46 0a 21 45 4c 53 45 0a 21 49 46 20 24 28  DIF.!ELSE.!IF $(
4b60: 44 45 42 55 47 29 3e 31 0a 54 43 43 20 3d 20 24  DEBUG)>1.TCC = $
4b70: 28 54 43 43 29 20 2d 4d 54 64 0a 42 43 43 20 3d  (TCC) -MTd.BCC =
4b80: 20 24 28 42 43 43 29 20 2d 4d 54 64 0a 21 45 4c   $(BCC) -MTd.!EL
4b90: 53 45 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  SE.TCC = $(TCC) 
4ba0: 2d 4d 54 0a 42 43 43 20 3d 20 24 28 42 43 43 29  -MT.BCC = $(BCC)
4bb0: 20 2d 4d 54 0a 21 45 4e 44 49 46 0a 21 45 4e 44   -MT.!ENDIF.!END
4bc0: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  IF..# <<mark>>.#
4bd0: 20 54 68 65 20 6d 6b 73 71 6c 69 74 65 33 63 2e   The mksqlite3c.
4be0: 74 63 6c 20 61 6e 64 20 6d 6b 73 71 6c 69 74 65  tcl and mksqlite
4bf0: 33 68 2e 74 63 6c 20 73 63 72 69 70 74 73 20 77  3h.tcl scripts w
4c00: 69 6c 6c 20 70 75 6c 6c 20 69 6e 0a 23 20 61 6e  ill pull in.# an
4c10: 79 20 65 78 74 65 6e 73 69 6f 6e 20 68 65 61 64  y extension head
4c20: 65 72 20 66 69 6c 65 73 20 62 79 20 64 65 66 61  er files by defa
4c30: 75 6c 74 2e 20 20 46 6f 72 20 6e 6f 6e 2d 61 6d  ult.  For non-am
4c40: 61 6c 67 61 6d 61 74 69 6f 6e 0a 23 20 62 75 69  algamation.# bui
4c50: 6c 64 73 2c 20 77 65 20 6e 65 65 64 20 74 6f 20  lds, we need to 
4c60: 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 63 6f  make sure the co
4c70: 6d 70 69 6c 65 72 20 63 61 6e 20 66 69 6e 64 20  mpiler can find 
4c80: 74 68 65 73 65 2e 0a 23 0a 21 49 46 20 24 28 55  these..#.!IF $(U
4c90: 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29  SE_AMALGAMATION)
4ca0: 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  ==0.TCC = $(TCC)
4cb0: 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 66 74   -I$(TOP)\ext\ft
4cc0: 73 33 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  s3.RCC = $(RCC) 
4cd0: 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  -I$(TOP)\ext\fts
4ce0: 33 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  3.TCC = $(TCC) -
4cf0: 49 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65  I$(TOP)\ext\rtre
4d00: 65 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  e.RCC = $(RCC) -
4d10: 49 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65  I$(TOP)\ext\rtre
4d20: 65 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  e.TCC = $(TCC) -
4d30: 49 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73  I$(TOP)\ext\sess
4d40: 69 6f 6e 0a 52 43 43 20 3d 20 24 28 52 43 43 29  ion.RCC = $(RCC)
4d50: 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 73 65   -I$(TOP)\ext\se
4d60: 73 73 69 6f 6e 0a 21 45 4e 44 49 46 0a 0a 23 20  ssion.!ENDIF..# 
4d70: 54 68 65 20 6d 6b 73 71 6c 69 74 65 33 63 2e 74  The mksqlite3c.t
4d80: 63 6c 20 73 63 72 69 70 74 20 61 63 63 65 70 74  cl script accept
4d90: 73 20 73 6f 6d 65 20 6f 70 74 69 6f 6e 73 20 6f  s some options o
4da0: 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20  n the command.# 
4db0: 6c 69 6e 65 2e 20 20 57 68 65 6e 20 63 6f 6d 70  line.  When comp
4dc0: 69 6c 69 6e 67 20 77 69 74 68 20 64 65 62 75 67  iling with debug
4dd0: 67 69 6e 67 20 65 6e 61 62 6c 65 64 2c 20 73 6f  ging enabled, so
4de0: 6d 65 20 6f 66 20 74 68 65 73 65 0a 23 20 6f 70  me of these.# op
4df0: 74 69 6f 6e 73 20 61 72 65 20 6e 65 63 65 73 73  tions are necess
4e00: 61 72 79 20 69 6e 20 6f 72 64 65 72 20 74 6f 20  ary in order to 
4e10: 61 6c 6c 6f 77 20 64 65 62 75 67 67 69 6e 67 20  allow debugging 
4e20: 73 79 6d 62 6f 6c 73 20 74 6f 0a 23 20 77 6f 72  symbols to.# wor
4e30: 6b 20 63 6f 72 72 65 63 74 6c 79 20 77 69 74 68  k correctly with
4e40: 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20 77   Visual Studio w
4e50: 68 65 6e 20 75 73 69 6e 67 20 74 68 65 20 61 6d  hen using the am
4e60: 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23 0a 21 49  algamation..#.!I
4e70: 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54 45 33 43  FNDEF MKSQLITE3C
4e80: 5f 54 4f 4f 4c 0a 21 49 46 20 24 28 4d 49 4e 49  _TOOL.!IF $(MINI
4e90: 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e  MAL_AMALGAMATION
4ea0: 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 43 5f  )!=0.MKSQLITE3C_
4eb0: 54 4f 4f 4c 20 3d 20 24 28 54 4f 50 29 5c 74 6f  TOOL = $(TOP)\to
4ec0: 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 63 2d 6e 6f  ol\mksqlite3c-no
4ed0: 65 78 74 2e 74 63 6c 0a 21 45 4c 53 45 0a 4d 4b  ext.tcl.!ELSE.MK
4ee0: 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 20 3d 20  SQLITE3C_TOOL = 
4ef0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71  $(TOP)\tool\mksq
4f00: 6c 69 74 65 33 63 2e 74 63 6c 0a 21 45 4e 44 49  lite3c.tcl.!ENDI
4f10: 46 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45  F.!ENDIF..!IFNDE
4f20: 46 20 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47  F MKSQLITE3C_ARG
4f30: 53 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31  S.!IF $(DEBUG)>1
4f40: 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53  .MKSQLITE3C_ARGS
4f50: 20 3d 20 2d 2d 6c 69 6e 65 6d 61 63 72 6f 73 0a   = --linemacros.
4f60: 21 45 4c 53 45 0a 4d 4b 53 51 4c 49 54 45 33 43  !ELSE.MKSQLITE3C
4f70: 5f 41 52 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21  _ARGS =.!ENDIF.!
4f80: 49 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c  IF $(USE_STDCALL
4f90: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49  )!=0 || $(FOR_WI
4fa0: 4e 31 30 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45  N10)!=0.MKSQLITE
4fb0: 33 43 5f 41 52 47 53 20 3d 20 24 28 4d 4b 53 51  3C_ARGS = $(MKSQ
4fc0: 4c 49 54 45 33 43 5f 41 52 47 53 29 20 2d 2d 75  LITE3C_ARGS) --u
4fd0: 73 65 61 70 69 63 61 6c 6c 0a 21 45 4e 44 49 46  seapicall.!ENDIF
4fe0: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6d  .!ENDIF..# The m
4ff0: 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 73 63  ksqlite3h.tcl sc
5000: 72 69 70 74 20 61 63 63 65 70 74 73 20 73 6f 6d  ript accepts som
5010: 65 20 6f 70 74 69 6f 6e 73 20 6f 6e 20 74 68 65  e options on the
5020: 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 2e 0a 23   command line..#
5030: 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20   When compiling 
5040: 77 69 74 68 20 73 74 64 63 61 6c 6c 20 73 75 70  with stdcall sup
5050: 70 6f 72 74 2c 20 73 6f 6d 65 20 6f 66 20 74 68  port, some of th
5060: 65 73 65 20 6f 70 74 69 6f 6e 73 20 61 72 65 0a  ese options are.
5070: 23 20 6e 65 63 65 73 73 61 72 79 2e 0a 23 0a 21  # necessary..#.!
5080: 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54 45 33  IFNDEF MKSQLITE3
5090: 48 5f 41 52 47 53 0a 21 49 46 20 24 28 55 53 45  H_ARGS.!IF $(USE
50a0: 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20  _STDCALL)!=0 || 
50b0: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a  $(FOR_WIN10)!=0.
50c0: 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52 47 53 20  MKSQLITE3H_ARGS 
50d0: 3d 20 2d 2d 75 73 65 61 70 69 63 61 6c 6c 0a 21  = --useapicall.!
50e0: 45 4c 53 45 0a 4d 4b 53 51 4c 49 54 45 33 48 5f  ELSE.MKSQLITE3H_
50f0: 41 52 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21 45  ARGS =.!ENDIF.!E
5100: 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  NDIF.# <</mark>>
5110: 0a 0a 23 20 44 65 66 69 6e 65 20 2d 44 4e 44 45  ..# Define -DNDE
5120: 42 55 47 20 74 6f 20 63 6f 6d 70 69 6c 65 20 77  BUG to compile w
5130: 69 74 68 6f 75 74 20 64 65 62 75 67 67 69 6e 67  ithout debugging
5140: 20 28 69 2e 65 2e 2c 20 66 6f 72 20 70 72 6f 64   (i.e., for prod
5150: 75 63 74 69 6f 6e 20 75 73 61 67 65 29 0a 23 20  uction usage).# 
5160: 4f 6d 69 74 74 69 6e 67 20 74 68 65 20 64 65 66  Omitting the def
5170: 69 6e 65 20 77 69 6c 6c 20 63 61 75 73 65 20 65  ine will cause e
5180: 78 74 72 61 20 64 65 62 75 67 67 69 6e 67 20 63  xtra debugging c
5190: 6f 64 65 20 74 6f 20 62 65 20 69 6e 73 65 72 74  ode to be insert
51a0: 65 64 20 61 6e 64 0a 23 20 69 6e 63 6c 75 64 65  ed and.# include
51b0: 73 20 65 78 74 72 61 20 63 6f 6d 6d 65 6e 74 73  s extra comments
51c0: 20 77 68 65 6e 20 22 45 58 50 4c 41 49 4e 20 73   when "EXPLAIN s
51d0: 74 6d 74 22 20 69 73 20 75 73 65 64 2e 0a 23 0a  tmt" is used..#.
51e0: 21 49 46 20 24 28 44 45 42 55 47 29 3d 3d 30 0a  !IF $(DEBUG)==0.
51f0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 4e  TCC = $(TCC) -DN
5200: 44 45 42 55 47 0a 42 43 43 20 3d 20 24 28 42 43  DEBUG.BCC = $(BC
5210: 43 29 20 2d 44 4e 44 45 42 55 47 0a 52 43 43 20  C) -DNDEBUG.RCC 
5220: 3d 20 24 28 52 43 43 29 20 2d 44 4e 44 45 42 55  = $(RCC) -DNDEBU
5230: 47 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28  G.!ENDIF..!IF $(
5240: 44 45 42 55 47 29 3e 30 20 7c 7c 20 24 28 41 50  DEBUG)>0 || $(AP
5250: 49 5f 41 52 4d 4f 52 29 21 3d 30 20 7c 7c 20 24  I_ARMOR)!=0 || $
5260: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 54  (FOR_WIN10)!=0.T
5270: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ
5280: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f  LITE_ENABLE_API_
5290: 41 52 4d 4f 52 3d 31 0a 52 43 43 20 3d 20 24 28  ARMOR=1.RCC = $(
52a0: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  RCC) -DSQLITE_EN
52b0: 41 42 4c 45 5f 41 50 49 5f 41 52 4d 4f 52 3d 31  ABLE_API_ARMOR=1
52c0: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44  .!ENDIF..!IF $(D
52d0: 45 42 55 47 29 3e 32 0a 54 43 43 20 3d 20 24 28  EBUG)>2.TCC = $(
52e0: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 44 45  TCC) -DSQLITE_DE
52f0: 42 55 47 3d 31 0a 52 43 43 20 3d 20 24 28 52 43  BUG=1.RCC = $(RC
5300: 43 29 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55  C) -DSQLITE_DEBU
5310: 47 3d 31 0a 21 49 46 20 24 28 44 59 4e 41 4d 49  G=1.!IF $(DYNAMI
5320: 43 5f 53 48 45 4c 4c 29 3d 3d 30 0a 54 43 43 20  C_SHELL)==0.TCC 
5330: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54  = $(TCC) -DSQLIT
5340: 45 5f 45 4e 41 42 4c 45 5f 57 48 45 52 45 54 52  E_ENABLE_WHERETR
5350: 41 43 45 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  ACE -DSQLITE_ENA
5360: 42 4c 45 5f 53 45 4c 45 43 54 54 52 41 43 45 0a  BLE_SELECTTRACE.
5370: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS
5380: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 57 48 45  QLITE_ENABLE_WHE
5390: 52 45 54 52 41 43 45 20 2d 44 53 51 4c 49 54 45  RETRACE -DSQLITE
53a0: 5f 45 4e 41 42 4c 45 5f 53 45 4c 45 43 54 54 52  _ENABLE_SELECTTR
53b0: 41 43 45 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  ACE.!ENDIF.!ENDI
53c0: 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e  F..!IF $(DEBUG)>
53d0: 34 20 7c 7c 20 24 28 4f 53 54 52 41 43 45 29 21  4 || $(OSTRACE)!
53e0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
53f0: 2d 44 53 51 4c 49 54 45 5f 46 4f 52 43 45 5f 4f  -DSQLITE_FORCE_O
5400: 53 5f 54 52 41 43 45 3d 31 20 2d 44 53 51 4c 49  S_TRACE=1 -DSQLI
5410: 54 45 5f 44 45 42 55 47 5f 4f 53 5f 54 52 41 43  TE_DEBUG_OS_TRAC
5420: 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29  E=1.RCC = $(RCC)
5430: 20 2d 44 53 51 4c 49 54 45 5f 46 4f 52 43 45 5f   -DSQLITE_FORCE_
5440: 4f 53 5f 54 52 41 43 45 3d 31 20 2d 44 53 51 4c  OS_TRACE=1 -DSQL
5450: 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f 54 52 41  ITE_DEBUG_OS_TRA
5460: 43 45 3d 31 0a 21 45 4e 44 49 46 0a 0a 21 49 46  CE=1.!ENDIF..!IF
5470: 20 24 28 44 45 42 55 47 29 3e 35 0a 54 43 43 20   $(DEBUG)>5.TCC 
5480: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54  = $(TCC) -DSQLIT
5490: 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52 41 43 45  E_ENABLE_IOTRACE
54a0: 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  =1.RCC = $(RCC) 
54b0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
54c0: 49 4f 54 52 41 43 45 3d 31 0a 21 45 4e 44 49 46  IOTRACE=1.!ENDIF
54d0: 0a 0a 23 20 50 72 65 76 65 6e 74 20 77 61 72 6e  ..# Prevent warn
54e0: 69 6e 67 73 20 61 62 6f 75 74 20 22 69 6e 73 65  ings about "inse
54f0: 63 75 72 65 22 20 4d 53 56 43 20 72 75 6e 74 69  cure" MSVC runti
5500: 6d 65 20 6c 69 62 72 61 72 79 20 66 75 6e 63 74  me library funct
5510: 69 6f 6e 73 0a 23 20 62 65 69 6e 67 20 75 73 65  ions.# being use
5520: 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43  d..#.TCC = $(TCC
5530: 29 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f  ) -D_CRT_SECURE_
5540: 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f  NO_DEPRECATE -D_
5550: 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 57 41  CRT_SECURE_NO_WA
5560: 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20 24 28 42  RNINGS.BCC = $(B
5570: 43 43 29 20 2d 44 5f 43 52 54 5f 53 45 43 55 52  CC) -D_CRT_SECUR
5580: 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d  E_NO_DEPRECATE -
5590: 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f  D_CRT_SECURE_NO_
55a0: 57 41 52 4e 49 4e 47 53 0a 52 43 43 20 3d 20 24  WARNINGS.RCC = $
55b0: 28 52 43 43 29 20 2d 44 5f 43 52 54 5f 53 45 43  (RCC) -D_CRT_SEC
55c0: 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45  URE_NO_DEPRECATE
55d0: 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e   -D_CRT_SECURE_N
55e0: 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a 23 20 50 72  O_WARNINGS..# Pr
55f0: 65 76 65 6e 74 20 77 61 72 6e 69 6e 67 73 20 61  event warnings a
5600: 62 6f 75 74 20 22 64 65 70 72 65 63 61 74 65 64  bout "deprecated
5610: 22 20 50 4f 53 49 58 20 66 75 6e 63 74 69 6f 6e  " POSIX function
5620: 73 20 62 65 69 6e 67 20 75 73 65 64 2e 0a 23 0a  s being used..#.
5630: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 5f  TCC = $(TCC) -D_
5640: 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44  CRT_NONSTDC_NO_D
5650: 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f  EPRECATE -D_CRT_
5660: 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49  NONSTDC_NO_WARNI
5670: 4e 47 53 0a 42 43 43 20 3d 20 24 28 42 43 43 29  NGS.BCC = $(BCC)
5680: 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f   -D_CRT_NONSTDC_
5690: 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f  NO_DEPRECATE -D_
56a0: 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57  CRT_NONSTDC_NO_W
56b0: 41 52 4e 49 4e 47 53 0a 52 43 43 20 3d 20 24 28  ARNINGS.RCC = $(
56c0: 52 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53  RCC) -D_CRT_NONS
56d0: 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45  TDC_NO_DEPRECATE
56e0: 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f   -D_CRT_NONSTDC_
56f0: 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a 23 20 55  NO_WARNINGS..# U
5700: 73 65 20 74 68 65 20 53 51 4c 69 74 65 20 64 65  se the SQLite de
5710: 62 75 67 67 69 6e 67 20 68 65 61 70 20 73 75 62  bugging heap sub
5720: 73 79 73 74 65 6d 3f 0a 23 0a 21 49 46 20 24 28  system?.#.!IF $(
5730: 4d 45 4d 44 45 42 55 47 29 21 3d 30 0a 54 43 43  MEMDEBUG)!=0.TCC
5740: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49   = $(TCC) -DSQLI
5750: 54 45 5f 4d 45 4d 44 45 42 55 47 3d 31 0a 52 43  TE_MEMDEBUG=1.RC
5760: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c  C = $(RCC) -DSQL
5770: 49 54 45 5f 4d 45 4d 44 45 42 55 47 3d 31 0a 0a  ITE_MEMDEBUG=1..
5780: 23 20 55 73 65 20 6e 61 74 69 76 65 20 57 69 6e  # Use native Win
5790: 33 32 20 68 65 61 70 20 73 75 62 73 79 73 74 65  32 heap subsyste
57a0: 6d 20 69 6e 73 74 65 61 64 20 6f 66 20 6d 61 6c  m instead of mal
57b0: 6c 6f 63 2f 66 72 65 65 3f 0a 23 0a 21 45 4c 53  loc/free?.#.!ELS
57c0: 45 49 46 20 24 28 57 49 4e 33 32 48 45 41 50 29  EIF $(WIN32HEAP)
57d0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC)
57e0: 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f   -DSQLITE_WIN32_
57f0: 4d 41 4c 4c 4f 43 3d 31 0a 52 43 43 20 3d 20 24  MALLOC=1.RCC = $
5800: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57  (RCC) -DSQLITE_W
5810: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 0a 23  IN32_MALLOC=1..#
5820: 20 56 61 6c 69 64 61 74 65 20 74 68 65 20 68 65   Validate the he
5830: 61 70 20 6f 6e 20 65 76 65 72 79 20 63 61 6c 6c  ap on every call
5840: 20 69 6e 74 6f 20 74 68 65 20 6e 61 74 69 76 65   into the native
5850: 20 57 69 6e 33 32 20 68 65 61 70 20 73 75 62 73   Win32 heap subs
5860: 79 73 74 65 6d 3f 0a 23 0a 21 49 46 20 24 28 44  ystem?.#.!IF $(D
5870: 45 42 55 47 29 3e 33 0a 54 43 43 20 3d 20 24 28  EBUG)>3.TCC = $(
5880: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 49  TCC) -DSQLITE_WI
5890: 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49 44  N32_MALLOC_VALID
58a0: 41 54 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43  ATE=1.RCC = $(RC
58b0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33  C) -DSQLITE_WIN3
58c0: 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49 44 41 54  2_MALLOC_VALIDAT
58d0: 45 3d 31 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  E=1.!ENDIF.!ENDI
58e0: 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20  F..# <<mark>>.# 
58f0: 54 68 65 20 6c 6f 63 61 74 69 6f 6e 73 20 6f 66  The locations of
5900: 20 74 68 65 20 54 63 6c 20 68 65 61 64 65 72 20   the Tcl header 
5910: 61 6e 64 20 6c 69 62 72 61 72 79 20 66 69 6c 65  and library file
5920: 73 2e 20 20 41 6c 73 6f 2c 20 74 68 65 20 6c 69  s.  Also, the li
5930: 62 72 61 72 79 20 74 68 61 74 0a 23 20 6e 6f 6e  brary that.# non
5940: 2d 73 74 75 62 73 20 65 6e 61 62 6c 65 64 20 70  -stubs enabled p
5950: 72 6f 67 72 61 6d 73 20 75 73 69 6e 67 20 54 63  rograms using Tc
5960: 6c 20 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69  l must link agai
5970: 6e 73 74 2e 20 20 54 68 65 73 65 20 76 61 72 69  nst.  These vari
5980: 61 62 6c 65 73 0a 23 20 28 54 43 4c 49 4e 43 44  ables.# (TCLINCD
5990: 49 52 2c 20 54 43 4c 4c 49 42 44 49 52 2c 20 61  IR, TCLLIBDIR, a
59a0: 6e 64 20 4c 49 42 54 43 4c 29 20 6d 61 79 20 62  nd LIBTCL) may b
59b0: 65 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69 61  e overridden via
59c0: 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74   the environment
59d0: 0a 23 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e  .# prior to runn
59e0: 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64  ing nmake in ord
59f0: 65 72 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20  er to match the 
5a00: 61 63 74 75 61 6c 20 69 6e 73 74 61 6c 6c 65 64  actual installed
5a10: 20 6c 6f 63 61 74 69 6f 6e 20 61 6e 64 0a 23 20   location and.# 
5a20: 76 65 72 73 69 6f 6e 20 6f 6e 20 74 68 69 73 20  version on this 
5a30: 6d 61 63 68 69 6e 65 2e 0a 23 0a 21 49 46 4e 44  machine..#.!IFND
5a40: 45 46 20 54 43 4c 44 49 52 0a 54 43 4c 44 49 52  EF TCLDIR.TCLDIR
5a50: 20 3d 20 24 28 54 4f 50 29 5c 63 6f 6d 70 61 74   = $(TOP)\compat
5a60: 5c 74 63 6c 0a 21 45 4e 44 49 46 0a 0a 21 49 46  \tcl.!ENDIF..!IF
5a70: 4e 44 45 46 20 54 43 4c 49 4e 43 44 49 52 0a 54  NDEF TCLINCDIR.T
5a80: 43 4c 49 4e 43 44 49 52 20 3d 20 24 28 54 43 4c  CLINCDIR = $(TCL
5a90: 44 49 52 29 5c 69 6e 63 6c 75 64 65 0a 21 45 4e  DIR)\include.!EN
5aa0: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c  DIF..!IFNDEF TCL
5ab0: 4c 49 42 44 49 52 0a 54 43 4c 4c 49 42 44 49 52  LIBDIR.TCLLIBDIR
5ac0: 20 3d 20 24 28 54 43 4c 44 49 52 29 5c 6c 69 62   = $(TCLDIR)\lib
5ad0: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46  .!ENDIF..!IFNDEF
5ae0: 20 4c 49 42 54 43 4c 0a 4c 49 42 54 43 4c 20 3d   LIBTCL.LIBTCL =
5af0: 20 74 63 6c 38 36 2e 6c 69 62 0a 21 45 4e 44 49   tcl86.lib.!ENDI
5b00: 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 54 43  F..!IFNDEF LIBTC
5b10: 4c 53 54 55 42 0a 4c 49 42 54 43 4c 53 54 55 42  LSTUB.LIBTCLSTUB
5b20: 20 3d 20 74 63 6c 73 74 75 62 38 36 2e 6c 69 62   = tclstub86.lib
5b30: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46  .!ENDIF..!IFNDEF
5b40: 20 4c 49 42 54 43 4c 50 41 54 48 0a 4c 49 42 54   LIBTCLPATH.LIBT
5b50: 43 4c 50 41 54 48 20 3d 20 24 28 54 43 4c 44 49  CLPATH = $(TCLDI
5b60: 52 29 5c 62 69 6e 0a 21 45 4e 44 49 46 0a 0a 23  R)\bin.!ENDIF..#
5b70: 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 73 20 6f   The locations o
5b80: 66 20 74 68 65 20 7a 6c 69 62 20 68 65 61 64 65  f the zlib heade
5b90: 72 20 61 6e 64 20 6c 69 62 72 61 72 79 20 66 69  r and library fi
5ba0: 6c 65 73 2e 20 20 54 68 65 73 65 20 76 61 72 69  les.  These vari
5bb0: 61 62 6c 65 73 0a 23 20 28 5a 4c 49 42 49 4e 43  ables.# (ZLIBINC
5bc0: 44 49 52 2c 20 5a 4c 49 42 4c 49 42 44 49 52 2c  DIR, ZLIBLIBDIR,
5bd0: 20 61 6e 64 20 5a 4c 49 42 4c 49 42 29 20 6d 61   and ZLIBLIB) ma
5be0: 79 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20  y be overridden 
5bf0: 76 69 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d  via the environm
5c00: 65 6e 74 0a 23 20 70 72 69 6f 72 20 74 6f 20 72  ent.# prior to r
5c10: 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20  unning nmake in 
5c20: 6f 72 64 65 72 20 74 6f 20 6d 61 74 63 68 20 74  order to match t
5c30: 68 65 20 61 63 74 75 61 6c 20 69 6e 73 74 61 6c  he actual instal
5c40: 6c 65 64 20 28 6f 72 20 73 6f 75 72 63 65 0a 23  led (or source.#
5c50: 20 63 6f 64 65 29 20 6c 6f 63 61 74 69 6f 6e 20   code) location 
5c60: 6f 6e 20 74 68 69 73 20 6d 61 63 68 69 6e 65 2e  on this machine.
5c70: 0a 23 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42 44  .#.!IFNDEF ZLIBD
5c80: 49 52 0a 5a 4c 49 42 44 49 52 20 3d 20 24 28 54  IR.ZLIBDIR = $(T
5c90: 4f 50 29 5c 63 6f 6d 70 61 74 5c 7a 6c 69 62 0a  OP)\compat\zlib.
5ca0: 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20  !ENDIF..!IFNDEF 
5cb0: 5a 4c 49 42 49 4e 43 44 49 52 0a 5a 4c 49 42 49  ZLIBINCDIR.ZLIBI
5cc0: 4e 43 44 49 52 20 3d 20 24 28 5a 4c 49 42 44 49  NCDIR = $(ZLIBDI
5cd0: 52 29 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44  R).!ENDIF..!IFND
5ce0: 45 46 20 5a 4c 49 42 4c 49 42 44 49 52 0a 5a 4c  EF ZLIBLIBDIR.ZL
5cf0: 49 42 4c 49 42 44 49 52 20 3d 20 24 28 5a 4c 49  IBLIBDIR = $(ZLI
5d00: 42 44 49 52 29 0a 21 45 4e 44 49 46 0a 0a 21 49  BDIR).!ENDIF..!I
5d10: 46 4e 44 45 46 20 5a 4c 49 42 4c 49 42 0a 21 49  FNDEF ZLIBLIB.!I
5d20: 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c  F $(DYNAMIC_SHEL
5d30: 4c 29 21 3d 30 0a 5a 4c 49 42 4c 49 42 20 3d 20  L)!=0.ZLIBLIB = 
5d40: 7a 64 6c 6c 2e 6c 69 62 0a 21 45 4c 53 45 0a 5a  zdll.lib.!ELSE.Z
5d50: 4c 49 42 4c 49 42 20 3d 20 7a 6c 69 62 2e 6c 69  LIBLIB = zlib.li
5d60: 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  b.!ENDIF.!ENDIF.
5d70: 0a 23 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 73  .# The locations
5d80: 20 6f 66 20 74 68 65 20 49 43 55 20 68 65 61 64   of the ICU head
5d90: 65 72 20 61 6e 64 20 6c 69 62 72 61 72 79 20 66  er and library f
5da0: 69 6c 65 73 2e 20 20 54 68 65 73 65 20 76 61 72  iles.  These var
5db0: 69 61 62 6c 65 73 0a 23 20 28 49 43 55 49 4e 43  iables.# (ICUINC
5dc0: 44 49 52 2c 20 49 43 55 4c 49 42 44 49 52 2c 20  DIR, ICULIBDIR, 
5dd0: 61 6e 64 20 4c 49 42 49 43 55 29 20 6d 61 79 20  and LIBICU) may 
5de0: 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69  be overridden vi
5df0: 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e  a the environmen
5e00: 74 0a 23 20 70 72 69 6f 72 20 74 6f 20 72 75 6e  t.# prior to run
5e10: 6e 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72  ning nmake in or
5e20: 64 65 72 20 74 6f 20 6d 61 74 63 68 20 74 68 65  der to match the
5e30: 20 61 63 74 75 61 6c 20 69 6e 73 74 61 6c 6c 65   actual installe
5e40: 64 20 6c 6f 63 61 74 69 6f 6e 20 6f 6e 0a 23 20  d location on.# 
5e50: 74 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a  this machine..#.
5e60: 21 49 46 4e 44 45 46 20 49 43 55 44 49 52 0a 49  !IFNDEF ICUDIR.I
5e70: 43 55 44 49 52 20 3d 20 24 28 54 4f 50 29 5c 63  CUDIR = $(TOP)\c
5e80: 6f 6d 70 61 74 5c 69 63 75 0a 21 45 4e 44 49 46  ompat\icu.!ENDIF
5e90: 0a 0a 21 49 46 4e 44 45 46 20 49 43 55 49 4e 43  ..!IFNDEF ICUINC
5ea0: 44 49 52 0a 49 43 55 49 4e 43 44 49 52 20 3d 20  DIR.ICUINCDIR = 
5eb0: 24 28 49 43 55 44 49 52 29 5c 69 6e 63 6c 75 64  $(ICUDIR)\includ
5ec0: 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45  e.!ENDIF..!IFNDE
5ed0: 46 20 49 43 55 4c 49 42 44 49 52 0a 49 43 55 4c  F ICULIBDIR.ICUL
5ee0: 49 42 44 49 52 20 3d 20 24 28 49 43 55 44 49 52  IBDIR = $(ICUDIR
5ef0: 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49  )\lib.!ENDIF..!I
5f00: 46 4e 44 45 46 20 4c 49 42 49 43 55 0a 4c 49 42  FNDEF LIBICU.LIB
5f10: 49 43 55 20 3d 20 69 63 75 75 63 2e 6c 69 62 20  ICU = icuuc.lib 
5f20: 69 63 75 69 6e 2e 6c 69 62 0a 21 45 4e 44 49 46  icuin.lib.!ENDIF
5f30: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20  ..# This is the 
5f40: 63 6f 6d 6d 61 6e 64 20 74 6f 20 75 73 65 20 66  command to use f
5f50: 6f 72 20 74 63 6c 73 68 20 2d 20 6e 6f 72 6d 61  or tclsh - norma
5f60: 6c 6c 79 20 6a 75 73 74 20 22 74 63 6c 73 68 22  lly just "tclsh"
5f70: 2c 20 62 75 74 20 77 65 20 6d 61 79 0a 23 20 6b  , but we may.# k
5f80: 6e 6f 77 20 74 68 65 20 73 70 65 63 69 66 69 63  now the specific
5f90: 20 76 65 72 73 69 6f 6e 20 77 65 20 77 61 6e 74   version we want
5fa0: 20 74 6f 20 75 73 65 2e 20 20 54 68 69 73 20 76   to use.  This v
5fb0: 61 72 69 61 62 6c 65 20 28 54 43 4c 53 48 5f 43  ariable (TCLSH_C
5fc0: 4d 44 29 20 6d 61 79 20 62 65 0a 23 20 6f 76 65  MD) may be.# ove
5fd0: 72 72 69 64 64 65 6e 20 76 69 61 20 74 68 65 20  rridden via the 
5fe0: 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 70 72 69 6f  environment prio
5ff0: 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61  r to running nma
6000: 6b 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 73  ke in order to s
6010: 65 6c 65 63 74 20 61 0a 23 20 73 70 65 63 69 66  elect a.# specif
6020: 69 63 20 54 63 6c 20 73 68 65 6c 6c 20 74 6f 20  ic Tcl shell to 
6030: 75 73 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 54  use..#.!IFNDEF T
6040: 43 4c 53 48 5f 43 4d 44 0a 21 49 46 20 24 28 55  CLSH_CMD.!IF $(U
6050: 53 45 5f 54 43 4c 53 48 5f 49 4e 5f 50 41 54 48  SE_TCLSH_IN_PATH
6060: 29 21 3d 30 20 7c 7c 20 21 45 58 49 53 54 28 22  )!=0 || !EXIST("
6070: 24 28 54 43 4c 44 49 52 29 5c 62 69 6e 5c 74 63  $(TCLDIR)\bin\tc
6080: 6c 73 68 2e 65 78 65 22 29 0a 54 43 4c 53 48 5f  lsh.exe").TCLSH_
6090: 43 4d 44 20 3d 20 74 63 6c 73 68 0a 21 45 4c 53  CMD = tclsh.!ELS
60a0: 45 0a 54 43 4c 53 48 5f 43 4d 44 20 3d 20 24 28  E.TCLSH_CMD = $(
60b0: 54 43 4c 44 49 52 29 5c 62 69 6e 5c 74 63 6c 73  TCLDIR)\bin\tcls
60c0: 68 2e 65 78 65 0a 21 45 4e 44 49 46 0a 21 45 4e  h.exe.!ENDIF.!EN
60d0: 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  DIF.# <</mark>>.
60e0: 0a 23 20 43 6f 6d 70 69 6c 65 72 20 6f 70 74 69  .# Compiler opti
60f0: 6f 6e 73 20 6e 65 65 64 65 64 20 66 6f 72 20 70  ons needed for p
6100: 72 6f 67 72 61 6d 73 20 74 68 61 74 20 75 73 65  rograms that use
6110: 20 74 68 65 20 72 65 61 64 6c 69 6e 65 28 29 20   the readline() 
6120: 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44  library..#.!IFND
6130: 45 46 20 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47  EF READLINE_FLAG
6140: 53 0a 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53  S.READLINE_FLAGS
6150: 20 3d 20 2d 44 48 41 56 45 5f 52 45 41 44 4c 49   = -DHAVE_READLI
6160: 4e 45 3d 30 0a 21 45 4e 44 49 46 0a 0a 23 20 54  NE=0.!ENDIF..# T
6170: 68 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 20  he library that 
6180: 70 72 6f 67 72 61 6d 73 20 75 73 69 6e 67 20 72  programs using r
6190: 65 61 64 6c 69 6e 65 28 29 20 6d 75 73 74 20 6c  eadline() must l
61a0: 69 6e 6b 20 61 67 61 69 6e 73 74 2e 0a 23 0a 21  ink against..#.!
61b0: 49 46 4e 44 45 46 20 4c 49 42 52 45 41 44 4c 49  IFNDEF LIBREADLI
61c0: 4e 45 0a 4c 49 42 52 45 41 44 4c 49 4e 45 20 3d  NE.LIBREADLINE =
61d0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68 6f 75 6c  .!ENDIF..# Shoul
61e0: 64 20 74 68 65 20 64 61 74 61 62 61 73 65 20 65  d the database e
61f0: 6e 67 69 6e 65 20 62 65 20 63 6f 6d 70 69 6c 65  ngine be compile
6200: 64 20 74 68 72 65 61 64 73 61 66 65 0a 23 0a 54  d threadsafe.#.T
6210: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ
6220: 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
6230: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) -
6240: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
6250: 46 45 3d 31 0a 0a 23 20 44 6f 20 74 68 72 65 61  FE=1..# Do threa
6260: 64 73 20 6f 76 65 72 72 69 64 65 20 65 61 63 68  ds override each
6270: 20 6f 74 68 65 72 73 20 6c 6f 63 6b 73 20 62 79   others locks by
6280: 20 64 65 66 61 75 6c 74 20 28 31 29 2c 20 6f 72   default (1), or
6290: 20 64 6f 20 77 65 20 74 65 73 74 20 28 2d 31 29   do we test (-1)
62a0: 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  .#.TCC = $(TCC) 
62b0: 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 5f  -DSQLITE_THREAD_
62c0: 4f 56 45 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31  OVERRIDE_LOCK=-1
62d0: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44  .RCC = $(RCC) -D
62e0: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f 56  SQLITE_THREAD_OV
62f0: 45 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 0a  ERRIDE_LOCK=-1..
6300: 23 20 41 6e 79 20 74 61 72 67 65 74 20 6c 69 62  # Any target lib
6310: 72 61 72 69 65 73 20 77 68 69 63 68 20 6c 69 62  raries which lib
6320: 73 71 6c 69 74 65 20 6d 75 73 74 20 62 65 20 6c  sqlite must be l
6330: 69 6e 6b 65 64 20 61 67 61 69 6e 73 74 0a 23 0a  inked against.#.
6340: 21 49 46 4e 44 45 46 20 54 4c 49 42 53 0a 54 4c  !IFNDEF TLIBS.TL
6350: 49 42 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20  IBS =.!ENDIF..# 
6360: 46 6c 61 67 73 20 63 6f 6e 74 72 6f 6c 6c 69 6e  Flags controllin
6370: 67 20 75 73 65 20 6f 66 20 74 68 65 20 69 6e 20  g use of the in 
6380: 6d 65 6d 6f 72 79 20 62 74 72 65 65 20 69 6d 70  memory btree imp
6390: 6c 65 6d 65 6e 74 61 74 69 6f 6e 0a 23 0a 23 20  lementation.#.# 
63a0: 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52  SQLITE_TEMP_STOR
63b0: 45 20 69 73 20 30 20 74 6f 20 66 6f 72 63 65 20  E is 0 to force 
63c0: 74 65 6d 70 6f 72 61 72 79 20 74 61 62 6c 65 73  temporary tables
63d0: 20 74 6f 20 62 65 20 69 6e 20 61 20 66 69 6c 65   to be in a file
63e0: 2c 20 31 20 74 6f 0a 23 20 64 65 66 61 75 6c 74  , 1 to.# default
63f0: 20 74 6f 20 66 69 6c 65 2c 20 32 20 74 6f 20 64   to file, 2 to d
6400: 65 66 61 75 6c 74 20 74 6f 20 6d 65 6d 6f 72 79  efault to memory
6410: 2c 20 61 6e 64 20 33 20 74 6f 20 66 6f 72 63 65  , and 3 to force
6420: 20 74 65 6d 70 6f 72 61 72 79 0a 23 20 74 61 62   temporary.# tab
6430: 6c 65 73 20 74 6f 20 61 6c 77 61 79 73 20 62 65  les to always be
6440: 20 69 6e 20 6d 65 6d 6f 72 79 2e 0a 23 0a 54 43   in memory..#.TC
6450: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c  C = $(TCC) -DSQL
6460: 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3d 31  ITE_TEMP_STORE=1
6470: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44  .RCC = $(RCC) -D
6480: 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52  SQLITE_TEMP_STOR
6490: 45 3d 31 0a 0a 23 20 45 6e 61 62 6c 65 2f 64 69  E=1..# Enable/di
64a0: 73 61 62 6c 65 20 6c 6f 61 64 61 62 6c 65 20 65  sable loadable e
64b0: 78 74 65 6e 73 69 6f 6e 73 2c 20 61 6e 64 20 6f  xtensions, and o
64c0: 74 68 65 72 20 6f 70 74 69 6f 6e 61 6c 20 66 65  ther optional fe
64d0: 61 74 75 72 65 73 0a 23 20 62 61 73 65 64 20 6f  atures.# based o
64e0: 6e 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e  n configuration.
64f0: 20 28 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 2a   (-DSQLITE_OMIT*
6500: 2c 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  , -DSQLITE_ENABL
6510: 45 2a 29 2e 0a 23 20 54 68 65 20 73 61 6d 65 20  E*)..# The same 
6520: 73 65 74 20 6f 66 20 4f 4d 49 54 20 61 6e 64 20  set of OMIT and 
6530: 45 4e 41 42 4c 45 20 66 6c 61 67 73 20 73 68 6f  ENABLE flags sho
6540: 75 6c 64 20 62 65 20 70 61 73 73 65 64 20 74 6f  uld be passed to
6550: 20 74 68 65 0a 23 20 4c 45 4d 4f 4e 20 70 61 72   the.# LEMON par
6560: 73 65 72 20 67 65 6e 65 72 61 74 6f 72 20 61 6e  ser generator an
6570: 64 20 74 68 65 20 6d 6b 6b 65 79 77 6f 72 64 68  d the mkkeywordh
6580: 61 73 68 20 74 6f 6f 6c 20 61 73 20 77 65 6c 6c  ash tool as well
6590: 2e 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74  ...# These are t
65a0: 68 65 20 72 65 71 75 69 72 65 64 20 53 51 4c 69  he required SQLi
65b0: 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f  te compilation o
65c0: 70 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e  ptions used when
65d0: 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23   compiling for.#
65e0: 20 74 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61   the Windows pla
65f0: 74 66 6f 72 6d 2e 0a 23 0a 52 45 51 5f 46 45 41  tform..#.REQ_FEA
6600: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 52  TURE_FLAGS = $(R
6610: 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  EQ_FEATURE_FLAGS
6620: 29 20 2d 44 53 51 4c 49 54 45 5f 4d 41 58 5f 54  ) -DSQLITE_MAX_T
6630: 52 49 47 47 45 52 5f 44 45 50 54 48 3d 31 30 30  RIGGER_DEPTH=100
6640: 0a 0a 23 20 49 66 20 77 65 20 61 72 65 20 6c 69  ..# If we are li
6650: 6e 6b 69 6e 67 20 74 6f 20 74 68 65 20 52 50 43  nking to the RPC
6660: 52 54 34 20 6c 69 62 72 61 72 79 2c 20 65 6e 61  RT4 library, ena
6670: 62 6c 65 20 66 65 61 74 75 72 65 73 20 74 68 61  ble features tha
6680: 74 20 6e 65 65 64 20 69 74 2e 0a 23 0a 21 49 46  t need it..#.!IF
6690: 20 24 28 55 53 45 5f 52 50 43 52 54 34 5f 4c 49   $(USE_RPCRT4_LI
66a0: 42 29 21 3d 30 0a 52 45 51 5f 46 45 41 54 55 52  B)!=0.REQ_FEATUR
66b0: 45 5f 46 4c 41 47 53 20 3d 20 24 28 52 45 51 5f  E_FLAGS = $(REQ_
66c0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
66d0: 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 55 53  DSQLITE_WIN32_US
66e0: 45 5f 55 55 49 44 3d 31 0a 21 45 4e 44 49 46 0a  E_UUID=1.!ENDIF.
66f0: 0a 23 20 41 64 64 20 74 68 65 20 72 65 71 75 69  .# Add the requi
6700: 72 65 64 20 61 6e 64 20 6f 70 74 69 6f 6e 61 6c  red and optional
6710: 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74   SQLite compilat
6720: 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 69 6e 74 6f  ion options into
6730: 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c   the command.# l
6740: 69 6e 65 73 20 75 73 65 64 20 74 6f 20 69 6e 76  ines used to inv
6750: 6f 6b 65 20 74 68 65 20 4d 53 56 43 20 63 6f 64  oke the MSVC cod
6760: 65 20 61 6e 64 20 72 65 73 6f 75 72 63 65 20 63  e and resource c
6770: 6f 6d 70 69 6c 65 72 73 2e 0a 23 0a 54 43 43 20  ompilers..#.TCC 
6780: 3d 20 24 28 54 43 43 29 20 24 28 52 45 51 5f 46  = $(TCC) $(REQ_F
6790: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  EATURE_FLAGS) $(
67a0: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
67b0: 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45  S) $(EXT_FEATURE
67c0: 5f 46 4c 41 47 53 29 0a 52 43 43 20 3d 20 24 28  _FLAGS).RCC = $(
67d0: 52 43 43 29 20 24 28 52 45 51 5f 46 45 41 54 55  RCC) $(REQ_FEATU
67e0: 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f  RE_FLAGS) $(OPT_
67f0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $
6800: 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (EXT_FEATURE_FLA
6810: 47 53 29 0a 0a 23 20 41 64 64 20 69 6e 20 61 6e  GS)..# Add in an
6820: 79 20 6f 70 74 69 6f 6e 61 6c 20 70 61 72 61 6d  y optional param
6830: 65 74 65 72 73 20 73 70 65 63 69 66 69 65 64 20  eters specified 
6840: 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 65 20 6c  on the commane l
6850: 69 6e 65 2c 20 65 2e 67 2e 0a 23 20 6e 6d 61 6b  ine, e.g..# nmak
6860: 65 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73  e /f Makefile.ms
6870: 63 20 61 6c 6c 20 22 4f 50 54 53 3d 2d 44 53 51  c all "OPTS=-DSQ
6880: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 4f 4f 3d  LITE_ENABLE_FOO=
6890: 31 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  1 -DSQLITE_OMIT_
68a0: 46 4f 4f 3d 31 22 0a 23 0a 54 43 43 20 3d 20 24  FOO=1".#.TCC = $
68b0: 28 54 43 43 29 20 24 28 4f 50 54 53 29 0a 52 43  (TCC) $(OPTS).RC
68c0: 43 20 3d 20 24 28 52 43 43 29 20 24 28 4f 50 54  C = $(RCC) $(OPT
68d0: 53 29 0a 0a 23 20 49 66 20 63 6f 6d 70 69 6c 69  S)..# If compili
68e0: 6e 67 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67  ng for debugging
68f0: 2c 20 61 64 64 20 73 6f 6d 65 20 64 65 66 69 6e  , add some defin
6900: 65 73 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55  es..#.!IF $(DEBU
6910: 47 29 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43  G)>1.TCC = $(TCC
6920: 29 20 2d 44 5f 44 45 42 55 47 0a 42 43 43 20 3d  ) -D_DEBUG.BCC =
6930: 20 24 28 42 43 43 29 20 2d 44 5f 44 45 42 55 47   $(BCC) -D_DEBUG
6940: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44  .RCC = $(RCC) -D
6950: 5f 44 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a 23  _DEBUG.!ENDIF..#
6960: 20 49 66 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e   If optimization
6970: 73 20 61 72 65 20 65 6e 61 62 6c 65 64 20 6f 72  s are enabled or
6980: 20 64 69 73 61 62 6c 65 64 20 28 65 69 74 68 65   disabled (eithe
6990: 72 20 69 6d 70 6c 69 63 69 74 6c 79 20 6f 72 0a  r implicitly or.
69a0: 23 20 65 78 70 6c 69 63 69 74 6c 79 29 2c 20 61  # explicitly), a
69b0: 64 64 20 74 68 65 20 6e 65 63 65 73 73 61 72 79  dd the necessary
69c0: 20 66 6c 61 67 73 2e 0a 23 0a 21 49 46 20 24 28   flags..#.!IF $(
69d0: 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 4f 50  DEBUG)>1 || $(OP
69e0: 54 49 4d 49 5a 41 54 49 4f 4e 53 29 3d 3d 30 0a  TIMIZATIONS)==0.
69f0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 64  TCC = $(TCC) -Od
6a00: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f  .BCC = $(BCC) -O
6a10: 64 0a 21 49 46 20 24 28 55 53 45 5f 52 55 4e 54  d.!IF $(USE_RUNT
6a20: 49 4d 45 5f 43 48 45 43 4b 53 29 21 3d 30 0a 54  IME_CHECKS)!=0.T
6a30: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 52 54 43  CC = $(TCC) -RTC
6a40: 31 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  1.BCC = $(BCC) -
6a50: 52 54 43 31 0a 21 45 4e 44 49 46 0a 21 45 4c 53  RTC1.!ENDIF.!ELS
6a60: 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41 54 49  EIF $(OPTIMIZATI
6a70: 4f 4e 53 29 3e 3d 33 0a 54 43 43 20 3d 20 24 28  ONS)>=3.TCC = $(
6a80: 54 43 43 29 20 2d 4f 78 0a 42 43 43 20 3d 20 24  TCC) -Ox.BCC = $
6a90: 28 42 43 43 29 20 2d 4f 78 0a 21 45 4c 53 45 49  (BCC) -Ox.!ELSEI
6aa0: 46 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e  F $(OPTIMIZATION
6ab0: 53 29 3d 3d 32 0a 54 43 43 20 3d 20 24 28 54 43  S)==2.TCC = $(TC
6ac0: 43 29 20 2d 4f 32 0a 42 43 43 20 3d 20 24 28 42  C) -O2.BCC = $(B
6ad0: 43 43 29 20 2d 4f 32 0a 21 45 4c 53 45 49 46 20  CC) -O2.!ELSEIF 
6ae0: 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29  $(OPTIMIZATIONS)
6af0: 3d 3d 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29  ==1.TCC = $(TCC)
6b00: 20 2d 4f 31 0a 42 43 43 20 3d 20 24 28 42 43 43   -O1.BCC = $(BCC
6b10: 29 20 2d 4f 31 0a 21 45 4e 44 49 46 0a 0a 23 20  ) -O1.!ENDIF..# 
6b20: 49 66 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 65  If symbols are e
6b30: 6e 61 62 6c 65 64 20 28 6f 72 20 63 6f 6d 70 69  nabled (or compi
6b40: 6c 69 6e 67 20 66 6f 72 20 64 65 62 75 67 67 69  ling for debuggi
6b50: 6e 67 29 2c 20 65 6e 61 62 6c 65 20 50 44 42 73  ng), enable PDBs
6b60: 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29  ..#.!IF $(DEBUG)
6b70: 3e 31 20 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29  >1 || $(SYMBOLS)
6b80: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC)
6b90: 20 2d 5a 69 0a 42 43 43 20 3d 20 24 28 42 43 43   -Zi.BCC = $(BCC
6ba0: 29 20 2d 5a 69 0a 21 45 4e 44 49 46 0a 0a 23 20  ) -Zi.!ENDIF..# 
6bb0: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 49 66 20 7a 6c  <<mark>>.# If zl
6bc0: 69 62 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e  ib support is en
6bd0: 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 63  abled, add the c
6be0: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options 
6bf0: 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28  for it..#.!IF $(
6c00: 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a 54 43 43  USE_ZLIB)!=0.TCC
6c10: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49   = $(TCC) -DSQLI
6c20: 54 45 5f 48 41 56 45 5f 5a 4c 49 42 3d 31 0a 52  TE_HAVE_ZLIB=1.R
6c30: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ
6c40: 4c 49 54 45 5f 48 41 56 45 5f 5a 4c 49 42 3d 31  LITE_HAVE_ZLIB=1
6c50: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49  .TCC = $(TCC) -I
6c60: 24 28 5a 4c 49 42 49 4e 43 44 49 52 29 0a 52 43  $(ZLIBINCDIR).RC
6c70: 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 5a  C = $(RCC) -I$(Z
6c80: 4c 49 42 49 4e 43 44 49 52 29 0a 21 45 4e 44 49  LIBINCDIR).!ENDI
6c90: 46 0a 0a 23 20 49 66 20 49 43 55 20 73 75 70 70  F..# If ICU supp
6ca0: 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20  ort is enabled, 
6cb0: 61 64 64 20 74 68 65 20 63 6f 6d 70 69 6c 65 72  add the compiler
6cc0: 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e   options for it.
6cd0: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 49 43 55  .#.!IF $(USE_ICU
6ce0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC
6cf0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
6d00: 45 5f 49 43 55 3d 31 0a 52 43 43 20 3d 20 24 28  E_ICU=1.RCC = $(
6d10: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  RCC) -DSQLITE_EN
6d20: 41 42 4c 45 5f 49 43 55 3d 31 0a 54 43 43 20 3d  ABLE_ICU=1.TCC =
6d30: 20 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29   $(TCC) -I$(TOP)
6d40: 5c 65 78 74 5c 69 63 75 0a 52 43 43 20 3d 20 24  \ext\icu.RCC = $
6d50: 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65  (RCC) -I$(TOP)\e
6d60: 78 74 5c 69 63 75 0a 54 43 43 20 3d 20 24 28 54  xt\icu.TCC = $(T
6d70: 43 43 29 20 2d 49 24 28 49 43 55 49 4e 43 44 49  CC) -I$(ICUINCDI
6d80: 52 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  R).RCC = $(RCC) 
6d90: 2d 49 24 28 49 43 55 49 4e 43 44 49 52 29 0a 21  -I$(ICUINCDIR).!
6da0: 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  ENDIF.# <</mark>
6db0: 3e 0a 0a 23 20 43 6f 6d 6d 61 6e 64 20 6c 69 6e  >..# Command lin
6dc0: 65 20 70 72 65 66 69 78 65 73 20 66 6f 72 20 63  e prefixes for c
6dd0: 6f 6d 70 69 6c 69 6e 67 20 63 6f 64 65 2c 20 63  ompiling code, c
6de0: 6f 6d 70 69 6c 69 6e 67 20 72 65 73 6f 75 72 63  ompiling resourc
6df0: 65 73 2c 0a 23 20 6c 69 6e 6b 69 6e 67 2c 20 65  es,.# linking, e
6e00: 74 63 2e 0a 23 0a 4c 54 43 4f 4d 50 49 4c 45 20  tc..#.LTCOMPILE 
6e10: 3d 20 24 28 54 43 43 29 20 2d 46 6f 24 40 0a 4c  = $(TCC) -Fo$@.L
6e20: 54 52 43 4f 4d 50 49 4c 45 20 3d 20 24 28 52 43  TRCOMPILE = $(RC
6e30: 43 29 20 2d 72 0a 4c 54 4c 49 42 20 3d 20 6c 69  C) -r.LTLIB = li
6e40: 62 2e 65 78 65 0a 4c 54 4c 49 4e 4b 20 3d 20 24  b.exe.LTLINK = $
6e50: 28 54 43 43 29 20 2d 46 65 24 40 0a 0a 23 20 49  (TCC) -Fe$@..# I
6e60: 66 20 72 65 71 75 65 73 74 65 64 2c 20 6c 69 6e  f requested, lin
6e70: 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34 20  k to the RPCRT4 
6e80: 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 20 24  library..#.!IF $
6e90: 28 55 53 45 5f 52 50 43 52 54 34 5f 4c 49 42 29  (USE_RPCRT4_LIB)
6ea0: 21 3d 30 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c  !=0.LTLIBS = $(L
6eb0: 54 4c 49 42 53 29 20 72 70 63 72 74 34 2e 6c 69  TLIBS) rpcrt4.li
6ec0: 62 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 61  b.!ENDIF..# If a
6ed0: 20 70 6c 61 74 66 6f 72 6d 20 77 61 73 20 73 65   platform was se
6ee0: 74 2c 20 66 6f 72 63 65 20 74 68 65 20 6c 69 6e  t, force the lin
6ef0: 6b 65 72 20 74 6f 20 74 61 72 67 65 74 20 74 68  ker to target th
6f00: 61 74 2e 0a 23 20 4e 6f 74 65 20 74 68 61 74 20  at..# Note that 
6f10: 74 68 65 20 76 63 76 61 72 73 2a 2e 62 61 74 20  the vcvars*.bat 
6f20: 66 61 6d 69 6c 79 20 6f 66 20 62 61 74 63 68 20  family of batch 
6f30: 66 69 6c 65 73 20 74 79 70 69 63 61 6c 6c 79 0a  files typically.
6f40: 23 20 73 65 74 20 74 68 69 73 20 66 6f 72 20 79  # set this for y
6f50: 6f 75 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20  ou.  Otherwise, 
6f60: 74 68 65 20 6c 69 6e 6b 65 72 20 77 69 6c 6c 20  the linker will 
6f70: 61 74 74 65 6d 70 74 0a 23 20 74 6f 20 64 65 64  attempt.# to ded
6f80: 75 63 65 20 74 68 65 20 62 69 6e 61 72 79 20 74  uce the binary t
6f90: 79 70 65 20 62 61 73 65 64 20 6f 6e 20 74 68 65  ype based on the
6fa0: 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 2e 0a 21   object files..!
6fb0: 49 46 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a 4c  IFDEF PLATFORM.L
6fc0: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c  TLINKOPTS = /NOL
6fd0: 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50  OGO /MACHINE:$(P
6fe0: 4c 41 54 46 4f 52 4d 29 0a 4c 54 4c 49 42 4f 50  LATFORM).LTLIBOP
6ff0: 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41  TS = /NOLOGO /MA
7000: 43 48 49 4e 45 3a 24 28 50 4c 41 54 46 4f 52 4d  CHINE:$(PLATFORM
7010: 29 0a 21 45 4c 53 45 0a 4c 54 4c 49 4e 4b 4f 50  ).!ELSE.LTLINKOP
7020: 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 0a 4c 54 4c  TS = /NOLOGO.LTL
7030: 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f  IBOPTS = /NOLOGO
7040: 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20  .!ENDIF..# When 
7050: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 75 73  compiling for us
7060: 65 20 69 6e 20 74 68 65 20 57 69 6e 52 54 20 65  e in the WinRT e
7070: 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 74 68 65 20  nvironment, the 
7080: 66 6f 6c 6c 6f 77 69 6e 67 0a 23 20 6c 69 6e 6b  following.# link
7090: 65 72 20 6f 70 74 69 6f 6e 20 6d 75 73 74 20 62  er option must b
70a0: 65 20 75 73 65 64 20 74 6f 20 6d 61 72 6b 20 74  e used to mark t
70b0: 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 61 73  he executable as
70c0: 20 72 75 6e 6e 61 62 6c 65 0a 23 20 6f 6e 6c 79   runnable.# only
70d0: 20 69 6e 20 74 68 65 20 63 6f 6e 74 65 78 74 20   in the context 
70e0: 6f 66 20 61 6e 20 61 70 70 6c 69 63 61 74 69 6f  of an applicatio
70f0: 6e 20 63 6f 6e 74 61 69 6e 65 72 2e 0a 23 0a 21  n container..#.!
7100: 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 21  IF $(FOR_WINRT)!
7110: 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  =0.LTLINKOPTS = 
7120: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 41  $(LTLINKOPTS) /A
7130: 50 50 43 4f 4e 54 41 49 4e 45 52 0a 21 49 46 20  PPCONTAINER.!IF 
7140: 22 24 28 56 49 53 55 41 4c 53 54 55 44 49 4f 56  "$(VISUALSTUDIOV
7150: 45 52 53 49 4f 4e 29 22 3d 3d 22 31 32 2e 30 22  ERSION)"=="12.0"
7160: 20 7c 7c 20 22 24 28 56 49 53 55 41 4c 53 54 55   || "$(VISUALSTU
7170: 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d 22 31  DIOVERSION)"=="1
7180: 34 2e 30 22 0a 21 49 46 4e 44 45 46 20 53 54 4f  4.0".!IFNDEF STO
7190: 52 45 4c 49 42 50 41 54 48 0a 21 49 46 20 22 24  RELIBPATH.!IF "$
71a0: 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38  (PLATFORM)"=="x8
71b0: 36 22 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20  6".STORELIBPATH 
71c0: 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 29 5c  = $(CRTLIBPATH)\
71d0: 73 74 6f 72 65 0a 21 45 4c 53 45 49 46 20 22 24  store.!ELSEIF "$
71e0: 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 36  (PLATFORM)"=="x6
71f0: 34 22 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20  4".STORELIBPATH 
7200: 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 29 5c  = $(CRTLIBPATH)\
7210: 73 74 6f 72 65 5c 61 6d 64 36 34 0a 21 45 4c 53  store\amd64.!ELS
7220: 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  EIF "$(PLATFORM)
7230: 22 3d 3d 22 41 52 4d 22 0a 53 54 4f 52 45 4c 49  "=="ARM".STORELI
7240: 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42  BPATH = $(CRTLIB
7250: 50 41 54 48 29 5c 73 74 6f 72 65 5c 61 72 6d 0a  PATH)\store\arm.
7260: 21 45 4c 53 45 0a 53 54 4f 52 45 4c 49 42 50 41  !ELSE.STORELIBPA
7270: 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54  TH = $(CRTLIBPAT
7280: 48 29 5c 73 74 6f 72 65 0a 21 45 4e 44 49 46 0a  H)\store.!ENDIF.
7290: 21 45 4e 44 49 46 0a 53 54 4f 52 45 4c 49 42 50  !ENDIF.STORELIBP
72a0: 41 54 48 20 3d 20 24 28 53 54 4f 52 45 4c 49 42  ATH = $(STORELIB
72b0: 50 41 54 48 3a 5c 5c 3d 5c 29 0a 4c 54 4c 49 4e  PATH:\\=\).LTLIN
72c0: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
72d0: 4f 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a  OPTS) "/LIBPATH:
72e0: 24 28 53 54 4f 52 45 4c 49 42 50 41 54 48 29 22  $(STORELIBPATH)"
72f0: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
7300: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  # When compiling
7310: 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 50 68 6f   for Windows Pho
7320: 6e 65 20 38 2e 31 2c 20 61 6e 20 65 78 74 72 61  ne 8.1, an extra
7330: 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 69 73   library path is
7340: 0a 23 20 72 65 71 75 69 72 65 64 2e 0a 23 0a 21  .# required..#.!
7350: 49 46 20 24 28 55 53 45 5f 57 50 38 31 5f 4f 50  IF $(USE_WP81_OP
7360: 54 53 29 21 3d 30 0a 21 49 46 4e 44 45 46 20 57  TS)!=0.!IFNDEF W
7370: 50 38 31 4c 49 42 50 41 54 48 0a 21 49 46 20 22  P81LIBPATH.!IF "
7380: 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78  $(PLATFORM)"=="x
7390: 38 36 22 0a 57 50 38 31 4c 49 42 50 41 54 48 20  86".WP81LIBPATH 
73a0: 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53  = $(PROGRAMFILES
73b0: 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73 20 50 68  _X86)\Windows Ph
73c0: 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62  one Kits\8.1\lib
73d0: 5c 78 38 36 0a 21 45 4c 53 45 49 46 20 22 24 28  \x86.!ELSEIF "$(
73e0: 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 41 52 4d  PLATFORM)"=="ARM
73f0: 22 0a 57 50 38 31 4c 49 42 50 41 54 48 20 3d 20  ".WP81LIBPATH = 
7400: 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58  $(PROGRAMFILES_X
7410: 38 36 29 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e  86)\Windows Phon
7420: 65 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 41  e Kits\8.1\lib\A
7430: 52 4d 0a 21 45 4c 53 45 0a 57 50 38 31 4c 49 42  RM.!ELSE.WP81LIB
7440: 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d  PATH = $(PROGRAM
7450: 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f  FILES_X86)\Windo
7460: 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e  ws Phone Kits\8.
7470: 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4e 44 49 46  1\lib\x86.!ENDIF
7480: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
7490: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  # When compiling
74a0: 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 50 68 6f   for Windows Pho
74b0: 6e 65 20 38 2e 31 2c 20 73 6f 6d 65 20 65 78 74  ne 8.1, some ext
74c0: 72 61 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e  ra linker option
74d0: 73 0a 23 20 61 72 65 20 61 6c 73 6f 20 72 65 71  s.# are also req
74e0: 75 69 72 65 64 2e 0a 23 0a 21 49 46 20 24 28 55  uired..#.!IF $(U
74f0: 53 45 5f 57 50 38 31 5f 4f 50 54 53 29 21 3d 30  SE_WP81_OPTS)!=0
7500: 0a 21 49 46 44 45 46 20 57 50 38 31 4c 49 42 50  .!IFDEF WP81LIBP
7510: 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  ATH.LTLINKOPTS =
7520: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22   $(LTLINKOPTS) "
7530: 2f 4c 49 42 50 41 54 48 3a 24 28 57 50 38 31 4c  /LIBPATH:$(WP81L
7540: 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a  IBPATH)".!ENDIF.
7550: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c  LTLINKOPTS = $(L
7560: 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 44 59 4e 41  TLINKOPTS) /DYNA
7570: 4d 49 43 42 41 53 45 0a 4c 54 4c 49 4e 4b 4f 50  MICBASE.LTLINKOP
7580: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT
7590: 53 29 20 57 69 6e 64 6f 77 73 50 68 6f 6e 65 43  S) WindowsPhoneC
75a0: 6f 72 65 2e 6c 69 62 20 52 75 6e 74 69 6d 65 4f  ore.lib RuntimeO
75b0: 62 6a 65 63 74 2e 6c 69 62 20 50 68 6f 6e 65 41  bject.lib PhoneA
75c0: 70 70 4d 6f 64 65 6c 48 6f 73 74 2e 6c 69 62 0a  ppModelHost.lib.
75d0: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c  LTLINKOPTS = $(L
75e0: 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44 45  TLINKOPTS) /NODE
75f0: 46 41 55 4c 54 4c 49 42 3a 6b 65 72 6e 65 6c 33  FAULTLIB:kernel3
7600: 32 2e 6c 69 62 20 2f 4e 4f 44 45 46 41 55 4c 54  2.lib /NODEFAULT
7610: 4c 49 42 3a 6f 6c 65 33 32 2e 6c 69 62 0a 21 45  LIB:ole32.lib.!E
7620: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d  NDIF..# When com
7630: 70 69 6c 69 6e 67 20 66 6f 72 20 55 57 50 20 6f  piling for UWP o
7640: 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30  r the Windows 10
7650: 20 70 6c 61 74 66 6f 72 6d 2c 20 73 6f 6d 65 20   platform, some 
7660: 65 78 74 72 61 20 6c 69 6e 6b 65 72 0a 23 20 6f  extra linker.# o
7670: 70 74 69 6f 6e 73 20 61 72 65 20 61 6c 73 6f 20  ptions are also 
7680: 72 65 71 75 69 72 65 64 2e 0a 23 0a 21 49 46 20  required..#.!IF 
7690: 24 28 46 4f 52 5f 55 57 50 29 21 3d 30 20 7c 7c  $(FOR_UWP)!=0 ||
76a0: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0
76b0: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $(
76c0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 44 59 4e  LTLINKOPTS) /DYN
76d0: 41 4d 49 43 42 41 53 45 20 2f 4e 4f 44 45 46 41  AMICBASE /NODEFA
76e0: 55 4c 54 4c 49 42 3a 6b 65 72 6e 65 6c 33 32 2e  ULTLIB:kernel32.
76f0: 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  lib.LTLINKOPTS =
7700: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 6d   $(LTLINKOPTS) m
7710: 69 6e 63 6f 72 65 2e 6c 69 62 0a 21 49 46 44 45  incore.lib.!IFDE
7720: 46 20 50 53 44 4b 4c 49 42 50 41 54 48 0a 4c 54  F PSDKLIBPATH.LT
7730: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL
7740: 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 42 50 41  INKOPTS) "/LIBPA
7750: 54 48 3a 24 28 50 53 44 4b 4c 49 42 50 41 54 48  TH:$(PSDKLIBPATH
7760: 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  )".!ENDIF.!ENDIF
7770: 0a 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31  ..!IF $(FOR_WIN1
7780: 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53  0)!=0.LTLINKOPTS
7790: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS)
77a0: 20 2f 67 75 61 72 64 3a 63 66 20 22 2f 4c 49 42   /guard:cf "/LIB
77b0: 50 41 54 48 3a 24 28 55 43 52 54 4c 49 42 50 41  PATH:$(UCRTLIBPA
77c0: 54 48 29 22 0a 21 49 46 20 24 28 44 45 42 55 47  TH)".!IF $(DEBUG
77d0: 29 3e 31 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  )>1.LTLINKOPTS =
77e0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f   $(LTLINKOPTS) /
77f0: 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6c 69 62  NODEFAULTLIB:lib
7800: 75 63 72 74 64 2e 6c 69 62 20 2f 44 45 46 41 55  ucrtd.lib /DEFAU
7810: 4c 54 4c 49 42 3a 75 63 72 74 64 2e 6c 69 62 0a  LTLIB:ucrtd.lib.
7820: 21 45 4c 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53  !ELSE.LTLINKOPTS
7830: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS)
7840: 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6c   /NODEFAULTLIB:l
7850: 69 62 75 63 72 74 2e 6c 69 62 20 2f 44 45 46 41  ibucrt.lib /DEFA
7860: 55 4c 54 4c 49 42 3a 75 63 72 74 2e 6c 69 62 0a  ULTLIB:ucrt.lib.
7870: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
7880: 20 49 66 20 65 69 74 68 65 72 20 64 65 62 75 67   If either debug
7890: 67 69 6e 67 20 6f 72 20 73 79 6d 62 6f 6c 73 20  ging or symbols 
78a0: 61 72 65 20 65 6e 61 62 6c 65 64 2c 20 65 6e 61  are enabled, ena
78b0: 62 6c 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 20  ble PDBs..#.!IF 
78c0: 24 28 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28  $(DEBUG)>1 || $(
78d0: 53 59 4d 42 4f 4c 53 29 21 3d 30 0a 4c 44 46 4c  SYMBOLS)!=0.LDFL
78e0: 41 47 53 20 3d 20 2f 44 45 42 55 47 20 24 28 4c  AGS = /DEBUG $(L
78f0: 44 4f 50 54 53 29 0a 21 45 4c 53 45 0a 4c 44 46  DOPTS).!ELSE.LDF
7900: 4c 41 47 53 20 3d 20 24 28 4c 44 4f 50 54 53 29  LAGS = $(LDOPTS)
7910: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72  .!ENDIF..# <<mar
7920: 6b 3e 3e 0a 23 20 53 74 61 72 74 20 77 69 74 68  k>>.# Start with
7930: 20 74 68 65 20 54 63 6c 20 72 65 6c 61 74 65 64   the Tcl related
7940: 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 2e   linker options.
7950: 0a 23 0a 21 49 46 20 24 28 4e 4f 5f 54 43 4c 29  .#.!IF $(NO_TCL)
7960: 3d 3d 30 0a 54 43 4c 4c 49 42 50 41 54 48 53 20  ==0.TCLLIBPATHS 
7970: 3d 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29  = $(TCLLIBPATHS)
7980: 20 2f 4c 49 42 50 41 54 48 3a 24 28 54 43 4c 4c   /LIBPATH:$(TCLL
7990: 49 42 44 49 52 29 0a 54 43 4c 4c 49 42 53 20 3d  IBDIR).TCLLIBS =
79a0: 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 49   $(TCLLIBS) $(LI
79b0: 42 54 43 4c 29 0a 21 45 4e 44 49 46 0a 0a 23 20  BTCL).!ENDIF..# 
79c0: 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 74 20  If zlib support 
79d0: 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20  is enabled, add 
79e0: 74 68 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f  the linker optio
79f0: 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46  ns for it..#.!IF
7a00: 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a   $(USE_ZLIB)!=0.
7a10: 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4c  LTLIBPATHS = $(L
7a20: 54 4c 49 42 50 41 54 48 53 29 20 2f 4c 49 42 50  TLIBPATHS) /LIBP
7a30: 41 54 48 3a 24 28 5a 4c 49 42 4c 49 42 44 49 52  ATH:$(ZLIBLIBDIR
7a40: 29 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c  ).LTLIBS = $(LTL
7a50: 49 42 53 29 20 24 28 5a 4c 49 42 4c 49 42 29 0a  IBS) $(ZLIBLIB).
7a60: 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 49 43 55  !ENDIF..# If ICU
7a70: 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62   support is enab
7a80: 6c 65 64 2c 20 61 64 64 20 74 68 65 20 6c 69 6e  led, add the lin
7a90: 6b 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20  ker options for 
7aa0: 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  it..#.!IF $(USE_
7ab0: 49 43 55 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54  ICU)!=0.LTLIBPAT
7ac0: 48 53 20 3d 20 24 28 4c 54 4c 49 42 50 41 54 48  HS = $(LTLIBPATH
7ad0: 53 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 49 43  S) /LIBPATH:$(IC
7ae0: 55 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 20  ULIBDIR).LTLIBS 
7af0: 3d 20 24 28 4c 54 4c 49 42 53 29 20 24 28 4c 49  = $(LTLIBS) $(LI
7b00: 42 49 43 55 29 0a 21 45 4e 44 49 46 0a 23 20 3c  BICU).!ENDIF.# <
7b10: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 59 6f 75 20  </mark>>..# You 
7b20: 73 68 6f 75 6c 64 20 6e 6f 74 20 68 61 76 65 20  should not have 
7b30: 74 6f 20 63 68 61 6e 67 65 20 61 6e 79 74 68 69  to change anythi
7b40: 6e 67 20 62 65 6c 6f 77 20 74 68 69 73 20 6c 69  ng below this li
7b50: 6e 65 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  ne.#############
7b60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7b70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7b80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7b90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7ba0: 23 23 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  ##..# <<mark>>.#
7bb0: 20 4f 62 6a 65 63 74 20 66 69 6c 65 73 20 66 6f   Object files fo
7bc0: 72 20 74 68 65 20 53 51 4c 69 74 65 20 6c 69 62  r the SQLite lib
7bd0: 72 61 72 79 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61  rary (non-amalga
7be0: 6d 61 74 69 6f 6e 29 2e 0a 23 0a 4c 49 42 4f 42  mation)..#.LIBOB
7bf0: 4a 53 30 20 3d 20 76 64 62 65 2e 6c 6f 20 70 61  JS0 = vdbe.lo pa
7c00: 72 73 65 2e 6c 6f 20 61 6c 74 65 72 2e 6c 6f 20  rse.lo alter.lo 
7c10: 61 6e 61 6c 79 7a 65 2e 6c 6f 20 61 74 74 61 63  analyze.lo attac
7c20: 68 2e 6c 6f 20 61 75 74 68 2e 6c 6f 20 5c 0a 20  h.lo auth.lo \. 
7c30: 20 20 20 20 20 20 20 20 62 61 63 6b 75 70 2e 6c          backup.l
7c40: 6f 20 62 69 74 76 65 63 2e 6c 6f 20 62 74 6d 75  o bitvec.lo btmu
7c50: 74 65 78 2e 6c 6f 20 62 74 72 65 65 2e 6c 6f 20  tex.lo btree.lo 
7c60: 62 75 69 6c 64 2e 6c 6f 20 5c 0a 20 20 20 20 20  build.lo \.     
7c70: 20 20 20 20 63 61 6c 6c 62 61 63 6b 2e 6c 6f 20      callback.lo 
7c80: 63 6f 6d 70 6c 65 74 65 2e 6c 6f 20 63 74 69 6d  complete.lo ctim
7c90: 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  e.lo \.         
7ca0: 64 61 74 65 2e 6c 6f 20 64 62 70 61 67 65 2e 6c  date.lo dbpage.l
7cb0: 6f 20 64 62 73 74 61 74 2e 6c 6f 20 64 65 6c 65  o dbstat.lo dele
7cc0: 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  te.lo \.        
7cd0: 20 65 78 70 72 2e 6c 6f 20 66 61 75 6c 74 2e 6c   expr.lo fault.l
7ce0: 6f 20 66 6b 65 79 2e 6c 6f 20 5c 0a 20 20 20 20  o fkey.lo \.    
7cf0: 20 20 20 20 20 66 74 73 33 2e 6c 6f 20 66 74 73       fts3.lo fts
7d00: 33 5f 61 75 78 2e 6c 6f 20 66 74 73 33 5f 65 78  3_aux.lo fts3_ex
7d10: 70 72 2e 6c 6f 20 66 74 73 33 5f 68 61 73 68 2e  pr.lo fts3_hash.
7d20: 6c 6f 20 66 74 73 33 5f 69 63 75 2e 6c 6f 20 5c  lo fts3_icu.lo \
7d30: 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 5f 70  .         fts3_p
7d40: 6f 72 74 65 72 2e 6c 6f 20 66 74 73 33 5f 73 6e  orter.lo fts3_sn
7d50: 69 70 70 65 74 2e 6c 6f 20 66 74 73 33 5f 74 6f  ippet.lo fts3_to
7d60: 6b 65 6e 69 7a 65 72 2e 6c 6f 20 66 74 73 33 5f  kenizer.lo fts3_
7d70: 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 20 5c 0a  tokenizer1.lo \.
7d80: 20 20 20 20 20 20 20 20 20 66 74 73 33 5f 74 6f           fts3_to
7d90: 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f 20 66  kenize_vtab.lo f
7da0: 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 20 66  ts3_unicode.lo f
7db0: 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f 20  ts3_unicode2.lo 
7dc0: 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f 20 5c 0a  fts3_write.lo \.
7dd0: 20 20 20 20 20 20 20 20 20 66 74 73 35 2e 6c 6f           fts5.lo
7de0: 20 5c 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63   \.         func
7df0: 2e 6c 6f 20 67 6c 6f 62 61 6c 2e 6c 6f 20 68 61  .lo global.lo ha
7e00: 73 68 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  sh.lo \.        
7e10: 20 69 63 75 2e 6c 6f 20 69 6e 73 65 72 74 2e 6c   icu.lo insert.l
7e20: 6f 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f 61 64  o legacy.lo load
7e30: 65 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ext.lo \.       
7e40: 20 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c 6f 63    main.lo malloc
7e50: 2e 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65 6d 31  .lo mem0.lo mem1
7e60: 2e 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65 6d 33  .lo mem2.lo mem3
7e70: 2e 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a 20 20  .lo mem5.lo \.  
7e80: 20 20 20 20 20 20 20 6d 65 6d 64 62 2e 6c 6f 20         memdb.lo 
7e90: 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 20 5c 0a  memjournal.lo \.
7ea0: 20 20 20 20 20 20 20 20 20 6d 75 74 65 78 2e 6c           mutex.l
7eb0: 6f 20 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 20  o mutex_noop.lo 
7ec0: 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 20 6d 75  mutex_unix.lo mu
7ed0: 74 65 78 5f 77 33 32 2e 6c 6f 20 5c 0a 20 20 20  tex_w32.lo \.   
7ee0: 20 20 20 20 20 20 6e 6f 74 69 66 79 2e 6c 6f 20        notify.lo 
7ef0: 6f 70 63 6f 64 65 73 2e 6c 6f 20 6f 73 2e 6c 6f  opcodes.lo os.lo
7f00: 20 6f 73 5f 75 6e 69 78 2e 6c 6f 20 6f 73 5f 77   os_unix.lo os_w
7f10: 69 6e 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  in.lo \.        
7f20: 20 70 61 67 65 72 2e 6c 6f 20 70 63 61 63 68 65   pager.lo pcache
7f30: 2e 6c 6f 20 70 63 61 63 68 65 31 2e 6c 6f 20 70  .lo pcache1.lo p
7f40: 72 61 67 6d 61 2e 6c 6f 20 70 72 65 70 61 72 65  ragma.lo prepare
7f50: 2e 6c 6f 20 70 72 69 6e 74 66 2e 6c 6f 20 5c 0a  .lo printf.lo \.
7f60: 20 20 20 20 20 20 20 20 20 72 61 6e 64 6f 6d 2e           random.
7f70: 6c 6f 20 72 65 73 6f 6c 76 65 2e 6c 6f 20 72 6f  lo resolve.lo ro
7f80: 77 73 65 74 2e 6c 6f 20 72 74 72 65 65 2e 6c 6f  wset.lo rtree.lo
7f90: 20 5c 0a 20 20 20 20 20 20 20 20 20 73 71 6c 69   \.         sqli
7fa0: 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 20 73 65  te3session.lo se
7fb0: 6c 65 63 74 2e 6c 6f 20 73 71 6c 69 74 65 33 72  lect.lo sqlite3r
7fc0: 62 75 2e 6c 6f 20 73 74 61 74 75 73 2e 6c 6f 20  bu.lo status.lo 
7fd0: 5c 0a 20 20 20 20 20 20 20 20 20 74 61 62 6c 65  \.         table
7fe0: 2e 6c 6f 20 74 68 72 65 61 64 73 2e 6c 6f 20 74  .lo threads.lo t
7ff0: 6f 6b 65 6e 69 7a 65 2e 6c 6f 20 74 72 65 65 76  okenize.lo treev
8000: 69 65 77 2e 6c 6f 20 74 72 69 67 67 65 72 2e 6c  iew.lo trigger.l
8010: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 75 70 64  o \.         upd
8020: 61 74 65 2e 6c 6f 20 75 70 73 65 72 74 2e 6c 6f  ate.lo upsert.lo
8030: 20 75 74 69 6c 2e 6c 6f 20 76 61 63 75 75 6d 2e   util.lo vacuum.
8040: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 76 64  lo \.         vd
8050: 62 65 61 70 69 2e 6c 6f 20 76 64 62 65 61 75 78  beapi.lo vdbeaux
8060: 2e 6c 6f 20 76 64 62 65 62 6c 6f 62 2e 6c 6f 20  .lo vdbeblob.lo 
8070: 76 64 62 65 6d 65 6d 2e 6c 6f 20 76 64 62 65 73  vdbemem.lo vdbes
8080: 6f 72 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ort.lo \.       
8090: 20 20 76 64 62 65 74 72 61 63 65 2e 6c 6f 20 77    vdbetrace.lo w
80a0: 61 6c 2e 6c 6f 20 77 61 6c 6b 65 72 2e 6c 6f 20  al.lo walker.lo 
80b0: 77 68 65 72 65 2e 6c 6f 20 77 68 65 72 65 63 6f  where.lo whereco
80c0: 64 65 2e 6c 6f 20 77 68 65 72 65 65 78 70 72 2e  de.lo whereexpr.
80d0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 77 69  lo \.         wi
80e0: 6e 64 6f 77 2e 6c 6f 20 75 74 66 2e 6c 6f 20 76  ndow.lo utf.lo v
80f0: 74 61 62 2e 6c 6f 0a 23 20 3c 3c 2f 6d 61 72 6b  tab.lo.# <</mark
8100: 3e 3e 0a 0a 23 20 4f 62 6a 65 63 74 20 66 69 6c  >>..# Object fil
8110: 65 73 20 66 6f 72 20 74 68 65 20 61 6d 61 6c 67  es for the amalg
8120: 61 6d 61 74 69 6f 6e 2e 0a 23 0a 4c 49 42 4f 42  amation..#.LIBOB
8130: 4a 53 31 20 3d 20 73 71 6c 69 74 65 33 2e 6c 6f  JS1 = sqlite3.lo
8140: 0a 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 74 68  ..# Determine th
8150: 65 20 72 65 61 6c 20 76 61 6c 75 65 20 6f 66 20  e real value of 
8160: 4c 49 42 4f 42 4a 20 62 61 73 65 64 20 6f 6e 20  LIBOBJ based on 
8170: 74 68 65 20 27 63 6f 6e 66 69 67 75 72 65 27 20  the 'configure' 
8180: 73 63 72 69 70 74 0a 23 0a 23 20 3c 3c 6d 61 72  script.#.# <<mar
8190: 6b 3e 3e 0a 21 49 46 20 24 28 55 53 45 5f 41 4d  k>>.!IF $(USE_AM
81a0: 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 4c  ALGAMATION)==0.L
81b0: 49 42 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a  IBOBJ = $(LIBOBJ
81c0: 53 30 29 0a 21 45 4c 53 45 0a 23 20 3c 3c 2f 6d  S0).!ELSE.# <</m
81d0: 61 72 6b 3e 3e 0a 4c 49 42 4f 42 4a 20 3d 20 24  ark>>.LIBOBJ = $
81e0: 28 4c 49 42 4f 42 4a 53 31 29 0a 23 20 3c 3c 6d  (LIBOBJS1).# <<m
81f0: 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 23 20 3c  ark>>.!ENDIF.# <
8200: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65 74 65  </mark>>..# Dete
8210: 72 6d 69 6e 65 20 69 66 20 65 6d 62 65 64 64 65  rmine if embedde
8220: 64 20 72 65 73 6f 75 72 63 65 20 63 6f 6d 70 69  d resource compi
8230: 6c 61 74 69 6f 6e 20 61 6e 64 20 75 73 61 67 65  lation and usage
8240: 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a   are enabled..#.
8250: 21 49 46 20 24 28 55 53 45 5f 52 43 29 21 3d 30  !IF $(USE_RC)!=0
8260: 0a 4c 49 42 52 45 53 4f 42 4a 53 20 3d 20 73 71  .LIBRESOBJS = sq
8270: 6c 69 74 65 33 72 65 73 2e 6c 6f 0a 21 45 4c 53  lite3res.lo.!ELS
8280: 45 0a 4c 49 42 52 45 53 4f 42 4a 53 20 3d 0a 21  E.LIBRESOBJS =.!
8290: 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  ENDIF..# <<mark>
82a0: 3e 0a 23 20 43 6f 72 65 20 73 6f 75 72 63 65 20  >.# Core source 
82b0: 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74  code files, part
82c0: 20 31 2e 0a 23 0a 53 52 43 30 30 20 3d 20 5c 0a   1..#.SRC00 = \.
82d0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c 74    $(TOP)\src\alt
82e0: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\
82f0: 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20 5c 0a  src\analyze.c \.
8300: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 74 74    $(TOP)\src\att
8310: 61 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ach.c \.  $(TOP)
8320: 5c 73 72 63 5c 61 75 74 68 2e 63 20 5c 0a 20 20  \src\auth.c \.  
8330: 24 28 54 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75  $(TOP)\src\backu
8340: 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  p.c \.  $(TOP)\s
8350: 72 63 5c 62 69 74 76 65 63 2e 63 20 5c 0a 20 20  rc\bitvec.c \.  
8360: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74  $(TOP)\src\btmut
8370: 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ex.c \.  $(TOP)\
8380: 73 72 63 5c 62 74 72 65 65 2e 63 20 5c 0a 20 20  src\btree.c \.  
8390: 24 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64  $(TOP)\src\build
83a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
83b0: 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 20 5c 0a 20  c\callback.c \. 
83c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70   $(TOP)\src\comp
83d0: 6c 65 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  lete.c \.  $(TOP
83e0: 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20 5c 0a  )\src\ctime.c \.
83f0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74    $(TOP)\src\dat
8400: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
8410: 72 63 5c 64 62 70 61 67 65 2e 63 20 5c 0a 20 20  rc\dbpage.c \.  
8420: 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 61  $(TOP)\src\dbsta
8430: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s
8440: 72 63 5c 64 65 6c 65 74 65 2e 63 20 5c 0a 20 20  rc\delete.c \.  
8450: 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e  $(TOP)\src\expr.
8460: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8470: 5c 66 61 75 6c 74 2e 63 20 5c 0a 20 20 24 28 54  \fault.c \.  $(T
8480: 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20 5c  OP)\src\fkey.c \
8490: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 75  .  $(TOP)\src\fu
84a0: 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  nc.c \.  $(TOP)\
84b0: 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 20 5c 0a 20  src\global.c \. 
84c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68   $(TOP)\src\hash
84d0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
84e0: 63 5c 69 6e 73 65 72 74 2e 63 20 5c 0a 20 20 24  c\insert.c \.  $
84f0: 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79  (TOP)\src\legacy
8500: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8510: 63 5c 6c 6f 61 64 65 78 74 2e 63 20 5c 0a 20 20  c\loadext.c \.  
8520: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e  $(TOP)\src\main.
8530: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8540: 5c 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24 28  \malloc.c \.  $(
8550: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20  TOP)\src\mem0.c 
8560: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
8570: 65 6d 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  em1.c \.  $(TOP)
8580: 5c 73 72 63 5c 6d 65 6d 32 2e 63 20 5c 0a 20 20  \src\mem2.c \.  
8590: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e  $(TOP)\src\mem3.
85a0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
85b0: 5c 6d 65 6d 35 2e 63 20 5c 0a 20 20 24 28 54 4f  \mem5.c \.  $(TO
85c0: 50 29 5c 73 72 63 5c 6d 65 6d 64 62 2e 63 20 5c  P)\src\memdb.c \
85d0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  .  $(TOP)\src\me
85e0: 6d 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 20 24  mjournal.c \.  $
85f0: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e  (TOP)\src\mutex.
8600: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8610: 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 5c 0a  \mutex_noop.c \.
8620: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74    $(TOP)\src\mut
8630: 65 78 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28  ex_unix.c \.  $(
8640: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77  TOP)\src\mutex_w
8650: 33 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  32.c \.  $(TOP)\
8660: 73 72 63 5c 6e 6f 74 69 66 79 2e 63 20 5c 0a 20  src\notify.c \. 
8670: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63   $(TOP)\src\os.c
8680: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8690: 6f 73 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28  os_unix.c \.  $(
86a0: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e  TOP)\src\os_win.
86b0: 63 0a 0a 23 20 43 6f 72 65 20 73 6f 75 72 63 65  c..# Core source
86c0: 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72   code files, par
86d0: 74 20 32 2e 0a 23 0a 53 52 43 30 31 20 3d 20 5c  t 2..#.SRC01 = \
86e0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61  .  $(TOP)\src\pa
86f0: 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ger.c \.  $(TOP)
8700: 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 20 5c 0a  \src\pcache.c \.
8710: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61    $(TOP)\src\pca
8720: 63 68 65 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50  che1.c \.  $(TOP
8730: 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 20 5c  )\src\pragma.c \
8740: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  .  $(TOP)\src\pr
8750: 65 70 61 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f  epare.c \.  $(TO
8760: 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 20  P)\src\printf.c 
8770: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72  \.  $(TOP)\src\r
8780: 61 6e 64 6f 6d 2e 63 20 5c 0a 20 20 24 28 54 4f  andom.c \.  $(TO
8790: 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63  P)\src\resolve.c
87a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
87b0: 72 6f 77 73 65 74 2e 63 20 5c 0a 20 20 24 28 54  rowset.c \.  $(T
87c0: 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63  OP)\src\select.c
87d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
87e0: 73 74 61 74 75 73 2e 63 20 5c 0a 20 20 24 28 54  status.c \.  $(T
87f0: 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20  OP)\src\table.c 
8800: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8810: 68 72 65 61 64 73 2e 63 20 5c 0a 20 20 24 28 54  hreads.c \.  $(T
8820: 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74  OP)\src\tclsqlit
8830: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
8840: 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a  rc\tokenize.c \.
8850: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65    $(TOP)\src\tre
8860: 65 76 69 65 77 2e 63 20 5c 0a 20 20 24 28 54 4f  eview.c \.  $(TO
8870: 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63  P)\src\trigger.c
8880: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8890: 75 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  utf.c \.  $(TOP)
88a0: 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 20 5c 0a  \src\update.c \.
88b0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 73    $(TOP)\src\ups
88c0: 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ert.c \.  $(TOP)
88d0: 5c 73 72 63 5c 75 74 69 6c 2e 63 20 5c 0a 20 20  \src\util.c \.  
88e0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75  $(TOP)\src\vacuu
88f0: 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  m.c \.  $(TOP)\s
8900: 72 63 5c 76 64 62 65 2e 63 20 5c 0a 20 20 24 28  rc\vdbe.c \.  $(
8910: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69  TOP)\src\vdbeapi
8920: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8930: 63 5c 76 64 62 65 61 75 78 2e 63 20 5c 0a 20 20  c\vdbeaux.c \.  
8940: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62  $(TOP)\src\vdbeb
8950: 6c 6f 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  lob.c \.  $(TOP)
8960: 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 20 5c  \src\vdbemem.c \
8970: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  .  $(TOP)\src\vd
8980: 62 65 73 6f 72 74 2e 63 20 5c 0a 20 20 24 28 54  besort.c \.  $(T
8990: 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63  OP)\src\vdbetrac
89a0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
89b0: 72 63 5c 76 74 61 62 2e 63 20 5c 0a 20 20 24 28  rc\vtab.c \.  $(
89c0: 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20 5c  TOP)\src\wal.c \
89d0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61  .  $(TOP)\src\wa
89e0: 6c 6b 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  lker.c \.  $(TOP
89f0: 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 20 5c 0a  )\src\where.c \.
8a00: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65    $(TOP)\src\whe
8a10: 72 65 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54  recode.c \.  $(T
8a20: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70  OP)\src\whereexp
8a30: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  r.c \.  $(TOP)\s
8a40: 72 63 5c 77 69 6e 64 6f 77 2e 63 0a 0a 23 20 43  rc\window.c..# C
8a50: 6f 72 65 20 6d 69 73 63 65 6c 6c 61 6e 65 6f 75  ore miscellaneou
8a60: 73 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43 30 33  s files..#.SRC03
8a70: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72   = \.  $(TOP)\sr
8a80: 63 5c 70 61 72 73 65 2e 79 0a 0a 23 20 43 6f 72  c\parse.y..# Cor
8a90: 65 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20  e header files, 
8aa0: 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 30 34 20  part 1..#.SRC04 
8ab0: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  = \.  $(TOP)\src
8ac0: 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 24 28 54  \btree.h \.  $(T
8ad0: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 49 6e 74  OP)\src\btreeInt
8ae0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
8af0: 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54  c\hash.h \.  $(T
8b00: 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e 68  OP)\src\hwtime.h
8b10: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8b20: 6d 73 76 63 2e 68 20 5c 0a 20 20 24 28 54 4f 50  msvc.h \.  $(TOP
8b30: 29 5c 73 72 63 5c 6d 75 74 65 78 2e 68 20 5c 0a  )\src\mutex.h \.
8b40: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e    $(TOP)\src\os.
8b50: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
8b60: 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20  \os_common.h \. 
8b70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 73   $(TOP)\src\os_s
8b80: 65 74 75 70 2e 68 20 5c 0a 20 20 24 28 54 4f 50  etup.h \.  $(TOP
8b90: 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 0a 0a  )\src\os_win.h..
8ba0: 23 20 43 6f 72 65 20 68 65 61 64 65 72 20 66 69  # Core header fi
8bb0: 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53  les, part 2..#.S
8bc0: 52 43 30 35 20 3d 20 5c 0a 20 20 24 28 54 4f 50  RC05 = \.  $(TOP
8bd0: 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 20 5c 0a  )\src\pager.h \.
8be0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61    $(TOP)\src\pca
8bf0: 63 68 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  che.h \.  $(TOP)
8c00: 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68 20 5c 0a  \src\pragma.h \.
8c10: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c    $(TOP)\src\sql
8c20: 69 74 65 2e 68 2e 69 6e 20 5c 0a 20 20 24 28 54  ite.h.in \.  $(T
8c30: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 65  OP)\src\sqlite3e
8c40: 78 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  xt.h \.  $(TOP)\
8c50: 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68 20  src\sqliteInt.h 
8c60: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s
8c70: 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a 20  qliteLimit.h \. 
8c80: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
8c90: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
8ca0: 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20 20  c\vdbeInt.h \.  
8cb0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 78 77 6f 72  $(TOP)\src\vxwor
8cc0: 6b 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ks.h \.  $(TOP)\
8cd0: 73 72 63 5c 77 61 6c 2e 68 20 5c 0a 20 20 24 28  src\wal.h \.  $(
8ce0: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49 6e  TOP)\src\whereIn
8cf0: 74 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e  t.h..# Extension
8d00: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c   source code fil
8d10: 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52  es, part 1..#.SR
8d20: 43 30 36 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C06 = \.  $(TOP)
8d30: 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 63  \ext\fts1\fts1.c
8d40: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8d50: 66 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 63  fts1\fts1_hash.c
8d60: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8d70: 66 74 73 31 5c 66 74 73 31 5f 70 6f 72 74 65 72  fts1\fts1_porter
8d80: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8d90: 74 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65  t\fts1\fts1_toke
8da0: 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24 28 54  nizer1.c \.  $(T
8db0: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
8dc0: 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  2.c \.  $(TOP)\e
8dd0: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73  xt\fts2\fts2_has
8de0: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  h.c \.  $(TOP)\e
8df0: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75  xt\fts2\fts2_icu
8e00: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8e10: 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74  t\fts2\fts2_port
8e20: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\
8e30: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f  ext\fts2\fts2_to
8e40: 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24 28  kenizer.c \.  $(
8e50: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
8e60: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a  s2_tokenizer1.c.
8e70: 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 73 6f 75  .# Extension sou
8e80: 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20  rce code files, 
8e90: 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 37 20  part 2..#.SRC07 
8ea0: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  = \.  $(TOP)\ext
8eb0: 5c 66 74 73 33 5c 66 74 73 33 2e 63 20 5c 0a 20  \fts3\fts3.c \. 
8ec0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
8ed0: 5c 66 74 73 33 5f 61 75 78 2e 63 20 5c 0a 20 20  \fts3_aux.c \.  
8ee0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
8ef0: 66 74 73 33 5f 65 78 70 72 2e 63 20 5c 0a 20 20  fts3_expr.c \.  
8f00: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
8f10: 66 74 73 33 5f 68 61 73 68 2e 63 20 5c 0a 20 20  fts3_hash.c \.  
8f20: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
8f30: 66 74 73 33 5f 69 63 75 2e 63 20 5c 0a 20 20 24  fts3_icu.c \.  $
8f40: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
8f50: 74 73 33 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20  ts3_porter.c \. 
8f60: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
8f70: 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 20  \fts3_snippet.c 
8f80: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
8f90: 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  ts3\fts3_tokeniz
8fa0: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\
8fb0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
8fc0: 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24  kenizer1.c \.  $
8fd0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
8fe0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61  ts3_tokenize_vta
8ff0: 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  b.c \.  $(TOP)\e
9000: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69  xt\fts3\fts3_uni
9010: 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  code.c \.  $(TOP
9020: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
9030: 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20 24  unicode2.c \.  $
9040: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
9050: 74 73 33 5f 77 72 69 74 65 2e 63 20 5c 0a 20 20  ts3_write.c \.  
9060: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69  $(TOP)\ext\icu\i
9070: 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  cu.c \.  $(TOP)\
9080: 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e  ext\rtree\rtree.
9090: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
90a0: 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33  \session\sqlite3
90b0: 73 65 73 73 69 6f 6e 2e 63 20 5c 0a 20 20 24 28  session.c \.  $(
90c0: 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c  TOP)\ext\rbu\sql
90d0: 69 74 65 33 72 62 75 2e 63 20 5c 0a 20 20 24 28  ite3rbu.c \.  $(
90e0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a 73  TOP)\ext\misc\js
90f0: 6f 6e 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  on1.c \.  $(TOP)
9100: 5c 65 78 74 5c 6d 69 73 63 5c 73 74 6d 74 2e 63  \ext\misc\stmt.c
9110: 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 68 65  ..# Extension he
9120: 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74  ader files, part
9130: 20 31 2e 0a 23 0a 53 52 43 30 38 20 3d 20 5c 0a   1..#.SRC08 = \.
9140: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
9150: 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54  1\fts1.h \.  $(T
9160: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
9170: 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54  1_hash.h \.  $(T
9180: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
9190: 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a  1_tokenizer.h \.
91a0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
91b0: 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 54  2\fts2.h \.  $(T
91c0: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
91d0: 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54  2_hash.h \.  $(T
91e0: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
91f0: 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 0a 23  2_tokenizer.h..#
9200: 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 61 64 65   Extension heade
9210: 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e  r files, part 2.
9220: 0a 23 0a 53 52 43 30 39 20 3d 20 5c 0a 20 20 24  .#.SRC09 = \.  $
9230: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
9240: 74 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ts3.h \.  $(TOP)
9250: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49 6e  \ext\fts3\fts3In
9260: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  t.h \.  $(TOP)\e
9270: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73  xt\fts3\fts3_has
9280: 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  h.h \.  $(TOP)\e
9290: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
92a0: 65 6e 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54  enizer.h \.  $(T
92b0: 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73 71 6c 69  OP)\ext\icu\sqli
92c0: 74 65 69 63 75 2e 68 20 5c 0a 20 20 24 28 54 4f  teicu.h \.  $(TO
92d0: 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72  P)\ext\rtree\rtr
92e0: 65 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ee.h \.  $(TOP)\
92f0: 65 78 74 5c 72 74 72 65 65 5c 67 65 6f 70 6f 6c  ext\rtree\geopol
9300: 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  y.c \.  $(TOP)\e
9310: 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62  xt\rbu\sqlite3rb
9320: 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  u.h \.  $(TOP)\e
9330: 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74  xt\session\sqlit
9340: 65 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20 47  e3session.h..# G
9350: 65 6e 65 72 61 74 65 64 20 73 6f 75 72 63 65 20  enerated source 
9360: 63 6f 64 65 20 66 69 6c 65 73 0a 23 0a 53 52 43  code files.#.SRC
9370: 31 30 20 3d 20 5c 0a 20 20 6f 70 63 6f 64 65 73  10 = \.  opcodes
9380: 2e 63 20 5c 0a 20 20 70 61 72 73 65 2e 63 0a 0a  .c \.  parse.c..
9390: 23 20 47 65 6e 65 72 61 74 65 64 20 68 65 61 64  # Generated head
93a0: 65 72 20 66 69 6c 65 73 0a 23 0a 53 52 43 31 31  er files.#.SRC11
93b0: 20 3d 20 5c 0a 20 20 6b 65 79 77 6f 72 64 68 61   = \.  keywordha
93c0: 73 68 2e 68 20 5c 0a 20 20 6f 70 63 6f 64 65 73  sh.h \.  opcodes
93d0: 2e 68 20 5c 0a 20 20 70 61 72 73 65 2e 68 20 5c  .h \.  parse.h \
93e0: 0a 20 20 73 68 65 6c 6c 2e 63 20 5c 0a 20 20 24  .  shell.c \.  $
93f0: 28 53 51 4c 49 54 45 33 48 29 0a 0a 23 20 47 65  (SQLITE3H)..# Ge
9400: 6e 65 72 61 74 65 64 20 54 63 6c 20 68 65 61 64  nerated Tcl head
9410: 65 72 20 66 69 6c 65 73 0a 23 0a 21 49 46 20 24  er files.#.!IF $
9420: 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30  (USE_STDCALL)!=0
9430: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10)
9440: 21 3d 30 0a 53 52 43 31 32 20 3d 20 5c 0a 20 20  !=0.SRC12 = \.  
9450: 24 28 53 51 4c 49 54 45 54 43 4c 48 29 20 5c 0a  $(SQLITETCLH) \.
9460: 20 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43    $(SQLITETCLDEC
9470: 4c 53 48 29 0a 21 45 4c 53 45 0a 53 52 43 31 32  LSH).!ELSE.SRC12
9480: 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 41 6c 6c   =.!ENDIF..# All
9490: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c   source code fil
94a0: 65 73 2e 0a 23 0a 53 52 43 20 3d 20 24 28 53 52  es..#.SRC = $(SR
94b0: 43 30 30 29 20 24 28 53 52 43 30 31 29 20 24 28  C00) $(SRC01) $(
94c0: 53 52 43 30 33 29 20 24 28 53 52 43 30 34 29 20  SRC03) $(SRC04) 
94d0: 24 28 53 52 43 30 35 29 20 24 28 53 52 43 30 36  $(SRC05) $(SRC06
94e0: 29 20 24 28 53 52 43 30 37 29 20 24 28 53 52 43  ) $(SRC07) $(SRC
94f0: 30 38 29 20 24 28 53 52 43 30 39 29 20 24 28 53  08) $(SRC09) $(S
9500: 52 43 31 30 29 20 24 28 53 52 43 31 31 29 0a 0a  RC10) $(SRC11)..
9510: 23 20 53 6f 75 72 63 65 20 63 6f 64 65 20 74 6f  # Source code to
9520: 20 74 68 65 20 74 65 73 74 20 66 69 6c 65 73 2e   the test files.
9530: 0a 23 0a 54 45 53 54 53 52 43 20 3d 20 5c 0a 20  .#.TESTSRC = \. 
9540: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
9550: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  1.c \.  $(TOP)\s
9560: 72 63 5c 74 65 73 74 32 2e 63 20 5c 0a 20 20 24  rc\test2.c \.  $
9570: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 33 2e  (TOP)\src\test3.
9580: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9590: 5c 74 65 73 74 34 2e 63 20 5c 0a 20 20 24 28 54  \test4.c \.  $(T
95a0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 35 2e 63 20  OP)\src\test5.c 
95b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
95c0: 65 73 74 36 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est6.c \.  $(TOP
95d0: 29 5c 73 72 63 5c 74 65 73 74 37 2e 63 20 5c 0a  )\src\test7.c \.
95e0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
95f0: 74 38 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  t8.c \.  $(TOP)\
9600: 73 72 63 5c 74 65 73 74 39 2e 63 20 5c 0a 20 20  src\test9.c \.  
9610: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9620: 61 75 74 6f 65 78 74 2e 63 20 5c 0a 20 20 24 28  autoext.c \.  $(
9630: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 61 73  TOP)\src\test_as
9640: 79 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ync.c \.  $(TOP)
9650: 5c 73 72 63 5c 74 65 73 74 5f 62 61 63 6b 75 70  \src\test_backup
9660: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
9670: 63 5c 74 65 73 74 5f 62 65 73 74 69 6e 64 65 78  c\test_bestindex
9680: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
9690: 63 5c 74 65 73 74 5f 62 6c 6f 62 2e 63 20 5c 0a  c\test_blob.c \.
96a0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
96b0: 74 5f 62 74 72 65 65 2e 63 20 5c 0a 20 20 24 28  t_btree.c \.  $(
96c0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 63 6f  TOP)\src\test_co
96d0: 6e 66 69 67 2e 63 20 5c 0a 20 20 24 28 54 4f 50  nfig.c \.  $(TOP
96e0: 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 6c 65 74  )\src\test_delet
96f0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
9700: 72 63 5c 74 65 73 74 5f 64 65 6d 6f 76 66 73 2e  rc\test_demovfs.
9710: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9720: 5c 74 65 73 74 5f 64 65 76 73 79 6d 2e 63 20 5c  \test_devsym.c \
9730: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9740: 73 74 5f 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f  st_fs.c \.  $(TO
9750: 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 75 6e 63  P)\src\test_func
9760: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
9770: 63 5c 74 65 73 74 5f 68 65 78 69 6f 2e 63 20 5c  c\test_hexio.c \
9780: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9790: 73 74 5f 69 6e 69 74 2e 63 20 5c 0a 20 20 24 28  st_init.c \.  $(
97a0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e  TOP)\src\test_in
97b0: 74 61 72 72 61 79 2e 63 20 5c 0a 20 20 24 28 54  tarray.c \.  $(T
97c0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6a 6f 75  OP)\src\test_jou
97d0: 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50  rnal.c \.  $(TOP
97e0: 29 5c 73 72 63 5c 74 65 73 74 5f 6d 61 6c 6c 6f  )\src\test_mallo
97f0: 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  c.c \.  $(TOP)\s
9800: 72 63 5c 74 65 73 74 5f 6d 64 35 2e 63 20 5c 0a  rc\test_md5.c \.
9810: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9820: 74 5f 6d 75 6c 74 69 70 6c 65 78 2e 63 20 5c 0a  t_multiplex.c \.
9830: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9840: 74 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28  t_mutex.c \.  $(
9850: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 6e  TOP)\src\test_on
9860: 65 66 69 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f  efile.c \.  $(TO
9870: 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 73 69 6e  P)\src\test_osin
9880: 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  st.c \.  $(TOP)\
9890: 73 72 63 5c 74 65 73 74 5f 70 63 61 63 68 65 2e  src\test_pcache.
98a0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
98b0: 5c 74 65 73 74 5f 71 75 6f 74 61 2e 63 20 5c 0a  \test_quota.c \.
98c0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
98d0: 74 5f 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28  t_rtree.c \.  $(
98e0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 63  TOP)\src\test_sc
98f0: 68 65 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50  hema.c \.  $(TOP
9900: 29 5c 73 72 63 5c 74 65 73 74 5f 73 65 72 76 65  )\src\test_serve
9910: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  r.c \.  $(TOP)\s
9920: 72 63 5c 74 65 73 74 5f 73 75 70 65 72 6c 6f 63  rc\test_superloc
9930: 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  k.c \.  $(TOP)\s
9940: 72 63 5c 74 65 73 74 5f 73 79 73 63 61 6c 6c 2e  rc\test_syscall.
9950: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9960: 5c 74 65 73 74 5f 74 63 6c 73 68 2e 63 20 5c 0a  \test_tclsh.c \.
9970: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9980: 74 5f 74 63 6c 76 61 72 2e 63 20 5c 0a 20 20 24  t_tclvar.c \.  $
9990: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 74  (TOP)\src\test_t
99a0: 68 72 65 61 64 2e 63 20 5c 0a 20 20 24 28 54 4f  hread.c \.  $(TO
99b0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 76 66 73 2e  P)\src\test_vfs.
99c0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
99d0: 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 6e 74 2e  \test_windirent.
99e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
99f0: 5c 74 65 73 74 5f 77 69 6e 64 6f 77 2e 63 20 5c  \test_window.c \
9a00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9a10: 73 74 5f 77 73 64 2e 63 20 5c 0a 20 20 24 28 54  st_wsd.c \.  $(T
9a20: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
9a30: 33 5f 74 65 72 6d 2e 63 20 5c 0a 20 20 24 28 54  3_term.c \.  $(T
9a40: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
9a50: 33 5f 74 65 73 74 2e 63 20 5c 0a 20 20 24 28 54  3_test.c \.  $(T
9a60: 4f 50 29 5c 65 78 74 5c 72 62 75 5c 74 65 73 74  OP)\ext\rbu\test
9a70: 5f 72 62 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50  _rbu.c \.  $(TOP
9a80: 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 74 65  )\ext\session\te
9a90: 73 74 5f 73 65 73 73 69 6f 6e 2e 63 0a 0a 23 20  st_session.c..# 
9aa0: 53 74 61 74 69 63 61 6c 6c 79 20 6c 69 6e 6b 65  Statically linke
9ab0: 64 20 65 78 74 65 6e 73 69 6f 6e 73 2e 0a 23 0a  d extensions..#.
9ac0: 54 45 53 54 45 58 54 20 3d 20 5c 0a 20 20 24 28  TESTEXT = \.  $(
9ad0: 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c  TOP)\ext\expert\
9ae0: 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 63 20  sqlite3expert.c 
9af0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 65  \.  $(TOP)\ext\e
9b00: 78 70 65 72 74 5c 74 65 73 74 5f 65 78 70 65 72  xpert\test_exper
9b10: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  t.c \.  $(TOP)\e
9b20: 78 74 5c 6d 69 73 63 5c 61 6d 61 74 63 68 2e 63  xt\misc\amatch.c
9b30: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9b40: 6d 69 73 63 5c 63 61 72 72 61 79 2e 63 20 5c 0a  misc\carray.c \.
9b50: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
9b60: 63 5c 63 6c 6f 73 75 72 65 2e 63 20 5c 0a 20 20  c\closure.c \.  
9b70: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
9b80: 63 73 76 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  csv.c \.  $(TOP)
9b90: 5c 65 78 74 5c 6d 69 73 63 5c 65 76 61 6c 2e 63  \ext\misc\eval.c
9ba0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9bb0: 6d 69 73 63 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a  misc\fileio.c \.
9bc0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
9bd0: 63 5c 66 75 7a 7a 65 72 2e 63 20 5c 0a 20 20 24  c\fuzzer.c \.  $
9be0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
9bf0: 74 73 35 5f 74 63 6c 2e 63 20 5c 0a 20 20 24 28  ts5_tcl.c \.  $(
9c00: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
9c10: 73 35 5f 74 65 73 74 5f 6d 69 2e 63 20 5c 0a 20  s5_test_mi.c \. 
9c20: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
9c30: 5c 66 74 73 35 5f 74 65 73 74 5f 74 6f 6b 2e 63  \fts5_test_tok.c
9c40: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9c50: 6d 69 73 63 5c 69 65 65 65 37 35 34 2e 63 20 5c  misc\ieee754.c \
9c60: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
9c70: 73 63 5c 6d 6d 61 70 77 61 72 6d 2e 63 20 5c 0a  sc\mmapwarm.c \.
9c80: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
9c90: 63 5c 6e 65 78 74 63 68 61 72 2e 63 20 5c 0a 20  c\nextchar.c \. 
9ca0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
9cb0: 5c 6e 6f 72 6d 61 6c 69 7a 65 2e 63 20 5c 0a 20  \normalize.c \. 
9cc0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
9cd0: 5c 70 65 72 63 65 6e 74 69 6c 65 2e 63 20 5c 0a  \percentile.c \.
9ce0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
9cf0: 63 5c 72 65 67 65 78 70 2e 63 20 5c 0a 20 20 24  c\regexp.c \.  $
9d00: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 72  (TOP)\ext\misc\r
9d10: 65 6d 65 6d 62 65 72 2e 63 20 5c 0a 20 20 24 28  emember.c \.  $(
9d20: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 65  TOP)\ext\misc\se
9d30: 72 69 65 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ries.c \.  $(TOP
9d40: 29 5c 65 78 74 5c 6d 69 73 63 5c 73 70 65 6c 6c  )\ext\misc\spell
9d50: 66 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  fix.c \.  $(TOP)
9d60: 5c 65 78 74 5c 6d 69 73 63 5c 74 6f 74 79 70 65  \ext\misc\totype
9d70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9d80: 74 5c 6d 69 73 63 5c 75 6e 69 6f 6e 76 74 61 62  t\misc\unionvtab
9d90: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9da0: 74 5c 6d 69 73 63 5c 77 68 6f 6c 65 6e 75 6d 62  t\misc\wholenumb
9db0: 65 72 2e 63 0a 0a 23 20 49 66 20 75 73 65 20 6f  er.c..# If use o
9dc0: 66 20 7a 6c 69 62 20 69 73 20 65 6e 61 62 6c 65  f zlib is enable
9dd0: 64 2c 20 61 64 64 20 74 68 65 20 22 7a 69 70 66  d, add the "zipf
9de0: 69 6c 65 2e 63 22 20 73 6f 75 72 63 65 20 66 69  ile.c" source fi
9df0: 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  le..#.!IF $(USE_
9e00: 5a 4c 49 42 29 21 3d 30 0a 54 45 53 54 45 58 54  ZLIB)!=0.TESTEXT
9e10: 20 3d 20 24 28 54 45 53 54 45 58 54 29 20 24 28   = $(TESTEXT) $(
9e20: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 7a 69  TOP)\ext\misc\zi
9e30: 70 66 69 6c 65 2e 63 0a 21 45 4e 44 49 46 0a 0a  pfile.c.!ENDIF..
9e40: 23 20 53 6f 75 72 63 65 20 63 6f 64 65 20 74 6f  # Source code to
9e50: 20 74 68 65 20 6c 69 62 72 61 72 79 20 66 69 6c   the library fil
9e60: 65 73 20 6e 65 65 64 65 64 20 62 79 20 74 68 65  es needed by the
9e70: 20 74 65 73 74 20 66 69 78 74 75 72 65 0a 23 20   test fixture.# 
9e80: 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f  (non-amalgamatio
9e90: 6e 29 0a 23 0a 54 45 53 54 53 52 43 32 20 3d 20  n).#.TESTSRC2 = 
9ea0: 5c 0a 20 20 24 28 53 52 43 30 30 29 20 5c 0a 20  \.  $(SRC00) \. 
9eb0: 20 24 28 53 52 43 30 31 29 20 5c 0a 20 20 24 28   $(SRC01) \.  $(
9ec0: 53 52 43 30 36 29 20 5c 0a 20 20 24 28 53 52 43  SRC06) \.  $(SRC
9ed0: 30 37 29 20 5c 0a 20 20 24 28 53 52 43 31 30 29  07) \.  $(SRC10)
9ee0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9ef0: 61 73 79 6e 63 5c 73 71 6c 69 74 65 33 61 73 79  async\sqlite3asy
9f00: 6e 63 2e 63 0a 0a 23 20 48 65 61 64 65 72 20 66  nc.c..# Header f
9f10: 69 6c 65 73 20 75 73 65 64 20 62 79 20 61 6c 6c  iles used by all
9f20: 20 6c 69 62 72 61 72 79 20 73 6f 75 72 63 65 20   library source 
9f30: 66 69 6c 65 73 2e 0a 23 0a 48 44 52 20 3d 20 5c  files..#.HDR = \
9f40: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62  .   $(TOP)\src\b
9f50: 74 72 65 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f  tree.h \.   $(TO
9f60: 50 29 5c 73 72 63 5c 62 74 72 65 65 49 6e 74 2e  P)\src\btreeInt.
9f70: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
9f80: 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 28  c\hash.h \.   $(
9f90: 54 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e  TOP)\src\hwtime.
9fa0: 68 20 5c 0a 20 20 20 6b 65 79 77 6f 72 64 68 61  h \.   keywordha
9fb0: 73 68 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  sh.h \.   $(TOP)
9fc0: 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c 0a 20 20  \src\msvc.h \.  
9fd0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65   $(TOP)\src\mute
9fe0: 78 2e 68 20 5c 0a 20 20 20 6f 70 63 6f 64 65 73  x.h \.   opcodes
9ff0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
a000: 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 20 24 28 54  rc\os.h \.   $(T
a010: 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f  OP)\src\os_commo
a020: 6e 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  n.h \.   $(TOP)\
a030: 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20 5c  src\os_setup.h \
a040: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f  .   $(TOP)\src\o
a050: 73 5f 77 69 6e 2e 68 20 5c 0a 20 20 20 24 28 54  s_win.h \.   $(T
a060: 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 20  OP)\src\pager.h 
a070: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\
a080: 70 63 61 63 68 65 2e 68 20 5c 0a 20 20 20 70 61  pcache.h \.   pa
a090: 72 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  rse.h \.   $(TOP
a0a0: 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68 20 5c  )\src\pragma.h \
a0b0: 0a 20 20 20 24 28 53 51 4c 49 54 45 33 48 29 20  .   $(SQLITE3H) 
a0c0: 5c 0a 20 20 20 73 71 6c 69 74 65 33 65 78 74 2e  \.   sqlite3ext.
a0d0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
a0e0: 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68 20 5c 0a  c\sqliteInt.h \.
a0f0: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71     $(TOP)\src\sq
a100: 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a 20 20  liteLimit.h \.  
a110: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
a120: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
a130: 72 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20  rc\vdbeInt.h \. 
a140: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 78 77    $(TOP)\src\vxw
a150: 6f 72 6b 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f  orks.h \.   $(TO
a160: 50 29 5c 73 72 63 5c 77 68 65 72 65 49 6e 74 2e  P)\src\whereInt.
a170: 68 0a 0a 23 20 48 65 61 64 65 72 20 66 69 6c 65  h..# Header file
a180: 73 20 75 73 65 64 20 62 79 20 65 78 74 65 6e 73  s used by extens
a190: 69 6f 6e 73 0a 23 0a 45 58 54 48 44 52 20 3d 20  ions.#.EXTHDR = 
a1a0: 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28  $(EXTHDR) \.  $(
a1b0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
a1c0: 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  s1.h \.  $(TOP)\
a1d0: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 68 61  ext\fts1\fts1_ha
a1e0: 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.h \.  $(TOP)\
a1f0: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f  ext\fts1\fts1_to
a200: 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44 52  kenizer.h.EXTHDR
a210: 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20   = $(EXTHDR) \. 
a220: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
a230: 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 54 4f  \fts2.h \.  $(TO
a240: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
a250: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  _hash.h \.  $(TO
a260: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
a270: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54  _tokenizer.h.EXT
a280: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20  HDR = $(EXTHDR) 
a290: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
a2a0: 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a 20 20 24  ts3\fts3.h \.  $
a2b0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
a2c0: 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54  ts3Int.h \.  $(T
a2d0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
a2e0: 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54  3_hash.h \.  $(T
a2f0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
a300: 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58  3_tokenizer.h.EX
a310: 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29  THDR = $(EXTHDR)
a320: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
a330: 72 74 72 65 65 5c 72 74 72 65 65 2e 68 20 5c 0a  rtree\rtree.h \.
a340: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72    $(TOP)\ext\rtr
a350: 65 65 5c 67 65 6f 70 6f 6c 79 2e 63 0a 45 58 54  ee\geopoly.c.EXT
a360: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20  HDR = $(EXTHDR) 
a370: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69  \.  $(TOP)\ext\i
a380: 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 0a 45  cu\sqliteicu.h.E
a390: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52  XTHDR = $(EXTHDR
a3a0: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext
a3b0: 5c 72 74 72 65 65 5c 73 71 6c 69 74 65 33 72 74  \rtree\sqlite3rt
a3c0: 72 65 65 2e 68 0a 45 58 54 48 44 52 20 3d 20 24  ree.h.EXTHDR = $
a3d0: 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54  (EXTHDR) \.  $(T
a3e0: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
a3f0: 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 68  sqlite3session.h
a400: 0a 0a 23 20 65 78 65 63 75 74 61 62 6c 65 73 20  ..# executables 
a410: 6e 65 65 64 65 64 20 66 6f 72 20 74 65 73 74 69  needed for testi
a420: 6e 67 0a 23 0a 54 45 53 54 50 52 4f 47 53 20 3d  ng.#.TESTPROGS =
a430: 20 5c 0a 20 20 74 65 73 74 66 69 78 74 75 72 65   \.  testfixture
a440: 2e 65 78 65 20 5c 0a 20 20 24 28 53 51 4c 49 54  .exe \.  $(SQLIT
a450: 45 33 45 58 45 29 20 5c 0a 20 20 73 71 6c 69 74  E3EXE) \.  sqlit
a460: 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65 20  e3_analyzer.exe 
a470: 5c 0a 20 20 73 71 6c 69 74 65 33 5f 63 68 65 63  \.  sqlite3_chec
a480: 6b 65 72 2e 65 78 65 20 5c 0a 20 20 73 71 6c 64  ker.exe \.  sqld
a490: 69 66 66 2e 65 78 65 20 5c 0a 20 20 64 62 68 61  iff.exe \.  dbha
a4a0: 73 68 2e 65 78 65 20 5c 0a 20 20 73 71 6c 74 63  sh.exe \.  sqltc
a4b0: 6c 73 68 2e 65 78 65 0a 0a 23 20 44 61 74 61 62  lsh.exe..# Datab
a4c0: 61 73 65 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20  ases containing 
a4d0: 66 75 7a 7a 65 72 20 74 65 73 74 20 63 61 73 65  fuzzer test case
a4e0: 73 0a 23 0a 46 55 5a 5a 44 41 54 41 20 3d 20 5c  s.#.FUZZDATA = \
a4f0: 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66  .  $(TOP)\test\f
a500: 75 7a 7a 64 61 74 61 31 2e 64 62 20 5c 0a 20 20  uzzdata1.db \.  
a510: 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a  $(TOP)\test\fuzz
a520: 64 61 74 61 32 2e 64 62 20 5c 0a 20 20 24 28 54  data2.db \.  $(T
a530: 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74  OP)\test\fuzzdat
a540: 61 33 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29  a3.db \.  $(TOP)
a550: 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 34 2e  \test\fuzzdata4.
a560: 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65  db \.  $(TOP)\te
a570: 73 74 5c 66 75 7a 7a 64 61 74 61 35 2e 64 62 20  st\fuzzdata5.db 
a580: 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  \.  $(TOP)\test\
a590: 66 75 7a 7a 64 61 74 61 36 2e 64 62 0a 23 20 3c  fuzzdata6.db.# <
a5a0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 41 64 64 69  </mark>>..# Addi
a5b0: 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20  tional compiler 
a5c0: 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20  options for the 
a5d0: 73 68 65 6c 6c 2e 20 20 54 68 65 73 65 20 61 72  shell.  These ar
a5e0: 65 20 6f 6e 6c 79 20 65 66 66 65 63 74 69 76 65  e only effective
a5f0: 0a 23 20 77 68 65 6e 20 74 68 65 20 73 68 65 6c  .# when the shel
a600: 6c 20 69 73 20 6e 6f 74 20 62 65 69 6e 67 20 64  l is not being d
a610: 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 65  ynamically linke
a620: 64 2e 0a 23 0a 21 49 46 20 24 28 44 59 4e 41 4d  d..#.!IF $(DYNAM
a630: 49 43 5f 53 48 45 4c 4c 29 3d 3d 30 20 26 26 20  IC_SHELL)==0 && 
a640: 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 0a  $(FOR_WIN10)==0.
a650: 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50  SHELL_COMPILE_OP
a660: 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d  TS = $(SHELL_COM
a670: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c  PILE_OPTS) -DSQL
a680: 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31  ITE_ENABLE_JSON1
a690: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
a6a0: 5f 46 54 53 34 20 2d 44 53 51 4c 49 54 45 5f 45  _FTS4 -DSQLITE_E
a6b0: 4e 41 42 4c 45 5f 45 58 50 4c 41 49 4e 5f 43 4f  NABLE_EXPLAIN_CO
a6c0: 4d 4d 45 4e 54 53 20 2d 44 53 51 4c 49 54 45 5f  MMENTS -DSQLITE_
a6d0: 45 4e 41 42 4c 45 5f 53 54 4d 54 56 54 41 42 0a  ENABLE_STMTVTAB.
a6e0: 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50  SHELL_COMPILE_OP
a6f0: 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d  TS = $(SHELL_COM
a700: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c  PILE_OPTS) -DSQL
a710: 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42 50 41 47  ITE_ENABLE_DBPAG
a720: 45 5f 56 54 41 42 20 2d 44 53 51 4c 49 54 45 5f  E_VTAB -DSQLITE_
a730: 45 4e 41 42 4c 45 5f 44 42 53 54 41 54 5f 56 54  ENABLE_DBSTAT_VT
a740: 41 42 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45  AB.SHELL_COMPILE
a750: 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f  _OPTS = $(SHELL_
a760: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44  COMPILE_OPTS) -D
a770: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4f 46  SQLITE_ENABLE_OF
a780: 46 53 45 54 5f 53 51 4c 5f 46 55 4e 43 20 2d 44  FSET_SQL_FUNC -D
a790: 53 51 4c 49 54 45 5f 49 4e 54 52 4f 53 50 45 43  SQLITE_INTROSPEC
a7a0: 54 49 4f 4e 5f 50 52 41 47 4d 41 53 0a 53 48 45  TION_PRAGMAS.SHE
a7b0: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20  LL_COMPILE_OPTS 
a7c0: 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c  = $(SHELL_COMPIL
a7d0: 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45  E_OPTS) -DSQLITE
a7e0: 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 0a 21 45  _ENABLE_RTREE.!E
a7f0: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
a800: 0a 23 20 45 78 74 72 61 20 63 6f 6d 70 69 6c 65  .# Extra compile
a810: 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 76 61  r options for va
a820: 72 69 6f 75 73 20 74 65 73 74 20 74 6f 6f 6c 73  rious test tools
a830: 2e 0a 23 0a 4d 50 54 45 53 54 45 52 5f 43 4f 4d  ..#.MPTESTER_COM
a840: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51  PILE_OPTS = -DSQ
a850: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e  LITE_ENABLE_JSON
a860: 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  1 -DSQLITE_ENABL
a870: 45 5f 46 54 53 35 0a 46 55 5a 5a 45 52 53 48 45  E_FTS5.FUZZERSHE
a880: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20  LL_COMPILE_OPTS 
a890: 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  = -DSQLITE_ENABL
a8a0: 45 5f 4a 53 4f 4e 31 0a 46 55 5a 5a 43 48 45 43  E_JSON1.FUZZCHEC
a8b0: 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d  K_COMPILE_OPTS =
a8c0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
a8d0: 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f  _JSON1 -DSQLITE_
a8e0: 45 4e 41 42 4c 45 5f 4d 45 4d 53 59 53 35 20 2d  ENABLE_MEMSYS5 -
a8f0: 44 53 51 4c 49 54 45 5f 4f 53 53 5f 46 55 5a 5a  DSQLITE_OSS_FUZZ
a900: 20 2d 44 53 51 4c 49 54 45 5f 4d 41 58 5f 4d 45   -DSQLITE_MAX_ME
a910: 4d 4f 52 59 3d 35 30 30 30 30 30 30 30 20 2d 44  MORY=50000000 -D
a920: 53 51 4c 49 54 45 5f 50 52 49 4e 54 46 5f 50 52  SQLITE_PRINTF_PR
a930: 45 43 49 53 49 4f 4e 5f 4c 49 4d 49 54 3d 31 30  ECISION_LIMIT=10
a940: 30 30 0a 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43  00.FUZZCHECK_SRC
a950: 20 3d 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66   = $(TOP)\test\f
a960: 75 7a 7a 63 68 65 63 6b 2e 63 20 24 28 54 4f 50  uzzcheck.c $(TOP
a970: 29 5c 74 65 73 74 5c 6f 73 73 66 75 7a 7a 2e 63  )\test\ossfuzz.c
a980: 0a 4f 53 53 53 48 45 4c 4c 5f 53 52 43 20 3d 20  .OSSSHELL_SRC = 
a990: 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73 73  $(TOP)\test\osss
a9a0: 68 65 6c 6c 2e 63 20 24 28 54 4f 50 29 5c 74 65  hell.c $(TOP)\te
a9b0: 73 74 5c 6f 73 73 66 75 7a 7a 2e 63 0a 44 42 46  st\ossfuzz.c.DBF
a9c0: 55 5a 5a 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  UZZ_COMPILE_OPTS
a9d0: 20 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45   = -DSQLITE_THRE
a9e0: 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54  ADSAFE=0 -DSQLIT
a9f0: 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45  E_OMIT_LOAD_EXTE
aa00: 4e 53 49 4f 4e 0a 4b 56 5f 43 4f 4d 50 49 4c 45  NSION.KV_COMPILE
aa10: 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45  _OPTS = -DSQLITE
aa20: 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
aa30: 53 51 4c 49 54 45 5f 44 49 52 45 43 54 5f 4f 56  SQLITE_DIRECT_OV
aa40: 45 52 46 4c 4f 57 5f 52 45 41 44 0a 53 54 5f 43  ERFLOW_READ.ST_C
aa50: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44  OMPILE_OPTS = -D
aa60: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
aa70: 45 3d 30 0a 0a 23 20 53 74 61 6e 64 61 72 64 20  E=0..# Standard 
aa80: 6f 70 74 69 6f 6e 73 20 74 6f 20 74 65 73 74 66  options to testf
aa90: 69 78 74 75 72 65 2e 0a 23 0a 54 45 53 54 4f 50  ixture..#.TESTOP
aaa0: 54 53 20 3d 20 2d 2d 76 65 72 62 6f 73 65 3d 66  TS = --verbose=f
aab0: 69 6c 65 20 2d 2d 6f 75 74 70 75 74 3d 74 65 73  ile --output=tes
aac0: 74 2d 6f 75 74 2e 74 78 74 0a 0a 23 20 45 78 74  t-out.txt..# Ext
aad0: 72 61 20 74 61 72 67 65 74 73 20 66 6f 72 20 74  ra targets for t
aae0: 68 65 20 22 61 6c 6c 22 20 74 61 72 67 65 74 20  he "all" target 
aaf0: 74 68 61 74 20 72 65 71 75 69 72 65 20 54 63 6c  that require Tcl
ab00: 2e 0a 23 0a 21 49 46 20 24 28 4e 4f 5f 54 43 4c  ..#.!IF $(NO_TCL
ab10: 29 3d 3d 30 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52  )==0.ALL_TCL_TAR
ab20: 47 45 54 53 20 3d 20 6c 69 62 74 63 6c 73 71 6c  GETS = libtclsql
ab30: 69 74 65 33 2e 6c 69 62 0a 21 45 4c 53 45 0a 41  ite3.lib.!ELSE.A
ab40: 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 20 3d  LL_TCL_TARGETS =
ab50: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
ab60: 6b 3e 3e 0a 0a 23 20 54 68 69 73 20 69 73 20 74  k>>..# This is t
ab70: 68 65 20 64 65 66 61 75 6c 74 20 4d 61 6b 65 66  he default Makef
ab80: 69 6c 65 20 74 61 72 67 65 74 2e 20 20 54 68 65  ile target.  The
ab90: 20 6f 62 6a 65 63 74 73 20 6c 69 73 74 65 64 20   objects listed 
aba0: 68 65 72 65 0a 23 20 61 72 65 20 77 68 61 74 20  here.# are what 
abb0: 67 65 74 20 62 75 69 6c 64 20 77 68 65 6e 20 79  get build when y
abc0: 6f 75 20 74 79 70 65 20 6a 75 73 74 20 22 6d 61  ou type just "ma
abd0: 6b 65 22 20 77 69 74 68 20 6e 6f 20 61 72 67 75  ke" with no argu
abe0: 6d 65 6e 74 73 2e 0a 23 0a 63 6f 72 65 3a 09 64  ments..#.core:.d
abf0: 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  ll libsqlite3.li
ac00: 62 20 73 68 65 6c 6c 0a 0a 23 20 54 61 72 67 65  b shell..# Targe
ac10: 74 73 20 74 68 61 74 20 72 65 71 75 69 72 65 20  ts that require 
ac20: 74 68 65 20 54 63 6c 20 6c 69 62 72 61 72 79 2e  the Tcl library.
ac30: 0a 23 0a 74 63 6c 3a 09 24 28 41 4c 4c 5f 54 43  .#.tcl:.$(ALL_TC
ac40: 4c 5f 54 41 52 47 45 54 53 29 0a 0a 23 20 54 68  L_TARGETS)..# Th
ac50: 69 73 20 4d 61 6b 65 66 69 6c 65 20 74 61 72 67  is Makefile targ
ac60: 65 74 20 62 75 69 6c 64 73 20 61 6c 6c 20 6f 66  et builds all of
ac70: 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 62 69   the standard bi
ac80: 6e 61 72 69 65 73 2e 0a 23 0a 61 6c 6c 3a 09 63  naries..#.all:.c
ac90: 6f 72 65 20 74 63 6c 0a 0a 23 20 44 79 6e 61 6d  ore tcl..# Dynam
aca0: 69 63 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20  ic link library 
acb0: 73 65 63 74 69 6f 6e 2e 0a 23 0a 64 6c 6c 3a 09  section..#.dll:.
acc0: 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 0a 0a 23  $(SQLITE3DLL)..#
acd0: 20 53 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   Shell executabl
ace0: 65 2e 0a 23 0a 73 68 65 6c 6c 3a 09 24 28 53 51  e..#.shell:.$(SQ
acf0: 4c 49 54 45 33 45 58 45 29 0a 0a 23 20 3c 3c 6d  LITE3EXE)..# <<m
ad00: 61 72 6b 3e 3e 0a 6c 69 62 73 71 6c 69 74 65 33  ark>>.libsqlite3
ad10: 2e 6c 69 62 3a 09 24 28 4c 49 42 4f 42 4a 29 0a  .lib:.$(LIBOBJ).
ad20: 09 24 28 4c 54 4c 49 42 29 20 24 28 4c 54 4c 49  .$(LTLIB) $(LTLI
ad30: 42 4f 50 54 53 29 20 2f 4f 55 54 3a 24 40 20 24  BOPTS) /OUT:$@ $
ad40: 28 4c 49 42 4f 42 4a 29 20 24 28 54 4c 49 42 53  (LIBOBJ) $(TLIBS
ad50: 29 0a 0a 6c 69 62 74 63 6c 73 71 6c 69 74 65 33  )..libtclsqlite3
ad60: 2e 6c 69 62 3a 09 74 63 6c 73 71 6c 69 74 65 2e  .lib:.tclsqlite.
ad70: 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  lo libsqlite3.li
ad80: 62 0a 09 24 28 4c 54 4c 49 42 29 20 24 28 4c 54  b..$(LTLIB) $(LT
ad90: 4c 49 42 4f 50 54 53 29 20 24 28 4c 54 4c 49 42  LIBOPTS) $(LTLIB
ada0: 50 41 54 48 53 29 20 2f 4f 55 54 3a 24 40 20 74  PATHS) /OUT:$@ t
adb0: 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73  clsqlite.lo libs
adc0: 71 6c 69 74 65 33 2e 6c 69 62 20 24 28 4c 49 42  qlite3.lib $(LIB
add0: 54 43 4c 53 54 55 42 29 20 24 28 54 4c 49 42 53  TCLSTUB) $(TLIBS
ade0: 29 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 24  ).# <</mark>>..$
adf0: 28 53 51 4c 49 54 45 33 44 4c 4c 29 3a 09 24 28  (SQLITE3DLL):.$(
ae00: 4c 49 42 4f 42 4a 29 20 24 28 4c 49 42 52 45 53  LIBOBJ) $(LIBRES
ae10: 4f 42 4a 53 29 20 24 28 43 4f 52 45 5f 4c 49 4e  OBJS) $(CORE_LIN
ae20: 4b 5f 44 45 50 29 0a 09 24 28 4c 44 29 20 24 28  K_DEP)..$(LD) $(
ae30: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
ae40: 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41  KOPTS) $(LTLIBPA
ae50: 54 48 53 29 20 2f 44 4c 4c 20 24 28 43 4f 52 45  THS) /DLL $(CORE
ae60: 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20 2f 4f 55 54  _LINK_OPTS) /OUT
ae70: 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 28  :$@ $(LIBOBJ) $(
ae80: 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54  LIBRESOBJS) $(LT
ae90: 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS)..
aea0: 23 20 3c 3c 62 6c 6f 63 6b 32 3e 3e 0a 73 71 6c  # <<block2>>.sql
aeb0: 69 74 65 33 2e 64 65 66 3a 09 6c 69 62 73 71 6c  ite3.def:.libsql
aec0: 69 74 65 33 2e 6c 69 62 0a 09 65 63 68 6f 20 45  ite3.lib..echo E
aed0: 58 50 4f 52 54 53 20 3e 20 73 71 6c 69 74 65 33  XPORTS > sqlite3
aee0: 2e 64 65 66 0a 09 64 75 6d 70 62 69 6e 20 2f 61  .def..dumpbin /a
aef0: 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  ll libsqlite3.li
af00: 62 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f  b \...| $(TCLSH_
af10: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
af20: 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 69 6e 63  \replace.tcl inc
af30: 6c 75 64 65 20 22 5e 5c 73 2b 31 20 5f 3f 28 73  lude "^\s+1 _?(s
af40: 71 6c 69 74 65 33 28 3f 3a 73 65 73 73 69 6f 6e  qlite3(?:session
af50: 7c 63 68 61 6e 67 65 73 65 74 7c 63 68 61 6e 67  |changeset|chang
af60: 65 67 72 6f 75 70 7c 72 65 62 61 73 65 72 29 3f  egroup|rebaser)?
af70: 5f 5b 5e 40 5d 2a 29 28 3f 3a 40 5c 64 2b 29 3f  _[^@]*)(?:@\d+)?
af80: 24 24 22 20 5c 31 20 5c 0a 09 09 7c 20 73 6f 72  $$" \1 \...| sor
af90: 74 20 3e 3e 20 73 71 6c 69 74 65 33 2e 64 65 66  t >> sqlite3.def
afa0: 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a 0a  .# <</block2>>..
afb0: 24 28 53 51 4c 49 54 45 33 45 58 45 29 3a 09 73  $(SQLITE3EXE):.s
afc0: 68 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43  hell.c $(SHELL_C
afd0: 4f 52 45 5f 44 45 50 29 20 24 28 4c 49 42 52 45  ORE_DEP) $(LIBRE
afe0: 53 4f 42 4a 53 29 20 24 28 53 48 45 4c 4c 5f 43  SOBJS) $(SHELL_C
aff0: 4f 52 45 5f 53 52 43 29 20 24 28 53 51 4c 49 54  ORE_SRC) $(SQLIT
b000: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
b010: 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f  $(SHELL_COMPILE_
b020: 4f 50 54 53 29 20 24 28 52 45 41 44 4c 49 4e 45  OPTS) $(READLINE
b030: 5f 46 4c 41 47 53 29 20 73 68 65 6c 6c 2e 63 20  _FLAGS) shell.c 
b040: 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43  $(SHELL_CORE_SRC
b050: 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 53 51  ) \.../link $(SQ
b060: 4c 49 54 45 33 45 58 45 50 44 42 29 20 24 28 4c  LITE3EXEPDB) $(L
b070: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
b080: 4f 50 54 53 29 20 24 28 53 48 45 4c 4c 5f 4c 49  OPTS) $(SHELL_LI
b090: 4e 4b 5f 4f 50 54 53 29 20 24 28 4c 54 4c 49 42  NK_OPTS) $(LTLIB
b0a0: 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f  PATHS) $(LIBRESO
b0b0: 42 4a 53 29 20 24 28 4c 49 42 52 45 41 44 4c 49  BJS) $(LIBREADLI
b0c0: 4e 45 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28  NE) $(LTLIBS) $(
b0d0: 54 4c 49 42 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b  TLIBS)..# <<mark
b0e0: 3e 3e 0a 73 71 6c 64 69 66 66 2e 65 78 65 3a 09  >>.sqldiff.exe:.
b0f0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64  $(TOP)\tool\sqld
b100: 69 66 66 2e 63 20 24 28 53 51 4c 49 54 45 33 43  iff.c $(SQLITE3C
b110: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
b120: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
b130: 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  RN) $(TOP)\tool\
b140: 73 71 6c 64 69 66 66 2e 63 20 24 28 53 51 4c 49  sqldiff.c $(SQLI
b150: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
b160: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
b170: 50 54 53 29 0a 0a 64 62 68 61 73 68 2e 65 78 65  PTS)..dbhash.exe
b180: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62  :.$(TOP)\tool\db
b190: 68 61 73 68 2e 63 20 24 28 53 51 4c 49 54 45 33  hash.c $(SQLITE3
b1a0: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
b1b0: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
b1c0: 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  ARN) $(TOP)\tool
b1d0: 5c 64 62 68 61 73 68 2e 63 20 24 28 53 51 4c 49  \dbhash.c $(SQLI
b1e0: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
b1f0: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
b200: 50 54 53 29 0a 0a 73 63 72 75 62 2e 65 78 65 3a  PTS)..scrub.exe:
b210: 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63  .$(TOP)\ext\misc
b220: 5c 73 63 72 75 62 2e 63 20 24 28 53 51 4c 49 54  \scrub.c $(SQLIT
b230: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
b240: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
b250: 5f 57 41 52 4e 29 20 2d 44 53 43 52 55 42 5f 53  _WARN) -DSCRUB_S
b260: 54 41 4e 44 41 4c 4f 4e 45 3d 31 20 24 28 54 4f  TANDALONE=1 $(TO
b270: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 63 72 75  P)\ext\misc\scru
b280: 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  b.c $(SQLITE3C) 
b290: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
b2a0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
b2b0: 73 72 63 63 6b 31 2e 65 78 65 3a 09 24 28 54 4f  srcck1.exe:.$(TO
b2c0: 50 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63  P)\tool\srcck1.c
b2d0: 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41  ..$(BCC) $(NO_WA
b2e0: 52 4e 29 20 2d 46 65 24 40 20 24 28 54 4f 50 29  RN) -Fe$@ $(TOP)
b2f0: 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 0a  \tool\srcck1.c..
b300: 73 6f 75 72 63 65 74 65 73 74 3a 09 73 72 63 63  sourcetest:.srcc
b310: 6b 31 2e 65 78 65 20 24 28 53 51 4c 49 54 45 33  k1.exe $(SQLITE3
b320: 43 29 0a 09 73 72 63 63 6b 31 2e 65 78 65 20 24  C)..srcck1.exe $
b330: 28 53 51 4c 49 54 45 33 43 29 0a 0a 66 75 7a 7a  (SQLITE3C)..fuzz
b340: 65 72 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28 54  ershell.exe:.$(T
b350: 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73  OP)\tool\fuzzers
b360: 68 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45 33  hell.c $(SQLITE3
b370: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
b380: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
b390: 41 52 4e 29 20 24 28 46 55 5a 5a 45 52 53 48 45  ARN) $(FUZZERSHE
b3a0: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  LL_COMPILE_OPTS)
b3b0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a   $(TOP)\tool\fuz
b3c0: 7a 65 72 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c  zershell.c $(SQL
b3d0: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
b3e0: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
b3f0: 4f 50 54 53 29 0a 0a 64 62 66 75 7a 7a 2e 65 78  OPTS)..dbfuzz.ex
b400: 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 64  e:.$(TOP)\test\d
b410: 62 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45  bfuzz.c $(SQLITE
b420: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
b430: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
b440: 57 41 52 4e 29 20 24 28 44 42 46 55 5a 5a 5f 43  WARN) $(DBFUZZ_C
b450: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54  OMPILE_OPTS) $(T
b460: 4f 50 29 5c 74 65 73 74 5c 64 62 66 75 7a 7a 2e  OP)\test\dbfuzz.
b470: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
b480: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
b490: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 75  (LTLINKOPTS)..fu
b4a0: 7a 7a 63 68 65 63 6b 2e 65 78 65 3a 09 24 28 46  zzcheck.exe:.$(F
b4b0: 55 5a 5a 43 48 45 43 4b 5f 53 52 43 29 20 24 28  UZZCHECK_SRC) $(
b4c0: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
b4d0: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
b4e0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55   $(NO_WARN) $(FU
b4f0: 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f  ZZCHECK_COMPILE_
b500: 4f 50 54 53 29 20 24 28 46 55 5a 5a 43 48 45 43  OPTS) $(FUZZCHEC
b510: 4b 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33  K_SRC) $(SQLITE3
b520: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
b530: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
b540: 29 0a 0a 6f 73 73 73 68 65 6c 6c 2e 65 78 65 3a  )..ossshell.exe:
b550: 09 24 28 4f 53 53 53 48 45 4c 4c 5f 53 52 43 29  .$(OSSSHELL_SRC)
b560: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
b570: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
b580: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24  NK) $(NO_WARN) $
b590: 28 46 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49  (FUZZCHECK_COMPI
b5a0: 4c 45 5f 4f 50 54 53 29 20 24 28 4f 53 53 53 48  LE_OPTS) $(OSSSH
b5b0: 45 4c 4c 5f 53 52 43 29 20 24 28 53 51 4c 49 54  ELL_SRC) $(SQLIT
b5c0: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
b5d0: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
b5e0: 54 53 29 0a 0a 73 65 73 73 69 6f 6e 66 75 7a 7a  TS)..sessionfuzz
b5f0: 2e 65 78 65 3a 09 7a 6c 69 62 20 24 28 54 4f 50  .exe:.zlib $(TOP
b600: 29 5c 74 65 73 74 5c 73 65 73 73 69 6f 6e 66 75  )\test\sessionfu
b610: 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  zz.c $(SQLITE3C)
b620: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
b630: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
b640: 4e 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49  N) -I$(ZLIBINCDI
b650: 52 29 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 73  R) $(TOP)\test\s
b660: 65 73 73 69 6f 6e 66 75 7a 7a 2e 63 20 2f 6c 69  essionfuzz.c /li
b670: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
b680: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4c 49 42  LTLINKOPTS) /LIB
b690: 50 41 54 48 3a 24 28 5a 4c 49 42 4c 49 42 44 49  PATH:$(ZLIBLIBDI
b6a0: 52 29 20 24 28 5a 4c 49 42 4c 49 42 29 0a 0a 6d  R) $(ZLIBLIB)..m
b6b0: 70 74 65 73 74 65 72 2e 65 78 65 3a 09 24 28 54  ptester.exe:.$(T
b6c0: 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73  OP)\mptest\mptes
b6d0: 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
b6e0: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
b6f0: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
b700: 29 20 24 28 4d 50 54 45 53 54 45 52 5f 43 4f 4d  ) $(MPTESTER_COM
b710: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50  PILE_OPTS) $(TOP
b720: 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73 74 2e  )\mptest\mptest.
b730: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
b740: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
b750: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4d 50  (LTLINKOPTS)..MP
b760: 54 45 53 54 31 20 3d 20 6d 70 74 65 73 74 65 72  TEST1 = mptester
b770: 20 6d 70 74 65 73 74 2e 64 62 20 24 28 54 4f 50   mptest.db $(TOP
b780: 29 5c 6d 70 74 65 73 74 5c 63 72 61 73 68 30 31  )\mptest\crash01
b790: 2e 74 65 73 74 20 2d 2d 72 65 70 65 61 74 20 32  .test --repeat 2
b7a0: 30 0a 4d 50 54 45 53 54 32 20 3d 20 6d 70 74 65  0.MPTEST2 = mpte
b7b0: 73 74 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24  ster mptest.db $
b7c0: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 75 6c  (TOP)\mptest\mul
b7d0: 74 69 77 72 69 74 65 30 31 2e 74 65 73 74 20 2d  tiwrite01.test -
b7e0: 2d 72 65 70 65 61 74 20 32 30 0a 0a 6d 70 74 65  -repeat 20..mpte
b7f0: 73 74 3a 09 6d 70 74 65 73 74 65 72 2e 65 78 65  st:.mptester.exe
b800: 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 73 74 2e  ..del /Q mptest.
b810: 64 62 20 32 3e 4e 55 4c 0a 09 24 28 4d 50 54 45  db 2>NUL..$(MPTE
b820: 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f  ST1) --journalmo
b830: 64 65 20 44 45 4c 45 54 45 0a 09 24 28 4d 50 54  de DELETE..$(MPT
b840: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST2) --journalm
b850: 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53  ode WAL..$(MPTES
b860: 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T1) --journalmod
b870: 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53 54 32  e WAL..$(MPTEST2
b880: 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20  ) --journalmode 
b890: 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54 45 53  PERSIST..$(MPTES
b8a0: 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T1) --journalmod
b8b0: 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54  e PERSIST..$(MPT
b8c0: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST2) --journalm
b8d0: 6f 64 65 20 54 52 55 4e 43 41 54 45 0a 09 24 28  ode TRUNCATE..$(
b8e0: 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e  MPTEST1) --journ
b8f0: 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45 0a  almode TRUNCATE.
b900: 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f  .$(MPTEST2) --jo
b910: 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c 45 54 45  urnalmode DELETE
b920: 0a 0a 23 20 54 68 69 73 20 74 61 72 67 65 74 20  ..# This target 
b930: 63 72 65 61 74 65 73 20 61 20 64 69 72 65 63 74  creates a direct
b940: 6f 72 79 20 6e 61 6d 65 64 20 22 74 73 72 63 22  ory named "tsrc"
b950: 20 61 6e 64 20 66 69 6c 6c 73 20 69 74 20 77 69   and fills it wi
b960: 74 68 0a 23 20 63 6f 70 69 65 73 20 6f 66 20 61  th.# copies of a
b970: 6c 6c 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72  ll of the C sour
b980: 63 65 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64  ce code and head
b990: 65 72 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20  er files needed 
b9a0: 74 6f 0a 23 20 62 75 69 6c 64 20 6f 6e 20 74 68  to.# build on th
b9b0: 65 20 74 61 72 67 65 74 20 73 79 73 74 65 6d 2e  e target system.
b9c0: 20 20 53 6f 6d 65 20 6f 66 20 74 68 65 20 43 20    Some of the C 
b9d0: 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20  source code and 
b9e0: 68 65 61 64 65 72 0a 23 20 66 69 6c 65 73 20 61  header.# files a
b9f0: 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  re automatically
ba00: 20 67 65 6e 65 72 61 74 65 64 2e 20 20 54 68 69   generated.  Thi
ba10: 73 20 74 61 72 67 65 74 20 74 61 6b 65 73 20 63  s target takes c
ba20: 61 72 65 20 6f 66 0a 23 20 61 6c 6c 20 74 68 61  are of.# all tha
ba30: 74 20 61 75 74 6f 6d 61 74 69 63 20 67 65 6e 65  t automatic gene
ba40: 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74 61 72 67 65  ration..#..targe
ba50: 74 5f 73 6f 75 72 63 65 3a 09 24 28 53 52 43 29  t_source:.$(SRC)
ba60: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62   $(TOP)\tool\vdb
ba70: 65 2d 63 6f 6d 70 72 65 73 73 2e 74 63 6c 20 66  e-compress.tcl f
ba80: 74 73 35 2e 63 20 24 28 53 51 4c 49 54 45 5f 54  ts5.c $(SQLITE_T
ba90: 43 4c 5f 44 45 50 29 0a 09 2d 72 6d 64 69 72 20  CL_DEP)..-rmdir 
baa0: 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e 55 4c 0a  /Q/S tsrc 2>NUL.
bab0: 09 2d 6d 6b 64 69 72 20 74 73 72 63 0a 09 66 6f  .-mkdir tsrc..fo
bac0: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 30  r %i in ($(SRC00
bad0: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
bae0: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
baf0: 20 28 24 28 53 52 43 30 31 29 29 20 64 6f 20 63   ($(SRC01)) do c
bb00: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09  opy /Y %i tsrc..
bb10: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC
bb20: 30 33 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  03)) do copy /Y 
bb30: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i 
bb40: 69 6e 20 28 24 28 53 52 43 30 34 29 29 20 64 6f  in ($(SRC04)) do
bb50: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
bb60: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S
bb70: 52 43 30 35 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC05)) do copy /
bb80: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
bb90: 69 20 69 6e 20 28 24 28 53 52 43 30 36 29 29 20  i in ($(SRC06)) 
bba0: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
bbb0: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($
bbc0: 28 53 52 43 30 37 29 29 20 64 6f 20 63 6f 70 79  (SRC07)) do copy
bbd0: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
bbe0: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 38 29   %i in ($(SRC08)
bbf0: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i 
bc00: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in 
bc10: 28 24 28 53 52 43 30 39 29 29 20 64 6f 20 63 6f  ($(SRC09)) do co
bc20: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
bc30: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 31  or %i in ($(SRC1
bc40: 30 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  0)) do copy /Y %
bc50: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
bc60: 6e 20 28 24 28 53 52 43 31 31 29 29 20 64 6f 20  n ($(SRC11)) do 
bc70: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
bc80: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR
bc90: 43 31 32 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C12)) do copy /Y
bca0: 20 25 69 20 74 73 72 63 0a 09 63 6f 70 79 20 2f   %i tsrc..copy /
bcb0: 59 20 66 74 73 35 2e 63 20 74 73 72 63 0a 09 63  Y fts5.c tsrc..c
bcc0: 6f 70 79 20 2f 59 20 66 74 73 35 2e 68 20 74 73  opy /Y fts5.h ts
bcd0: 72 63 0a 09 64 65 6c 20 2f 51 20 74 73 72 63 5c  rc..del /Q tsrc\
bce0: 73 71 6c 69 74 65 2e 68 2e 69 6e 20 74 73 72 63  sqlite.h.in tsrc
bcf0: 5c 70 61 72 73 65 2e 79 20 32 3e 4e 55 4c 0a 09  \parse.y 2>NUL..
bd00: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
bd10: 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f  OP)\tool\vdbe-co
bd20: 6d 70 72 65 73 73 2e 74 63 6c 20 24 28 4f 50 54  mpress.tcl $(OPT
bd30: 53 29 20 3c 20 74 73 72 63 5c 76 64 62 65 2e 63  S) < tsrc\vdbe.c
bd40: 20 3e 20 76 64 62 65 2e 6e 65 77 0a 09 6d 6f 76   > vdbe.new..mov
bd50: 65 20 76 64 62 65 2e 6e 65 77 20 74 73 72 63 5c  e vdbe.new tsrc\
bd60: 76 64 62 65 2e 63 0a 09 65 63 68 6f 20 3e 20 2e  vdbe.c..echo > .
bd70: 74 61 72 67 65 74 5f 73 6f 75 72 63 65 0a 0a 73  target_source..s
bd80: 71 6c 69 74 65 33 2e 63 3a 09 2e 74 61 72 67 65  qlite3.c:..targe
bd90: 74 5f 73 6f 75 72 63 65 20 73 71 6c 69 74 65 33  t_source sqlite3
bda0: 65 78 74 2e 68 20 24 28 4d 4b 53 51 4c 49 54 45  ext.h $(MKSQLITE
bdb0: 33 43 5f 54 4f 4f 4c 29 0a 09 24 28 54 43 4c 53  3C_TOOL)..$(TCLS
bdc0: 48 5f 43 4d 44 29 20 24 28 4d 4b 53 51 4c 49 54  H_CMD) $(MKSQLIT
bdd0: 45 33 43 5f 54 4f 4f 4c 29 20 24 28 4d 4b 53 51  E3C_TOOL) $(MKSQ
bde0: 4c 49 54 45 33 43 5f 41 52 47 53 29 0a 09 63 6f  LITE3C_ARGS)..co
bdf0: 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65  py $(TOP)\ext\se
be00: 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73  ssion\sqlite3ses
be10: 73 69 6f 6e 2e 68 20 2e 0a 0a 73 71 6c 69 74 65  sion.h ...sqlite
be20: 33 2d 61 6c 6c 2e 63 3a 09 73 71 6c 69 74 65 33  3-all.c:.sqlite3
be30: 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  .c $(TOP)\tool\s
be40: 70 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 63  plit-sqlite3c.tc
be50: 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  l..$(TCLSH_CMD) 
be60: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69  $(TOP)\tool\spli
be70: 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 23  t-sqlite3c.tcl.#
be80: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75   <</mark>>..# Ru
be90: 6c 65 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20  le to build the 
bea0: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a 23 0a 73  amalgamation.#.s
beb0: 71 6c 69 74 65 33 2e 6c 6f 3a 09 24 28 53 51 4c  qlite3.lo:.$(SQL
bec0: 49 54 45 33 43 29 0a 09 24 28 4c 54 43 4f 4d 50  ITE3C)..$(LTCOMP
bed0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
bee0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 53  ILE_OPTS) -c $(S
bef0: 51 4c 49 54 45 33 43 29 0a 0a 23 20 3c 3c 6d 61  QLITE3C)..# <<ma
bf00: 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20  rk>>.# Rules to 
bf10: 62 75 69 6c 64 20 74 68 65 20 4c 45 4d 4f 4e 20  build the LEMON 
bf20: 63 6f 6d 70 69 6c 65 72 20 67 65 6e 65 72 61 74  compiler generat
bf30: 6f 72 0a 23 0a 6c 65 6d 70 61 72 2e 63 3a 09 24  or.#.lempar.c:.$
bf40: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61  (TOP)\tool\lempa
bf50: 72 2e 63 0a 09 63 6f 70 79 20 24 28 54 4f 50 29  r.c..copy $(TOP)
bf60: 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 20 2e  \tool\lempar.c .
bf70: 0a 0a 6c 65 6d 6f 6e 2e 65 78 65 3a 09 24 28 54  ..lemon.exe:.$(T
bf80: 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63  OP)\tool\lemon.c
bf90: 20 6c 65 6d 70 61 72 2e 63 0a 09 24 28 42 43 43   lempar.c..$(BCC
bfa0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 61  ) $(NO_WARN) -Da
bfb0: 63 63 65 73 73 3d 5f 61 63 63 65 73 73 20 5c 0a  ccess=_access \.
bfc0: 09 09 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74  ..-Fe$@ $(TOP)\t
bfd0: 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 2f 6c 69 6e  ool\lemon.c /lin
bfe0: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e  k $(LDFLAGS) $(N
bff0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c  LTLINKOPTS) $(NL
c000: 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 20 3c 3c  TLIBPATHS)..# <<
c010: 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74  mark>>.# Rules t
c020: 6f 20 62 75 69 6c 64 20 74 68 65 20 73 6f 75 72  o build the sour
c030: 63 65 2d 69 64 20 67 65 6e 65 72 61 74 6f 72 20  ce-id generator 
c040: 74 6f 6f 6c 0a 23 0a 6d 6b 73 6f 75 72 63 65 69  tool.#.mksourcei
c050: 64 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  d.exe:.$(TOP)\to
c060: 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 64 2e 63 0a  ol\mksourceid.c.
c070: 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52  .$(BCC) $(NO_WAR
c080: 4e 29 20 2d 46 65 24 40 20 24 28 54 4f 50 29 5c  N) -Fe$@ $(TOP)\
c090: 74 6f 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 64 2e  tool\mksourceid.
c0a0: 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  c /link $(LDFLAG
c0b0: 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53  S) $(NLTLINKOPTS
c0c0: 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29  ) $(NLTLIBPATHS)
c0d0: 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69  ..# Rules to bui
c0e0: 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e  ld individual *.
c0f0: 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20 67 65  lo files from ge
c100: 6e 65 72 61 74 65 64 20 2a 2e 63 20 66 69 6c 65  nerated *.c file
c110: 73 2e 20 54 68 69 73 0a 23 20 61 70 70 6c 69 65  s. This.# applie
c120: 73 20 74 6f 3a 0a 23 0a 23 20 20 20 20 20 70 61  s to:.#.#     pa
c130: 72 73 65 2e 6c 6f 0a 23 20 20 20 20 20 6f 70 63  rse.lo.#     opc
c140: 6f 64 65 73 2e 6c 6f 0a 23 0a 70 61 72 73 65 2e  odes.lo.#.parse.
c150: 6c 6f 3a 09 70 61 72 73 65 2e 63 20 24 28 48 44  lo:.parse.c $(HD
c160: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c170: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c180: 4f 50 54 53 29 20 2d 63 20 70 61 72 73 65 2e 63  OPTS) -c parse.c
c190: 0a 0a 6f 70 63 6f 64 65 73 2e 6c 6f 3a 09 6f 70  ..opcodes.lo:.op
c1a0: 63 6f 64 65 73 2e 63 0a 09 24 28 4c 54 43 4f 4d  codes.c..$(LTCOM
c1b0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c1c0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 6f 70  PILE_OPTS) -c op
c1d0: 63 6f 64 65 73 2e 63 0a 23 20 3c 3c 2f 6d 61 72  codes.c.# <</mar
c1e0: 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f 20 62  k>>..# Rule to b
c1f0: 75 69 6c 64 20 74 68 65 20 57 69 6e 33 32 20 72  uild the Win32 r
c200: 65 73 6f 75 72 63 65 73 20 6f 62 6a 65 63 74 20  esources object 
c210: 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55 53  file..#.!IF $(US
c220: 45 5f 52 43 29 21 3d 30 0a 23 20 3c 3c 62 6c 6f  E_RC)!=0.# <<blo
c230: 63 6b 31 3e 3e 0a 24 28 4c 49 42 52 45 53 4f 42  ck1>>.$(LIBRESOB
c240: 4a 53 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  JS):.$(TOP)\src\
c250: 73 71 6c 69 74 65 33 2e 72 63 20 24 28 53 51 4c  sqlite3.rc $(SQL
c260: 49 54 45 33 48 29 0a 09 65 63 68 6f 20 23 69 66  ITE3H)..echo #if
c270: 6e 64 65 66 20 53 51 4c 49 54 45 5f 52 45 53 4f  ndef SQLITE_RESO
c280: 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 3e 20 73  URCE_VERSION > s
c290: 71 6c 69 74 65 33 72 63 2e 68 0a 09 66 6f 72 20  qlite3rc.h..for 
c2a0: 2f 46 20 25 25 56 20 69 6e 20 28 27 74 79 70 65  /F %%V in ('type
c2b0: 20 22 24 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e   "$(TOP)\VERSION
c2c0: 22 27 29 20 64 6f 20 28 20 5c 0a 09 09 65 63 68  "') do ( \...ech
c2d0: 6f 20 23 64 65 66 69 6e 65 20 53 51 4c 49 54 45  o #define SQLITE
c2e0: 5f 52 45 53 4f 55 52 43 45 5f 56 45 52 53 49 4f  _RESOURCE_VERSIO
c2f0: 4e 20 25 25 56 20 5c 0a 09 09 09 7c 20 24 28 54  N %%V \....| $(T
c300: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
c310: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
c320: 6c 20 65 78 61 63 74 20 2e 20 5e 2c 20 3e 3e 20  l exact . ^, >> 
c330: 73 71 6c 69 74 65 33 72 63 2e 68 20 5c 0a 09 29  sqlite3rc.h \..)
c340: 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 20 3e 3e  ..echo #endif >>
c350: 20 73 71 6c 69 74 65 33 72 63 2e 68 0a 09 24 28   sqlite3rc.h..$(
c360: 4c 54 52 43 4f 4d 50 49 4c 45 29 20 2d 66 6f 20  LTRCOMPILE) -fo 
c370: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28  $(LIBRESOBJS) $(
c380: 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33  TOP)\src\sqlite3
c390: 2e 72 63 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 31 3e  .rc.# <</block1>
c3a0: 3e 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  >.!ENDIF..# <<ma
c3b0: 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20  rk>>.# Rules to 
c3c0: 62 75 69 6c 64 20 69 6e 64 69 76 69 64 75 61 6c  build individual
c3d0: 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d   *.lo files from
c3e0: 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 73 72   files in the sr
c3f0: 63 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 61  c directory..#.a
c400: 6c 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lter.lo:.$(TOP)\
c410: 73 72 63 5c 61 6c 74 65 72 2e 63 20 24 28 48 44  src\alter.c $(HD
c420: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c430: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c440: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c450: 73 72 63 5c 61 6c 74 65 72 2e 63 0a 0a 61 6e 61  src\alter.c..ana
c460: 6c 79 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lyze.lo:.$(TOP)\
c470: 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20 24 28  src\analyze.c $(
c480: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
c490: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
c4a0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
c4b0: 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 0a  )\src\analyze.c.
c4c0: 0a 61 74 74 61 63 68 2e 6c 6f 3a 09 24 28 54 4f  .attach.lo:.$(TO
c4d0: 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 20  P)\src\attach.c 
c4e0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c4f0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c500: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c510: 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63  OP)\src\attach.c
c520: 0a 0a 61 75 74 68 2e 6c 6f 3a 09 24 28 54 4f 50  ..auth.lo:.$(TOP
c530: 29 5c 73 72 63 5c 61 75 74 68 2e 63 20 24 28 48  )\src\auth.c $(H
c540: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c550: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c560: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c570: 5c 73 72 63 5c 61 75 74 68 2e 63 0a 0a 62 61 63  \src\auth.c..bac
c580: 6b 75 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  kup.lo:.$(TOP)\s
c590: 72 63 5c 62 61 63 6b 75 70 2e 63 20 24 28 48 44  rc\backup.c $(HD
c5a0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c5b0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c5c0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c5d0: 73 72 63 5c 62 61 63 6b 75 70 2e 63 0a 0a 62 69  src\backup.c..bi
c5e0: 74 76 65 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  tvec.lo:.$(TOP)\
c5f0: 73 72 63 5c 62 69 74 76 65 63 2e 63 20 24 28 48  src\bitvec.c $(H
c600: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c610: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c620: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c630: 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 0a 0a 62  \src\bitvec.c..b
c640: 74 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f 50  tmutex.lo:.$(TOP
c650: 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 20  )\src\btmutex.c 
c660: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c670: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c680: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c690: 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e  OP)\src\btmutex.
c6a0: 63 0a 0a 62 74 72 65 65 2e 6c 6f 3a 09 24 28 54  c..btree.lo:.$(T
c6b0: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 20  OP)\src\btree.c 
c6c0: 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72  $(HDR) $(TOP)\sr
c6d0: 63 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c 54 43  c\pager.h..$(LTC
c6e0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
c6f0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
c700: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree
c710: 2e 63 0a 0a 62 75 69 6c 64 2e 6c 6f 3a 09 24 28  .c..build.lo:.$(
c720: 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63  TOP)\src\build.c
c730: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c740: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c750: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c760: 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63  TOP)\src\build.c
c770: 0a 0a 63 61 6c 6c 62 61 63 6b 2e 6c 6f 3a 09 24  ..callback.lo:.$
c780: 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61  (TOP)\src\callba
c790: 63 6b 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ck.c $(HDR)..$(L
c7a0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c7b0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c7c0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c  c $(TOP)\src\cal
c7d0: 6c 62 61 63 6b 2e 63 0a 0a 63 6f 6d 70 6c 65 74  lback.c..complet
c7e0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
c7f0: 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 24 28 48 44  \complete.c $(HD
c800: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c810: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c820: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c830: 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 0a 0a  src\complete.c..
c840: 63 74 69 6d 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  ctime.lo:.$(TOP)
c850: 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20 24 28 48  \src\ctime.c $(H
c860: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c870: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c880: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c890: 5c 73 72 63 5c 63 74 69 6d 65 2e 63 0a 0a 64 61  \src\ctime.c..da
c8a0: 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  te.lo:.$(TOP)\sr
c8b0: 63 5c 64 61 74 65 2e 63 20 24 28 48 44 52 29 0a  c\date.c $(HDR).
c8c0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c8d0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c8e0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c8f0: 5c 64 61 74 65 2e 63 0a 0a 64 62 70 61 67 65 2e  \date.c..dbpage.
c900: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64  lo:.$(TOP)\src\d
c910: 62 70 61 67 65 2e 63 20 24 28 48 44 52 29 0a 09  bpage.c $(HDR)..
c920: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
c930: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c940: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
c950: 64 62 70 61 67 65 2e 63 0a 0a 64 62 73 74 61 74  dbpage.c..dbstat
c960: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c970: 64 62 73 74 61 74 2e 63 20 24 28 48 44 52 29 0a  dbstat.c $(HDR).
c980: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c990: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c9a0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c9b0: 5c 64 62 73 74 61 74 2e 63 0a 0a 64 65 6c 65 74  \dbstat.c..delet
c9c0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
c9d0: 5c 64 65 6c 65 74 65 2e 63 20 24 28 48 44 52 29  \delete.c $(HDR)
c9e0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c9f0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ca00: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
ca10: 63 5c 64 65 6c 65 74 65 2e 63 0a 0a 65 78 70 72  c\delete.c..expr
ca20: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
ca30: 65 78 70 72 2e 63 20 24 28 48 44 52 29 0a 09 24  expr.c $(HDR)..$
ca40: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
ca50: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ca60: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 65   -c $(TOP)\src\e
ca70: 78 70 72 2e 63 0a 0a 66 61 75 6c 74 2e 6c 6f 3a  xpr.c..fault.lo:
ca80: 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c  .$(TOP)\src\faul
ca90: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  t.c $(HDR)..$(LT
caa0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
cab0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cac0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c   $(TOP)\src\faul
cad0: 74 2e 63 0a 0a 66 6b 65 79 2e 6c 6f 3a 09 24 28  t.c..fkey.lo:.$(
cae0: 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20  TOP)\src\fkey.c 
caf0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
cb00: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
cb10: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
cb20: 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 0a 0a  OP)\src\fkey.c..
cb30: 66 75 6e 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  func.lo:.$(TOP)\
cb40: 73 72 63 5c 66 75 6e 63 2e 63 20 24 28 48 44 52  src\func.c $(HDR
cb50: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
cb60: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
cb70: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
cb80: 72 63 5c 66 75 6e 63 2e 63 0a 0a 67 6c 6f 62 61  rc\func.c..globa
cb90: 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  l.lo:.$(TOP)\src
cba0: 5c 67 6c 6f 62 61 6c 2e 63 20 24 28 48 44 52 29  \global.c $(HDR)
cbb0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cbc0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cbd0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cbe0: 63 5c 67 6c 6f 62 61 6c 2e 63 0a 0a 68 61 73 68  c\global.c..hash
cbf0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
cc00: 68 61 73 68 2e 63 20 24 28 48 44 52 29 0a 09 24  hash.c $(HDR)..$
cc10: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
cc20: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
cc30: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 68   -c $(TOP)\src\h
cc40: 61 73 68 2e 63 0a 0a 69 6e 73 65 72 74 2e 6c 6f  ash.c..insert.lo
cc50: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73  :.$(TOP)\src\ins
cc60: 65 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ert.c $(HDR)..$(
cc70: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
cc80: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
cc90: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e  -c $(TOP)\src\in
cca0: 73 65 72 74 2e 63 0a 0a 6c 65 67 61 63 79 2e 6c  sert.c..legacy.l
ccb0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65  o:.$(TOP)\src\le
ccc0: 67 61 63 79 2e 63 20 24 28 48 44 52 29 0a 09 24  gacy.c $(HDR)..$
ccd0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
cce0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ccf0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c   -c $(TOP)\src\l
cd00: 65 67 61 63 79 2e 63 0a 0a 6c 6f 61 64 65 78 74  egacy.c..loadext
cd10: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
cd20: 6c 6f 61 64 65 78 74 2e 63 20 24 28 48 44 52 29  loadext.c $(HDR)
cd30: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cd40: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cd50: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cd60: 63 5c 6c 6f 61 64 65 78 74 2e 63 0a 0a 6d 61 69  c\loadext.c..mai
cd70: 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  n.lo:.$(TOP)\src
cd80: 5c 6d 61 69 6e 2e 63 20 24 28 48 44 52 29 0a 09  \main.c $(HDR)..
cd90: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
cda0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
cdb0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
cdc0: 6d 61 69 6e 2e 63 0a 0a 6d 61 6c 6c 6f 63 2e 6c  main.c..malloc.l
cdd0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61  o:.$(TOP)\src\ma
cde0: 6c 6c 6f 63 2e 63 20 24 28 48 44 52 29 0a 09 24  lloc.c $(HDR)..$
cdf0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
ce00: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ce10: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
ce20: 61 6c 6c 6f 63 2e 63 0a 0a 6d 65 6d 30 2e 6c 6f  alloc.c..mem0.lo
ce30: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  :.$(TOP)\src\mem
ce40: 30 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  0.c $(HDR)..$(LT
ce50: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
ce60: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
ce70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30   $(TOP)\src\mem0
ce80: 2e 63 0a 0a 6d 65 6d 31 2e 6c 6f 3a 09 24 28 54  .c..mem1.lo:.$(T
ce90: 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 24  OP)\src\mem1.c $
cea0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
ceb0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
cec0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
ced0: 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 0a 0a 6d  P)\src\mem1.c..m
cee0: 65 6d 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  em2.lo:.$(TOP)\s
cef0: 72 63 5c 6d 65 6d 32 2e 63 20 24 28 48 44 52 29  rc\mem2.c $(HDR)
cf00: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cf10: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cf20: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cf30: 63 5c 6d 65 6d 32 2e 63 0a 0a 6d 65 6d 33 2e 6c  c\mem2.c..mem3.l
cf40: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  o:.$(TOP)\src\me
cf50: 6d 33 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  m3.c $(HDR)..$(L
cf60: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
cf70: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
cf80: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  c $(TOP)\src\mem
cf90: 33 2e 63 0a 0a 6d 65 6d 35 2e 6c 6f 3a 09 24 28  3.c..mem5.lo:.$(
cfa0: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20  TOP)\src\mem5.c 
cfb0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
cfc0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
cfd0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
cfe0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 0a 0a  OP)\src\mem5.c..
cff0: 6d 65 6d 64 62 2e 6c 6f 3a 09 24 28 54 4f 50 29  memdb.lo:.$(TOP)
d000: 5c 73 72 63 5c 6d 65 6d 64 62 2e 63 20 24 28 48  \src\memdb.c $(H
d010: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d020: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d030: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d040: 5c 73 72 63 5c 6d 65 6d 64 62 2e 63 0a 0a 6d 65  \src\memdb.c..me
d050: 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 3a 09 24 28 54  mjournal.lo:.$(T
d060: 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e  OP)\src\memjourn
d070: 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  al.c $(HDR)..$(L
d080: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d090: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d0a0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  c $(TOP)\src\mem
d0b0: 6a 6f 75 72 6e 61 6c 2e 63 0a 0a 6d 75 74 65 78  journal.c..mutex
d0c0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d0d0: 6d 75 74 65 78 2e 63 20 24 28 48 44 52 29 0a 09  mutex.c $(HDR)..
d0e0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d0f0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d100: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d110: 6d 75 74 65 78 2e 63 0a 0a 6d 75 74 65 78 5f 6e  mutex.c..mutex_n
d120: 6f 6f 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  oop.lo:.$(TOP)\s
d130: 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20  rc\mutex_noop.c 
d140: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d150: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d160: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d170: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f  OP)\src\mutex_no
d180: 6f 70 2e 63 0a 0a 6d 75 74 65 78 5f 75 6e 69 78  op.c..mutex_unix
d190: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d1a0: 6d 75 74 65 78 5f 75 6e 69 78 2e 63 20 24 28 48  mutex_unix.c $(H
d1b0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d1c0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d1d0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d1e0: 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e  \src\mutex_unix.
d1f0: 63 0a 0a 6d 75 74 65 78 5f 77 33 32 2e 6c 6f 3a  c..mutex_w32.lo:
d200: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65  .$(TOP)\src\mute
d210: 78 5f 77 33 32 2e 63 20 24 28 48 44 52 29 0a 09  x_w32.c $(HDR)..
d220: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d230: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d240: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d250: 6d 75 74 65 78 5f 77 33 32 2e 63 0a 0a 6e 6f 74  mutex_w32.c..not
d260: 69 66 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ify.lo:.$(TOP)\s
d270: 72 63 5c 6e 6f 74 69 66 79 2e 63 20 24 28 48 44  rc\notify.c $(HD
d280: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d290: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d2a0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d2b0: 73 72 63 5c 6e 6f 74 69 66 79 2e 63 0a 0a 70 61  src\notify.c..pa
d2c0: 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ger.lo:.$(TOP)\s
d2d0: 72 63 5c 70 61 67 65 72 2e 63 20 24 28 48 44 52  rc\pager.c $(HDR
d2e0: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67  ) $(TOP)\src\pag
d2f0: 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  er.h..$(LTCOMPIL
d300: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d310: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d320: 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 0a 0a 70  )\src\pager.c..p
d330: 63 61 63 68 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  cache.lo:.$(TOP)
d340: 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 20 24 28  \src\pcache.c $(
d350: 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c  HDR) $(TOP)\src\
d360: 70 63 61 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f  pcache.h..$(LTCO
d370: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d380: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d390: 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65  (TOP)\src\pcache
d3a0: 2e 63 0a 0a 70 63 61 63 68 65 31 2e 6c 6f 3a 09  .c..pcache1.lo:.
d3b0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach
d3c0: 65 31 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f  e1.c $(HDR) $(TO
d3d0: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 0a  P)\src\pcache.h.
d3e0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d3f0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d400: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d410: 5c 70 63 61 63 68 65 31 2e 63 0a 0a 6f 73 2e 6c  \pcache1.c..os.l
d420: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  o:.$(TOP)\src\os
d430: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d440: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d450: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d460: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 0a  $(TOP)\src\os.c.
d470: 0a 6f 73 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54  .os_unix.lo:.$(T
d480: 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e  OP)\src\os_unix.
d490: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d4a0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d4b0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d4c0: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69  (TOP)\src\os_uni
d4d0: 78 2e 63 0a 0a 6f 73 5f 77 69 6e 2e 6c 6f 3a 09  x.c..os_win.lo:.
d4e0: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69  $(TOP)\src\os_wi
d4f0: 6e 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  n.c $(HDR)..$(LT
d500: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d510: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d520: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77   $(TOP)\src\os_w
d530: 69 6e 2e 63 0a 0a 70 72 61 67 6d 61 2e 6c 6f 3a  in.c..pragma.lo:
d540: 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67  .$(TOP)\src\prag
d550: 6d 61 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ma.c $(HDR)..$(L
d560: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d570: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d580: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61  c $(TOP)\src\pra
d590: 67 6d 61 2e 63 0a 0a 70 72 65 70 61 72 65 2e 6c  gma.c..prepare.l
d5a0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  o:.$(TOP)\src\pr
d5b0: 65 70 61 72 65 2e 63 20 24 28 48 44 52 29 0a 09  epare.c $(HDR)..
d5c0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d5d0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d5e0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d5f0: 70 72 65 70 61 72 65 2e 63 0a 0a 70 72 69 6e 74  prepare.c..print
d600: 66 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  f.lo:.$(TOP)\src
d610: 5c 70 72 69 6e 74 66 2e 63 20 24 28 48 44 52 29  \printf.c $(HDR)
d620: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d630: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d640: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d650: 63 5c 70 72 69 6e 74 66 2e 63 0a 0a 72 61 6e 64  c\printf.c..rand
d660: 6f 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  om.lo:.$(TOP)\sr
d670: 63 5c 72 61 6e 64 6f 6d 2e 63 20 24 28 48 44 52  c\random.c $(HDR
d680: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
d690: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
d6a0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
d6b0: 72 63 5c 72 61 6e 64 6f 6d 2e 63 0a 0a 72 65 73  rc\random.c..res
d6c0: 6f 6c 76 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  olve.lo:.$(TOP)\
d6d0: 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 20 24 28  src\resolve.c $(
d6e0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d6f0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d700: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d710: 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 0a  )\src\resolve.c.
d720: 0a 72 6f 77 73 65 74 2e 6c 6f 3a 09 24 28 54 4f  .rowset.lo:.$(TO
d730: 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20  P)\src\rowset.c 
d740: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d750: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d760: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d770: 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63  OP)\src\rowset.c
d780: 0a 0a 73 65 6c 65 63 74 2e 6c 6f 3a 09 24 28 54  ..select.lo:.$(T
d790: 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63  OP)\src\select.c
d7a0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d7b0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d7c0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
d7d0: 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e  TOP)\src\select.
d7e0: 63 0a 0a 73 74 61 74 75 73 2e 6c 6f 3a 09 24 28  c..status.lo:.$(
d7f0: 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e  TOP)\src\status.
d800: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d810: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d820: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d830: 28 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73  (TOP)\src\status
d840: 2e 63 0a 0a 74 61 62 6c 65 2e 6c 6f 3a 09 24 28  .c..table.lo:.$(
d850: 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63  TOP)\src\table.c
d860: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d870: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d880: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
d890: 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63  TOP)\src\table.c
d8a0: 0a 0a 74 68 72 65 61 64 73 2e 6c 6f 3a 09 24 28  ..threads.lo:.$(
d8b0: 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73  TOP)\src\threads
d8c0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d8d0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d8e0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d8f0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61  $(TOP)\src\threa
d900: 64 73 2e 63 0a 0a 74 6f 6b 65 6e 69 7a 65 2e 6c  ds.c..tokenize.l
d910: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f  o:.$(TOP)\src\to
d920: 6b 65 6e 69 7a 65 2e 63 20 6b 65 79 77 6f 72 64  kenize.c keyword
d930: 68 61 73 68 2e 68 20 24 28 48 44 52 29 0a 09 24  hash.h $(HDR)..$
d940: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d950: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d960: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74   -c $(TOP)\src\t
d970: 6f 6b 65 6e 69 7a 65 2e 63 0a 0a 74 72 65 65 76  okenize.c..treev
d980: 69 65 77 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  iew.lo:.$(TOP)\s
d990: 72 63 5c 74 72 65 65 76 69 65 77 2e 63 20 24 28  rc\treeview.c $(
d9a0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d9b0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d9c0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d9d0: 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63  )\src\treeview.c
d9e0: 0a 0a 74 72 69 67 67 65 72 2e 6c 6f 3a 09 24 28  ..trigger.lo:.$(
d9f0: 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72  TOP)\src\trigger
da00: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
da10: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
da20: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
da30: 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67  $(TOP)\src\trigg
da40: 65 72 2e 63 0a 0a 75 70 64 61 74 65 2e 6c 6f 3a  er.c..update.lo:
da50: 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61  .$(TOP)\src\upda
da60: 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  te.c $(HDR)..$(L
da70: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
da80: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
da90: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64  c $(TOP)\src\upd
daa0: 61 74 65 2e 63 0a 0a 75 70 73 65 72 74 2e 6c 6f  ate.c..upsert.lo
dab0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 73  :.$(TOP)\src\ups
dac0: 65 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ert.c $(HDR)..$(
dad0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
dae0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
daf0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70  -c $(TOP)\src\up
db00: 73 65 72 74 2e 63 0a 0a 75 74 66 2e 6c 6f 3a 09  sert.c..utf.lo:.
db10: 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63  $(TOP)\src\utf.c
db20: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
db30: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
db40: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
db50: 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 0a 0a  TOP)\src\utf.c..
db60: 75 74 69 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  util.lo:.$(TOP)\
db70: 73 72 63 5c 75 74 69 6c 2e 63 20 24 28 48 44 52  src\util.c $(HDR
db80: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
db90: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
dba0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
dbb0: 72 63 5c 75 74 69 6c 2e 63 0a 0a 76 61 63 75 75  rc\util.c..vacuu
dbc0: 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  m.lo:.$(TOP)\src
dbd0: 5c 76 61 63 75 75 6d 2e 63 20 24 28 48 44 52 29  \vacuum.c $(HDR)
dbe0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
dbf0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
dc00: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
dc10: 63 5c 76 61 63 75 75 6d 2e 63 0a 0a 76 64 62 65  c\vacuum.c..vdbe
dc20: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
dc30: 76 64 62 65 2e 63 20 24 28 48 44 52 29 0a 09 24  vdbe.c $(HDR)..$
dc40: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
dc50: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
dc60: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v
dc70: 64 62 65 2e 63 0a 0a 76 64 62 65 61 70 69 2e 6c  dbe.c..vdbeapi.l
dc80: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  o:.$(TOP)\src\vd
dc90: 62 65 61 70 69 2e 63 20 24 28 48 44 52 29 0a 09  beapi.c $(HDR)..
dca0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
dcb0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
dcc0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
dcd0: 76 64 62 65 61 70 69 2e 63 0a 0a 76 64 62 65 61  vdbeapi.c..vdbea
dce0: 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ux.lo:.$(TOP)\sr
dcf0: 63 5c 76 64 62 65 61 75 78 2e 63 20 24 28 48 44  c\vdbeaux.c $(HD
dd00: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
dd10: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
dd20: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
dd30: 73 72 63 5c 76 64 62 65 61 75 78 2e 63 0a 0a 76  src\vdbeaux.c..v
dd40: 64 62 65 62 6c 6f 62 2e 6c 6f 3a 09 24 28 54 4f  dbeblob.lo:.$(TO
dd50: 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e  P)\src\vdbeblob.
dd60: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
dd70: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
dd80: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
dd90: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62 6c  (TOP)\src\vdbebl
dda0: 6f 62 2e 63 0a 0a 76 64 62 65 6d 65 6d 2e 6c 6f  ob.c..vdbemem.lo
ddb0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  :.$(TOP)\src\vdb
ddc0: 65 6d 65 6d 2e 63 20 24 28 48 44 52 29 0a 09 24  emem.c $(HDR)..$
ddd0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
dde0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ddf0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v
de00: 64 62 65 6d 65 6d 2e 63 0a 0a 76 64 62 65 73 6f  dbemem.c..vdbeso
de10: 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  rt.lo:.$(TOP)\sr
de20: 63 5c 76 64 62 65 73 6f 72 74 2e 63 20 24 28 48  c\vdbesort.c $(H
de30: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
de40: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
de50: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
de60: 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 0a  \src\vdbesort.c.
de70: 0a 76 64 62 65 74 72 61 63 65 2e 6c 6f 3a 09 24  .vdbetrace.lo:.$
de80: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72  (TOP)\src\vdbetr
de90: 61 63 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ace.c $(HDR)..$(
dea0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
deb0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
dec0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  -c $(TOP)\src\vd
ded0: 62 65 74 72 61 63 65 2e 63 0a 0a 76 74 61 62 2e  betrace.c..vtab.
dee0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76  lo:.$(TOP)\src\v
def0: 74 61 62 2e 63 20 24 28 48 44 52 29 0a 09 24 28  tab.c $(HDR)..$(
df00: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
df10: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
df20: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 74  -c $(TOP)\src\vt
df30: 61 62 2e 63 0a 0a 77 61 6c 2e 6c 6f 3a 09 24 28  ab.c..wal.lo:.$(
df40: 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20 24  TOP)\src\wal.c $
df50: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
df60: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
df70: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
df80: 50 29 5c 73 72 63 5c 77 61 6c 2e 63 0a 0a 77 61  P)\src\wal.c..wa
df90: 6c 6b 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lker.lo:.$(TOP)\
dfa0: 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20 24 28 48  src\walker.c $(H
dfb0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
dfc0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
dfd0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
dfe0: 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 0a 0a 77  \src\walker.c..w
dff0: 68 65 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  here.lo:.$(TOP)\
e000: 73 72 63 5c 77 68 65 72 65 2e 63 20 24 28 48 44  src\where.c $(HD
e010: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e020: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
e030: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
e040: 73 72 63 5c 77 68 65 72 65 2e 63 0a 0a 77 68 65  src\where.c..whe
e050: 72 65 63 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50  recode.lo:.$(TOP
e060: 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e  )\src\wherecode.
e070: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
e080: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
e090: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
e0a0: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 63  (TOP)\src\wherec
e0b0: 6f 64 65 2e 63 0a 0a 77 68 65 72 65 65 78 70 72  ode.c..whereexpr
e0c0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
e0d0: 77 68 65 72 65 65 78 70 72 2e 63 20 24 28 48 44  whereexpr.c $(HD
e0e0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e0f0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
e100: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
e110: 73 72 63 5c 77 68 65 72 65 65 78 70 72 2e 63 0a  src\whereexpr.c.
e120: 0a 77 69 6e 64 6f 77 2e 6c 6f 3a 09 24 28 54 4f  .window.lo:.$(TO
e130: 50 29 5c 73 72 63 5c 77 69 6e 64 6f 77 2e 63 20  P)\src\window.c 
e140: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
e150: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
e160: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
e170: 4f 50 29 5c 73 72 63 5c 77 69 6e 64 6f 77 2e 63  OP)\src\window.c
e180: 0a 0a 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 3a 09  ..tclsqlite.lo:.
e190: 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71  $(TOP)\src\tclsq
e1a0: 6c 69 74 65 2e 63 20 24 28 48 44 52 29 20 24 28  lite.c $(HDR) $(
e1b0: 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a  SQLITE_TCL_DEP).
e1c0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
e1d0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 55 53 45 5f 54  NO_WARN) -DUSE_T
e1e0: 43 4c 5f 53 54 55 42 53 3d 31 20 2d 44 42 55 49  CL_STUBS=1 -DBUI
e1f0: 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43  LD_sqlite -I$(TC
e200: 4c 49 4e 43 44 49 52 29 20 2d 63 20 24 28 54 4f  LINCDIR) -c $(TO
e210: 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65  P)\src\tclsqlite
e220: 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2d 73 68  .c..tclsqlite-sh
e230: 65 6c 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ell.lo:.$(TOP)\s
e240: 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24  rc\tclsqlite.c $
e250: 28 48 44 52 29 20 24 28 53 51 4c 49 54 45 5f 54  (HDR) $(SQLITE_T
e260: 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 43 4f 4d  CL_DEP)..$(LTCOM
e270: 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29  PILE) $(NO_WARN)
e280: 20 2d 44 54 43 4c 53 48 20 2d 44 42 55 49 4c 44   -DTCLSH -DBUILD
e290: 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49  _sqlite -I$(TCLI
e2a0: 4e 43 44 49 52 29 20 2d 63 20 24 28 54 4f 50 29  NCDIR) -c $(TOP)
e2b0: 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63  \src\tclsqlite.c
e2c0: 0a 0a 74 63 6c 73 71 6c 69 74 65 33 2e 65 78 65  ..tclsqlite3.exe
e2d0: 3a 09 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c  :.tclsqlite-shel
e2e0: 6c 2e 6c 6f 20 24 28 53 51 4c 49 54 45 33 43 29  l.lo $(SQLITE3C)
e2f0: 20 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 4c   $(SQLITE3H) $(L
e300: 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54  IBRESOBJS)..$(LT
e310: 4c 49 4e 4b 29 20 24 28 53 51 4c 49 54 45 33 43  LINK) $(SQLITE3C
e320: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
e330: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
e340: 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20   $(TCLLIBPATHS) 
e350: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f  $(LTLIBPATHS) /O
e360: 55 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2d  UT:$@ tclsqlite-
e370: 73 68 65 6c 6c 2e 6c 6f 20 24 28 4c 49 42 52 45  shell.lo $(LIBRE
e380: 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53  SOBJS) $(TCLLIBS
e390: 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c  ) $(LTLIBS) $(TL
e3a0: 49 42 53 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f  IBS)..# Rules to
e3b0: 20 62 75 69 6c 64 20 6f 70 63 6f 64 65 73 2e 63   build opcodes.c
e3c0: 20 61 6e 64 20 6f 70 63 6f 64 65 73 2e 68 0a 23   and opcodes.h.#
e3d0: 0a 6f 70 63 6f 64 65 73 2e 63 3a 09 6f 70 63 6f  .opcodes.c:.opco
e3e0: 64 65 73 2e 68 20 24 28 54 4f 50 29 5c 74 6f 6f  des.h $(TOP)\too
e3f0: 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 6c 0a  l\mkopcodec.tcl.
e400: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD) $(
e410: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f  TOP)\tool\mkopco
e420: 64 65 63 2e 74 63 6c 20 6f 70 63 6f 64 65 73 2e  dec.tcl opcodes.
e430: 68 20 3e 20 6f 70 63 6f 64 65 73 2e 63 0a 0a 6f  h > opcodes.c..o
e440: 70 63 6f 64 65 73 2e 68 3a 09 70 61 72 73 65 2e  pcodes.h:.parse.
e450: 68 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  h $(TOP)\src\vdb
e460: 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  e.c $(TOP)\tool\
e470: 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 0a 09 74  mkopcodeh.tcl..t
e480: 79 70 65 20 70 61 72 73 65 2e 68 20 24 28 54 4f  ype parse.h $(TO
e490: 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 7c 20  P)\src\vdbe.c | 
e4a0: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
e4b0: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64  OP)\tool\mkopcod
e4c0: 65 68 2e 74 63 6c 20 3e 20 6f 70 63 6f 64 65 73  eh.tcl > opcodes
e4d0: 2e 68 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62  .h..# Rules to b
e4e0: 75 69 6c 64 20 70 61 72 73 65 2e 63 20 61 6e 64  uild parse.c and
e4f0: 20 70 61 72 73 65 2e 68 20 2d 20 74 68 65 20 6f   parse.h - the o
e500: 75 74 70 75 74 73 20 6f 66 20 6c 65 6d 6f 6e 2e  utputs of lemon.
e510: 0a 23 0a 70 61 72 73 65 2e 68 3a 09 70 61 72 73  .#.parse.h:.pars
e520: 65 2e 63 0a 0a 70 61 72 73 65 2e 63 3a 09 24 28  e.c..parse.c:.$(
e530: 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e 79  TOP)\src\parse.y
e540: 20 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 54 4f 50   lemon.exe $(TOP
e550: 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 65  )\tool\addopcode
e560: 73 2e 74 63 6c 0a 09 64 65 6c 20 2f 51 20 70 61  s.tcl..del /Q pa
e570: 72 73 65 2e 79 20 70 61 72 73 65 2e 68 20 70 61  rse.y parse.h pa
e580: 72 73 65 2e 68 2e 74 65 6d 70 20 32 3e 4e 55 4c  rse.h.temp 2>NUL
e590: 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 73 72  ..copy $(TOP)\sr
e5a0: 63 5c 70 61 72 73 65 2e 79 20 2e 0a 09 2e 5c 6c  c\parse.y ....\l
e5b0: 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f 46  emon.exe $(REQ_F
e5c0: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  EATURE_FLAGS) $(
e5d0: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
e5e0: 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45  S) $(EXT_FEATURE
e5f0: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20  _FLAGS) $(OPTS) 
e600: 70 61 72 73 65 2e 79 0a 09 6d 6f 76 65 20 70 61  parse.y..move pa
e610: 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e 74 65  rse.h parse.h.te
e620: 6d 70 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  mp..$(TCLSH_CMD)
e630: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64   $(TOP)\tool\add
e640: 6f 70 63 6f 64 65 73 2e 74 63 6c 20 70 61 72 73  opcodes.tcl pars
e650: 65 2e 68 2e 74 65 6d 70 20 3e 20 70 61 72 73 65  e.h.temp > parse
e660: 2e 68 0a 0a 24 28 53 51 4c 49 54 45 33 48 29 3a  .h..$(SQLITE3H):
e670: 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69  .$(TOP)\src\sqli
e680: 74 65 2e 68 2e 69 6e 20 24 28 54 4f 50 29 5c 6d  te.h.in $(TOP)\m
e690: 61 6e 69 66 65 73 74 20 6d 6b 73 6f 75 72 63 65  anifest mksource
e6a0: 69 64 2e 65 78 65 20 24 28 54 4f 50 29 5c 56 45  id.exe $(TOP)\VE
e6b0: 52 53 49 4f 4e 0a 09 24 28 54 43 4c 53 48 5f 43  RSION..$(TCLSH_C
e6c0: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
e6d0: 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 24  mksqlite3h.tcl $
e6e0: 28 54 4f 50 3a 5c 3d 2f 29 20 3e 20 24 28 53 51  (TOP:\=/) > $(SQ
e6f0: 4c 49 54 45 33 48 29 20 24 28 4d 4b 53 51 4c 49  LITE3H) $(MKSQLI
e700: 54 45 33 48 5f 41 52 47 53 29 0a 0a 73 71 6c 69  TE3H_ARGS)..sqli
e710: 74 65 33 65 78 74 2e 68 3a 09 2e 74 61 72 67 65  te3ext.h:..targe
e720: 74 5f 73 6f 75 72 63 65 0a 21 49 46 20 24 28 55  t_source.!IF $(U
e730: 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c  SE_STDCALL)!=0 |
e740: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
e750: 30 0a 09 74 79 70 65 20 74 73 72 63 5c 73 71 6c  0..type tsrc\sql
e760: 69 74 65 33 65 78 74 2e 68 20 7c 20 24 28 54 43  ite3ext.h | $(TC
e770: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
e780: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
e790: 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 5c 29 22   regsub "\(\*\)"
e7a0: 20 22 28 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41   "(SQLITE_CALLBA
e7b0: 43 4b 20 2a 29 22 20 5c 0a 09 09 7c 20 24 28 54  CK *)" \...| $(T
e7c0: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
e7d0: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
e7e0: 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 22 20  l regsub "\(\*" 
e7f0: 22 28 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c  "(SQLITE_APICALL
e800: 20 2a 22 20 3e 20 73 71 6c 69 74 65 33 65 78 74   *" > sqlite3ext
e810: 2e 68 0a 09 63 6f 70 79 20 2f 59 20 73 71 6c 69  .h..copy /Y sqli
e820: 74 65 33 65 78 74 2e 68 20 74 73 72 63 5c 73 71  te3ext.h tsrc\sq
e830: 6c 69 74 65 33 65 78 74 2e 68 0a 21 45 4c 53 45  lite3ext.h.!ELSE
e840: 0a 09 63 6f 70 79 20 2f 59 20 74 73 72 63 5c 73  ..copy /Y tsrc\s
e850: 71 6c 69 74 65 33 65 78 74 2e 68 20 73 71 6c 69  qlite3ext.h sqli
e860: 74 65 33 65 78 74 2e 68 0a 21 45 4e 44 49 46 0a  te3ext.h.!ENDIF.
e870: 0a 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65  .mkkeywordhash.e
e880: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
e890: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 0a  mkkeywordhash.c.
e8a0: 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52  .$(BCC) $(NO_WAR
e8b0: 4e 29 20 2d 46 65 24 40 20 24 28 52 45 51 5f 46  N) -Fe$@ $(REQ_F
e8c0: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  EATURE_FLAGS) $(
e8d0: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
e8e0: 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45  S) $(EXT_FEATURE
e8f0: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20  _FLAGS) $(OPTS) 
e900: 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  \...$(TOP)\tool\
e910: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 20  mkkeywordhash.c 
e920: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
e930: 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20   $(NLTLINKOPTS) 
e940: 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a  $(NLTLIBPATHS)..
e950: 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 3a 09 24  keywordhash.h:.$
e960: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79  (TOP)\tool\mkkey
e970: 77 6f 72 64 68 61 73 68 2e 63 20 6d 6b 6b 65 79  wordhash.c mkkey
e980: 77 6f 72 64 68 61 73 68 2e 65 78 65 0a 09 2e 5c  wordhash.exe...\
e990: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78  mkkeywordhash.ex
e9a0: 65 20 3e 20 6b 65 79 77 6f 72 64 68 61 73 68 2e  e > keywordhash.
e9b0: 68 0a 0a 23 20 53 6f 75 72 63 65 20 66 69 6c 65  h..# Source file
e9c0: 73 20 74 68 61 74 20 67 6f 20 69 6e 74 6f 20 6d  s that go into m
e9d0: 61 6b 69 6e 67 20 73 68 65 6c 6c 2e 63 0a 53 48  aking shell.c.SH
e9e0: 45 4c 4c 5f 53 52 43 20 3d 20 5c 0a 09 24 28 54  ELL_SRC = \..$(T
e9f0: 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63 2e  OP)\src\shell.c.
ea00: 69 6e 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74  in \..$(TOP)\ext
ea10: 5c 6d 69 73 63 5c 61 70 70 65 6e 64 76 66 73 2e  \misc\appendvfs.
ea20: 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c  c \..$(TOP)\ext\
ea30: 6d 69 73 63 5c 73 68 61 74 68 72 65 65 2e 63 20  misc\shathree.c 
ea40: 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  \..$(TOP)\ext\mi
ea50: 73 63 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a 09 24  sc\fileio.c \..$
ea60: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63  (TOP)\ext\misc\c
ea70: 6f 6d 70 6c 65 74 69 6f 6e 2e 63 20 5c 0a 09 24  ompletion.c \..$
ea80: 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74  (TOP)\ext\expert
ea90: 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 63  \sqlite3expert.c
eaa0: 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 65   \..$(TOP)\ext\e
eab0: 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70  xpert\sqlite3exp
eac0: 65 72 74 2e 68 20 5c 0a 09 24 28 54 4f 50 29 5c  ert.h \..$(TOP)\
ead0: 73 72 63 5c 74 65 73 74 5f 77 69 6e 64 69 72 65  src\test_windire
eae0: 6e 74 2e 63 0a 0a 23 20 49 66 20 75 73 65 20 6f  nt.c..# If use o
eaf0: 66 20 7a 6c 69 62 20 69 73 20 65 6e 61 62 6c 65  f zlib is enable
eb00: 64 2c 20 61 64 64 20 74 68 65 20 22 7a 69 70 66  d, add the "zipf
eb10: 69 6c 65 2e 63 22 20 73 6f 75 72 63 65 20 66 69  ile.c" source fi
eb20: 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  le..#.!IF $(USE_
eb30: 5a 4c 49 42 29 21 3d 30 0a 53 48 45 4c 4c 5f 53  ZLIB)!=0.SHELL_S
eb40: 52 43 20 3d 20 24 28 53 48 45 4c 4c 5f 53 52 43  RC = $(SHELL_SRC
eb50: 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  ) $(TOP)\ext\mis
eb60: 63 5c 73 71 6c 61 72 2e 63 0a 53 48 45 4c 4c 5f  c\sqlar.c.SHELL_
eb70: 53 52 43 20 3d 20 24 28 53 48 45 4c 4c 5f 53 52  SRC = $(SHELL_SR
eb80: 43 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  C) $(TOP)\ext\mi
eb90: 73 63 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e  sc\zipfile.c.!EN
eba0: 44 49 46 0a 0a 73 68 65 6c 6c 2e 63 3a 09 24 28  DIF..shell.c:.$(
ebb0: 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 54 4f 50  SHELL_SRC) $(TOP
ebc0: 29 5c 74 6f 6f 6c 5c 6d 6b 73 68 65 6c 6c 63 2e  )\tool\mkshellc.
ebd0: 74 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44  tcl..$(TCLSH_CMD
ebe0: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  ) $(TOP)\tool\mk
ebf0: 73 68 65 6c 6c 63 2e 74 63 6c 20 3e 20 73 68 65  shellc.tcl > she
ec00: 6c 6c 2e 63 0a 0a 7a 6c 69 62 3a 0a 09 70 75 73  ll.c..zlib:..pus
ec10: 68 64 20 24 28 5a 4c 49 42 44 49 52 29 20 26 26  hd $(ZLIBDIR) &&
ec20: 20 24 28 4d 41 4b 45 29 20 2f 66 20 77 69 6e 33   $(MAKE) /f win3
ec30: 32 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 63  2\Makefile.msc c
ec40: 6c 65 61 6e 20 24 28 5a 4c 49 42 4c 49 42 29 20  lean $(ZLIBLIB) 
ec50: 26 26 20 70 6f 70 64 0a 0a 23 20 52 75 6c 65 73  && popd..# Rules
ec60: 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 65 78   to build the ex
ec70: 74 65 6e 73 69 6f 6e 20 6f 62 6a 65 63 74 73 2e  tension objects.
ec80: 0a 23 0a 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50  .#.icu.lo:.$(TOP
ec90: 29 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 20  )\ext\icu\icu.c 
eca0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
ecb0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
ecc0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ecd0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
ece0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
ecf0: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69  $(TOP)\ext\icu\i
ed00: 63 75 2e 63 0a 0a 66 74 73 32 2e 6c 6f 3a 09 24  cu.c..fts2.lo:.$
ed10: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
ed20: 74 73 32 2e 63 20 24 28 48 44 52 29 20 24 28 45  ts2.c $(HDR) $(E
ed30: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
ed40: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
ed50: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
ed60: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
ed70: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
ed80: 5c 66 74 73 32 5c 66 74 73 32 2e 63 0a 0a 66 74  \fts2\fts2.c..ft
ed90: 73 32 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f  s2_hash.lo:.$(TO
eda0: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
edb0: 5f 68 61 73 68 2e 63 20 24 28 48 44 52 29 20 24  _hash.c $(HDR) $
edc0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
edd0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
ede0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
edf0: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
ee00: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
ee10: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73  xt\fts2\fts2_has
ee20: 68 2e 63 0a 0a 66 74 73 32 5f 69 63 75 2e 6c 6f  h.c..fts2_icu.lo
ee30: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
ee40: 32 5c 66 74 73 32 5f 69 63 75 2e 63 20 24 28 48  2\fts2_icu.c $(H
ee50: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
ee60: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
ee70: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ee80: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
ee90: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
eea0: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
eeb0: 32 5f 69 63 75 2e 63 0a 0a 66 74 73 32 5f 70 6f  2_icu.c..fts2_po
eec0: 72 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  rter.lo:.$(TOP)\
eed0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f  ext\fts2\fts2_po
eee0: 72 74 65 72 2e 63 20 24 28 48 44 52 29 20 24 28  rter.c $(HDR) $(
eef0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
ef00: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
ef10: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
ef20: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
ef30: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
ef40: 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74  t\fts2\fts2_port
ef50: 65 72 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e  er.c..fts2_token
ef60: 69 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  izer.lo:.$(TOP)\
ef70: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f  ext\fts2\fts2_to
ef80: 6b 65 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29  kenizer.c $(HDR)
ef90: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
efa0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
efb0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
efc0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
efd0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
efe0: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74  \ext\fts2\fts2_t
eff0: 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 32  okenizer.c..fts2
f000: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09  _tokenizer1.lo:.
f010: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
f020: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts2_tokenizer1.
f030: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
f040: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
f050: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
f060: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
f070: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
f080: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
f090: 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72  2\fts2_tokenizer
f0a0: 31 2e 63 0a 0a 66 74 73 33 2e 6c 6f 3a 09 24 28  1.c..fts3.lo:.$(
f0b0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
f0c0: 73 33 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  s3.c $(HDR) $(EX
f0d0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
f0e0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
f0f0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
f100: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
f110: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
f120: 66 74 73 33 5c 66 74 73 33 2e 63 0a 0a 66 74 73  fts3\fts3.c..fts
f130: 33 5f 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29  3_aux.lo:.$(TOP)
f140: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61  \ext\fts3\fts3_a
f150: 75 78 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  ux.c $(HDR) $(EX
f160: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
f170: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
f180: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
f190: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
f1a0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
f1b0: 66 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 0a  fts3\fts3_aux.c.
f1c0: 0a 66 74 73 33 5f 65 78 70 72 2e 6c 6f 3a 09 24  .fts3_expr.lo:.$
f1d0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
f1e0: 74 73 33 5f 65 78 70 72 2e 63 20 24 28 48 44 52  ts3_expr.c $(HDR
f1f0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
f200: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
f210: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
f220: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
f230: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
f240: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
f250: 65 78 70 72 2e 63 0a 0a 66 74 73 33 5f 68 61 73  expr.c..fts3_has
f260: 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  h.lo:.$(TOP)\ext
f270: 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e  \fts3\fts3_hash.
f280: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
f290: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
f2a0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
f2b0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
f2c0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
f2d0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
f2e0: 33 5c 66 74 73 33 5f 68 61 73 68 2e 63 0a 0a 66  3\fts3_hash.c..f
f2f0: 74 73 33 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f  ts3_icu.lo:.$(TO
f300: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
f310: 5f 69 63 75 2e 63 20 24 28 48 44 52 29 20 24 28  _icu.c $(HDR) $(
f320: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
f330: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
f340: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
f350: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
f360: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
f370: 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e  t\fts3\fts3_icu.
f380: 63 0a 0a 66 74 73 33 5f 73 6e 69 70 70 65 74 2e  c..fts3_snippet.
f390: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
f3a0: 74 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74  ts3\fts3_snippet
f3b0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
f3c0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
f3d0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
f3e0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
f3f0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
f400: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
f410: 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e  s3\fts3_snippet.
f420: 63 0a 0a 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c  c..fts3_porter.l
f430: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
f440: 73 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63  s3\fts3_porter.c
f450: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
f460: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
f470: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
f480: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
f490: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
f4a0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
f4b0: 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 0a 0a  \fts3_porter.c..
f4c0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c  fts3_tokenizer.l
f4d0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
f4e0: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
f4f0: 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  r.c $(HDR) $(EXT
f500: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
f510: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
f520: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
f530: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
f540: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
f550: 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  ts3\fts3_tokeniz
f560: 65 72 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e  er.c..fts3_token
f570: 69 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29  izer1.lo:.$(TOP)
f580: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
f590: 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 24 28 48 44  okenizer1.c $(HD
f5a0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
f5b0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
f5c0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
f5d0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
f5e0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
f5f0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
f600: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66  _tokenizer1.c..f
f610: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61  ts3_tokenize_vta
f620: 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  b.lo:.$(TOP)\ext
f630: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e  \fts3\fts3_token
f640: 69 7a 65 5f 76 74 61 62 2e 63 20 24 28 48 44 52  ize_vtab.c $(HDR
f650: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
f660: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
f670: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
f680: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
f690: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
f6a0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
f6b0: 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 0a  tokenize_vtab.c.
f6c0: 0a 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f  .fts3_unicode.lo
f6d0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
f6e0: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63  3\fts3_unicode.c
f6f0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
f700: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
f710: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
f720: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
f730: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
f740: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
f750: 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 0a  \fts3_unicode.c.
f760: 0a 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c  .fts3_unicode2.l
f770: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
f780: 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32  s3\fts3_unicode2
f790: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
f7a0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
f7b0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
f7c0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
f7d0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
f7e0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
f7f0: 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32  s3\fts3_unicode2
f800: 2e 63 0a 0a 66 74 73 33 5f 77 72 69 74 65 2e 6c  .c..fts3_write.l
f810: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
f820: 73 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 20  s3\fts3_write.c 
f830: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
f840: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
f850: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
f860: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
f870: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
f880: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
f890: 66 74 73 33 5f 77 72 69 74 65 2e 63 0a 0a 72 74  fts3_write.c..rt
f8a0: 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ree.lo:.$(TOP)\e
f8b0: 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 63  xt\rtree\rtree.c
f8c0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
f8d0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
f8e0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
f8f0: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
f900: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
f910: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65   $(TOP)\ext\rtre
f920: 65 5c 72 74 72 65 65 2e 63 0a 0a 73 71 6c 69 74  e\rtree.c..sqlit
f930: 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 3a 09 24 28  e3session.lo:.$(
f940: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
f950: 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e  \sqlite3session.
f960: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
f970: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
f980: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
f990: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
f9a0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
f9b0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73  c $(TOP)\ext\ses
f9c0: 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73  sion\sqlite3sess
f9d0: 69 6f 6e 2e 63 0a 0a 23 20 46 54 53 35 20 74 68  ion.c..# FTS5 th
f9e0: 69 6e 67 73 0a 23 0a 46 54 53 35 5f 53 52 43 20  ings.#.FTS5_SRC 
f9f0: 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  = \.   $(TOP)\ex
fa00: 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 5c 0a  t\fts5\fts5.h \.
fa10: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
fa20: 73 35 5c 66 74 73 35 49 6e 74 2e 68 20 5c 0a 20  s5\fts5Int.h \. 
fa30: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
fa40: 35 5c 66 74 73 35 5f 61 75 78 2e 63 20 5c 0a 20  5\fts5_aux.c \. 
fa50: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
fa60: 35 5c 66 74 73 35 5f 62 75 66 66 65 72 2e 63 20  5\fts5_buffer.c 
fa70: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
fa80: 66 74 73 35 5c 66 74 73 35 5f 6d 61 69 6e 2e 63  fts5\fts5_main.c
fa90: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
faa0: 5c 66 74 73 35 5c 66 74 73 35 5f 63 6f 6e 66 69  \fts5\fts5_confi
fab0: 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  g.c \.   $(TOP)\
fac0: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 65 78  ext\fts5\fts5_ex
fad0: 70 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  pr.c \.   $(TOP)
fae0: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 68  \ext\fts5\fts5_h
faf0: 61 73 68 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  ash.c \.   $(TOP
fb00: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
fb10: 69 6e 64 65 78 2e 63 20 5c 0a 20 20 20 66 74 73  index.c \.   fts
fb20: 35 70 61 72 73 65 2e 63 20 66 74 73 35 70 61 72  5parse.c fts5par
fb30: 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  se.h \.   $(TOP)
fb40: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 73  \ext\fts5\fts5_s
fb50: 74 6f 72 61 67 65 2e 63 20 5c 0a 20 20 20 24 28  torage.c \.   $(
fb60: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
fb70: 73 35 5f 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a  s5_tokenize.c \.
fb80: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
fb90: 73 35 5c 66 74 73 35 5f 75 6e 69 63 6f 64 65 32  s5\fts5_unicode2
fba0: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e
fbb0: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 76 61 72  xt\fts5\fts5_var
fbc0: 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  int.c \.   $(TOP
fbd0: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
fbe0: 76 6f 63 61 62 2e 63 0a 0a 4c 53 4d 31 5f 53 52  vocab.c..LSM1_SR
fbf0: 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  C = \.   $(TOP)\
fc00: 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e 68 20 5c  ext\lsm1\lsm.h \
fc10: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
fc20: 73 6d 31 5c 6c 73 6d 49 6e 74 2e 68 20 5c 0a 20  sm1\lsmInt.h \. 
fc30: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
fc40: 31 5c 6c 73 6d 5f 63 6b 70 74 2e 63 20 5c 0a 20  1\lsm_ckpt.c \. 
fc50: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
fc60: 31 5c 6c 73 6d 5f 66 69 6c 65 2e 63 20 5c 0a 20  1\lsm_file.c \. 
fc70: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
fc80: 31 5c 6c 73 6d 5f 6c 6f 67 2e 63 20 5c 0a 20 20  1\lsm_log.c \.  
fc90: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
fca0: 5c 6c 73 6d 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20  \lsm_main.c \.  
fcb0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
fcc0: 5c 6c 73 6d 5f 6d 65 6d 2e 63 20 5c 0a 20 20 20  \lsm_mem.c \.   
fcd0: 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c  $(TOP)\ext\lsm1\
fce0: 6c 73 6d 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20  lsm_mutex.c \.  
fcf0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
fd00: 5c 6c 73 6d 5f 73 68 61 72 65 64 2e 63 20 5c 0a  \lsm_shared.c \.
fd10: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls
fd20: 6d 31 5c 6c 73 6d 5f 73 6f 72 74 65 64 2e 63 20  m1\lsm_sorted.c 
fd30: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
fd40: 6c 73 6d 31 5c 6c 73 6d 5f 73 74 72 2e 63 20 5c  lsm1\lsm_str.c \
fd50: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
fd60: 73 6d 31 5c 6c 73 6d 5f 74 72 65 65 2e 63 20 5c  sm1\lsm_tree.c \
fd70: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
fd80: 73 6d 31 5c 6c 73 6d 5f 75 6e 69 78 2e 63 20 5c  sm1\lsm_unix.c \
fd90: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
fda0: 73 6d 31 5c 6c 73 6d 5f 76 61 72 69 6e 74 2e 63  sm1\lsm_varint.c
fdb0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
fdc0: 5c 6c 73 6d 31 5c 6c 73 6d 5f 76 74 61 62 2e 63  \lsm1\lsm_vtab.c
fdd0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
fde0: 5c 6c 73 6d 31 5c 6c 73 6d 5f 77 69 6e 33 32 2e  \lsm1\lsm_win32.
fdf0: 63 0a 0a 66 74 73 35 70 61 72 73 65 2e 63 3a 09  c..fts5parse.c:.
fe00: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\
fe10: 66 74 73 35 70 61 72 73 65 2e 79 20 6c 65 6d 6f  fts5parse.y lemo
fe20: 6e 2e 65 78 65 0a 09 63 6f 70 79 20 24 28 54 4f  n.exe..copy $(TO
fe30: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
fe40: 70 61 72 73 65 2e 79 20 2e 0a 09 64 65 6c 20 2f  parse.y ...del /
fe50: 51 20 66 74 73 35 70 61 72 73 65 2e 68 20 32 3e  Q fts5parse.h 2>
fe60: 4e 55 4c 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65  NUL...\lemon.exe
fe70: 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46   $(REQ_FEATURE_F
fe80: 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54  LAGS) $(OPT_FEAT
fe90: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54  URE_FLAGS) $(EXT
fea0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
feb0: 24 28 4f 50 54 53 29 20 66 74 73 35 70 61 72 73  $(OPTS) fts5pars
fec0: 65 2e 79 0a 0a 66 74 73 35 70 61 72 73 65 2e 68  e.y..fts5parse.h
fed0: 3a 09 66 74 73 35 70 61 72 73 65 2e 63 0a 0a 66  :.fts5parse.c..f
fee0: 74 73 35 2e 63 3a 09 24 28 46 54 53 35 5f 53 52  ts5.c:.$(FTS5_SR
fef0: 43 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  C)..$(TCLSH_CMD)
ff00: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
ff10: 5c 74 6f 6f 6c 5c 6d 6b 66 74 73 35 63 2e 74 63  \tool\mkfts5c.tc
ff20: 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65  l..copy $(TOP)\e
ff30: 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 2e  xt\fts5\fts5.h .
ff40: 0a 0a 6c 73 6d 31 2e 63 3a 09 24 28 4c 53 4d 31  ..lsm1.c:.$(LSM1
ff50: 5f 53 52 43 29 0a 09 24 28 54 43 4c 53 48 5f 43  _SRC)..$(TCLSH_C
ff60: 4d 44 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  MD) $(TOP)\ext\l
ff70: 73 6d 31 5c 74 6f 6f 6c 5c 6d 6b 6c 73 6d 31 63  sm1\tool\mklsm1c
ff80: 2e 74 63 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50  .tcl..copy $(TOP
ff90: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e 68  )\ext\lsm1\lsm.h
ffa0: 20 2e 0a 0a 66 74 73 35 2e 6c 6f 3a 09 66 74 73   ...fts5.lo:.fts
ffb0: 35 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  5.c $(HDR) $(EXT
ffc0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
ffd0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
ffe0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
fff0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
10000 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 73 35   -c fts5.c..fts5
10010 5f 65 78 74 2e 6c 6f 3a 09 66 74 73 35 2e 63 20  _ext.lo:.fts5.c 
10020 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
10030 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
10040 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 66 74 73  (NO_WARN) -c fts
10050 35 2e 63 0a 0a 66 74 73 35 2e 64 6c 6c 3a 09 66  5.c..fts5.dll:.f
10060 74 73 35 5f 65 78 74 2e 6c 6f 0a 09 24 28 4c 44  ts5_ext.lo..$(LD
10070 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  ) $(LDFLAGS) $(L
10080 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c  TLINKOPTS) $(LTL
10090 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f  IBPATHS) /DLL /O
100a0 55 54 3a 24 40 20 66 74 73 35 5f 65 78 74 2e 6c  UT:$@ fts5_ext.l
100b0 6f 0a 0a 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f  o..sqlite3rbu.lo
100c0 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75  :.$(TOP)\ext\rbu
100d0 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20 24 28  \sqlite3rbu.c $(
100e0 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
100f0 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53  $(LTCOMPILE) -DS
10100 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
10110 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c  TOP)\ext\rbu\sql
10120 69 74 65 33 72 62 75 2e 63 0a 0a 23 20 52 75 6c  ite3rbu.c..# Rul
10130 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20  es to build the 
10140 27 74 65 73 74 66 69 78 74 75 72 65 27 20 61 70  'testfixture' ap
10150 70 6c 69 63 61 74 69 6f 6e 2e 0a 23 0a 23 20 49  plication..#.# I
10160 66 20 75 73 69 6e 67 20 74 68 65 20 61 6d 61 6c  f using the amal
10170 67 61 6d 61 74 69 6f 6e 2c 20 75 73 65 20 73 71  gamation, use sq
10180 6c 69 74 65 33 2e 63 20 64 69 72 65 63 74 6c 79  lite3.c directly
10190 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 74 65   to build the te
101a0 73 74 0a 23 20 66 69 78 74 75 72 65 2e 20 20 4f  st.# fixture.  O
101b0 74 68 65 72 77 69 73 65 20 6c 69 6e 6b 20 61 67  therwise link ag
101c0 61 69 6e 73 74 20 6c 69 62 73 71 6c 69 74 65 33  ainst libsqlite3
101d0 2e 6c 69 62 2e 20 20 28 54 68 69 73 20 64 69 73  .lib.  (This dis
101e0 74 69 6e 63 74 69 6f 6e 20 69 73 0a 23 20 6e 65  tinction is.# ne
101f0 63 65 73 73 61 72 79 20 62 65 63 61 75 73 65 20  cessary because 
10200 74 68 65 20 74 65 73 74 20 66 69 78 74 75 72 65  the test fixture
10210 20 72 65 71 75 69 72 65 73 20 6e 6f 6e 2d 41 50   requires non-AP
10220 49 20 73 79 6d 62 6f 6c 73 20 77 68 69 63 68 20  I symbols which 
10230 61 72 65 0a 23 20 68 69 64 64 65 6e 20 77 68 65  are.# hidden whe
10240 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 69 73  n the library is
10250 20 62 75 69 6c 74 20 76 69 61 20 74 68 65 20 61   built via the a
10260 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a  malgamation)..#.
10270 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
10280 53 20 3d 20 2d 44 54 43 4c 53 48 5f 49 4e 49 54  S = -DTCLSH_INIT
10290 5f 50 52 4f 43 3d 73 71 6c 69 74 65 33 54 65 73  _PROC=sqlite3Tes
102a0 74 49 6e 69 74 20 2d 44 53 51 4c 49 54 45 5f 54  tInit -DSQLITE_T
102b0 45 53 54 3d 31 20 2d 44 53 51 4c 49 54 45 5f 43  EST=1 -DSQLITE_C
102c0 52 41 53 48 5f 54 45 53 54 3d 31 0a 54 45 53 54  RASH_TEST=1.TEST
102d0 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FIXTURE_FLAGS = 
102e0 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  $(TESTFIXTURE_FL
102f0 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53 45  AGS) -DSQLITE_SE
10300 52 56 45 52 3d 31 20 2d 44 53 51 4c 49 54 45 5f  RVER=1 -DSQLITE_
10310 50 52 49 56 41 54 45 3d 22 22 0a 54 45 53 54 46  PRIVATE="".TESTF
10320 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  IXTURE_FLAGS = $
10330 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  (TESTFIXTURE_FLA
10340 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  GS) -DSQLITE_COR
10350 45 20 24 28 4e 4f 5f 57 41 52 4e 29 0a 54 45 53  E $(NO_WARN).TES
10360 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d  TFIXTURE_FLAGS =
10370 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46   $(TESTFIXTURE_F
10380 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53  LAGS) -DSQLITE_S
10390 45 52 49 45 53 5f 43 4f 4e 53 54 52 41 49 4e 54  ERIES_CONSTRAINT
103a0 5f 56 45 52 49 46 59 3d 31 0a 54 45 53 54 46 49  _VERIFY=1.TESTFI
103b0 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  XTURE_FLAGS = $(
103c0 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
103d0 53 29 20 2d 44 53 51 4c 49 54 45 5f 44 45 46 41  S) -DSQLITE_DEFA
103e0 55 4c 54 5f 50 41 47 45 5f 53 49 5a 45 3d 31 30  ULT_PAGE_SIZE=10
103f0 32 34 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46  24.TESTFIXTURE_F
10400 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58  LAGS = $(TESTFIX
10410 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
10420 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 4d 54  LITE_ENABLE_STMT
10430 56 54 41 42 0a 54 45 53 54 46 49 58 54 55 52 45  VTAB.TESTFIXTURE
10440 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46  _FLAGS = $(TESTF
10450 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  IXTURE_FLAGS) -D
10460 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42  SQLITE_ENABLE_DB
10470 50 41 47 45 5f 56 54 41 42 0a 54 45 53 54 46 49  PAGE_VTAB.TESTFI
10480 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  XTURE_FLAGS = $(
10490 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
104a0 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
104b0 4c 45 5f 4a 53 4f 4e 31 0a 54 45 53 54 46 49 58  LE_JSON1.TESTFIX
104c0 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54  TURE_FLAGS = $(T
104d0 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
104e0 29 20 24 28 54 45 53 54 5f 43 43 4f 4e 56 5f 4f  ) $(TEST_CCONV_O
104f0 50 54 53 29 0a 0a 54 45 53 54 46 49 58 54 55 52  PTS)..TESTFIXTUR
10500 45 5f 53 52 43 30 20 3d 20 24 28 54 45 53 54 45  E_SRC0 = $(TESTE
10510 58 54 29 20 24 28 54 45 53 54 53 52 43 32 29 0a  XT) $(TESTSRC2).
10520 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 31  TESTFIXTURE_SRC1
10530 20 3d 20 24 28 54 45 53 54 45 58 54 29 20 24 28   = $(TESTEXT) $(
10540 53 51 4c 49 54 45 33 43 29 0a 21 49 46 20 24 28  SQLITE3C).!IF $(
10550 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e  USE_AMALGAMATION
10560 29 3d 3d 30 0a 54 45 53 54 46 49 58 54 55 52 45  )==0.TESTFIXTURE
10570 5f 53 52 43 20 3d 20 24 28 54 45 53 54 53 52 43  _SRC = $(TESTSRC
10580 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c  ) $(TOP)\src\tcl
10590 73 71 6c 69 74 65 2e 63 20 24 28 54 45 53 54 46  sqlite.c $(TESTF
105a0 49 58 54 55 52 45 5f 53 52 43 30 29 0a 21 45 4c  IXTURE_SRC0).!EL
105b0 53 45 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53  SE.TESTFIXTURE_S
105c0 52 43 20 3d 20 24 28 54 45 53 54 53 52 43 29 20  RC = $(TESTSRC) 
105d0 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71  $(TOP)\src\tclsq
105e0 6c 69 74 65 2e 63 20 24 28 54 45 53 54 46 49 58  lite.c $(TESTFIX
105f0 54 55 52 45 5f 53 52 43 31 29 0a 21 45 4e 44 49  TURE_SRC1).!ENDI
10600 46 0a 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44  F..!IF $(USE_STD
10610 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  CALL)!=0 || $(FO
10620 52 5f 57 49 4e 31 30 29 21 3d 30 0a 73 71 6c 69  R_WIN10)!=0.sqli
10630 74 65 5f 74 63 6c 44 65 63 6c 73 2e 68 3a 0a 09  te_tclDecls.h:..
10640 65 63 68 6f 20 23 69 66 6e 64 65 66 20 53 51 4c  echo #ifndef SQL
10650 49 54 45 5f 54 43 4c 41 50 49 20 3e 20 24 28 53  ITE_TCLAPI > $(S
10660 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a  QLITETCLDECLSH).
10670 09 65 63 68 6f 20 23 20 20 64 65 66 69 6e 65 20  .echo #  define 
10680 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 3e 3e  SQLITE_TCLAPI >>
10690 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c   $(SQLITETCLDECL
106a0 53 48 29 0a 09 65 63 68 6f 20 23 65 6e 64 69 66  SH)..echo #endif
106b0 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44   >> $(SQLITETCLD
106c0 45 43 4c 53 48 29 0a 09 74 79 70 65 20 22 24 28  ECLSH)..type "$(
106d0 54 43 4c 49 4e 43 44 49 52 29 5c 74 63 6c 44 65  TCLINCDIR)\tclDe
106e0 63 6c 73 2e 68 22 20 5c 0a 09 09 7c 20 24 28 54  cls.h" \...| $(T
106f0 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
10700 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
10710 6c 20 72 65 67 73 75 62 20 22 5e 28 45 58 54 45  l regsub "^(EXTE
10720 52 4e 28 3f 3a 20 43 4f 4e 53 54 5c 64 2b 3f 29  RN(?: CONST\d+?)
10730 3f 5c 73 2b 3f 5b 5e 5c 28 5d 2a 3f 5c 73 2b 3f  ?\s+?[^\(]*?\s+?
10740 29 54 63 6c 5f 22 20 22 5c 31 20 53 51 4c 49 54  )Tcl_" "\1 SQLIT
10750 45 5f 54 43 4c 41 50 49 20 54 63 6c 5f 22 20 5c  E_TCLAPI Tcl_" \
10760 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  ...| $(TCLSH_CMD
10770 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re
10780 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62  place.tcl regsub
10790 20 22 5e 28 45 58 54 45 52 4e 5c 73 2b 3f 28 3f   "^(EXTERN\s+?(?
107a0 3a 76 6f 69 64 7c 56 4f 49 44 29 5c 73 2b 3f 29  :void|VOID)\s+?)
107b0 54 63 6c 46 72 65 65 4f 62 6a 22 20 22 5c 31 20  TclFreeObj" "\1 
107c0 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63  SQLITE_TCLAPI Tc
107d0 6c 46 72 65 65 4f 62 6a 22 20 5c 0a 09 09 7c 20  lFreeObj" \...| 
107e0 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
107f0 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
10800 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c  .tcl regsub "\(\
10810 2a 74 63 6c 5f 22 20 22 28 53 51 4c 49 54 45 5f  *tcl_" "(SQLITE_
10820 54 43 4c 41 50 49 20 2a 74 63 6c 5f 22 20 5c 0a  TCLAPI *tcl_" \.
10830 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29  ..| $(TCLSH_CMD)
10840 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep
10850 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20  lace.tcl regsub 
10860 22 5c 28 5c 2a 74 63 6c 46 72 65 65 4f 62 6a 22  "\(\*tclFreeObj"
10870 20 22 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49   "(SQLITE_TCLAPI
10880 20 2a 74 63 6c 46 72 65 65 4f 62 6a 22 20 5c 0a   *tclFreeObj" \.
10890 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29  ..| $(TCLSH_CMD)
108a0 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep
108b0 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20  lace.tcl regsub 
108c0 22 5c 28 5c 2a 22 20 22 28 53 51 4c 49 54 45 5f  "\(\*" "(SQLITE_
108d0 54 43 4c 41 50 49 20 2a 22 20 3e 3e 20 24 28 53  TCLAPI *" >> $(S
108e0 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a  QLITETCLDECLSH).
108f0 0a 73 71 6c 69 74 65 5f 74 63 6c 2e 68 3a 0a 09  .sqlite_tcl.h:..
10900 74 79 70 65 20 22 24 28 54 43 4c 49 4e 43 44 49  type "$(TCLINCDI
10910 52 29 5c 74 63 6c 2e 68 22 20 7c 20 24 28 54 43  R)\tcl.h" | $(TC
10920 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
10930 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
10940 20 65 78 61 63 74 20 74 63 6c 44 65 63 6c 73 2e   exact tclDecls.
10950 68 20 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c  h sqlite_tclDecl
10960 73 2e 68 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53  s.h \...| $(TCLS
10970 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
10980 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72  ol\replace.tcl r
10990 65 67 73 75 62 20 22 74 79 70 65 64 65 66 20 28  egsub "typedef (
109a0 2e 2a 3f 29 5c 28 54 63 6c 5f 22 20 22 74 79 70  .*?)\(Tcl_" "typ
109b0 65 64 65 66 20 5c 31 20 28 53 51 4c 49 54 45 5f  edef \1 (SQLITE_
109c0 54 43 4c 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09  TCLAPI Tcl_" \..
109d0 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  .| $(TCLSH_CMD) 
109e0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl
109f0 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 22 76  ace.tcl exact "v
10a00 6f 69 64 20 28 2a 66 72 65 65 50 72 6f 63 29 22  oid (*freeProc)"
10a10 20 22 76 6f 69 64 20 28 53 51 4c 49 54 45 5f 54   "void (SQLITE_T
10a20 43 4c 41 50 49 20 2a 66 72 65 65 50 72 6f 63 29  CLAPI *freeProc)
10a30 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f  " \...| $(TCLSH_
10a40 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
10a50 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61  \replace.tcl exa
10a60 63 74 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72  ct "Tcl_HashEntr
10a70 79 20 2a 28 2a 66 69 6e 64 50 72 6f 63 29 22 20  y *(*findProc)" 
10a80 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a  "Tcl_HashEntry *
10a90 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a  (SQLITE_TCLAPI *
10aa0 66 69 6e 64 50 72 6f 63 29 22 20 5c 0a 09 09 7c  findProc)" \...|
10ab0 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD) $(
10ac0 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
10ad0 65 2e 74 63 6c 20 65 78 61 63 74 20 22 54 63 6c  e.tcl exact "Tcl
10ae0 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 2a 63 72  _HashEntry *(*cr
10af0 65 61 74 65 50 72 6f 63 29 22 20 22 54 63 6c 5f  eateProc)" "Tcl_
10b00 48 61 73 68 45 6e 74 72 79 20 2a 28 53 51 4c 49  HashEntry *(SQLI
10b10 54 45 5f 54 43 4c 41 50 49 20 2a 63 72 65 61 74  TE_TCLAPI *creat
10b20 65 50 72 6f 63 29 22 20 3e 3e 20 24 28 53 51 4c  eProc)" >> $(SQL
10b30 49 54 45 54 43 4c 48 29 0a 21 45 4e 44 49 46 0a  ITETCLH).!ENDIF.
10b40 0a 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  .testfixture.exe
10b50 3a 09 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  :.$(TESTFIXTURE_
10b60 53 52 43 29 20 24 28 54 45 53 54 46 49 58 54 55  SRC) $(TESTFIXTU
10b70 52 45 5f 44 45 50 29 20 24 28 53 51 4c 49 54 45  RE_DEP) $(SQLITE
10b80 33 48 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  3H) $(LIBRESOBJS
10b90 29 20 24 28 48 44 52 29 20 24 28 53 51 4c 49 54  ) $(HDR) $(SQLIT
10ba0 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54  E_TCL_DEP)..$(LT
10bb0 4c 49 4e 4b 29 20 2d 44 53 51 4c 49 54 45 5f 4e  LINK) -DSQLITE_N
10bc0 4f 5f 53 59 4e 43 3d 31 20 24 28 54 45 53 54 46  O_SYNC=1 $(TESTF
10bd0 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 5c 0a  IXTURE_FLAGS) \.
10be0 09 09 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65  ..-DBUILD_sqlite
10bf0 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20   -I$(TCLINCDIR) 
10c00 5c 0a 09 09 24 28 54 45 53 54 46 49 58 54 55 52  \...$(TESTFIXTUR
10c10 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b  E_SRC) \.../link
10c20 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
10c30 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c  LINKOPTS) $(TCLL
10c40 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49 42  IBPATHS) $(LTLIB
10c50 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f  PATHS) $(LIBRESO
10c60 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29 20  BJS) $(TCLLIBS) 
10c70 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42  $(LTLIBS) $(TLIB
10c80 53 29 0a 0a 65 78 74 65 6e 73 69 6f 6e 74 65 73  S)..extensiontes
10c90 74 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e 65  t:.testfixture.e
10ca0 78 65 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 64  xe testloadext.d
10cb0 6c 6c 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28  ll..@set PATH=$(
10cc0 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41  LIBTCLPATH);$(PA
10cd0 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75  TH)...\testfixtu
10ce0 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65  re.exe $(TOP)\te
10cf0 73 74 5c 6c 6f 61 64 65 78 74 2e 74 65 73 74 20  st\loadext.test 
10d00 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 6c  $(TESTOPTS)..ful
10d10 6c 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f  ltest:.$(TESTPRO
10d20 47 53 29 20 66 75 7a 7a 74 65 73 74 0a 09 40 73  GS) fuzztest..@s
10d30 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL
10d40 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)...
10d50 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
10d60 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c   $(TOP)\test\all
10d70 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53  .test $(TESTOPTS
10d80 29 0a 0a 73 6f 61 6b 74 65 73 74 3a 09 24 28 54  )..soaktest:.$(T
10d90 45 53 54 50 52 4f 47 53 29 0a 09 40 73 65 74 20  ESTPROGS)..@set 
10da0 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54  PATH=$(LIBTCLPAT
10db0 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65  H);$(PATH)...\te
10dc0 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28  stfixture.exe $(
10dd0 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65  TOP)\test\all.te
10de0 73 74 20 2d 73 6f 61 6b 3d 31 20 24 28 54 45 53  st -soak=1 $(TES
10df0 54 4f 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74  TOPTS)..fulltest
10e00 6f 6e 6c 79 3a 09 24 28 54 45 53 54 50 52 4f 47  only:.$(TESTPROG
10e10 53 29 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 65  S) fuzztest..@se
10e20 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50  t PATH=$(LIBTCLP
10e30 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c  ATH);$(PATH)...\
10e40 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe 
10e50 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 6c 6c  $(TOP)\test\full
10e60 2e 74 65 73 74 0a 0a 71 75 65 72 79 70 6c 61 6e  .test..queryplan
10e70 74 65 73 74 3a 09 74 65 73 74 66 69 78 74 75 72  test:.testfixtur
10e80 65 2e 65 78 65 20 73 68 65 6c 6c 0a 09 40 73 65  e.exe shell..@se
10e90 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50  t PATH=$(LIBTCLP
10ea0 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c  ATH);$(PATH)...\
10eb0 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe 
10ec0 24 28 54 4f 50 29 5c 74 65 73 74 5c 70 65 72 6d  $(TOP)\test\perm
10ed0 75 74 61 74 69 6f 6e 73 2e 74 65 73 74 20 71 75  utations.test qu
10ee0 65 72 79 70 6c 61 6e 6e 65 72 20 24 28 54 45 53  eryplanner $(TES
10ef0 54 4f 50 54 53 29 0a 0a 66 75 7a 7a 74 65 73 74  TOPTS)..fuzztest
10f00 3a 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a  :.fuzzcheck.exe.
10f10 09 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65  ..\fuzzcheck.exe
10f20 20 24 28 46 55 5a 5a 44 41 54 41 29 0a 0a 66 61   $(FUZZDATA)..fa
10f30 73 74 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a  stfuzztest:.fuzz
10f40 63 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a  check.exe...\fuz
10f50 7a 63 68 65 63 6b 2e 65 78 65 20 2d 2d 6c 69 6d  zcheck.exe --lim
10f60 69 74 2d 6d 65 6d 20 31 30 30 4d 20 24 28 46 55  it-mem 100M $(FU
10f70 5a 5a 44 41 54 41 29 0a 0a 23 20 4d 69 6e 69 6d  ZZDATA)..# Minim
10f80 61 6c 20 74 65 73 74 69 6e 67 20 74 68 61 74 20  al testing that 
10f90 72 75 6e 73 20 69 6e 20 6c 65 73 73 20 74 68 61  runs in less tha
10fa0 6e 20 33 20 6d 69 6e 75 74 65 73 20 28 6f 6e 20  n 3 minutes (on 
10fb0 61 20 66 61 73 74 20 6d 61 63 68 69 6e 65 29 0a  a fast machine).
10fc0 23 0a 71 75 69 63 6b 74 65 73 74 3a 09 74 65 73  #.quicktest:.tes
10fd0 74 66 69 78 74 75 72 65 2e 65 78 65 20 73 6f 75  tfixture.exe sou
10fe0 72 63 65 74 65 73 74 0a 09 40 73 65 74 20 50 41  rcetest..@set PA
10ff0 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29  TH=$(LIBTCLPATH)
11000 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74  ;$(PATH)...\test
11010 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f  fixture.exe $(TO
11020 50 29 5c 74 65 73 74 5c 65 78 74 72 61 71 75 69  P)\test\extraqui
11030 63 6b 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50  ck.test $(TESTOP
11040 54 53 29 0a 0a 23 20 54 68 69 73 20 69 73 20 74  TS)..# This is t
11050 68 65 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 2e 20  he common case. 
11060 20 52 75 6e 20 6d 61 6e 79 20 74 65 73 74 73 20   Run many tests 
11070 74 68 61 74 20 64 6f 20 6e 6f 74 20 74 61 6b 65  that do not take
11080 20 74 6f 6f 20 6c 6f 6e 67 2c 0a 23 20 69 6e 63   too long,.# inc
11090 6c 75 64 69 6e 67 20 66 75 7a 7a 63 68 65 63 6b  luding fuzzcheck
110a0 2c 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a  , sqlite3_analyz
110b0 65 72 2c 20 61 6e 64 20 73 71 6c 64 69 66 66 20  er, and sqldiff 
110c0 74 65 73 74 73 2e 0a 23 0a 74 65 73 74 3a 09 24  tests..#.test:.$
110d0 28 54 45 53 54 50 52 4f 47 53 29 20 73 6f 75 72  (TESTPROGS) sour
110e0 63 65 74 65 73 74 20 66 61 73 74 66 75 7a 7a 74  cetest fastfuzzt
110f0 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24  est..@set PATH=$
11100 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50  (LIBTCLPATH);$(P
11110 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74  ATH)...\testfixt
11120 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74  ure.exe $(TOP)\t
11130 65 73 74 5c 76 65 72 79 71 75 69 63 6b 2e 74 65  est\veryquick.te
11140 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a  st $(TESTOPTS)..
11150 73 6d 6f 6b 65 74 65 73 74 3a 09 24 28 54 45 53  smoketest:.$(TES
11160 54 50 52 4f 47 53 29 0a 09 40 73 65 74 20 50 41  TPROGS)..@set PA
11170 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29  TH=$(LIBTCLPATH)
11180 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74  ;$(PATH)...\test
11190 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f  fixture.exe $(TO
111a0 50 29 5c 74 65 73 74 5c 6d 61 69 6e 2e 74 65 73  P)\test\main.tes
111b0 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73  t $(TESTOPTS)..s
111c0 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
111d0 63 3a 09 24 28 53 51 4c 49 54 45 33 43 29 20 24  c:.$(SQLITE3C) $
111e0 28 53 51 4c 49 54 45 33 48 29 20 24 28 54 4f 50  (SQLITE3H) $(TOP
111f0 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e  )\src\tclsqlite.
11200 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70  c $(TOP)\tool\sp
11210 61 63 65 61 6e 61 6c 2e 74 63 6c 20 24 28 54 4f  aceanal.tcl $(TO
11220 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e  P)\tool\mkccode.
11230 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  tcl $(TOP)\tool\
11240 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
11250 2e 63 2e 69 6e 20 24 28 53 51 4c 49 54 45 5f 54  .c.in $(SQLITE_T
11260 43 4c 5f 44 45 50 29 0a 09 24 28 54 43 4c 53 48  CL_DEP)..$(TCLSH
11270 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
11280 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28  l\mkccode.tcl $(
11290 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 69 74 65  TOP)\tool\sqlite
112a0 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 2e 69 6e 20  3_analyzer.c.in 
112b0 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f 61 6e  > $@..sqlite3_an
112c0 61 6c 79 7a 65 72 2e 65 78 65 3a 09 73 71 6c 69  alyzer.exe:.sqli
112d0 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 24  te3_analyzer.c $
112e0 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28  (LIBRESOBJS)..$(
112f0 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
11300 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74  N) -DBUILD_sqlit
11310 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29  e -I$(TCLINCDIR)
11320 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65   sqlite3_analyze
11330 72 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28  r.c \.../link $(
11340 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
11350 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50  KOPTS) $(TCLLIBP
11360 41 54 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54  ATHS) $(LTLIBPAT
11370 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  HS) $(LIBRESOBJS
11380 29 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c  ) $(TCLLIBS) $(L
11390 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a  TLIBS) $(TLIBS).
113a0 0a 73 71 6c 74 63 6c 73 68 2e 63 3a 20 73 71 6c  .sqltclsh.c: sql
113b0 69 74 65 33 2e 63 20 24 28 54 4f 50 29 5c 73 72  ite3.c $(TOP)\sr
113c0 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28  c\tclsqlite.c $(
113d0 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c  TOP)\tool\sqltcl
113e0 73 68 2e 74 63 6c 20 24 28 54 4f 50 29 5c 65 78  sh.tcl $(TOP)\ex
113f0 74 5c 6d 69 73 63 5c 61 70 70 65 6e 64 76 66 73  t\misc\appendvfs
11400 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  .c $(TOP)\tool\m
11410 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50  kccode.tcl $(TOP
11420 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e  )\tool\sqltclsh.
11430 63 2e 69 6e 0a 09 24 28 54 43 4c 53 48 5f 43 4d  c.in..$(TCLSH_CM
11440 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  D) $(TOP)\tool\m
11450 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50  kccode.tcl $(TOP
11460 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e  )\tool\sqltclsh.
11470 63 2e 69 6e 20 3e 73 71 6c 74 63 6c 73 68 2e 63  c.in >sqltclsh.c
11480 0a 0a 73 71 6c 74 63 6c 73 68 2e 65 78 65 3a 20  ..sqltclsh.exe: 
11490 73 71 6c 74 63 6c 73 68 2e 63 20 20 24 28 53 48  sqltclsh.c  $(SH
114a0 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 20 24 28  ELL_CORE_DEP) $(
114b0 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c  LIBRESOBJS)..$(L
114c0 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
114d0 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65  ) -DBUILD_sqlite
114e0 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20   -I$(TCLINCDIR) 
114f0 73 71 6c 74 63 6c 73 68 2e 63 20 5c 0a 09 09 2f  sqltclsh.c \.../
11500 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
11510 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS) $(
11520 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c  TCLLIBPATHS) $(L
11530 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42  TLIBPATHS) $(LIB
11540 52 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49  RESOBJS) $(TCLLI
11550 42 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28  BS) $(LTLIBS) $(
11560 54 4c 49 42 53 29 0a 0a 73 71 6c 69 74 65 33 5f  TLIBS)..sqlite3_
11570 65 78 70 65 72 74 2e 65 78 65 3a 20 24 28 53 51  expert.exe: $(SQ
11580 4c 49 54 45 33 43 29 20 24 28 54 4f 50 29 5c 65  LITE3C) $(TOP)\e
11590 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65  xt\expert\sqlite
115a0 33 65 78 70 65 72 74 2e 68 20 24 28 54 4f 50 29  3expert.h $(TOP)
115b0 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69  \ext\expert\sqli
115c0 74 65 33 65 78 70 65 72 74 2e 63 20 24 28 54 4f  te3expert.c $(TO
115d0 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 65 78  P)\ext\expert\ex
115e0 70 65 72 74 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b  pert.c..$(LTLINK
115f0 29 20 24 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54  ) $(NO_WARN).$(T
11600 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73  OP)\ext\expert\s
11610 71 6c 69 74 65 33 65 78 70 65 72 74 2e 63 20 24  qlite3expert.c $
11620 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74  (TOP)\ext\expert
11630 5c 65 78 70 65 72 74 2e 63 20 24 28 53 51 4c 49  \expert.c $(SQLI
11640 54 45 33 43 29 20 24 28 54 4c 49 42 53 29 0a 0a  TE3C) $(TLIBS)..
11650 43 48 45 43 4b 45 52 5f 44 45 50 53 20 3d 5c 0a  CHECKER_DEPS =\.
11660 20 20 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6d 6b    $(TOP)/tool/mk
11670 63 63 6f 64 65 2e 74 63 6c 20 5c 0a 20 20 73 71  ccode.tcl \.  sq
11680 6c 69 74 65 33 2e 63 20 5c 0a 20 20 24 28 54 4f  lite3.c \.  $(TO
11690 50 29 2f 73 72 63 2f 74 63 6c 73 71 6c 69 74 65  P)/src/tclsqlite
116a0 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78  .c \.  $(TOP)/ex
116b0 74 2f 72 65 70 61 69 72 2f 73 71 6c 69 74 65 33  t/repair/sqlite3
116c0 5f 63 68 65 63 6b 65 72 2e 74 63 6c 20 5c 0a 20  _checker.tcl \. 
116d0 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61   $(TOP)/ext/repa
116e0 69 72 2f 63 68 65 63 6b 69 6e 64 65 78 2e 63 20  ir/checkindex.c 
116f0 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72  \.  $(TOP)/ext/r
11700 65 70 61 69 72 2f 63 68 65 63 6b 66 72 65 65 6c  epair/checkfreel
11710 69 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ist.c \.  $(TOP)
11720 2f 65 78 74 2f 6d 69 73 63 2f 62 74 72 65 65 69  /ext/misc/btreei
11730 6e 66 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  nfo.c \.  $(TOP)
11740 2f 65 78 74 2f 72 65 70 61 69 72 2f 73 71 6c 69  /ext/repair/sqli
11750 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69 6e  te3_checker.c.in
11760 0a 0a 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65  ..sqlite3_checke
11770 72 2e 63 3a 09 24 28 43 48 45 43 4b 45 52 5f 44  r.c:.$(CHECKER_D
11780 45 50 53 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d  EPS)..$(TCLSH_CM
11790 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  D) $(TOP)\tool\m
117a0 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50  kccode.tcl $(TOP
117b0 29 5c 65 78 74 5c 72 65 70 61 69 72 5c 73 71 6c  )\ext\repair\sql
117c0 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69  ite3_checker.c.i
117d0 6e 20 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f  n > $@..sqlite3_
117e0 63 68 65 63 6b 65 72 2e 65 78 65 3a 09 73 71 6c  checker.exe:.sql
117f0 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 20 24  ite3_checker.c $
11800 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28  (LIBRESOBJS)..$(
11810 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
11820 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74  N) -DBUILD_sqlit
11830 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29  e -I$(TCLINCDIR)
11840 20 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72   sqlite3_checker
11850 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c  .c \.../link $(L
11860 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
11870 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41  OPTS) $(TCLLIBPA
11880 54 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48  THS) $(LTLIBPATH
11890 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  S) $(LIBRESOBJS)
118a0 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54   $(TCLLIBS) $(LT
118b0 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS)..
118c0 64 62 64 75 6d 70 2e 65 78 65 3a 09 24 28 54 4f  dbdump.exe:.$(TO
118d0 50 29 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64 75  P)\ext\misc\dbdu
118e0 6d 70 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  mp.c $(SQLITE3C)
118f0 20 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 4c   $(SQLITE3H) $(L
11900 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54  IBRESOBJS)..$(LT
11910 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
11920 20 2d 44 44 42 44 55 4d 50 5f 53 54 41 4e 44 41   -DDBDUMP_STANDA
11930 4c 4f 4e 45 20 24 28 54 4f 50 29 5c 65 78 74 5c  LONE $(TOP)\ext\
11940 6d 69 73 63 5c 64 62 64 75 6d 70 2e 63 20 24 28  misc\dbdump.c $(
11950 53 51 4c 49 54 45 33 43 29 20 5c 0a 09 09 2f 6c  SQLITE3C) \.../l
11960 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
11970 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c  (LTLINKOPTS) $(L
11980 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42  TLIBPATHS) $(LIB
11990 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42  RESOBJS) $(LTLIB
119a0 53 29 0a 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e  S)..testloadext.
119b0 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74  lo:.$(TOP)\src\t
119c0 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63 20 24 28  est_loadext.c $(
119d0 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 43  SQLITE3H)..$(LTC
119e0 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52  OMPILE) $(NO_WAR
119f0 4e 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  N) -c $(TOP)\src
11a00 5c 74 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63 0a  \test_loadext.c.
11a10 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c  .testloadext.dll
11a20 3a 09 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f  :.testloadext.lo
11a30 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47  ..$(LD) $(LDFLAG
11a40 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
11a50 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f   $(LTLIBPATHS) /
11a60 44 4c 4c 20 2f 4f 55 54 3a 24 40 20 74 65 73 74  DLL /OUT:$@ test
11a70 6c 6f 61 64 65 78 74 2e 6c 6f 0a 0a 73 68 6f 77  loadext.lo..show
11a80 64 62 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  db.exe:.$(TOP)\t
11a90 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28 53  ool\showdb.c $(S
11aa0 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
11ab0 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
11ac0 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
11ad0 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
11ae0 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
11af0 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
11b00 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  ..$(TOP)\tool\sh
11b10 6f 77 64 62 2e 63 20 24 28 53 51 4c 49 54 45 33  owdb.c $(SQLITE3
11b20 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
11b30 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
11b40 29 0a 0a 73 68 6f 77 73 74 61 74 34 2e 65 78 65  )..showstat4.exe
11b50 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  :.$(TOP)\tool\sh
11b60 6f 77 73 74 61 74 34 2e 63 20 24 28 53 51 4c 49  owstat4.c $(SQLI
11b70 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
11b80 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
11b90 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
11ba0 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
11bb0 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
11bc0 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$
11bd0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73  (TOP)\tool\shows
11be0 74 61 74 34 2e 63 20 24 28 53 51 4c 49 54 45 33  tat4.c $(SQLITE3
11bf0 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
11c00 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
11c10 29 0a 0a 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65  )..showjournal.e
11c20 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
11c30 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28  showjournal.c $(
11c40 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
11c50 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
11c60 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
11c70 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
11c80 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  0 -DSQLITE_OMIT_
11c90 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c  LOAD_EXTENSION \
11ca0 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  ...$(TOP)\tool\s
11cb0 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53  howjournal.c $(S
11cc0 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
11cd0 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
11ce0 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 77 61 6c  NKOPTS)..showwal
11cf0 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
11d00 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24 28 53 51  l\showwal.c $(SQ
11d10 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
11d20 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
11d30 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
11d40 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20  TE_THREADSAFE=0 
11d50 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f  -DSQLITE_OMIT_LO
11d60 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09  AD_EXTENSION \..
11d70 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f  .$(TOP)\tool\sho
11d80 77 77 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33  wwal.c $(SQLITE3
11d90 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
11da0 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
11db0 29 0a 0a 73 68 6f 77 73 68 6d 2e 65 78 65 3a 09  )..showshm.exe:.
11dc0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show
11dd0 73 68 6d 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29  shm.c..$(LTLINK)
11de0 20 24 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f   $(NO_WARN).$(TO
11df0 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 68 6d 2e  P)\tool\showshm.
11e00 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  c /link $(LDFLAG
11e10 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
11e20 0a 0a 63 68 61 6e 67 65 73 65 74 2e 65 78 65 3a  ..changeset.exe:
11e30 09 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73  .$(TOP)\ext\sess
11e40 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74 2e 63 20  ion\changeset.c 
11e50 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
11e60 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
11e70 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
11e80 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
11e90 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  E=0 -DSQLITE_OMI
11ea0 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e  T_LOAD_EXTENSION
11eb0 20 5c 0a 09 09 2d 44 53 51 4c 49 54 45 5f 45 4e   \...-DSQLITE_EN
11ec0 41 42 4c 45 5f 53 45 53 53 49 4f 4e 3d 31 20 2d  ABLE_SESSION=1 -
11ed0 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 50  DSQLITE_ENABLE_P
11ee0 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b 3d 31 20  REUPDATE_HOOK=1 
11ef0 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74 5c 73  \...$(TOP)\ext\s
11f00 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74  ession\changeset
11f10 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
11f20 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
11f30 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66  $(LTLINKOPTS)..f
11f40 74 73 33 76 69 65 77 2e 65 78 65 3a 09 24 28 54  ts3view.exe:.$(T
11f50 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f  OP)\ext\fts3\too
11f60 6c 5c 66 74 73 33 76 69 65 77 2e 63 20 24 28 53  l\fts3view.c $(S
11f70 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
11f80 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
11f90 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
11fa0 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
11fb0 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
11fc0 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
11fd0 09 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  ..$(TOP)\ext\fts
11fe0 33 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e  3\tool\fts3view.
11ff0 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
12000 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
12010 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 72 6f  (LTLINKOPTS)..ro
12020 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 65 78 65 3a  llback-test.exe:
12030 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c  .$(TOP)\tool\rol
12040 6c 62 61 63 6b 2d 74 65 73 74 2e 63 20 24 28 53  lback-test.c $(S
12050 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
12060 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
12070 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
12080 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
12090 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
120a0 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
120b0 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f  ..$(TOP)\tool\ro
120c0 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63 20 24 28  llback-test.c $(
120d0 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
120e0 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
120f0 49 4e 4b 4f 50 54 53 29 0a 0a 4c 6f 67 45 73 74  INKOPTS)..LogEst
12100 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
12110 6c 5c 6c 6f 67 65 73 74 2e 63 20 24 28 53 51 4c  l\logest.c $(SQL
12120 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
12130 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54  ) $(NO_WARN) $(T
12140 4f 50 29 5c 74 6f 6f 6c 5c 4c 6f 67 45 73 74 2e  OP)\tool\LogEst.
12150 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  c /link $(LDFLAG
12160 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
12170 0a 0a 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65 3a  ..wordcount.exe:
12180 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 77 6f 72  .$(TOP)\test\wor
12190 64 63 6f 75 6e 74 2e 63 20 24 28 53 51 4c 49 54  dcount.c $(SQLIT
121a0 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
121b0 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
121c0 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
121d0 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
121e0 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
121f0 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28  EXTENSION \...$(
12200 54 4f 50 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f  TOP)\test\wordco
12210 75 6e 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  unt.c $(SQLITE3C
12220 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
12230 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
12240 0a 0a 73 70 65 65 64 74 65 73 74 31 2e 65 78 65  ..speedtest1.exe
12250 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 70  :.$(TOP)\test\sp
12260 65 65 64 74 65 73 74 31 2e 63 20 24 28 53 51 4c  eedtest1.c $(SQL
12270 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
12280 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
12290 4e 4f 5f 57 41 52 4e 29 20 24 28 53 54 5f 43 4f  NO_WARN) $(ST_CO
122a0 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51  MPILE_OPTS) -DSQ
122b0 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45  LITE_OMIT_LOAD_E
122c0 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54  XTENSION \...$(T
122d0 4f 50 29 5c 74 65 73 74 5c 73 70 65 65 64 74 65  OP)\test\speedte
122e0 73 74 31 2e 63 20 24 28 53 51 4c 49 54 45 33 43  st1.c $(SQLITE3C
122f0 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
12300 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
12310 0a 0a 6b 76 74 65 73 74 2e 65 78 65 3a 09 24 28  ..kvtest.exe:.$(
12320 54 4f 50 29 5c 74 65 73 74 5c 6b 76 74 65 73 74  TOP)\test\kvtest
12330 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
12340 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
12350 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
12360 20 24 28 4b 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50   $(KV_COMPILE_OP
12370 54 53 29 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74  TS) \...$(TOP)\t
12380 65 73 74 5c 6b 76 74 65 73 74 2e 63 20 24 28 53  est\kvtest.c $(S
12390 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
123a0 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
123b0 4e 4b 4f 50 54 53 29 0a 0a 72 62 75 2e 65 78 65  NKOPTS)..rbu.exe
123c0 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75  :.$(TOP)\ext\rbu
123d0 5c 72 62 75 2e 63 20 24 28 54 4f 50 29 5c 65 78  \rbu.c $(TOP)\ex
123e0 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75  t\rbu\sqlite3rbu
123f0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
12400 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
12410 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
12420 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
12430 5f 52 42 55 20 5c 0a 09 09 24 28 54 4f 50 29 5c  _RBU \...$(TOP)\
12440 65 78 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28  ext\rbu\rbu.c $(
12450 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
12460 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
12470 49 4e 4b 4f 50 54 53 29 0a 0a 4c 53 4d 44 49 52  INKOPTS)..LSMDIR
12480 3d 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31  =$(TOP)\ext\lsm1
12490 0a 21 49 4e 43 4c 55 44 45 20 24 28 4c 53 4d 44  .!INCLUDE $(LSMD
124a0 49 52 29 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63  IR)\Makefile.msc
124b0 0a 0a 6d 6f 72 65 63 6c 65 61 6e 3a 09 63 6c 65  ..moreclean:.cle
124c0 61 6e 0a 09 64 65 6c 20 2f 51 20 24 28 53 51 4c  an..del /Q $(SQL
124d0 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
124e0 48 29 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61  H) 2>NUL.# <</ma
124f0 72 6b 3e 3e 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65  rk>>..clean:..de
12500 6c 20 2f 51 20 2a 2e 65 78 70 20 2a 2e 6c 6f 20  l /Q *.exp *.lo 
12510 2a 2e 69 6c 6b 20 2a 2e 6c 69 62 20 2a 2e 6f 62  *.ilk *.lib *.ob
12520 6a 20 2a 2e 6e 63 62 20 2a 2e 70 64 62 20 2a 2e  j *.ncb *.pdb *.
12530 73 64 66 20 2a 2e 73 75 6f 20 32 3e 4e 55 4c 0a  sdf *.suo 2>NUL.
12540 09 64 65 6c 20 2f 51 20 2a 2e 62 73 63 20 2a 2e  .del /Q *.bsc *.
12550 64 65 66 20 2a 2e 63 6f 64 20 2a 2e 64 61 20 2a  def *.cod *.da *
12560 2e 62 62 20 2a 2e 62 62 67 20 2a 2e 76 63 20 67  .bb *.bbg *.vc g
12570 6d 6f 6e 2e 6f 75 74 20 32 3e 4e 55 4c 0a 09 64  mon.out 2>NUL..d
12580 65 6c 20 2f 51 20 24 28 53 51 4c 49 54 45 33 45  el /Q $(SQLITE3E
12590 58 45 29 20 24 28 53 51 4c 49 54 45 33 44 4c 4c  XE) $(SQLITE3DLL
125a0 29 20 52 65 70 6c 61 63 65 2e 65 78 65 20 32 3e  ) Replace.exe 2>
125b0 4e 55 4c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 09  NUL.# <<mark>>..
125c0 64 65 6c 20 2f 51 20 6f 70 63 6f 64 65 73 2e 63  del /Q opcodes.c
125d0 20 6f 70 63 6f 64 65 73 2e 68 20 32 3e 4e 55 4c   opcodes.h 2>NUL
125e0 0a 09 64 65 6c 20 2f 51 20 6c 65 6d 6f 6e 2e 2a  ..del /Q lemon.*
125f0 20 6c 65 6d 70 61 72 2e 63 20 70 61 72 73 65 2e   lempar.c parse.
12600 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  * 2>NUL..del /Q 
12610 6d 6b 73 6f 75 72 63 65 69 64 2e 2a 20 6d 6b 6b  mksourceid.* mkk
12620 65 79 77 6f 72 64 68 61 73 68 2e 2a 20 6b 65 79  eywordhash.* key
12630 77 6f 72 64 68 61 73 68 2e 68 20 32 3e 4e 55 4c  wordhash.h 2>NUL
12640 0a 09 64 65 6c 20 2f 51 20 6e 6f 74 61 73 68 61  ..del /Q notasha
12650 72 65 64 6c 69 62 2e 2a 20 32 3e 4e 55 4c 0a 09  redlib.* 2>NUL..
12660 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e 64 65 70  -rmdir /Q/S .dep
12670 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20  s 2>NUL..-rmdir 
12680 2f 51 2f 53 20 2e 6c 69 62 73 20 32 3e 4e 55 4c  /Q/S .libs 2>NUL
12690 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 74 73  ..-rmdir /Q/S ts
126a0 72 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  rc 2>NUL..del /Q
126b0 20 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 20   .target_source 
126c0 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 63  2>NUL..del /Q tc
126d0 6c 73 71 6c 69 74 65 33 2e 65 78 65 20 24 28 53  lsqlite3.exe $(S
126e0 51 4c 49 54 45 54 43 4c 48 29 20 24 28 53 51 4c  QLITETCLH) $(SQL
126f0 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20 32 3e  ITETCLDECLSH) 2>
12700 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 73 6d 2e  NUL..del /Q lsm.
12710 64 6c 6c 20 6c 73 6d 74 65 73 74 2e 65 78 65 20  dll lsmtest.exe 
12720 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65  2>NUL..del /Q te
12730 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 20 32 3e  stloadext.dll 2>
12740 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 74  NUL..del /Q test
12750 66 69 78 74 75 72 65 2e 65 78 65 20 74 65 73 74  fixture.exe test
12760 2e 64 62 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  .db 2>NUL..del /
12770 51 20 4c 6f 67 45 73 74 2e 65 78 65 20 66 74 73  Q LogEst.exe fts
12780 33 76 69 65 77 2e 65 78 65 20 72 6f 6c 6c 62 61  3view.exe rollba
12790 63 6b 2d 74 65 73 74 2e 65 78 65 20 73 68 6f 77  ck-test.exe show
127a0 64 62 2e 65 78 65 20 64 62 64 75 6d 70 2e 65 78  db.exe dbdump.ex
127b0 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q 
127c0 63 68 61 6e 67 65 73 65 74 2e 65 78 65 20 32 3e  changeset.exe 2>
127d0 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68 6f 77  NUL..del /Q show
127e0 6a 6f 75 72 6e 61 6c 2e 65 78 65 20 73 68 6f 77  journal.exe show
127f0 73 74 61 74 34 2e 65 78 65 20 73 68 6f 77 77 61  stat4.exe showwa
12800 6c 2e 65 78 65 20 73 70 65 65 64 74 65 73 74 31  l.exe speedtest1
12810 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del 
12820 2f 51 20 6d 70 74 65 73 74 65 72 2e 65 78 65 20  /Q mptester.exe 
12830 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65 20 72 62  wordcount.exe rb
12840 75 2e 65 78 65 20 73 72 63 63 6b 31 2e 65 78 65  u.exe srcck1.exe
12850 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73   2>NUL..del /Q s
12860 71 6c 69 74 65 33 2e 63 20 73 71 6c 69 74 65 33  qlite3.c sqlite3
12870 2d 2a 2e 63 20 73 71 6c 69 74 65 33 2e 68 20 32  -*.c sqlite3.h 2
12880 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c  >NUL..del /Q sql
12890 69 74 65 33 72 63 2e 68 20 32 3e 4e 55 4c 0a 09  ite3rc.h 2>NUL..
128a0 64 65 6c 20 2f 51 20 73 68 65 6c 6c 2e 63 20 73  del /Q shell.c s
128b0 71 6c 69 74 65 33 65 78 74 2e 68 20 73 71 6c 69  qlite3ext.h sqli
128c0 74 65 33 73 65 73 73 69 6f 6e 2e 68 20 32 3e 4e  te3session.h 2>N
128d0 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74  UL..del /Q sqlit
128e0 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65 20  e3_analyzer.exe 
128f0 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
12900 2e 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  .c 2>NUL..del /Q
12910 20 73 71 6c 69 74 65 2d 2a 2d 6f 75 74 70 75 74   sqlite-*-output
12920 2e 76 73 69 78 20 32 3e 4e 55 4c 0a 09 64 65 6c  .vsix 2>NUL..del
12930 20 2f 51 20 66 75 7a 7a 65 72 73 68 65 6c 6c 2e   /Q fuzzershell.
12940 65 78 65 20 66 75 7a 7a 63 68 65 63 6b 2e 65 78  exe fuzzcheck.ex
12950 65 20 73 71 6c 64 69 66 66 2e 65 78 65 20 64 62  e sqldiff.exe db
12960 68 61 73 68 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  hash.exe 2>NUL..
12970 64 65 6c 20 2f 51 20 73 71 6c 74 63 6c 73 68 2e  del /Q sqltclsh.
12980 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  * 2>NUL..del /Q 
12990 64 62 66 75 7a 7a 2e 65 78 65 20 73 65 73 73 69  dbfuzz.exe sessi
129a0 6f 6e 66 75 7a 7a 2e 65 78 65 20 32 3e 4e 55 4c  onfuzz.exe 2>NUL
129b0 0a 09 64 65 6c 20 2f 51 20 6b 76 74 65 73 74 2e  ..del /Q kvtest.
129c0 65 78 65 20 6f 73 73 73 68 65 6c 6c 2e 65 78 65  exe ossshell.exe
129d0 20 73 63 72 75 62 2e 65 78 65 20 32 3e 4e 55 4c   scrub.exe 2>NUL
129e0 0a 09 64 65 6c 20 2f 51 20 73 68 6f 77 73 68 6d  ..del /Q showshm
129f0 2e 65 78 65 20 73 71 6c 69 74 65 33 5f 63 68 65  .exe sqlite3_che
12a00 63 6b 65 72 2e 2a 20 73 71 6c 69 74 65 33 5f 65  cker.* sqlite3_e
12a10 78 70 65 72 74 2e 65 78 65 20 32 3e 4e 55 4c 0a  xpert.exe 2>NUL.
12a20 09 64 65 6c 20 2f 51 20 66 74 73 35 2e 2a 20 66  .del /Q fts5.* f
12a30 74 73 35 70 61 72 73 65 2e 2a 20 32 3e 4e 55 4c  ts5parse.* 2>NUL
12a40 0a 09 64 65 6c 20 2f 51 20 6c 73 6d 2e 68 20 6c  ..del /Q lsm.h l
12a50 73 6d 31 2e 63 20 32 3e 4e 55 4c 0a 23 20 3c 3c  sm1.c 2>NUL.# <<
12a60 2f 6d 61 72 6b 3e 3e 0a                          /mark>>.