/ Hex Artifact Content
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

Artifact 425975b711d07077fc50df2bbe13f4e363274cc63f7352f7be701729112705fa:


0000: 23 0a 23 20 6e 6d 61 6b 65 20 4d 61 6b 65 66 69  #.# nmake Makefi
0010: 6c 65 20 66 6f 72 20 53 51 4c 69 74 65 0a 23 0a  le for SQLite.#.
0020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20 53  ############## S
0090: 54 41 52 54 20 4f 46 20 4f 50 54 49 4f 4e 53 20  TART OF OPTIONS 
00a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
00c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0110: 0a 23 20 54 68 65 20 74 6f 70 6c 65 76 65 6c 20  .# The toplevel 
0120: 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65  directory of the
0130: 20 73 6f 75 72 63 65 20 74 72 65 65 2e 20 20 54   source tree.  T
0140: 68 69 73 20 69 73 20 74 68 65 20 64 69 72 65 63  his is the direc
0150: 74 6f 72 79 0a 23 20 74 68 61 74 20 63 6f 6e 74  tory.# that cont
0160: 61 69 6e 73 20 74 68 69 73 20 22 4d 61 6b 65 66  ains this "Makef
0170: 69 6c 65 2e 6d 73 63 22 2e 0a 23 0a 54 4f 50 20  ile.msc"..#.TOP 
0180: 3d 20 2e 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  = ...# <<mark>>.
0190: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
01a0: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
01b0: 73 65 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d  se the SQLite am
01c0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 2e  algamation file.
01d0: 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 41  .#.!IFNDEF USE_A
01e0: 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 55 53 45 5f  MALGAMATION.USE_
01f0: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 20 3d 20 31  AMALGAMATION = 1
0200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this 
0220: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable 
0230: 66 75 6c 6c 20 77 61 72 6e 69 6e 67 73 20 28 2d  full warnings (-
0240: 57 34 2c 20 65 74 63 29 20 77 68 65 6e 20 63 6f  W4, etc) when co
0250: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 4e 44  mpiling..#.!IFND
0260: 45 46 20 55 53 45 5f 46 55 4c 4c 57 41 52 4e 0a  EF USE_FULLWARN.
0270: 55 53 45 5f 46 55 4c 4c 57 41 52 4e 20 3d 20 31  USE_FULLWARN = 1
0280: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0290: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61  his non-0 to ena
02a0: 62 6c 65 20 74 72 65 61 74 69 6e 67 20 77 61 72  ble treating war
02b0: 6e 69 6e 67 73 20 61 73 20 65 72 72 6f 72 73 20  nings as errors 
02c0: 28 2d 57 58 2c 20 65 74 63 29 20 77 68 65 6e 0a  (-WX, etc) when.
02d0: 23 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21  # compiling..#.!
02e0: 49 46 4e 44 45 46 20 55 53 45 5f 46 41 54 41 4c  IFNDEF USE_FATAL
02f0: 5f 57 41 52 4e 0a 55 53 45 5f 46 41 54 41 4c 5f  _WARN.USE_FATAL_
0300: 57 41 52 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  WARN = 0.!ENDIF.
0310: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0320: 30 20 74 6f 20 65 6e 61 62 6c 65 20 66 75 6c 6c  0 to enable full
0330: 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 20 63   runtime error c
0340: 68 65 63 6b 73 20 28 2d 52 54 43 31 2c 20 65 74  hecks (-RTC1, et
0350: 63 29 2e 20 20 54 68 69 73 0a 23 20 68 61 73 20  c).  This.# has 
0360: 6e 6f 20 65 66 66 65 63 74 20 69 66 20 28 61 6e  no effect if (an
0370: 79 29 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  y) optimizations
0380: 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a   are enabled..#.
0390: 21 49 46 4e 44 45 46 20 55 53 45 5f 52 55 4e 54  !IFNDEF USE_RUNT
03a0: 49 4d 45 5f 43 48 45 43 4b 53 0a 55 53 45 5f 52  IME_CHECKS.USE_R
03b0: 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 20 3d 20  UNTIME_CHECKS = 
03c0: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set 
03d0: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 72  this non-0 to cr
03e0: 65 61 74 65 20 61 20 53 51 4c 69 74 65 20 61 6d  eate a SQLite am
03f0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20  algamation file 
0400: 74 68 61 74 20 65 78 63 6c 75 64 65 73 20 74 68  that excludes th
0410: 65 0a 23 20 76 61 72 69 6f 75 73 20 62 75 69 6c  e.# various buil
0420: 74 2d 69 6e 20 65 78 74 65 6e 73 69 6f 6e 73 2e  t-in extensions.
0430: 0a 23 0a 21 49 46 4e 44 45 46 20 4d 49 4e 49 4d  .#.!IFNDEF MINIM
0440: 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a  AL_AMALGAMATION.
0450: 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41  MINIMAL_AMALGAMA
0460: 54 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  TION = 0.!ENDIF.
0470: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0480: 30 20 74 6f 20 75 73 65 20 22 73 74 64 63 61 6c  0 to use "stdcal
0490: 6c 22 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65  l" calling conve
04a0: 6e 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 6f  ntion for the co
04b0: 72 65 20 6c 69 62 72 61 72 79 0a 23 20 61 6e 64  re library.# and
04c0: 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   shell executabl
04d0: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45  e..#.!IFNDEF USE
04e0: 5f 53 54 44 43 41 4c 4c 0a 55 53 45 5f 53 54 44  _STDCALL.USE_STD
04f0: 43 41 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a  CALL = 0.!ENDIF.
0500: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0510: 30 20 74 6f 20 68 61 76 65 20 74 68 65 20 73 68  0 to have the sh
0520: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 6c  ell executable l
0530: 69 6e 6b 20 61 67 61 69 6e 73 74 20 74 68 65 20  ink against the 
0540: 63 6f 72 65 20 64 79 6e 61 6d 69 63 0a 23 20 6c  core dynamic.# l
0550: 69 6e 6b 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ink library..#.!
0560: 49 46 4e 44 45 46 20 44 59 4e 41 4d 49 43 5f 53  IFNDEF DYNAMIC_S
0570: 48 45 4c 4c 0a 44 59 4e 41 4d 49 43 5f 53 48 45  HELL.DYNAMIC_SHE
0580: 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  LL = 0.!ENDIF..#
0590: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
05a0: 74 6f 20 65 6e 61 62 6c 65 20 65 78 74 72 61 20  to enable extra 
05b0: 63 6f 64 65 20 74 68 61 74 20 61 74 74 65 6d 70  code that attemp
05c0: 74 73 20 74 6f 20 64 65 74 65 63 74 20 6d 69 73  ts to detect mis
05d0: 75 73 65 20 6f 66 20 74 68 65 0a 23 20 53 51 4c  use of the.# SQL
05e0: 69 74 65 20 41 50 49 2e 0a 23 0a 21 49 46 4e 44  ite API..#.!IFND
05f0: 45 46 20 41 50 49 5f 41 52 4d 4f 52 0a 41 50 49  EF API_ARMOR.API
0600: 5f 41 52 4d 4f 52 20 3d 20 30 0a 21 45 4e 44 49  _ARMOR = 0.!ENDI
0610: 46 0a 0a 23 20 49 66 20 6e 65 63 65 73 73 61 72  F..# If necessar
0620: 79 2c 20 63 72 65 61 74 65 20 61 20 6c 69 73 74  y, create a list
0630: 20 6f 66 20 68 61 72 6d 6c 65 73 73 20 63 6f 6d   of harmless com
0640: 70 69 6c 65 72 20 77 61 72 6e 69 6e 67 73 20 74  piler warnings t
0650: 6f 20 64 69 73 61 62 6c 65 20 77 68 65 6e 0a 23  o disable when.#
0660: 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 76   compiling the v
0670: 61 72 69 6f 75 73 20 74 6f 6f 6c 73 2e 20 20 46  arious tools.  F
0680: 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 73 6f  or the SQLite so
0690: 75 72 63 65 20 63 6f 64 65 20 69 74 73 65 6c 66  urce code itself
06a0: 2c 20 77 61 72 6e 69 6e 67 73 2c 0a 23 20 69 66  , warnings,.# if
06b0: 20 61 6e 79 2c 20 77 69 6c 6c 20 62 65 20 64 69   any, will be di
06c0: 73 61 62 6c 65 64 20 66 72 6f 6d 20 77 69 74 68  sabled from with
06d0: 69 6e 20 69 74 2e 0a 23 0a 21 49 46 4e 44 45 46  in it..#.!IFNDEF
06e0: 20 4e 4f 5f 57 41 52 4e 0a 21 49 46 20 24 28 55   NO_WARN.!IF $(U
06f0: 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a  SE_FULLWARN)!=0.
0700: 4e 4f 5f 57 41 52 4e 20 3d 20 2d 77 64 34 30 35  NO_WARN = -wd405
0710: 34 20 2d 77 64 34 30 35 35 20 2d 77 64 34 31 30  4 -wd4055 -wd410
0720: 30 20 2d 77 64 34 31 32 37 20 2d 77 64 34 31 33  0 -wd4127 -wd413
0730: 30 20 2d 77 64 34 31 35 32 20 2d 77 64 34 31 38  0 -wd4152 -wd418
0740: 39 20 2d 77 64 34 32 30 36 0a 4e 4f 5f 57 41 52  9 -wd4206.NO_WAR
0750: 4e 20 3d 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  N = $(NO_WARN) -
0760: 77 64 34 32 31 30 20 2d 77 64 34 32 33 32 20 2d  wd4210 -wd4232 -
0770: 77 64 34 33 30 35 20 2d 77 64 34 33 30 36 20 2d  wd4305 -wd4306 -
0780: 77 64 34 37 30 32 20 2d 77 64 34 37 30 36 0a 21  wd4702 -wd4706.!
0790: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
07a0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
07b0: 6f 20 75 73 65 20 74 68 65 20 6c 69 62 72 61 72  o use the librar
07c0: 79 20 70 61 74 68 73 20 61 6e 64 20 6f 74 68 65  y paths and othe
07d0: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 63 65 73 73  r options necess
07e0: 61 72 79 20 66 6f 72 0a 23 20 57 69 6e 64 6f 77  ary for.# Window
07f0: 73 20 50 68 6f 6e 65 20 38 2e 31 2e 0a 23 0a 21  s Phone 8.1..#.!
0800: 49 46 4e 44 45 46 20 55 53 45 5f 57 50 38 31 5f  IFNDEF USE_WP81_
0810: 4f 50 54 53 0a 55 53 45 5f 57 50 38 31 5f 4f 50  OPTS.USE_WP81_OP
0820: 54 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  TS = 0.!ENDIF..#
0830: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
0840: 74 6f 20 73 70 6c 69 74 20 74 68 65 20 53 51 4c  to split the SQL
0850: 69 74 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  ite amalgamation
0860: 20 66 69 6c 65 20 69 6e 74 6f 20 63 68 75 6e 6b   file into chunk
0870: 73 20 74 6f 0a 23 20 62 65 20 75 73 65 64 20 66  s to.# be used f
0880: 6f 72 20 64 65 62 75 67 67 69 6e 67 20 77 69 74  or debugging wit
0890: 68 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e  h Visual Studio.
08a0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 50 4c 49 54  .#.!IFNDEF SPLIT
08b0: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 53 50  _AMALGAMATION.SP
08c0: 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e  LIT_AMALGAMATION
08d0: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 3c   = 0.!ENDIF..# <
08e0: 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74 68  <mark>>.# Set th
08f0: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 68 61 76 65  is non-0 to have
0900: 20 74 68 69 73 20 6d 61 6b 65 66 69 6c 65 20 61   this makefile a
0910: 73 73 75 6d 65 20 74 68 65 20 54 63 6c 20 73 68  ssume the Tcl sh
0920: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 0a 23  ell executable.#
0930: 20 28 74 63 6c 73 68 2a 2e 65 78 65 29 20 69 73   (tclsh*.exe) is
0940: 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68   available in th
0950: 65 20 50 41 54 48 2e 20 20 42 79 20 64 65 66 61  e PATH.  By defa
0960: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73  ult, this is dis
0970: 61 62 6c 65 64 0a 23 20 66 6f 72 20 63 6f 6d 70  abled.# for comp
0980: 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 6f  atibility with o
0990: 6c 64 65 72 20 62 75 69 6c 64 20 65 6e 76 69 72  lder build envir
09a0: 6f 6e 6d 65 6e 74 73 2e 20 20 54 68 69 73 20 73  onments.  This s
09b0: 65 74 74 69 6e 67 20 6f 6e 6c 79 0a 23 20 61 70  etting only.# ap
09c0: 70 6c 69 65 73 20 69 66 20 54 43 4c 53 48 5f 43  plies if TCLSH_C
09d0: 4d 44 20 69 73 20 6e 6f 74 20 73 65 74 20 6d 61  MD is not set ma
09e0: 6e 75 61 6c 6c 79 2e 0a 23 0a 21 49 46 4e 44 45  nually..#.!IFNDE
09f0: 46 20 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f 50  F USE_TCLSH_IN_P
0a00: 41 54 48 0a 55 53 45 5f 54 43 4c 53 48 5f 49 4e  ATH.USE_TCLSH_IN
0a10: 5f 50 41 54 48 20 3d 20 30 0a 21 45 4e 44 49 46  _PATH = 0.!ENDIF
0a20: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0a30: 2d 30 20 74 6f 20 75 73 65 20 7a 6c 69 62 2c 20  -0 to use zlib, 
0a40: 70 6f 73 73 69 62 6c 79 20 63 6f 6d 70 69 6c 69  possibly compili
0a50: 6e 67 20 69 74 20 66 72 6f 6d 20 73 6f 75 72 63  ng it from sourc
0a60: 65 20 63 6f 64 65 2e 0a 23 0a 21 49 46 4e 44 45  e code..#.!IFNDE
0a70: 46 20 55 53 45 5f 5a 4c 49 42 0a 55 53 45 5f 5a  F USE_ZLIB.USE_Z
0a80: 4c 49 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  LIB = 0.!ENDIF..
0a90: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0aa0: 20 74 6f 20 62 75 69 6c 64 20 7a 6c 69 62 20 66   to build zlib f
0ab0: 72 6f 6d 20 73 6f 75 72 63 65 20 63 6f 64 65 2e  rom source code.
0ac0: 20 20 54 68 69 73 20 69 73 20 65 6e 61 62 6c 65    This is enable
0ad0: 64 20 62 79 0a 23 20 64 65 66 61 75 6c 74 20 61  d by.# default a
0ae0: 6e 64 20 69 6e 20 74 68 61 74 20 63 61 73 65 20  nd in that case 
0af0: 69 74 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d  it will be assum
0b00: 65 64 20 74 68 61 74 20 74 68 65 20 5a 4c 49 42  ed that the ZLIB
0b10: 44 49 52 20 6d 61 63 72 6f 0a 23 20 70 6f 69 6e  DIR macro.# poin
0b20: 74 73 20 74 6f 20 74 68 65 20 74 6f 70 2d 6c 65  ts to the top-le
0b30: 76 65 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20  vel source code 
0b40: 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 7a 6c  directory for zl
0b50: 69 62 2e 0a 23 0a 21 49 46 4e 44 45 46 20 42 55  ib..#.!IFNDEF BU
0b60: 49 4c 44 5f 5a 4c 49 42 0a 42 55 49 4c 44 5f 5a  ILD_ZLIB.BUILD_Z
0b70: 4c 49 42 20 3d 20 31 0a 21 45 4e 44 49 46 0a 0a  LIB = 1.!ENDIF..
0b80: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0b90: 20 74 6f 20 75 73 65 20 74 68 65 20 49 6e 74 65   to use the Inte
0ba0: 72 6e 61 74 69 6f 6e 61 6c 20 43 6f 6d 70 6f 6e  rnational Compon
0bb0: 65 6e 74 73 20 66 6f 72 20 55 6e 69 63 6f 64 65  ents for Unicode
0bc0: 20 28 49 43 55 29 2e 0a 23 0a 21 49 46 4e 44 45   (ICU)..#.!IFNDE
0bd0: 46 20 55 53 45 5f 49 43 55 0a 55 53 45 5f 49 43  F USE_ICU.USE_IC
0be0: 55 20 3d 20 30 0a 21 45 4e 44 49 46 0a 23 20 3c  U = 0.!ENDIF.# <
0bf0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53 65 74 20  </mark>>..# Set 
0c00: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 64 79  this non-0 to dy
0c10: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74  namically link t
0c20: 6f 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69  o the MSVC runti
0c30: 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  me library..#.!I
0c40: 46 4e 44 45 46 20 55 53 45 5f 43 52 54 5f 44 4c  FNDEF USE_CRT_DL
0c50: 4c 0a 55 53 45 5f 43 52 54 5f 44 4c 4c 20 3d 20  L.USE_CRT_DLL = 
0c60: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set 
0c70: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 6c 69  this non-0 to li
0c80: 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34  nk to the RPCRT4
0c90: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e   library..#.!IFN
0ca0: 44 45 46 20 55 53 45 5f 52 50 43 52 54 34 5f 4c  DEF USE_RPCRT4_L
0cb0: 49 42 0a 55 53 45 5f 52 50 43 52 54 34 5f 4c 49  IB.USE_RPCRT4_LI
0cc0: 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  B = 0.!ENDIF..# 
0cd0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
0ce0: 6f 20 67 65 6e 65 72 61 74 65 20 61 73 73 65 6d  o generate assem
0cf0: 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67  bly code listing
0d00: 73 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65  s for the source
0d10: 20 63 6f 64 65 0a 23 20 66 69 6c 65 73 2e 0a 23   code.# files..#
0d20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 4c 49 53  .!IFNDEF USE_LIS
0d30: 54 49 4e 47 53 0a 55 53 45 5f 4c 49 53 54 49 4e  TINGS.USE_LISTIN
0d40: 47 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  GS = 0.!ENDIF..#
0d50: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
0d60: 74 6f 20 61 74 74 65 6d 70 74 20 73 65 74 74 69  to attempt setti
0d70: 6e 67 20 74 68 65 20 6e 61 74 69 76 65 20 63 6f  ng the native co
0d80: 6d 70 69 6c 65 72 20 61 75 74 6f 6d 61 74 69 63  mpiler automatic
0d90: 61 6c 6c 79 0a 23 20 66 6f 72 20 63 72 6f 73 73  ally.# for cross
0da0: 2d 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 63  -compiling the c
0db0: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c  ommand line tool
0dc0: 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20  s needed during 
0dd0: 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 0a  the compilation.
0de0: 23 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46  # process..#.!IF
0df0: 4e 44 45 46 20 58 43 4f 4d 50 49 4c 45 0a 58 43  NDEF XCOMPILE.XC
0e00: 4f 4d 50 49 4c 45 20 3d 20 30 0a 21 45 4e 44 49  OMPILE = 0.!ENDI
0e10: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0e20: 6e 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 6e  n-0 to use the n
0e30: 61 74 69 76 65 20 6c 69 62 72 61 72 69 65 73 20  ative libraries 
0e40: 70 61 74 68 73 20 66 6f 72 20 63 72 6f 73 73 2d  paths for cross-
0e50: 63 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68 65 20  compiling.# the 
0e60: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f  command line too
0e70: 6c 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67  ls needed during
0e80: 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   the compilation
0e90: 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e   process..#.!IFN
0ea0: 44 45 46 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c  DEF USE_NATIVE_L
0eb0: 49 42 50 41 54 48 53 0a 55 53 45 5f 4e 41 54 49  IBPATHS.USE_NATI
0ec0: 56 45 5f 4c 49 42 50 41 54 48 53 20 3d 20 30 0a  VE_LIBPATHS = 0.
0ed0: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0ee0: 69 73 20 30 20 74 6f 20 73 6b 69 70 20 74 68 65  is 0 to skip the
0ef0: 20 63 6f 6d 70 69 6c 69 6e 67 20 61 6e 64 20 65   compiling and e
0f00: 6d 62 65 64 64 69 6e 67 20 6f 66 20 76 65 72 73  mbedding of vers
0f10: 69 6f 6e 20 72 65 73 6f 75 72 63 65 73 2e 0a 23  ion resources..#
0f20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 52 43 0a  .!IFNDEF USE_RC.
0f30: 55 53 45 5f 52 43 20 3d 20 31 0a 21 45 4e 44 49  USE_RC = 1.!ENDI
0f40: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0f50: 6e 2d 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62  n-0 to compile b
0f60: 69 6e 61 72 69 65 73 20 73 75 69 74 61 62 6c 65  inaries suitable
0f70: 20 66 6f 72 20 74 68 65 20 57 69 6e 52 54 20 65   for the WinRT e
0f80: 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68  nvironment..# Th
0f90: 69 73 20 73 65 74 74 69 6e 67 20 64 6f 65 73 20  is setting does 
0fa0: 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 61 6e 79  not apply to any
0fb0: 20 62 69 6e 61 72 69 65 73 20 74 68 61 74 20 72   binaries that r
0fc0: 65 71 75 69 72 65 20 54 63 6c 20 74 6f 20 6f 70  equire Tcl to op
0fd0: 65 72 61 74 65 0a 23 20 70 72 6f 70 65 72 6c 79  erate.# properly
0fe0: 20 28 69 2e 65 2e 20 74 68 65 20 74 65 78 74 20   (i.e. the text 
0ff0: 66 69 78 74 75 72 65 2c 20 65 74 63 29 2e 0a 23  fixture, etc)..#
1000: 0a 21 49 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e  .!IFNDEF FOR_WIN
1010: 52 54 0a 46 4f 52 5f 57 49 4e 52 54 20 3d 20 30  RT.FOR_WINRT = 0
1020: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1030: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1040: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1050: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 55  itable for the U
1060: 57 50 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a  WP environment..
1070: 23 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 64  # This setting d
1080: 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f  oes not apply to
1090: 20 61 6e 79 20 62 69 6e 61 72 69 65 73 20 74 68   any binaries th
10a0: 61 74 20 72 65 71 75 69 72 65 20 54 63 6c 20 74  at require Tcl t
10b0: 6f 20 6f 70 65 72 61 74 65 0a 23 20 70 72 6f 70  o operate.# prop
10c0: 65 72 6c 79 20 28 69 2e 65 2e 20 74 68 65 20 74  erly (i.e. the t
10d0: 65 78 74 20 66 69 78 74 75 72 65 2c 20 65 74 63  ext fixture, etc
10e0: 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52  )..#.!IFNDEF FOR
10f0: 5f 55 57 50 0a 46 4f 52 5f 55 57 50 20 3d 20 30  _UWP.FOR_UWP = 0
1100: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1110: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1120: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1130: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 57  itable for the W
1140: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
1150: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f  rm..#.!IFNDEF FO
1160: 52 5f 57 49 4e 31 30 0a 46 4f 52 5f 57 49 4e 31  R_WIN10.FOR_WIN1
1170: 30 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  0 = 0.!ENDIF..# 
1180: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74  <<mark>>.# Set t
1190: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 6b 69  his non-0 to ski
11a0: 70 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20  p attempting to 
11b0: 6c 6f 6f 6b 20 66 6f 72 20 61 6e 64 2f 6f 72 20  look for and/or 
11c0: 6c 69 6e 6b 20 77 69 74 68 20 74 68 65 20 54 63  link with the Tc
11d0: 6c 0a 23 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  l.# runtime libr
11e0: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e  ary..#.!IFNDEF N
11f0: 4f 5f 54 43 4c 0a 4e 4f 5f 54 43 4c 20 3d 20 30  O_TCL.NO_TCL = 0
1200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
1210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this 
1220: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 63 72 65 61  to non-0 to crea
1230: 74 65 20 61 6e 64 20 75 73 65 20 50 44 42 73 2e  te and use PDBs.
1240: 0a 23 0a 21 49 46 4e 44 45 46 20 53 59 4d 42 4f  .#.!IFNDEF SYMBO
1250: 4c 53 0a 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 21  LS.SYMBOLS = 1.!
1260: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
1270: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
1280: 65 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62  e the SQLite deb
1290: 75 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73  ugging heap subs
12a0: 79 73 74 65 6d 2e 0a 23 0a 21 49 46 4e 44 45 46  ystem..#.!IFNDEF
12b0: 20 4d 45 4d 44 45 42 55 47 0a 4d 45 4d 44 45 42   MEMDEBUG.MEMDEB
12c0: 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  UG = 0.!ENDIF..#
12d0: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
12e0: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 57 69  -0 to use the Wi
12f0: 6e 33 32 20 6e 61 74 69 76 65 20 68 65 61 70 20  n32 native heap 
1300: 73 75 62 73 79 73 74 65 6d 2e 0a 23 0a 21 49 46  subsystem..#.!IF
1310: 4e 44 45 46 20 57 49 4e 33 32 48 45 41 50 0a 57  NDEF WIN32HEAP.W
1320: 49 4e 33 32 48 45 41 50 20 3d 20 30 0a 21 45 4e  IN32HEAP = 0.!EN
1330: 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20  DIF..# Set this 
1340: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62  to non-0 to enab
1350: 6c 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61 63  le OSTRACE() mac
1360: 72 6f 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62  ros, which can b
1370: 65 20 75 73 65 66 75 6c 20 77 68 65 6e 0a 23 20  e useful when.# 
1380: 64 65 62 75 67 67 69 6e 67 2e 0a 23 0a 21 49 46  debugging..#.!IF
1390: 4e 44 45 46 20 4f 53 54 52 41 43 45 0a 4f 53 54  NDEF OSTRACE.OST
13a0: 52 41 43 45 20 3d 20 30 0a 21 45 4e 44 49 46 0a  RACE = 0.!ENDIF.
13b0: 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 6f  .# Set this to o
13c0: 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77  ne of the follow
13d0: 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 65 6e  ing values to en
13e0: 61 62 6c 65 20 76 61 72 69 6f 75 73 20 64 65 62  able various deb
13f0: 75 67 67 69 6e 67 0a 23 20 66 65 61 74 75 72 65  ugging.# feature
1400: 73 2e 20 20 45 61 63 68 20 6c 65 76 65 6c 20 69  s.  Each level i
1410: 6e 63 6c 75 64 65 73 20 74 68 65 20 64 65 62 75  ncludes the debu
1420: 67 67 69 6e 67 20 6f 70 74 69 6f 6e 73 20 66 72  gging options fr
1430: 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a  om the previous.
1440: 23 20 6c 65 76 65 6c 73 2e 20 20 43 75 72 72 65  # levels.  Curre
1450: 6e 74 6c 79 2c 20 74 68 65 20 72 65 63 6f 67 6e  ntly, the recogn
1460: 69 7a 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20  ized values for 
1470: 44 45 42 55 47 20 61 72 65 3a 0a 23 0a 23 20 30  DEBUG are:.#.# 0
1480: 20 3d 3d 20 4e 44 45 42 55 47 3a 20 44 69 73 61   == NDEBUG: Disa
1490: 62 6c 65 73 20 61 73 73 65 72 74 28 29 20 61 6e  bles assert() an
14a0: 64 20 6f 74 68 65 72 20 72 75 6e 74 69 6d 65 20  d other runtime 
14b0: 64 69 61 67 6e 6f 73 74 69 63 73 2e 0a 23 20 31  diagnostics..# 1
14c0: 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c   == SQLITE_ENABL
14d0: 45 5f 41 50 49 5f 41 52 4d 4f 52 3a 20 65 78 74  E_API_ARMOR: ext
14e0: 72 61 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64  ra attempts to d
14f0: 65 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20  etect misuse of 
1500: 74 68 65 20 41 50 49 2e 0a 23 20 32 20 3d 3d 20  the API..# 2 == 
1510: 44 69 73 61 62 6c 65 73 20 4e 44 45 42 55 47 20  Disables NDEBUG 
1520: 61 6e 64 20 61 6c 6c 20 6f 70 74 69 6d 69 7a 61  and all optimiza
1530: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 6e 20 65  tions and then e
1540: 6e 61 62 6c 65 73 20 50 44 42 73 2e 0a 23 20 33  nables PDBs..# 3
1550: 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55 47   == SQLITE_DEBUG
1560: 3a 20 45 6e 61 62 6c 65 73 20 76 61 72 69 6f 75  : Enables variou
1570: 73 20 64 69 61 67 6e 6f 73 74 69 63 73 20 6d 65  s diagnostics me
1580: 73 73 61 67 65 73 20 61 6e 64 20 63 6f 64 65 2e  ssages and code.
1590: 0a 23 20 34 20 3d 3d 20 53 51 4c 49 54 45 5f 57  .# 4 == SQLITE_W
15a0: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
15b0: 44 41 54 45 3a 20 56 61 6c 69 64 61 74 65 20 74  DATE: Validate t
15c0: 68 65 20 57 69 6e 33 32 20 6e 61 74 69 76 65 20  he Win32 native 
15d0: 68 65 61 70 20 70 65 72 20 63 61 6c 6c 2e 0a 23  heap per call..#
15e0: 20 35 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42   5 == SQLITE_DEB
15f0: 55 47 5f 4f 53 5f 54 52 41 43 45 3a 20 45 6e 61  UG_OS_TRACE: Ena
1600: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
1610: 20 74 68 65 20 4f 53 54 52 41 43 45 28 29 20 6d   the OSTRACE() m
1620: 61 63 72 6f 73 2e 0a 23 20 36 20 3d 3d 20 53 51  acros..# 6 == SQ
1630: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
1640: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
1650: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 49 4f 54  put from the IOT
1660: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
1670: 0a 21 49 46 4e 44 45 46 20 44 45 42 55 47 0a 44  .!IFNDEF DEBUG.D
1680: 45 42 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a  EBUG = 0.!ENDIF.
1690: 0a 23 20 45 6e 61 62 6c 65 20 75 73 65 20 6f 66  .# Enable use of
16a0: 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 70 69   available compi
16b0: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
16c0: 73 3f 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 74 68  s?  Normally, th
16d0: 69 73 20 73 68 6f 75 6c 64 20 62 65 0a 23 20 6e  is should be.# n
16e0: 6f 6e 2d 7a 65 72 6f 2e 20 20 53 65 74 74 69 6e  on-zero.  Settin
16f0: 67 20 74 68 69 73 20 74 6f 20 7a 65 72 6f 2c 20  g this to zero, 
1700: 74 68 75 73 20 64 69 73 61 62 6c 69 6e 67 20 61  thus disabling a
1710: 6c 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  ll compiler opti
1720: 6d 69 7a 61 74 69 6f 6e 73 2c 0a 23 20 63 61 6e  mizations,.# can
1730: 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 74   be useful for t
1740: 65 73 74 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  esting..#.!IFNDE
1750: 46 20 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 0a  F OPTIMIZATIONS.
1760: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 20 3d 20  OPTIMIZATIONS = 
1770: 32 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  2.!ENDIF..# Set 
1780: 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f  this to non-0 to
1790: 20 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20   enable support 
17a0: 66 6f 72 20 74 68 65 20 73 65 73 73 69 6f 6e 20  for the session 
17b0: 65 78 74 65 6e 73 69 6f 6e 2e 0a 23 0a 21 49 46  extension..#.!IF
17c0: 4e 44 45 46 20 53 45 53 53 49 4f 4e 0a 53 45 53  NDEF SESSION.SES
17d0: 53 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  SION = 0.!ENDIF.
17e0: 0a 23 20 53 65 74 20 74 68 65 20 73 6f 75 72 63  .# Set the sourc
17f0: 65 20 63 6f 64 65 20 66 69 6c 65 20 74 6f 20 62  e code file to b
1800: 65 20 75 73 65 64 20 62 79 20 65 78 65 63 75 74  e used by execut
1810: 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 72 61 72  ables and librar
1820: 69 65 73 20 77 68 65 6e 0a 23 20 74 68 65 79 20  ies when.# they 
1830: 6e 65 65 64 20 74 68 65 20 61 6d 61 6c 67 61 6d  need the amalgam
1840: 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46  ation..#.!IFNDEF
1850: 20 53 51 4c 49 54 45 33 43 0a 21 49 46 20 24 28   SQLITE3C.!IF $(
1860: 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49  SPLIT_AMALGAMATI
1870: 4f 4e 29 21 3d 30 0a 53 51 4c 49 54 45 33 43 20  ON)!=0.SQLITE3C 
1880: 3d 20 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 0a  = sqlite3-all.c.
1890: 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 43 20 3d  !ELSE.SQLITE3C =
18a0: 20 73 71 6c 69 74 65 33 2e 63 0a 21 45 4e 44 49   sqlite3.c.!ENDI
18b0: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  F.!ENDIF..# Set 
18c0: 74 68 65 20 69 6e 63 6c 75 64 65 20 63 6f 64 65  the include code
18d0: 20 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64   file to be used
18e0: 20 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20   by executables 
18f0: 61 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68  and libraries wh
1900: 65 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 53  en.# they need S
1910: 51 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44 45 46  QLite..#.!IFNDEF
1920: 20 53 51 4c 49 54 45 33 48 0a 53 51 4c 49 54 45   SQLITE3H.SQLITE
1930: 33 48 20 3d 20 73 71 6c 69 74 65 33 2e 68 0a 21  3H = sqlite3.h.!
1940: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73  ENDIF..# This is
1950: 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65   the name to use
1960: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20   for the SQLite 
1970: 64 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62  dynamic link lib
1980: 72 61 72 79 20 28 44 4c 4c 29 2e 0a 23 0a 21 49  rary (DLL)..#.!I
1990: 46 4e 44 45 46 20 53 51 4c 49 54 45 33 44 4c 4c  FNDEF SQLITE3DLL
19a0: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30  .!IF $(FOR_WIN10
19b0: 29 21 3d 30 0a 53 51 4c 49 54 45 33 44 4c 4c 20  )!=0.SQLITE3DLL 
19c0: 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 64 6c 6c  = winsqlite3.dll
19d0: 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 44 4c  .!ELSE.SQLITE3DL
19e0: 4c 20 3d 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a  L = sqlite3.dll.
19f0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
1a00: 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d   This is the nam
1a10: 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65  e to use for the
1a20: 20 53 51 4c 69 74 65 20 69 6d 70 6f 72 74 20 6c   SQLite import l
1a30: 69 62 72 61 72 79 20 28 4c 49 42 29 2e 0a 23 0a  ibrary (LIB)..#.
1a40: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 4c  !IFNDEF SQLITE3L
1a50: 49 42 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  IB.!IF $(FOR_WIN
1a60: 31 30 29 21 3d 30 0a 53 51 4c 49 54 45 33 4c 49  10)!=0.SQLITE3LI
1a70: 42 20 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 6c  B = winsqlite3.l
1a80: 69 62 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33  ib.!ELSE.SQLITE3
1a90: 4c 49 42 20 3d 20 73 71 6c 69 74 65 33 2e 6c 69  LIB = sqlite3.li
1aa0: 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  b.!ENDIF.!ENDIF.
1ab0: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e  .# This is the n
1ac0: 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74  ame to use for t
1ad0: 68 65 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 20  he SQLite shell 
1ae0: 65 78 65 63 75 74 61 62 6c 65 20 28 45 58 45 29  executable (EXE)
1af0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49  ..#.!IFNDEF SQLI
1b00: 54 45 33 45 58 45 0a 21 49 46 20 24 28 46 4f 52  TE3EXE.!IF $(FOR
1b10: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54  _WIN10)!=0.SQLIT
1b20: 45 33 45 58 45 20 3d 20 77 69 6e 73 71 6c 69 74  E3EXE = winsqlit
1b30: 65 33 73 68 65 6c 6c 2e 65 78 65 0a 21 45 4c 53  e3shell.exe.!ELS
1b40: 45 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20 73  E.SQLITE3EXE = s
1b50: 71 6c 69 74 65 33 2e 65 78 65 0a 21 45 4e 44 49  qlite3.exe.!ENDI
1b60: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73  F.!ENDIF..# This
1b70: 20 69 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74   is the argument
1b80: 20 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65   used to set the
1b90: 20 70 72 6f 67 72 61 6d 20 64 61 74 61 62 61 73   program databas
1ba0: 65 20 28 50 44 42 29 20 66 69 6c 65 20 66 6f 72  e (PDB) file for
1bb0: 20 74 68 65 0a 23 20 53 51 4c 69 74 65 20 73 68   the.# SQLite sh
1bc0: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 28  ell executable (
1bd0: 45 58 45 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  EXE)..#.!IFNDEF 
1be0: 53 51 4c 49 54 45 33 45 58 45 50 44 42 0a 21 49  SQLITE3EXEPDB.!I
1bf0: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!=
1c00: 30 0a 53 51 4c 49 54 45 33 45 58 45 50 44 42 20  0.SQLITE3EXEPDB 
1c10: 3d 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 45  =.!ELSE.SQLITE3E
1c20: 58 45 50 44 42 20 3d 20 2f 70 64 62 3a 73 71 6c  XEPDB = /pdb:sql
1c30: 69 74 65 33 73 68 2e 70 64 62 0a 21 45 4e 44 49  ite3sh.pdb.!ENDI
1c40: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  F.!ENDIF..# <<ma
1c50: 72 6b 3e 3e 0a 23 20 54 68 65 73 65 20 61 72 65  rk>>.# These are
1c60: 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68   the names of th
1c70: 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 54 63 6c  e customized Tcl
1c80: 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 75 73   header files us
1c90: 65 64 20 62 79 20 76 61 72 69 6f 75 73 20 70 61  ed by various pa
1ca0: 72 74 73 0a 23 20 6f 66 20 74 68 69 73 20 6d 61  rts.# of this ma
1cb0: 6b 65 66 69 6c 65 20 77 68 65 6e 20 74 68 65 20  kefile when the 
1cc0: 73 74 64 63 61 6c 6c 20 63 61 6c 6c 69 6e 67 20  stdcall calling 
1cd0: 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 69 6e  convention is in
1ce0: 20 75 73 65 2e 20 20 49 74 20 69 73 20 6e 6f 74   use.  It is not
1cf0: 0a 23 20 75 73 65 64 20 66 6f 72 20 61 6e 79 20  .# used for any 
1d00: 6f 74 68 65 72 20 70 75 72 70 6f 73 65 2e 0a 23  other purpose..#
1d10: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 54  .!IFNDEF SQLITET
1d20: 43 4c 48 0a 53 51 4c 49 54 45 54 43 4c 48 20 3d  CLH.SQLITETCLH =
1d30: 20 73 71 6c 69 74 65 5f 74 63 6c 2e 68 0a 21 45   sqlite_tcl.h.!E
1d40: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 53 51  NDIF..!IFNDEF SQ
1d50: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 0a 53 51  LITETCLDECLSH.SQ
1d60: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 20 3d 20  LITETCLDECLSH = 
1d70: 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e  sqlite_tclDecls.
1d80: 68 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73  h.!ENDIF..# Thes
1d90: 65 20 61 72 65 20 74 68 65 20 61 64 64 69 74 69  e are the additi
1da0: 6f 6e 61 6c 20 74 61 72 67 65 74 73 20 74 68 61  onal targets tha
1db0: 74 20 74 68 65 20 74 61 72 67 65 74 73 20 74 68  t the targets th
1dc0: 61 74 20 69 6e 74 65 67 72 61 74 65 20 77 69 74  at integrate wit
1dd0: 68 20 74 68 65 0a 23 20 54 63 6c 20 6c 69 62 72  h the.# Tcl libr
1de0: 61 72 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e  ary should depen
1df0: 64 20 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c  d on when compil
1e00: 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 21 49 46 4e  ing, etc..#.!IFN
1e10: 44 45 46 20 53 51 4c 49 54 45 5f 54 43 4c 5f 44  DEF SQLITE_TCL_D
1e20: 45 50 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44  EP.!IF $(USE_STD
1e30: 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  CALL)!=0 || $(FO
1e40: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49  R_WIN10)!=0.SQLI
1e50: 54 45 5f 54 43 4c 5f 44 45 50 20 3d 20 24 28 53  TE_TCL_DEP = $(S
1e60: 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20  QLITETCLDECLSH) 
1e70: 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45  $(SQLITETCLH).!E
1e80: 4c 53 45 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44  LSE.SQLITE_TCL_D
1e90: 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44  EP =.!ENDIF.!END
1ea0: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  IF.# <</mark>>..
1eb0: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20  # These are the 
1ec0: 22 73 74 61 6e 64 61 72 64 22 20 53 51 4c 69 74  "standard" SQLit
1ed0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70  e compilation op
1ee0: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20  tions used when 
1ef0: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20  compiling for.# 
1f00: 74 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74  the Windows plat
1f10: 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20  form..#.!IFNDEF 
1f20: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
1f30: 53 0a 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f  S.!IF $(MINIMAL_
1f40: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30  AMALGAMATION)==0
1f50: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
1f60: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU
1f70: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1f80: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 33 3d 31  TE_ENABLE_FTS3=1
1f90: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
1fa0: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU
1fb0: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1fc0: 54 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 3d  TE_ENABLE_RTREE=
1fd0: 31 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  1.OPT_FEATURE_FL
1fe0: 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54  AGS = $(OPT_FEAT
1ff0: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
2000: 49 54 45 5f 45 4e 41 42 4c 45 5f 47 45 4f 50 4f  ITE_ENABLE_GEOPO
2010: 4c 59 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52 45  LY=1.OPT_FEATURE
2020: 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46  _FLAGS = $(OPT_F
2030: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  EATURE_FLAGS) -D
2040: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53  SQLITE_ENABLE_JS
2050: 4f 4e 31 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52  ON1=1.OPT_FEATUR
2060: 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f  E_FLAGS = $(OPT_
2070: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
2080: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53  DSQLITE_ENABLE_S
2090: 54 4d 54 56 54 41 42 3d 31 0a 4f 50 54 5f 46 45  TMTVTAB=1.OPT_FE
20a0: 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  ATURE_FLAGS = $(
20b0: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
20c0: 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
20d0: 4c 45 5f 44 42 50 41 47 45 5f 56 54 41 42 3d 31  LE_DBPAGE_VTAB=1
20e0: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
20f0: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU
2100: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
2110: 54 45 5f 45 4e 41 42 4c 45 5f 44 42 53 54 41 54  TE_ENABLE_DBSTAT
2120: 5f 56 54 41 42 3d 31 0a 4f 50 54 5f 46 45 41 54  _VTAB=1.OPT_FEAT
2130: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50  URE_FLAGS = $(OP
2140: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
2150: 20 2d 44 53 51 4c 49 54 45 5f 49 4e 54 52 4f 53   -DSQLITE_INTROS
2160: 50 45 43 54 49 4f 4e 5f 50 52 41 47 4d 41 53 3d  PECTION_PRAGMAS=
2170: 31 0a 21 45 4e 44 49 46 0a 4f 50 54 5f 46 45 41  1.!ENDIF.OPT_FEA
2180: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f  TURE_FLAGS = $(O
2190: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
21a0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
21b0: 45 5f 43 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54  E_COLUMN_METADAT
21c0: 41 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68  A=1.!ENDIF..# Sh
21d0: 6f 75 6c 64 20 74 68 65 20 73 65 73 73 69 6f 6e  ould the session
21e0: 20 65 78 74 65 6e 73 69 6f 6e 20 62 65 20 65 6e   extension be en
21f0: 61 62 6c 65 64 3f 20 20 49 66 20 73 6f 2c 20 61  abled?  If so, a
2200: 64 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f  dd compilation o
2210: 70 74 69 6f 6e 73 0a 23 20 74 6f 20 65 6e 61 62  ptions.# to enab
2220: 6c 65 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 53  le it..#.!IF $(S
2230: 45 53 53 49 4f 4e 29 21 3d 30 0a 4f 50 54 5f 46  ESSION)!=0.OPT_F
2240: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $
2250: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
2260: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  GS) -DSQLITE_ENA
2270: 42 4c 45 5f 53 45 53 53 49 4f 4e 3d 31 0a 4f 50  BLE_SESSION=1.OP
2280: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20  T_FEATURE_FLAGS 
2290: 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f  = $(OPT_FEATURE_
22a0: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
22b0: 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45  ENABLE_PREUPDATE
22c0: 5f 48 4f 4f 4b 3d 31 0a 21 45 4e 44 49 46 0a 0a  _HOOK=1.!ENDIF..
22d0: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20  # These are the 
22e0: 22 65 78 74 65 6e 64 65 64 22 20 53 51 4c 69 74  "extended" SQLit
22f0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70  e compilation op
2300: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20  tions used when 
2310: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20  compiling for.# 
2320: 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30 20 70  the Windows 10 p
2330: 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44  latform..#.!IFND
2340: 45 46 20 45 58 54 5f 46 45 41 54 55 52 45 5f 46  EF EXT_FEATURE_F
2350: 4c 41 47 53 0a 21 49 46 20 24 28 46 4f 52 5f 57  LAGS.!IF $(FOR_W
2360: 49 4e 31 30 29 21 3d 30 0a 45 58 54 5f 46 45 41  IN10)!=0.EXT_FEA
2370: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45  TURE_FLAGS = $(E
2380: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
2390: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
23a0: 45 5f 46 54 53 34 3d 31 0a 45 58 54 5f 46 45 41  E_FTS4=1.EXT_FEA
23b0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45  TURE_FLAGS = $(E
23c0: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
23d0: 29 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 54 45  ) -DSQLITE_SYSTE
23e0: 4d 5f 4d 41 4c 4c 4f 43 3d 31 0a 45 58 54 5f 46  M_MALLOC=1.EXT_F
23f0: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $
2400: 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (EXT_FEATURE_FLA
2410: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  GS) -DSQLITE_OMI
2420: 54 5f 4c 4f 43 41 4c 54 49 4d 45 3d 31 0a 21 45  T_LOCALTIME=1.!E
2430: 4c 53 45 0a 45 58 54 5f 46 45 41 54 55 52 45 5f  LSE.EXT_FEATURE_
2440: 46 4c 41 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21  FLAGS =.!ENDIF.!
2450: 45 4e 44 49 46 0a 0a 23 23 23 23 23 23 23 23 23  ENDIF..#########
2460: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2470: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2480: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2490: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
24a0: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23  ######.#########
24b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
24c0: 23 23 23 23 23 23 20 45 4e 44 20 4f 46 20 4f 50  ###### END OF OP
24d0: 54 49 4f 4e 53 20 23 23 23 23 23 23 23 23 23 23  TIONS ##########
24e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
24f0: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23  ######.#########
2500: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2510: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2520: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2530: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2540: 23 23 23 23 23 23 0a 0a 23 20 57 68 65 6e 20 63  ######..# When c
2550: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 74 68 65  ompiling for the
2560: 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74   Windows 10 plat
2570: 66 6f 72 6d 2c 20 74 68 65 20 50 4c 41 54 46 4f  form, the PLATFO
2580: 52 4d 20 6d 61 63 72 6f 20 6d 75 73 74 20 62 65  RM macro must be
2590: 20 73 65 74 0a 23 20 74 6f 20 61 6e 20 61 70 70   set.# to an app
25a0: 72 6f 70 72 69 61 74 65 20 76 61 6c 75 65 20 28  ropriate value (
25b0: 65 2e 67 2e 20 78 38 36 2c 20 78 36 34 2c 20 61  e.g. x86, x64, a
25c0: 72 6d 2c 20 61 72 6d 36 34 2c 20 65 74 63 29 2e  rm, arm64, etc).
25d0: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  .#.!IF $(FOR_WIN
25e0: 31 30 29 21 3d 30 0a 21 49 46 4e 44 45 46 20 50  10)!=0.!IFNDEF P
25f0: 4c 41 54 46 4f 52 4d 0a 21 45 52 52 4f 52 20 55  LATFORM.!ERROR U
2600: 73 69 6e 67 20 74 68 65 20 46 4f 52 5f 57 49 4e  sing the FOR_WIN
2610: 31 30 20 6f 70 74 69 6f 6e 20 72 65 71 75 69 72  10 option requir
2620: 65 73 20 61 20 76 61 6c 75 65 20 66 6f 72 20 50  es a value for P
2630: 4c 41 54 46 4f 52 4d 2e 0a 21 45 4e 44 49 46 0a  LATFORM..!ENDIF.
2640: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 61  !ENDIF..# This a
2650: 73 73 75 6d 65 73 20 74 68 61 74 20 4d 53 56 43  ssumes that MSVC
2660: 20 69 73 20 61 6c 77 61 79 73 20 69 6e 73 74 61   is always insta
2670: 6c 6c 65 64 20 69 6e 20 33 32 2d 62 69 74 20 50  lled in 32-bit P
2680: 72 6f 67 72 61 6d 20 46 69 6c 65 73 20 64 69 72  rogram Files dir
2690: 65 63 74 6f 72 79 0a 23 20 61 6e 64 20 73 65 74  ectory.# and set
26a0: 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 66  s the variable f
26b0: 6f 72 20 75 73 65 20 69 6e 20 6c 6f 63 61 74 69  or use in locati
26c0: 6e 67 20 6f 74 68 65 72 20 33 32 2d 62 69 74 20  ng other 32-bit 
26d0: 69 6e 73 74 61 6c 6c 73 20 61 63 63 6f 72 64 69  installs accordi
26e0: 6e 67 6c 79 2e 0a 23 0a 50 52 4f 47 52 41 4d 46  ngly..#.PROGRAMF
26f0: 49 4c 45 53 5f 58 38 36 20 3d 20 24 28 56 43 49  ILES_X86 = $(VCI
2700: 4e 53 54 41 4c 4c 44 49 52 29 5c 2e 2e 5c 2e 2e  NSTALLDIR)\..\..
2710: 0a 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38  .PROGRAMFILES_X8
2720: 36 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c  6 = $(PROGRAMFIL
2730: 45 53 5f 58 38 36 3a 5c 5c 3d 5c 29 0a 0a 23 20  ES_X86:\\=\)..# 
2740: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72  Check for the pr
2750: 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64  edefined command
2760: 20 6d 61 63 72 6f 20 43 43 2e 20 20 54 68 69 73   macro CC.  This
2770: 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f   should point to
2780: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 23 20   the compiler.# 
2790: 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65 20 74  binary for the t
27a0: 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20  arget platform. 
27b0: 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65   If it is not de
27c0: 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65  fined, simply de
27d0: 66 69 6e 65 20 69 74 20 74 6f 0a 23 20 74 68 65  fine it to.# the
27e0: 20 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74 20   legacy default 
27f0: 76 61 6c 75 65 20 27 63 6c 2e 65 78 65 27 2e 0a  value 'cl.exe'..
2800: 23 0a 21 49 46 4e 44 45 46 20 43 43 0a 43 43 20  #.!IFNDEF CC.CC 
2810: 3d 20 63 6c 2e 65 78 65 0a 21 45 4e 44 49 46 0a  = cl.exe.!ENDIF.
2820: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65  .# Check for the
2830: 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d   predefined comm
2840: 61 6e 64 20 6d 61 63 72 6f 20 43 53 43 2e 20 20  and macro CSC.  
2850: 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e  This should poin
2860: 74 20 74 6f 20 61 20 77 6f 72 6b 69 6e 67 0a 23  t to a working.#
2870: 20 43 20 53 68 61 72 70 20 63 6f 6d 70 69 6c 65   C Sharp compile
2880: 72 20 62 69 6e 61 72 79 2e 20 20 49 66 20 69 74  r binary.  If it
2890: 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c   is not defined,
28a0: 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69   simply define i
28b0: 74 20 74 6f 20 74 68 65 0a 23 20 6c 65 67 61 63  t to the.# legac
28c0: 79 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20  y default value 
28d0: 27 63 73 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46  'csc.exe'..#.!IF
28e0: 4e 44 45 46 20 43 53 43 0a 43 53 43 20 3d 20 63  NDEF CSC.CSC = c
28f0: 73 63 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23  sc.exe.!ENDIF..#
2900: 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63   Check for the c
2910: 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4c 44 2e  ommand macro LD.
2920: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f    This should po
2930: 69 6e 74 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65  int to the linke
2940: 72 20 62 69 6e 61 72 79 20 66 6f 72 0a 23 20 74  r binary for.# t
2950: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f  he target platfo
2960: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f  rm.  If it is no
2970: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c  t defined, simpl
2980: 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 74  y define it to t
2990: 68 65 20 6c 65 67 61 63 79 0a 23 20 64 65 66 61  he legacy.# defa
29a0: 75 6c 74 20 76 61 6c 75 65 20 27 6c 69 6e 6b 2e  ult value 'link.
29b0: 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20  exe'..#.!IFNDEF 
29c0: 4c 44 0a 4c 44 20 3d 20 6c 69 6e 6b 2e 65 78 65  LD.LD = link.exe
29d0: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b  .!ENDIF..# Check
29e0: 20 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 69   for the predefi
29f0: 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72  ned command macr
2a00: 6f 20 52 43 2e 20 20 54 68 69 73 20 73 68 6f 75  o RC.  This shou
2a10: 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20  ld point to the 
2a20: 72 65 73 6f 75 72 63 65 0a 23 20 63 6f 6d 70 69  resource.# compi
2a30: 6c 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74  ler binary for t
2a40: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f  he target platfo
2a50: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f  rm.  If it is no
2a60: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c  t defined, simpl
2a70: 79 20 64 65 66 69 6e 65 0a 23 20 69 74 20 74 6f  y define.# it to
2a80: 20 74 68 65 20 6c 65 67 61 63 79 20 64 65 66 61   the legacy defa
2a90: 75 6c 74 20 76 61 6c 75 65 20 27 72 63 2e 65 78  ult value 'rc.ex
2aa0: 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 52 43  e'..#.!IFNDEF RC
2ab0: 0a 52 43 20 3d 20 72 63 2e 65 78 65 0a 21 45 4e  .RC = rc.exe.!EN
2ac0: 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72  DIF..# Check for
2ad0: 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69 6d   the MSVC runtim
2ae0: 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d  e library path m
2af0: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65  acro.  Otherwise
2b00: 2c 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c  , this value wil
2b10: 6c 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74  l.# default to t
2b20: 68 65 20 27 6c 69 62 27 20 64 69 72 65 63 74 6f  he 'lib' directo
2b30: 72 79 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68  ry underneath th
2b40: 65 20 4d 53 56 43 20 69 6e 73 74 61 6c 6c 61 74  e MSVC installat
2b50: 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23  ion directory..#
2b60: 0a 21 49 46 4e 44 45 46 20 43 52 54 4c 49 42 50  .!IFNDEF CRTLIBP
2b70: 41 54 48 0a 43 52 54 4c 49 42 50 41 54 48 20 3d  ATH.CRTLIBPATH =
2b80: 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29   $(VCINSTALLDIR)
2b90: 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 43 52 54  \lib.!ENDIF..CRT
2ba0: 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c  LIBPATH = $(CRTL
2bb0: 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20  IBPATH:\\=\)..# 
2bc0: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f  Check for the co
2bd0: 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4e 43 43 2e  mmand macro NCC.
2be0: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f    This should po
2bf0: 69 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69  int to the compi
2c00: 6c 65 72 20 62 69 6e 61 72 79 0a 23 20 66 6f 72  ler binary.# for
2c10: 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68   the platform th
2c20: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72  e compilation pr
2c30: 6f 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20  ocess is taking 
2c40: 70 6c 61 63 65 20 6f 6e 2e 20 20 49 66 20 69 74  place on.  If it
2c50: 20 69 73 20 6e 6f 74 0a 23 20 64 65 66 69 6e 65   is not.# define
2c60: 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65  d, simply define
2c70: 20 69 74 20 74 6f 20 68 61 76 65 20 74 68 65 20   it to have the 
2c80: 73 61 6d 65 20 76 61 6c 75 65 20 61 73 20 74 68  same value as th
2c90: 65 20 43 43 20 6d 61 63 72 6f 2e 20 20 57 68 65  e CC macro.  Whe
2ca0: 6e 0a 23 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c  n.# cross-compil
2cb0: 69 6e 67 2c 20 69 74 20 69 73 20 73 75 67 67 65  ing, it is sugge
2cc0: 73 74 65 64 20 74 68 61 74 20 74 68 69 73 20 6d  sted that this m
2cd0: 61 63 72 6f 20 62 65 20 6d 6f 64 69 66 69 65 64  acro be modified
2ce0: 20 76 69 61 20 74 68 65 20 63 6f 6d 6d 61 6e 64   via the command
2cf0: 0a 23 20 6c 69 6e 65 20 28 73 69 6e 63 65 20 6e  .# line (since n
2d00: 6d 61 6b 65 20 69 74 73 65 6c 66 20 64 6f 65 73  make itself does
2d10: 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 61 20 62   not provide a b
2d20: 75 69 6c 74 2d 69 6e 20 6d 65 74 68 6f 64 20 74  uilt-in method t
2d30: 6f 20 67 75 65 73 73 20 69 74 29 2e 0a 23 20 46  o guess it)..# F
2d40: 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 75  or example, to u
2d50: 73 65 20 74 68 65 20 78 38 36 20 63 6f 6d 70 69  se the x86 compi
2d60: 6c 65 72 20 77 68 65 6e 20 63 72 6f 73 73 2d 63  ler when cross-c
2d70: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 78 36 34  ompiling for x64
2d80: 2c 20 61 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69  , a command.# li
2d90: 6e 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68  ne similar to th
2da0: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 75 6c  e following coul
2db0: 64 20 62 65 20 75 73 65 64 20 28 61 6c 6c 20 6f  d be used (all o
2dc0: 6e 20 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23  n one line):.#.#
2dd0: 20 20 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61       nmake /f Ma
2de0: 6b 65 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74  kefile.msc sqlit
2df0: 65 33 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20  e3.dll.#        
2e00: 20 20 20 58 43 4f 4d 50 49 4c 45 3d 31 20 55 53     XCOMPILE=1 US
2e10: 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48  E_NATIVE_LIBPATH
2e20: 53 3d 31 0a 23 0a 23 20 41 6c 74 65 72 6e 61 74  S=1.#.# Alternat
2e30: 69 76 65 6c 79 2c 20 74 68 65 20 66 75 6c 6c 20  ively, the full 
2e40: 70 61 74 68 20 61 6e 64 20 66 69 6c 65 20 6e 61  path and file na
2e50: 6d 65 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c  me to the compil
2e60: 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68  er binary for th
2e70: 65 0a 23 20 70 6c 61 74 66 6f 72 6d 20 74 68 65  e.# platform the
2e80: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f   compilation pro
2e90: 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70  cess is taking p
2ea0: 6c 61 63 65 20 6d 61 79 20 62 65 20 73 70 65 63  lace may be spec
2eb0: 69 66 69 65 64 20 28 61 6c 6c 20 6f 6e 0a 23 20  ified (all on.# 
2ec0: 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20  one line):.#.#  
2ed0: 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65     nmake /f Make
2ee0: 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65 33  file.msc sqlite3
2ef0: 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 20 20  .dll.#          
2f00: 20 22 4e 43 43 3d 22 22 25 56 43 49 4e 53 54 41   "NCC=""%VCINSTA
2f10: 4c 4c 44 49 52 25 5c 62 69 6e 5c 63 6c 2e 65 78  LLDIR%\bin\cl.ex
2f20: 65 22 22 22 0a 23 20 20 20 20 20 20 20 20 20 20  e""".#          
2f30: 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50   USE_NATIVE_LIBP
2f40: 41 54 48 53 3d 31 0a 23 0a 21 49 46 44 45 46 20  ATHS=1.#.!IFDEF 
2f50: 4e 43 43 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a  NCC.NCC = $(NCC:
2f60: 5c 5c 3d 5c 29 0a 21 45 4c 53 45 49 46 20 24 28  \\=\).!ELSEIF $(
2f70: 58 43 4f 4d 50 49 4c 45 29 21 3d 30 0a 4e 43 43  XCOMPILE)!=0.NCC
2f80: 20 3d 20 22 24 28 56 43 49 4e 53 54 41 4c 4c 44   = "$(VCINSTALLD
2f90: 49 52 29 5c 62 69 6e 5c 24 28 43 43 29 22 0a 4e  IR)\bin\$(CC)".N
2fa0: 43 43 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29  CC = $(NCC:\\=\)
2fb0: 0a 21 45 4c 53 45 0a 4e 43 43 20 3d 20 24 28 43  .!ELSE.NCC = $(C
2fc0: 43 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65  C).!ENDIF..# Che
2fd0: 63 6b 20 66 6f 72 20 74 68 65 20 4d 53 56 43 20  ck for the MSVC 
2fe0: 6e 61 74 69 76 65 20 72 75 6e 74 69 6d 65 20 6c  native runtime l
2ff0: 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72  ibrary path macr
3000: 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 0a 23  o.  Otherwise,.#
3010: 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c   this value will
3020: 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20   default to the 
3030: 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20  'lib' directory 
3040: 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 4d  underneath the M
3050: 53 56 43 0a 23 20 69 6e 73 74 61 6c 6c 61 74 69  SVC.# installati
3060: 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a  on directory..#.
3070: 21 49 46 4e 44 45 46 20 4e 43 52 54 4c 49 42 50  !IFNDEF NCRTLIBP
3080: 41 54 48 0a 4e 43 52 54 4c 49 42 50 41 54 48 20  ATH.NCRTLIBPATH 
3090: 3d 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52  = $(VCINSTALLDIR
30a0: 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 4e 43  )\lib.!ENDIF..NC
30b0: 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 43  RTLIBPATH = $(NC
30c0: 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a  RTLIBPATH:\\=\).
30d0: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65  .# Check for the
30e0: 20 50 6c 61 74 66 6f 72 6d 20 53 44 4b 20 6c 69   Platform SDK li
30f0: 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f  brary path macro
3100: 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68  .  Otherwise, th
3110: 69 73 0a 23 20 76 61 6c 75 65 20 77 69 6c 6c 20  is.# value will 
3120: 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27  default to the '
3130: 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 75  lib' directory u
3140: 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 57 69  nderneath the Wi
3150: 6e 64 6f 77 73 0a 23 20 53 44 4b 20 69 6e 73 74  ndows.# SDK inst
3160: 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f  allation directo
3170: 72 79 20 28 74 68 65 20 65 6e 76 69 72 6f 6e 6d  ry (the environm
3180: 65 6e 74 20 76 61 72 69 61 62 6c 65 20 75 73 65  ent variable use
3190: 64 20 61 70 70 65 61 72 73 0a 23 20 74 6f 20 62  d appears.# to b
31a0: 65 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e  e available when
31b0: 20 75 73 69 6e 67 20 56 69 73 75 61 6c 20 43 2b   using Visual C+
31c0: 2b 20 32 30 30 38 20 6f 72 20 6c 61 74 65 72 20  + 2008 or later 
31d0: 76 69 61 20 74 68 65 0a 23 20 63 6f 6d 6d 61 6e  via the.# comman
31e0: 64 20 6c 69 6e 65 29 2e 0a 23 0a 21 49 46 4e 44  d line)..#.!IFND
31f0: 45 46 20 4e 53 44 4b 4c 49 42 50 41 54 48 0a 4e  EF NSDKLIBPATH.N
3200: 53 44 4b 4c 49 42 50 41 54 48 20 3d 20 24 28 57  SDKLIBPATH = $(W
3210: 49 4e 44 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69  INDOWSSDKDIR)\li
3220: 62 0a 21 45 4e 44 49 46 0a 0a 4e 53 44 4b 4c 49  b.!ENDIF..NSDKLI
3230: 42 50 41 54 48 20 3d 20 24 28 4e 53 44 4b 4c 49  BPATH = $(NSDKLI
3240: 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43  BPATH:\\=\)..# C
3250: 68 65 63 6b 20 66 6f 72 20 74 68 65 20 55 43 52  heck for the UCR
3260: 54 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d  T library path m
3270: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65  acro.  Otherwise
3280: 2c 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c  , this value wil
3290: 6c 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74  l.# default to t
32a0: 68 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69  he version-speci
32b0: 66 69 63 2c 20 70 6c 61 74 66 6f 72 6d 2d 73 70  fic, platform-sp
32c0: 65 63 69 66 69 63 20 27 6c 69 62 27 20 64 69 72  ecific 'lib' dir
32d0: 65 63 74 6f 72 79 0a 23 20 75 6e 64 65 72 6e 65  ectory.# underne
32e0: 61 74 68 20 74 68 65 20 57 69 6e 64 6f 77 73 20  ath the Windows 
32f0: 53 44 4b 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e  SDK installation
3300: 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49   directory..#.!I
3310: 46 4e 44 45 46 20 55 43 52 54 4c 49 42 50 41 54  FNDEF UCRTLIBPAT
3320: 48 0a 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20  H.UCRTLIBPATH = 
3330: 24 28 57 49 4e 44 4f 57 53 53 44 4b 44 49 52 29  $(WINDOWSSDKDIR)
3340: 5c 6c 69 62 5c 24 28 57 49 4e 44 4f 57 53 53 44  \lib\$(WINDOWSSD
3350: 4b 4c 49 42 56 45 52 53 49 4f 4e 29 5c 75 63 72  KLIBVERSION)\ucr
3360: 74 5c 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45  t\$(PLATFORM).!E
3370: 4e 44 49 46 0a 0a 55 43 52 54 4c 49 42 50 41 54  NDIF..UCRTLIBPAT
3380: 48 20 3d 20 24 28 55 43 52 54 4c 49 42 50 41 54  H = $(UCRTLIBPAT
3390: 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 20 63 6f 6d  H:\\=\)..# C com
33a0: 70 69 6c 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e  piler and option
33b0: 73 20 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69  s for use in bui
33c0: 6c 64 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65  lding executable
33d0: 73 20 74 68 61 74 0a 23 20 77 69 6c 6c 20 72 75  s that.# will ru
33e0: 6e 20 6f 6e 20 74 68 65 20 70 6c 61 74 66 6f 72  n on the platfor
33f0: 6d 20 74 68 61 74 20 69 73 20 64 6f 69 6e 67 20  m that is doing 
3400: 74 68 65 20 62 75 69 6c 64 2e 0a 23 0a 21 49 46  the build..#.!IF
3410: 20 24 28 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29   $(USE_FULLWARN)
3420: 21 3d 30 0a 42 43 43 20 3d 20 24 28 4e 43 43 29  !=0.BCC = $(NCC)
3430: 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 24 28 43   -nologo -W4 $(C
3440: 43 4f 50 54 53 29 20 24 28 42 43 43 4f 50 54 53  COPTS) $(BCCOPTS
3450: 29 0a 21 45 4c 53 45 0a 42 43 43 20 3d 20 24 28  ).!ELSE.BCC = $(
3460: 4e 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33  NCC) -nologo -W3
3470: 20 24 28 43 43 4f 50 54 53 29 20 24 28 42 43 43   $(CCOPTS) $(BCC
3480: 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20  OPTS).!ENDIF..# 
3490: 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c  Check if assembl
34a0: 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20  y code listings 
34b0: 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61  should be genera
34c0: 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72  ted for the sour
34d0: 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20  ce.# code files 
34e0: 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a  to be compiled..
34f0: 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54  #.!IF $(USE_LIST
3500: 49 4e 47 53 29 21 3d 30 0a 42 43 43 20 3d 20 24  INGS)!=0.BCC = $
3510: 28 42 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44  (BCC) -FAcs.!END
3520: 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 74  IF..# Check if t
3530: 68 65 20 6e 61 74 69 76 65 20 6c 69 62 72 61 72  he native librar
3540: 79 20 70 61 74 68 73 20 73 68 6f 75 6c 64 20 62  y paths should b
3550: 65 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70  e used when comp
3560: 69 6c 69 6e 67 0a 23 20 74 68 65 20 63 6f 6d 6d  iling.# the comm
3570: 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73 20 75  and line tools u
3580: 73 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 63  sed during the c
3590: 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65  ompilation proce
35a0: 73 73 2e 20 20 49 66 0a 23 20 73 6f 2c 20 73 65  ss.  If.# so, se
35b0: 74 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20  t the necessary 
35c0: 6d 61 63 72 6f 20 6e 6f 77 2e 0a 23 0a 21 49 46  macro now..#.!IF
35d0: 20 24 28 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49   $(USE_NATIVE_LI
35e0: 42 50 41 54 48 53 29 21 3d 30 0a 4e 4c 54 4c 49  BPATHS)!=0.NLTLI
35f0: 42 50 41 54 48 53 20 3d 20 22 2f 4c 49 42 50 41  BPATHS = "/LIBPA
3600: 54 48 3a 24 28 4e 43 52 54 4c 49 42 50 41 54 48  TH:$(NCRTLIBPATH
3610: 29 22 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e  )" "/LIBPATH:$(N
3620: 53 44 4b 4c 49 42 50 41 54 48 29 22 0a 0a 21 49  SDKLIBPATH)"..!I
3630: 46 44 45 46 20 4e 55 43 52 54 4c 49 42 50 41 54  FDEF NUCRTLIBPAT
3640: 48 0a 4e 55 43 52 54 4c 49 42 50 41 54 48 20 3d  H.NUCRTLIBPATH =
3650: 20 24 28 4e 55 43 52 54 4c 49 42 50 41 54 48 3a   $(NUCRTLIBPATH:
3660: 5c 5c 3d 5c 29 0a 4e 4c 54 4c 49 42 50 41 54 48  \\=\).NLTLIBPATH
3670: 53 20 3d 20 24 28 4e 4c 54 4c 49 42 50 41 54 48  S = $(NLTLIBPATH
3680: 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e  S) "/LIBPATH:$(N
3690: 55 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21 45  UCRTLIBPATH)".!E
36a0: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 43  NDIF.!ENDIF..# C
36b0: 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70   compiler and op
36c0: 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e  tions for use in
36d0: 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74   building execut
36e0: 61 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69 6c  ables that.# wil
36f0: 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20 74 61 72  l run on the tar
3700: 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 28  get platform.  (
3710: 42 43 43 20 61 6e 64 20 54 43 43 20 61 72 65 20  BCC and TCC are 
3720: 75 73 75 61 6c 6c 79 20 74 68 65 0a 23 20 73 61  usually the.# sa
3730: 6d 65 20 75 6e 6c 65 73 73 20 79 6f 75 72 20 61  me unless your a
3740: 72 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69  re cross-compili
3750: 6e 67 2e 29 0a 23 0a 21 49 46 20 24 28 55 53 45  ng.).#.!IF $(USE
3760: 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 54 43  _FULLWARN)!=0.TC
3770: 43 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67  C = $(CC) -nolog
3780: 6f 20 2d 57 34 20 2d 44 49 4e 43 4c 55 44 45 5f  o -W4 -DINCLUDE_
3790: 4d 53 56 43 5f 48 3d 31 20 24 28 43 43 4f 50 54  MSVC_H=1 $(CCOPT
37a0: 53 29 20 24 28 54 43 43 4f 50 54 53 29 0a 21 45  S) $(TCCOPTS).!E
37b0: 4c 53 45 0a 54 43 43 20 3d 20 24 28 43 43 29 20  LSE.TCC = $(CC) 
37c0: 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43  -nologo -W3 $(CC
37d0: 4f 50 54 53 29 20 24 28 54 43 43 4f 50 54 53 29  OPTS) $(TCCOPTS)
37e0: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b  .!ENDIF..# Check
37f0: 20 69 66 20 77 61 72 6e 69 6e 67 73 20 73 68 6f   if warnings sho
3800: 75 6c 64 20 62 65 20 74 72 65 61 74 65 64 20 61  uld be treated a
3810: 73 20 65 72 72 6f 72 73 20 77 68 65 6e 20 63 6f  s errors when co
3820: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 20 24  mpiling..#.!IF $
3830: 28 55 53 45 5f 46 41 54 41 4c 5f 57 41 52 4e 29  (USE_FATAL_WARN)
3840: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC)
3850: 20 2d 57 58 0a 21 45 4e 44 49 46 0a 0a 54 43 43   -WX.!ENDIF..TCC
3860: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49   = $(TCC) -DSQLI
3870: 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20  TE_OS_WIN=1 -I. 
3880: 2d 49 24 28 54 4f 50 29 20 2d 49 24 28 54 4f 50  -I$(TOP) -I$(TOP
3890: 29 5c 73 72 63 20 2d 66 70 3a 70 72 65 63 69 73  )\src -fp:precis
38a0: 65 0a 52 43 43 20 3d 20 24 28 52 43 29 20 2d 44  e.RCC = $(RC) -D
38b0: 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31 20  SQLITE_OS_WIN=1 
38c0: 2d 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49 24  -I. -I$(TOP) -I$
38d0: 28 54 4f 50 29 5c 73 72 63 20 24 28 52 43 4f 50  (TOP)\src $(RCOP
38e0: 54 53 29 20 24 28 52 43 43 4f 50 54 53 29 0a 0a  TS) $(RCCOPTS)..
38f0: 23 20 43 68 65 63 6b 20 69 66 20 77 65 20 77 61  # Check if we wa
3900: 6e 74 20 74 6f 20 75 73 65 20 74 68 65 20 22 73  nt to use the "s
3910: 74 64 63 61 6c 6c 22 20 63 61 6c 6c 69 6e 67 20  tdcall" calling 
3920: 63 6f 6e 76 65 6e 74 69 6f 6e 20 77 68 65 6e 20  convention when 
3930: 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 20 54 68 69  compiling..# Thi
3940: 73 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74  s is not support
3950: 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c  ed by the compil
3960: 65 72 73 20 66 6f 72 20 6e 6f 6e 2d 78 38 36 20  ers for non-x86 
3970: 70 6c 61 74 66 6f 72 6d 73 2e 20 20 49 74 20 73  platforms.  It s
3980: 68 6f 75 6c 64 0a 23 20 61 6c 73 6f 20 62 65 20  hould.# also be 
3990: 6e 6f 74 65 64 20 68 65 72 65 20 74 68 61 74 20  noted here that 
39a0: 62 75 69 6c 64 69 6e 67 20 61 6e 79 20 74 61 72  building any tar
39b0: 67 65 74 20 77 69 74 68 20 74 68 65 73 65 20 22  get with these "
39c0: 73 74 64 63 61 6c 6c 22 20 6f 70 74 69 6f 6e 73  stdcall" options
39d0: 0a 23 20 77 69 6c 6c 20 6d 6f 73 74 20 6c 69 6b  .# will most lik
39e0: 65 6c 79 20 66 61 69 6c 20 69 66 20 74 68 65 20  ely fail if the 
39f0: 54 63 6c 20 6c 69 62 72 61 72 79 20 69 73 20 61  Tcl library is a
3a00: 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 20 20 54  lso required.  T
3a10: 68 69 73 20 69 73 20 64 75 65 0a 23 20 74 6f 20  his is due.# to 
3a20: 68 6f 77 20 74 68 65 20 54 63 6c 20 6c 69 62 72  how the Tcl libr
3a30: 61 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 61 72  ary functions ar
3a40: 65 20 64 65 63 6c 61 72 65 64 20 61 6e 64 20 65  e declared and e
3a50: 78 70 6f 72 74 65 64 20 28 69 2e 65 2e 20 77 69  xported (i.e. wi
3a60: 74 68 6f 75 74 0a 23 20 61 6e 20 65 78 70 6c 69  thout.# an expli
3a70: 63 69 74 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76  cit calling conv
3a80: 65 6e 74 69 6f 6e 2c 20 77 68 69 63 68 20 72 65  ention, which re
3a90: 73 75 6c 74 73 20 69 6e 20 22 63 64 65 63 6c 22  sults in "cdecl"
3aa0: 29 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 53  )..#.!IF $(USE_S
3ab0: 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  TDCALL)!=0 || $(
3ac0: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21 49  FOR_WIN10)!=0.!I
3ad0: 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d  F "$(PLATFORM)"=
3ae0: 3d 22 78 38 36 22 0a 43 4f 52 45 5f 43 43 4f 4e  ="x86".CORE_CCON
3af0: 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53  V_OPTS = -Gz -DS
3b00: 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64  QLITE_CDECL=__cd
3b10: 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49  ecl -DSQLITE_API
3b20: 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  CALL=__stdcall -
3b30: 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b  DSQLITE_CALLBACK
3b40: 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c  =__stdcall -DSQL
3b50: 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64  ITE_SYSAPI=__std
3b60: 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56  call.SHELL_CCONV
3b70: 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51  _OPTS = -Gz -DSQ
3b80: 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65  LITE_CDECL=__cde
3b90: 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43  cl -DSQLITE_APIC
3ba0: 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  ALL=__stdcall -D
3bb0: 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d  SQLITE_CALLBACK=
3bc0: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
3bd0: 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63  TE_SYSAPI=__stdc
3be0: 61 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54  all.# <<mark>>.T
3bf0: 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  EST_CCONV_OPTS =
3c00: 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44   -Gz -DSQLITE_CD
3c10: 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51  ECL=__cdecl -DSQ
3c20: 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73  LITE_APICALL=__s
3c30: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f  tdcall -DSQLITE_
3c40: 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61  CALLBACK=__stdca
3c50: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41  ll -DSQLITE_SYSA
3c60: 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 49  PI=__stdcall -DI
3c70: 4e 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f 54 43  NCLUDE_SQLITE_TC
3c80: 4c 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f 54  L_H=1 -DSQLITE_T
3c90: 43 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a 23 20  CLAPI=__cdecl.# 
3ca0: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a  <</mark>>.!ELSE.
3cb0: 21 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d  !IFNDEF PLATFORM
3cc0: 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  .CORE_CCONV_OPTS
3cd0: 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f   = -Gz -DSQLITE_
3ce0: 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44  CDECL=__cdecl -D
3cf0: 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f  SQLITE_APICALL=_
3d00: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
3d10: 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64  E_CALLBACK=__std
3d20: 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59  call -DSQLITE_SY
3d30: 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53  SAPI=__stdcall.S
3d40: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20  HELL_CCONV_OPTS 
3d50: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43  = -Gz -DSQLITE_C
3d60: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53  DECL=__cdecl -DS
3d70: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f  QLITE_APICALL=__
3d80: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45  stdcall -DSQLITE
3d90: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63  _CALLBACK=__stdc
3da0: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53  all -DSQLITE_SYS
3db0: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 20  API=__stdcall.# 
3dc0: 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43  <<mark>>.TEST_CC
3dd0: 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d  ONV_OPTS = -Gz -
3de0: 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f  DSQLITE_CDECL=__
3df0: 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41  cdecl -DSQLITE_A
3e00: 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c  PICALL=__stdcall
3e10: 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41   -DSQLITE_CALLBA
3e20: 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  CK=__stdcall -DS
3e30: 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73  QLITE_SYSAPI=__s
3e40: 74 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 45  tdcall -DINCLUDE
3e50: 5f 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 20  _SQLITE_TCL_H=1 
3e60: 2d 44 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 3d  -DSQLITE_TCLAPI=
3e70: 5f 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72  __cdecl.# <</mar
3e80: 6b 3e 3e 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43  k>>.!ELSE.CORE_C
3e90: 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45 4c  CONV_OPTS =.SHEL
3ea0: 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23  L_CCONV_OPTS =.#
3eb0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43   <<mark>>.TEST_C
3ec0: 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c  CONV_OPTS =.# <<
3ed0: 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 21  /mark>>.!ENDIF.!
3ee0: 45 4e 44 49 46 0a 21 45 4c 53 45 0a 43 4f 52 45  ENDIF.!ELSE.CORE
3ef0: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48  _CCONV_OPTS =.SH
3f00: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  ELL_CCONV_OPTS =
3f10: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54  .# <<mark>>.TEST
3f20: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20  _CCONV_OPTS =.# 
3f30: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46  <</mark>>.!ENDIF
3f40: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64  ..# These are ad
3f50: 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65  ditional compile
3f60: 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66  r options used f
3f70: 6f 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72  or the core libr
3f80: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43  ary..#.!IFNDEF C
3f90: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
3fa0: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S
3fb0: 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  HELL)!=0 || $(FO
3fc0: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 43 4f 52 45  R_WIN10)!=0.CORE
3fd0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS = 
3fe0: 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54  $(CORE_CCONV_OPT
3ff0: 53 29 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d  S) -DSQLITE_API=
4000: 5f 5f 64 65 63 6c 73 70 65 63 28 64 6c 6c 65 78  __declspec(dllex
4010: 70 6f 72 74 29 0a 21 45 4c 53 45 0a 43 4f 52 45  port).!ELSE.CORE
4020: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS = 
4030: 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54  $(CORE_CCONV_OPT
4040: 53 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  S).!ENDIF.!ENDIF
4050: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68  ..# These are th
4060: 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 61 72  e additional tar
4070: 67 65 74 73 20 74 68 61 74 20 74 68 65 20 63 6f  gets that the co
4080: 72 65 20 6c 69 62 72 61 72 79 20 73 68 6f 75 6c  re library shoul
4090: 64 20 64 65 70 65 6e 64 20 6f 6e 0a 23 20 77 68  d depend on.# wh
40a0: 65 6e 20 6c 69 6e 6b 69 6e 67 2e 0a 23 0a 21 49  en linking..#.!I
40b0: 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f  FNDEF CORE_LINK_
40c0: 44 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d 49  DEP.!IF $(DYNAMI
40d0: 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52 45  C_SHELL)!=0.CORE
40e0: 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4c 53  _LINK_DEP =.!ELS
40f0: 45 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29  EIF $(FOR_WIN10)
4100: 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f  ==0 || "$(PLATFO
4110: 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45  RM)"=="x86".CORE
4120: 5f 4c 49 4e 4b 5f 44 45 50 20 3d 20 73 71 6c 69  _LINK_DEP = sqli
4130: 74 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a 43 4f  te3.def.!ELSE.CO
4140: 52 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45  RE_LINK_DEP =.!E
4150: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54  NDIF.!ENDIF..# T
4160: 68 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f  hese are additio
4170: 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f  nal linker optio
4180: 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20  ns used for the 
4190: 63 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a  core library..#.
41a0: 21 49 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e  !IFNDEF CORE_LIN
41b0: 4b 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e  K_OPTS.!IF $(DYN
41c0: 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43  AMIC_SHELL)!=0.C
41d0: 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a  ORE_LINK_OPTS =.
41e0: 21 45 4c 53 45 49 46 20 24 28 46 4f 52 5f 57 49  !ELSEIF $(FOR_WI
41f0: 4e 31 30 29 3d 3d 30 20 7c 7c 20 22 24 28 50 4c  N10)==0 || "$(PL
4200: 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a  ATFORM)"=="x86".
4210: 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d  CORE_LINK_OPTS =
4220: 20 2f 44 45 46 3a 73 71 6c 69 74 65 33 2e 64 65   /DEF:sqlite3.de
4230: 66 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e  f.!ELSE.CORE_LIN
4240: 4b 5f 4f 50 54 53 20 3d 0a 21 45 4e 44 49 46 0a  K_OPTS =.!ENDIF.
4250: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20  !ENDIF..# These 
4260: 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 63  are additional c
4270: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options 
4280: 75 73 65 64 20 66 6f 72 20 74 68 65 20 73 68 65  used for the she
4290: 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23  ll executable..#
42a0: 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43  .!IFNDEF SHELL_C
42b0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46 20  OMPILE_OPTS.!IF 
42c0: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL)
42d0: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e  !=0 || $(FOR_WIN
42e0: 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d  10)!=0.SHELL_COM
42f0: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48  PILE_OPTS = $(SH
4300: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 20  ELL_CCONV_OPTS) 
4310: 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f 64  -DSQLITE_API=__d
4320: 65 63 6c 73 70 65 63 28 64 6c 6c 69 6d 70 6f 72  eclspec(dllimpor
4330: 74 29 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43  t).!ELSE.SHELL_C
4340: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28  OMPILE_OPTS = $(
4350: 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53  SHELL_CCONV_OPTS
4360: 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  ).!ENDIF.!ENDIF.
4370: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 73  .# This is the s
4380: 6f 75 72 63 65 20 63 6f 64 65 20 74 68 61 74 20  ource code that 
4390: 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74  the shell execut
43a0: 61 62 6c 65 20 73 68 6f 75 6c 64 20 62 65 20 63  able should be c
43b0: 6f 6d 70 69 6c 65 64 0a 23 20 77 69 74 68 2e 0a  ompiled.# with..
43c0: 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f  #.!IFNDEF SHELL_
43d0: 43 4f 52 45 5f 53 52 43 0a 21 49 46 20 24 28 44  CORE_SRC.!IF $(D
43e0: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30  YNAMIC_SHELL)!=0
43f0: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10)
4400: 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53  !=0.SHELL_CORE_S
4410: 52 43 20 3d 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  RC =.# <<mark>>.
4420: 21 45 4c 53 45 49 46 20 24 28 55 53 45 5f 41 4d  !ELSEIF $(USE_AM
4430: 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 53  ALGAMATION)==0.S
4440: 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d 0a  HELL_CORE_SRC =.
4450: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53  # <</mark>>.!ELS
4460: 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43  E.SHELL_CORE_SRC
4470: 20 3d 20 24 28 53 51 4c 49 54 45 33 43 29 0a 21   = $(SQLITE3C).!
4480: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
4490: 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 72 65  This is the core
44a0: 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 74 68   library that th
44b0: 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62  e shell executab
44c0: 6c 65 20 73 68 6f 75 6c 64 20 64 65 70 65 6e 64  le should depend
44d0: 20 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53   on..#.!IFNDEF S
44e0: 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 0a 21 49  HELL_CORE_DEP.!I
44f0: 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c  F $(DYNAMIC_SHEL
4500: 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57  L)!=0 || $(FOR_W
4510: 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43  IN10)!=0.SHELL_C
4520: 4f 52 45 5f 44 45 50 20 3d 20 24 28 53 51 4c 49  ORE_DEP = $(SQLI
4530: 54 45 33 44 4c 4c 29 0a 23 20 3c 3c 6d 61 72 6b  TE3DLL).# <<mark
4540: 3e 3e 0a 21 45 4c 53 45 49 46 20 24 28 55 53 45  >>.!ELSEIF $(USE
4550: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d  _AMALGAMATION)==
4560: 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50  0.SHELL_CORE_DEP
4570: 20 3d 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69   = libsqlite3.li
4580: 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45  b.# <</mark>>.!E
4590: 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44  LSE.SHELL_CORE_D
45a0: 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44  EP =.!ENDIF.!END
45b0: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  IF..# <<mark>>.#
45c0: 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 74   If zlib support
45d0: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64   is enabled, add
45e0: 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 69 65   the dependencie
45f0: 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20  s for it..#.!IF 
4600: 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 20 26  $(USE_ZLIB)!=0 &
4610: 26 20 24 28 42 55 49 4c 44 5f 5a 4c 49 42 29 21  & $(BUILD_ZLIB)!
4620: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45  =0.SHELL_CORE_DE
4630: 50 20 3d 20 7a 6c 69 62 20 24 28 53 48 45 4c 4c  P = zlib $(SHELL
4640: 5f 43 4f 52 45 5f 44 45 50 29 0a 54 45 53 54 46  _CORE_DEP).TESTF
4650: 49 58 54 55 52 45 5f 44 45 50 20 3d 20 7a 6c 69  IXTURE_DEP = zli
4660: 62 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  b $(TESTFIXTURE_
4670: 44 45 50 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c  DEP).!ENDIF.# <<
4680: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 73 20  /mark>>..# This 
4690: 69 73 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72  is the core libr
46a0: 61 72 79 20 74 68 61 74 20 74 68 65 20 73 68 65  ary that the she
46b0: 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 73 68  ll executable sh
46c0: 6f 75 6c 64 20 6c 69 6e 6b 20 77 69 74 68 2e 0a  ould link with..
46d0: 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f  #.!IFNDEF SHELL_
46e0: 43 4f 52 45 5f 4c 49 42 0a 21 49 46 20 24 28 44  CORE_LIB.!IF $(D
46f0: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30  YNAMIC_SHELL)!=0
4700: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10)
4710: 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c  !=0.SHELL_CORE_L
4720: 49 42 20 3d 20 24 28 53 51 4c 49 54 45 33 4c 49  IB = $(SQLITE3LI
4730: 42 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45  B).# <<mark>>.!E
4740: 4c 53 45 49 46 20 24 28 55 53 45 5f 41 4d 41 4c  LSEIF $(USE_AMAL
4750: 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 53 48 45  GAMATION)==0.SHE
4760: 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 6c 69  LL_CORE_LIB = li
4770: 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 23 20 3c  bsqlite3.lib.# <
4780: 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 53  </mark>>.!ELSE.S
4790: 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 0a  HELL_CORE_LIB =.
47a0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
47b0: 20 54 68 65 73 65 20 61 72 65 20 61 64 64 69 74   These are addit
47c0: 69 6f 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74  ional linker opt
47d0: 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68  ions used for th
47e0: 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62  e shell executab
47f0: 6c 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 48  le..#.!IFNDEF SH
4800: 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 53 48  ELL_LINK_OPTS.SH
4810: 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20  ELL_LINK_OPTS = 
4820: 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42  $(SHELL_CORE_LIB
4830: 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63  ).!ENDIF..# Chec
4840: 6b 20 69 66 20 61 73 73 65 6d 62 6c 79 20 63 6f  k if assembly co
4850: 64 65 20 6c 69 73 74 69 6e 67 73 20 73 68 6f 75  de listings shou
4860: 6c 64 20 62 65 20 67 65 6e 65 72 61 74 65 64 20  ld be generated 
4870: 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 0a 23  for the source.#
4880: 20 63 6f 64 65 20 66 69 6c 65 73 20 74 6f 20 62   code files to b
4890: 65 20 63 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21 49  e compiled..#.!I
48a0: 46 20 24 28 55 53 45 5f 4c 49 53 54 49 4e 47 53  F $(USE_LISTINGS
48b0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC
48c0: 29 20 2d 46 41 63 73 0a 21 45 4e 44 49 46 0a 0a  ) -FAcs.!ENDIF..
48d0: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  # When compiling
48e0: 20 74 68 65 20 6c 69 62 72 61 72 79 20 66 6f 72   the library for
48f0: 20 75 73 65 20 69 6e 20 74 68 65 20 57 69 6e 52   use in the WinR
4900: 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0a 23  T environment,.#
4910: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63   the following c
4920: 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6f 70 74 69  ompile-time opti
4930: 6f 6e 73 20 6d 75 73 74 20 62 65 20 75 73 65 64  ons must be used
4940: 20 61 73 20 77 65 6c 6c 20 74 6f 0a 23 20 64 69   as well to.# di
4950: 73 61 62 6c 65 20 75 73 65 20 6f 66 20 57 69 6e  sable use of Win
4960: 33 32 20 41 50 49 73 20 74 68 61 74 20 61 72 65  32 APIs that are
4970: 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 61   not available a
4980: 6e 64 20 74 6f 20 65 6e 61 62 6c 65 0a 23 20 75  nd to enable.# u
4990: 73 65 20 6f 66 20 57 69 6e 33 32 20 41 50 49 73  se of Win32 APIs
49a0: 20 74 68 61 74 20 61 72 65 20 73 70 65 63 69 66   that are specif
49b0: 69 63 20 74 6f 20 57 69 6e 64 6f 77 73 20 38 20  ic to Windows 8 
49c0: 61 6e 64 2f 6f 72 20 57 69 6e 52 54 2e 0a 23 0a  and/or WinRT..#.
49d0: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29  !IF $(FOR_WINRT)
49e0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC)
49f0: 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e   -DSQLITE_OS_WIN
4a00: 52 54 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  RT=1.RCC = $(RCC
4a10: 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49  ) -DSQLITE_OS_WI
4a20: 4e 52 54 3d 31 0a 54 43 43 20 3d 20 24 28 54 43  NRT=1.TCC = $(TC
4a30: 43 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49  C) -DWINAPI_FAMI
4a40: 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59  LY=WINAPI_FAMILY
4a50: 5f 41 50 50 0a 52 43 43 20 3d 20 24 28 52 43 43  _APP.RCC = $(RCC
4a60: 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49 4c  ) -DWINAPI_FAMIL
4a70: 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 5f  Y=WINAPI_FAMILY_
4a80: 41 50 50 0a 21 45 4e 44 49 46 0a 0a 23 20 43 20  APP.!ENDIF..# C 
4a90: 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73  compiler options
4aa0: 20 66 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73   for the Windows
4ab0: 20 31 30 20 70 6c 61 74 66 6f 72 6d 20 28 6e 65   10 platform (ne
4ac0: 65 64 73 20 4d 53 56 43 20 32 30 31 35 29 2e 0a  eds MSVC 2015)..
4ad0: 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31  #.!IF $(FOR_WIN1
4ae0: 30 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  0)!=0.TCC = $(TC
4af0: 43 29 20 2f 64 32 67 75 61 72 64 34 20 2d 44 5f  C) /d2guard4 -D_
4b00: 41 52 4d 5f 57 49 4e 41 50 49 5f 50 41 52 54 49  ARM_WINAPI_PARTI
4b10: 54 49 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53 44 4b  TION_DESKTOP_SDK
4b20: 5f 41 56 41 49 4c 41 42 4c 45 0a 42 43 43 20 3d  _AVAILABLE.BCC =
4b30: 20 24 28 42 43 43 29 20 2f 64 32 67 75 61 72 64   $(BCC) /d2guard
4b40: 34 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 49 5f  4 -D_ARM_WINAPI_
4b50: 50 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b 54 4f  PARTITION_DESKTO
4b60: 50 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c 45 0a  P_SDK_AVAILABLE.
4b70: 21 45 4e 44 49 46 0a 0a 23 20 41 6c 73 6f 2c 20  !ENDIF..# Also, 
4b80: 77 65 20 6e 65 65 64 20 74 6f 20 64 79 6e 61 6d  we need to dynam
4b90: 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74 6f 20 74  ically link to t
4ba0: 68 65 20 63 6f 72 72 65 63 74 20 4d 53 56 43 20  he correct MSVC 
4bb0: 72 75 6e 74 69 6d 65 0a 23 20 77 68 65 6e 20 63  runtime.# when c
4bc0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e  ompiling for Win
4bd0: 52 54 20 28 65 2e 67 2e 20 64 65 62 75 67 20 6f  RT (e.g. debug o
4be0: 72 20 72 65 6c 65 61 73 65 29 20 4f 52 20 69 66  r release) OR if
4bf0: 20 74 68 65 0a 23 20 55 53 45 5f 43 52 54 5f 44   the.# USE_CRT_D
4c00: 4c 4c 20 6f 70 74 69 6f 6e 20 69 73 20 73 65 74  LL option is set
4c10: 20 74 6f 20 66 6f 72 63 65 20 64 79 6e 61 6d 69   to force dynami
4c20: 63 61 6c 6c 79 20 6c 69 6e 6b 69 6e 67 20 74 6f  cally linking to
4c30: 20 74 68 65 0a 23 20 4d 53 56 43 20 72 75 6e 74   the.# MSVC runt
4c40: 69 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ime library..#.!
4c50: 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 21  IF $(FOR_WINRT)!
4c60: 3d 30 20 7c 7c 20 24 28 55 53 45 5f 43 52 54 5f  =0 || $(USE_CRT_
4c70: 44 4c 4c 29 21 3d 30 0a 21 49 46 20 24 28 44 45  DLL)!=0.!IF $(DE
4c80: 42 55 47 29 3e 31 0a 54 43 43 20 3d 20 24 28 54  BUG)>1.TCC = $(T
4c90: 43 43 29 20 2d 4d 44 64 0a 42 43 43 20 3d 20 24  CC) -MDd.BCC = $
4ca0: 28 42 43 43 29 20 2d 4d 44 64 0a 21 45 4c 53 45  (BCC) -MDd.!ELSE
4cb0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d  .TCC = $(TCC) -M
4cc0: 44 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  D.BCC = $(BCC) -
4cd0: 4d 44 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45 0a  MD.!ENDIF.!ELSE.
4ce0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a 54  !IF $(DEBUG)>1.T
4cf0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 54 64  CC = $(TCC) -MTd
4d00: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d  .BCC = $(BCC) -M
4d10: 54 64 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20 24  Td.!ELSE.TCC = $
4d20: 28 54 43 43 29 20 2d 4d 54 0a 42 43 43 20 3d 20  (TCC) -MT.BCC = 
4d30: 24 28 42 43 43 29 20 2d 4d 54 0a 21 45 4e 44 49  $(BCC) -MT.!ENDI
4d40: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  F.!ENDIF..# <<ma
4d50: 72 6b 3e 3e 0a 23 20 54 68 65 20 6d 6b 73 71 6c  rk>>.# The mksql
4d60: 69 74 65 33 63 2e 74 63 6c 20 61 6e 64 20 6d 6b  ite3c.tcl and mk
4d70: 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 73 63 72  sqlite3h.tcl scr
4d80: 69 70 74 73 20 77 69 6c 6c 20 70 75 6c 6c 20 69  ipts will pull i
4d90: 6e 0a 23 20 61 6e 79 20 65 78 74 65 6e 73 69 6f  n.# any extensio
4da0: 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 62  n header files b
4db0: 79 20 64 65 66 61 75 6c 74 2e 20 20 46 6f 72 20  y default.  For 
4dc0: 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  non-amalgamation
4dd0: 0a 23 20 62 75 69 6c 64 73 2c 20 77 65 20 6e 65  .# builds, we ne
4de0: 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20  ed to make sure 
4df0: 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61 6e  the compiler can
4e00: 20 66 69 6e 64 20 74 68 65 73 65 2e 0a 23 0a 21   find these..#.!
4e10: 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d  IF $(USE_AMALGAM
4e20: 41 54 49 4f 4e 29 3d 3d 30 0a 54 43 43 20 3d 20  ATION)==0.TCC = 
4e30: 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c  $(TCC) -I$(TOP)\
4e40: 65 78 74 5c 66 74 73 33 0a 52 43 43 20 3d 20 24  ext\fts3.RCC = $
4e50: 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65  (RCC) -I$(TOP)\e
4e60: 78 74 5c 66 74 73 33 0a 54 43 43 20 3d 20 24 28  xt\fts3.TCC = $(
4e70: 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78  TCC) -I$(TOP)\ex
4e80: 74 5c 72 74 72 65 65 0a 52 43 43 20 3d 20 24 28  t\rtree.RCC = $(
4e90: 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78  RCC) -I$(TOP)\ex
4ea0: 74 5c 72 74 72 65 65 0a 54 43 43 20 3d 20 24 28  t\rtree.TCC = $(
4eb0: 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78  TCC) -I$(TOP)\ex
4ec0: 74 5c 73 65 73 73 69 6f 6e 0a 52 43 43 20 3d 20  t\session.RCC = 
4ed0: 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c  $(RCC) -I$(TOP)\
4ee0: 65 78 74 5c 73 65 73 73 69 6f 6e 0a 21 45 4e 44  ext\session.!END
4ef0: 49 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69  IF..# The mksqli
4f00: 74 65 33 63 2e 74 63 6c 20 73 63 72 69 70 74 20  te3c.tcl script 
4f10: 61 63 63 65 70 74 73 20 73 6f 6d 65 20 6f 70 74  accepts some opt
4f20: 69 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d 6d  ions on the comm
4f30: 61 6e 64 0a 23 20 6c 69 6e 65 2e 20 20 57 68 65  and.# line.  Whe
4f40: 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68  n compiling with
4f50: 20 64 65 62 75 67 67 69 6e 67 20 65 6e 61 62 6c   debugging enabl
4f60: 65 64 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 73  ed, some of thes
4f70: 65 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65 20  e.# options are 
4f80: 6e 65 63 65 73 73 61 72 79 20 69 6e 20 6f 72 64  necessary in ord
4f90: 65 72 20 74 6f 20 61 6c 6c 6f 77 20 64 65 62 75  er to allow debu
4fa0: 67 67 69 6e 67 20 73 79 6d 62 6f 6c 73 20 74 6f  gging symbols to
4fb0: 0a 23 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c  .# work correctl
4fc0: 79 20 77 69 74 68 20 56 69 73 75 61 6c 20 53 74  y with Visual St
4fd0: 75 64 69 6f 20 77 68 65 6e 20 75 73 69 6e 67 20  udio when using 
4fe0: 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  the amalgamation
4ff0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51  ..#.!IFNDEF MKSQ
5000: 4c 49 54 45 33 43 5f 54 4f 4f 4c 0a 21 49 46 20  LITE3C_TOOL.!IF 
5010: 24 28 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41  $(MINIMAL_AMALGA
5020: 4d 41 54 49 4f 4e 29 21 3d 30 0a 4d 4b 53 51 4c  MATION)!=0.MKSQL
5030: 49 54 45 33 43 5f 54 4f 4f 4c 20 3d 20 24 28 54  ITE3C_TOOL = $(T
5040: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74  OP)\tool\mksqlit
5050: 65 33 63 2d 6e 6f 65 78 74 2e 74 63 6c 0a 21 45  e3c-noext.tcl.!E
5060: 4c 53 45 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 54  LSE.MKSQLITE3C_T
5070: 4f 4f 4c 20 3d 20 24 28 54 4f 50 29 5c 74 6f 6f  OOL = $(TOP)\too
5080: 6c 5c 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c  l\mksqlite3c.tcl
5090: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
50a0: 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54 45  !IFNDEF MKSQLITE
50b0: 33 43 5f 41 52 47 53 0a 21 49 46 20 24 28 44 45  3C_ARGS.!IF $(DE
50c0: 42 55 47 29 3e 31 0a 4d 4b 53 51 4c 49 54 45 33  BUG)>1.MKSQLITE3
50d0: 43 5f 41 52 47 53 20 3d 20 2d 2d 6c 69 6e 65 6d  C_ARGS = --linem
50e0: 61 63 72 6f 73 0a 21 45 4c 53 45 0a 4d 4b 53 51  acros.!ELSE.MKSQ
50f0: 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 0a 21 45  LITE3C_ARGS =.!E
5100: 4e 44 49 46 0a 21 49 46 20 24 28 55 53 45 5f 53  NDIF.!IF $(USE_S
5110: 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  TDCALL)!=0 || $(
5120: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4d 4b  FOR_WIN10)!=0.MK
5130: 53 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 20  SQLITE3C_ARGS = 
5140: 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47  $(MKSQLITE3C_ARG
5150: 53 29 20 2d 2d 75 73 65 61 70 69 63 61 6c 6c 0a  S) --useapicall.
5160: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
5170: 20 54 68 65 20 6d 6b 73 71 6c 69 74 65 33 68 2e   The mksqlite3h.
5180: 74 63 6c 20 73 63 72 69 70 74 20 61 63 63 65 70  tcl script accep
5190: 74 73 20 73 6f 6d 65 20 6f 70 74 69 6f 6e 73 20  ts some options 
51a0: 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c  on the command l
51b0: 69 6e 65 2e 0a 23 20 57 68 65 6e 20 63 6f 6d 70  ine..# When comp
51c0: 69 6c 69 6e 67 20 77 69 74 68 20 73 74 64 63 61  iling with stdca
51d0: 6c 6c 20 73 75 70 70 6f 72 74 2c 20 73 6f 6d 65  ll support, some
51e0: 20 6f 66 20 74 68 65 73 65 20 6f 70 74 69 6f 6e   of these option
51f0: 73 20 61 72 65 0a 23 20 6e 65 63 65 73 73 61 72  s are.# necessar
5200: 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53  y..#.!IFNDEF MKS
5210: 51 4c 49 54 45 33 48 5f 41 52 47 53 0a 21 49 46  QLITE3H_ARGS.!IF
5220: 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21   $(USE_STDCALL)!
5230: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1
5240: 30 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 48  0)!=0.MKSQLITE3H
5250: 5f 41 52 47 53 20 3d 20 2d 2d 75 73 65 61 70 69  _ARGS = --useapi
5260: 63 61 6c 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c  call.!ELSE.MKSQL
5270: 49 54 45 33 48 5f 41 52 47 53 20 3d 0a 21 45 4e  ITE3H_ARGS =.!EN
5280: 44 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f  DIF.!ENDIF.# <</
5290: 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65 66 69 6e 65  mark>>..# Define
52a0: 20 2d 44 4e 44 45 42 55 47 20 74 6f 20 63 6f 6d   -DNDEBUG to com
52b0: 70 69 6c 65 20 77 69 74 68 6f 75 74 20 64 65 62  pile without deb
52c0: 75 67 67 69 6e 67 20 28 69 2e 65 2e 2c 20 66 6f  ugging (i.e., fo
52d0: 72 20 70 72 6f 64 75 63 74 69 6f 6e 20 75 73 61  r production usa
52e0: 67 65 29 0a 23 20 4f 6d 69 74 74 69 6e 67 20 74  ge).# Omitting t
52f0: 68 65 20 64 65 66 69 6e 65 20 77 69 6c 6c 20 63  he define will c
5300: 61 75 73 65 20 65 78 74 72 61 20 64 65 62 75 67  ause extra debug
5310: 67 69 6e 67 20 63 6f 64 65 20 74 6f 20 62 65 20  ging code to be 
5320: 69 6e 73 65 72 74 65 64 20 61 6e 64 0a 23 20 69  inserted and.# i
5330: 6e 63 6c 75 64 65 73 20 65 78 74 72 61 20 63 6f  ncludes extra co
5340: 6d 6d 65 6e 74 73 20 77 68 65 6e 20 22 45 58 50  mments when "EXP
5350: 4c 41 49 4e 20 73 74 6d 74 22 20 69 73 20 75 73  LAIN stmt" is us
5360: 65 64 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55  ed..#.!IF $(DEBU
5370: 47 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  G)==0.TCC = $(TC
5380: 43 29 20 2d 44 4e 44 45 42 55 47 0a 42 43 43 20  C) -DNDEBUG.BCC 
5390: 3d 20 24 28 42 43 43 29 20 2d 44 4e 44 45 42 55  = $(BCC) -DNDEBU
53a0: 47 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  G.RCC = $(RCC) -
53b0: 44 4e 44 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a  DNDEBUG.!ENDIF..
53c0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 30 20 7c  !IF $(DEBUG)>0 |
53d0: 7c 20 24 28 41 50 49 5f 41 52 4d 4f 52 29 21 3d  | $(API_ARMOR)!=
53e0: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10
53f0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC
5400: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
5410: 45 5f 41 50 49 5f 41 52 4d 4f 52 3d 31 0a 52 43  E_API_ARMOR=1.RC
5420: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c  C = $(RCC) -DSQL
5430: 49 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41  ITE_ENABLE_API_A
5440: 52 4d 4f 52 3d 31 0a 21 45 4e 44 49 46 0a 0a 21  RMOR=1.!ENDIF..!
5450: 49 46 20 24 28 44 45 42 55 47 29 3e 32 0a 54 43  IF $(DEBUG)>2.TC
5460: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c  C = $(TCC) -DSQL
5470: 49 54 45 5f 44 45 42 55 47 3d 31 0a 52 43 43 20  ITE_DEBUG=1.RCC 
5480: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT
5490: 45 5f 44 45 42 55 47 3d 31 0a 21 49 46 20 24 28  E_DEBUG=1.!IF $(
54a0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d  DYNAMIC_SHELL)==
54b0: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) -
54c0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 57  DSQLITE_ENABLE_W
54d0: 48 45 52 45 54 52 41 43 45 20 2d 44 53 51 4c 49  HERETRACE -DSQLI
54e0: 54 45 5f 45 4e 41 42 4c 45 5f 53 45 4c 45 43 54  TE_ENABLE_SELECT
54f0: 54 52 41 43 45 0a 52 43 43 20 3d 20 24 28 52 43  TRACE.RCC = $(RC
5500: 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  C) -DSQLITE_ENAB
5510: 4c 45 5f 57 48 45 52 45 54 52 41 43 45 20 2d 44  LE_WHERETRACE -D
5520: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45  SQLITE_ENABLE_SE
5530: 4c 45 43 54 54 52 41 43 45 0a 21 45 4e 44 49 46  LECTTRACE.!ENDIF
5540: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44  .!ENDIF..!IF $(D
5550: 45 42 55 47 29 3e 34 20 7c 7c 20 24 28 4f 53 54  EBUG)>4 || $(OST
5560: 52 41 43 45 29 21 3d 30 0a 54 43 43 20 3d 20 24  RACE)!=0.TCC = $
5570: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46  (TCC) -DSQLITE_F
5580: 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20  ORCE_OS_TRACE=1 
5590: 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f  -DSQLITE_DEBUG_O
55a0: 53 5f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20  S_TRACE=1.RCC = 
55b0: 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(RCC) -DSQLITE_
55c0: 46 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31  FORCE_OS_TRACE=1
55d0: 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f   -DSQLITE_DEBUG_
55e0: 4f 53 5f 54 52 41 43 45 3d 31 0a 21 45 4e 44 49  OS_TRACE=1.!ENDI
55f0: 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e  F..!IF $(DEBUG)>
5600: 35 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  5.TCC = $(TCC) -
5610: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49  DSQLITE_ENABLE_I
5620: 4f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24  OTRACE=1.RCC = $
5630: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45  (RCC) -DSQLITE_E
5640: 4e 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a  NABLE_IOTRACE=1.
5650: 21 45 4e 44 49 46 0a 0a 23 20 50 72 65 76 65 6e  !ENDIF..# Preven
5660: 74 20 77 61 72 6e 69 6e 67 73 20 61 62 6f 75 74  t warnings about
5670: 20 22 69 6e 73 65 63 75 72 65 22 20 4d 53 56 43   "insecure" MSVC
5680: 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79   runtime library
5690: 20 66 75 6e 63 74 69 6f 6e 73 0a 23 20 62 65 69   functions.# bei
56a0: 6e 67 20 75 73 65 64 2e 0a 23 0a 54 43 43 20 3d  ng used..#.TCC =
56b0: 20 24 28 54 43 43 29 20 2d 44 5f 43 52 54 5f 53   $(TCC) -D_CRT_S
56c0: 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41  ECURE_NO_DEPRECA
56d0: 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45  TE -D_CRT_SECURE
56e0: 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43  _NO_WARNINGS.BCC
56f0: 20 3d 20 24 28 42 43 43 29 20 2d 44 5f 43 52 54   = $(BCC) -D_CRT
5700: 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45  _SECURE_NO_DEPRE
5710: 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55  CATE -D_CRT_SECU
5720: 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52  RE_NO_WARNINGS.R
5730: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43  CC = $(RCC) -D_C
5740: 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50  RT_SECURE_NO_DEP
5750: 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45  RECATE -D_CRT_SE
5760: 43 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53  CURE_NO_WARNINGS
5770: 0a 0a 23 20 50 72 65 76 65 6e 74 20 77 61 72 6e  ..# Prevent warn
5780: 69 6e 67 73 20 61 62 6f 75 74 20 22 64 65 70 72  ings about "depr
5790: 65 63 61 74 65 64 22 20 50 4f 53 49 58 20 66 75  ecated" POSIX fu
57a0: 6e 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 75 73  nctions being us
57b0: 65 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43  ed..#.TCC = $(TC
57c0: 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44  C) -D_CRT_NONSTD
57d0: 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d  C_NO_DEPRECATE -
57e0: 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f  D_CRT_NONSTDC_NO
57f0: 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20  _WARNINGS.BCC = 
5800: 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f  $(BCC) -D_CRT_NO
5810: 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41  NSTDC_NO_DEPRECA
5820: 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44  TE -D_CRT_NONSTD
5830: 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43  C_NO_WARNINGS.RC
5840: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52  C = $(RCC) -D_CR
5850: 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50  T_NONSTDC_NO_DEP
5860: 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f  RECATE -D_CRT_NO
5870: 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47  NSTDC_NO_WARNING
5880: 53 0a 0a 23 20 55 73 65 20 74 68 65 20 53 51 4c  S..# Use the SQL
5890: 69 74 65 20 64 65 62 75 67 67 69 6e 67 20 68 65  ite debugging he
58a0: 61 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a  ap subsystem?.#.
58b0: 21 49 46 20 24 28 4d 45 4d 44 45 42 55 47 29 21  !IF $(MEMDEBUG)!
58c0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
58d0: 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55  -DSQLITE_MEMDEBU
58e0: 47 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29  G=1.RCC = $(RCC)
58f0: 20 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42   -DSQLITE_MEMDEB
5900: 55 47 3d 31 0a 0a 23 20 55 73 65 20 6e 61 74 69  UG=1..# Use nati
5910: 76 65 20 57 69 6e 33 32 20 68 65 61 70 20 73 75  ve Win32 heap su
5920: 62 73 79 73 74 65 6d 20 69 6e 73 74 65 61 64 20  bsystem instead 
5930: 6f 66 20 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f 0a  of malloc/free?.
5940: 23 0a 21 45 4c 53 45 49 46 20 24 28 57 49 4e 33  #.!ELSEIF $(WIN3
5950: 32 48 45 41 50 29 21 3d 30 0a 54 43 43 20 3d 20  2HEAP)!=0.TCC = 
5960: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_
5970: 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 52  WIN32_MALLOC=1.R
5980: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ
5990: 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f  LITE_WIN32_MALLO
59a0: 43 3d 31 0a 0a 23 20 56 61 6c 69 64 61 74 65 20  C=1..# Validate 
59b0: 74 68 65 20 68 65 61 70 20 6f 6e 20 65 76 65 72  the heap on ever
59c0: 79 20 63 61 6c 6c 20 69 6e 74 6f 20 74 68 65 20  y call into the 
59d0: 6e 61 74 69 76 65 20 57 69 6e 33 32 20 68 65 61  native Win32 hea
59e0: 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21  p subsystem?.#.!
59f0: 49 46 20 24 28 44 45 42 55 47 29 3e 33 0a 54 43  IF $(DEBUG)>3.TC
5a00: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c  C = $(TCC) -DSQL
5a10: 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43  ITE_WIN32_MALLOC
5a20: 5f 56 41 4c 49 44 41 54 45 3d 31 0a 52 43 43 20  _VALIDATE=1.RCC 
5a30: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT
5a40: 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56  E_WIN32_MALLOC_V
5a50: 41 4c 49 44 41 54 45 3d 31 0a 21 45 4e 44 49 46  ALIDATE=1.!ENDIF
5a60: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72  .!ENDIF..# <<mar
5a70: 6b 3e 3e 0a 23 20 54 68 65 20 6c 6f 63 61 74 69  k>>.# The locati
5a80: 6f 6e 73 20 6f 66 20 74 68 65 20 54 63 6c 20 68  ons of the Tcl h
5a90: 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61 72  eader and librar
5aa0: 79 20 66 69 6c 65 73 2e 20 20 41 6c 73 6f 2c 20  y files.  Also, 
5ab0: 74 68 65 20 6c 69 62 72 61 72 79 20 74 68 61 74  the library that
5ac0: 0a 23 20 6e 6f 6e 2d 73 74 75 62 73 20 65 6e 61  .# non-stubs ena
5ad0: 62 6c 65 64 20 70 72 6f 67 72 61 6d 73 20 75 73  bled programs us
5ae0: 69 6e 67 20 54 63 6c 20 6d 75 73 74 20 6c 69 6e  ing Tcl must lin
5af0: 6b 20 61 67 61 69 6e 73 74 2e 20 20 54 68 65 73  k against.  Thes
5b00: 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 54  e variables.# (T
5b10: 43 4c 49 4e 43 44 49 52 2c 20 54 43 4c 4c 49 42  CLINCDIR, TCLLIB
5b20: 44 49 52 2c 20 61 6e 64 20 4c 49 42 54 43 4c 29  DIR, and LIBTCL)
5b30: 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64 64   may be overridd
5b40: 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69 72  en via the envir
5b50: 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 74  onment.# prior t
5b60: 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20  o running nmake 
5b70: 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 63  in order to matc
5b80: 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e 73  h the actual ins
5b90: 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20  talled location 
5ba0: 61 6e 64 0a 23 20 76 65 72 73 69 6f 6e 20 6f 6e  and.# version on
5bb0: 20 74 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23   this machine..#
5bc0: 0a 21 49 46 4e 44 45 46 20 54 43 4c 44 49 52 0a  .!IFNDEF TCLDIR.
5bd0: 54 43 4c 44 49 52 20 3d 20 24 28 54 4f 50 29 5c  TCLDIR = $(TOP)\
5be0: 63 6f 6d 70 61 74 5c 74 63 6c 0a 21 45 4e 44 49  compat\tcl.!ENDI
5bf0: 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c 49 4e  F..!IFNDEF TCLIN
5c00: 43 44 49 52 0a 54 43 4c 49 4e 43 44 49 52 20 3d  CDIR.TCLINCDIR =
5c10: 20 24 28 54 43 4c 44 49 52 29 5c 69 6e 63 6c 75   $(TCLDIR)\inclu
5c20: 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44  de.!ENDIF..!IFND
5c30: 45 46 20 54 43 4c 4c 49 42 44 49 52 0a 54 43 4c  EF TCLLIBDIR.TCL
5c40: 4c 49 42 44 49 52 20 3d 20 24 28 54 43 4c 44 49  LIBDIR = $(TCLDI
5c50: 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21  R)\lib.!ENDIF..!
5c60: 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 0a 4c 49  IFNDEF LIBTCL.LI
5c70: 42 54 43 4c 20 3d 20 74 63 6c 38 36 2e 6c 69 62  BTCL = tcl86.lib
5c80: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46  .!ENDIF..!IFNDEF
5c90: 20 4c 49 42 54 43 4c 53 54 55 42 0a 4c 49 42 54   LIBTCLSTUB.LIBT
5ca0: 43 4c 53 54 55 42 20 3d 20 74 63 6c 73 74 75 62  CLSTUB = tclstub
5cb0: 38 36 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21  86.lib.!ENDIF..!
5cc0: 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 50 41 54  IFNDEF LIBTCLPAT
5cd0: 48 0a 4c 49 42 54 43 4c 50 41 54 48 20 3d 20 24  H.LIBTCLPATH = $
5ce0: 28 54 43 4c 44 49 52 29 5c 62 69 6e 0a 21 45 4e  (TCLDIR)\bin.!EN
5cf0: 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63 61 74  DIF..# The locat
5d00: 69 6f 6e 73 20 6f 66 20 74 68 65 20 7a 6c 69 62  ions of the zlib
5d10: 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72   header and libr
5d20: 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68 65 73  ary files.  Thes
5d30: 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 5a  e variables.# (Z
5d40: 4c 49 42 49 4e 43 44 49 52 2c 20 5a 4c 49 42 4c  LIBINCDIR, ZLIBL
5d50: 49 42 44 49 52 2c 20 61 6e 64 20 5a 4c 49 42 4c  IBDIR, and ZLIBL
5d60: 49 42 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72  IB) may be overr
5d70: 69 64 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e  idden via the en
5d80: 76 69 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f  vironment.# prio
5d90: 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61  r to running nma
5da0: 6b 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d  ke in order to m
5db0: 61 74 63 68 20 74 68 65 20 61 63 74 75 61 6c 20  atch the actual 
5dc0: 69 6e 73 74 61 6c 6c 65 64 20 28 6f 72 20 73 6f  installed (or so
5dd0: 75 72 63 65 0a 23 20 63 6f 64 65 29 20 6c 6f 63  urce.# code) loc
5de0: 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 20 6d 61  ation on this ma
5df0: 63 68 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46  chine..#.!IFNDEF
5e00: 20 5a 4c 49 42 44 49 52 0a 5a 4c 49 42 44 49 52   ZLIBDIR.ZLIBDIR
5e10: 20 3d 20 24 28 54 4f 50 29 5c 63 6f 6d 70 61 74   = $(TOP)\compat
5e20: 5c 7a 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49  \zlib.!ENDIF..!I
5e30: 46 4e 44 45 46 20 5a 4c 49 42 49 4e 43 44 49 52  FNDEF ZLIBINCDIR
5e40: 0a 5a 4c 49 42 49 4e 43 44 49 52 20 3d 20 24 28  .ZLIBINCDIR = $(
5e50: 5a 4c 49 42 44 49 52 29 0a 21 45 4e 44 49 46 0a  ZLIBDIR).!ENDIF.
5e60: 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42 4c 49 42  .!IFNDEF ZLIBLIB
5e70: 44 49 52 0a 5a 4c 49 42 4c 49 42 44 49 52 20 3d  DIR.ZLIBLIBDIR =
5e80: 20 24 28 5a 4c 49 42 44 49 52 29 0a 21 45 4e 44   $(ZLIBDIR).!END
5e90: 49 46 0a 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42  IF..!IFNDEF ZLIB
5ea0: 4c 49 42 0a 21 49 46 20 24 28 44 59 4e 41 4d 49  LIB.!IF $(DYNAMI
5eb0: 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 5a 4c 49 42  C_SHELL)!=0.ZLIB
5ec0: 4c 49 42 20 3d 20 7a 64 6c 6c 2e 6c 69 62 0a 21  LIB = zdll.lib.!
5ed0: 45 4c 53 45 0a 5a 4c 49 42 4c 49 42 20 3d 20 7a  ELSE.ZLIBLIB = z
5ee0: 6c 69 62 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21  lib.lib.!ENDIF.!
5ef0: 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63  ENDIF..# The loc
5f00: 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 49 43  ations of the IC
5f10: 55 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62  U header and lib
5f20: 72 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68 65  rary files.  The
5f30: 73 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28  se variables.# (
5f40: 49 43 55 49 4e 43 44 49 52 2c 20 49 43 55 4c 49  ICUINCDIR, ICULI
5f50: 42 44 49 52 2c 20 61 6e 64 20 4c 49 42 49 43 55  BDIR, and LIBICU
5f60: 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64  ) may be overrid
5f70: 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69  den via the envi
5f80: 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20  ronment.# prior 
5f90: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65  to running nmake
5fa0: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74   in order to mat
5fb0: 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e  ch the actual in
5fc0: 73 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e  stalled location
5fd0: 20 6f 6e 0a 23 20 74 68 69 73 20 6d 61 63 68 69   on.# this machi
5fe0: 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 49 43  ne..#.!IFNDEF IC
5ff0: 55 44 49 52 0a 49 43 55 44 49 52 20 3d 20 24 28  UDIR.ICUDIR = $(
6000: 54 4f 50 29 5c 63 6f 6d 70 61 74 5c 69 63 75 0a  TOP)\compat\icu.
6010: 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20  !ENDIF..!IFNDEF 
6020: 49 43 55 49 4e 43 44 49 52 0a 49 43 55 49 4e 43  ICUINCDIR.ICUINC
6030: 44 49 52 20 3d 20 24 28 49 43 55 44 49 52 29 5c  DIR = $(ICUDIR)\
6040: 69 6e 63 6c 75 64 65 0a 21 45 4e 44 49 46 0a 0a  include.!ENDIF..
6050: 21 49 46 4e 44 45 46 20 49 43 55 4c 49 42 44 49  !IFNDEF ICULIBDI
6060: 52 0a 49 43 55 4c 49 42 44 49 52 20 3d 20 24 28  R.ICULIBDIR = $(
6070: 49 43 55 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44  ICUDIR)\lib.!END
6080: 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 49  IF..!IFNDEF LIBI
6090: 43 55 0a 4c 49 42 49 43 55 20 3d 20 69 63 75 75  CU.LIBICU = icuu
60a0: 63 2e 6c 69 62 20 69 63 75 69 6e 2e 6c 69 62 0a  c.lib icuin.lib.
60b0: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69  !ENDIF..# This i
60c0: 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f  s the command to
60d0: 20 75 73 65 20 66 6f 72 20 74 63 6c 73 68 20 2d   use for tclsh -
60e0: 20 6e 6f 72 6d 61 6c 6c 79 20 6a 75 73 74 20 22   normally just "
60f0: 74 63 6c 73 68 22 2c 20 62 75 74 20 77 65 20 6d  tclsh", but we m
6100: 61 79 0a 23 20 6b 6e 6f 77 20 74 68 65 20 73 70  ay.# know the sp
6110: 65 63 69 66 69 63 20 76 65 72 73 69 6f 6e 20 77  ecific version w
6120: 65 20 77 61 6e 74 20 74 6f 20 75 73 65 2e 20 20  e want to use.  
6130: 54 68 69 73 20 76 61 72 69 61 62 6c 65 20 28 54  This variable (T
6140: 43 4c 53 48 5f 43 4d 44 29 20 6d 61 79 20 62 65  CLSH_CMD) may be
6150: 0a 23 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69  .# overridden vi
6160: 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e  a the environmen
6170: 74 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69  t prior to runni
6180: 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65  ng nmake in orde
6190: 72 20 74 6f 20 73 65 6c 65 63 74 20 61 0a 23 20  r to select a.# 
61a0: 73 70 65 63 69 66 69 63 20 54 63 6c 20 73 68 65  specific Tcl she
61b0: 6c 6c 20 74 6f 20 75 73 65 2e 0a 23 0a 21 49 46  ll to use..#.!IF
61c0: 4e 44 45 46 20 54 43 4c 53 48 5f 43 4d 44 0a 21  NDEF TCLSH_CMD.!
61d0: 49 46 20 24 28 55 53 45 5f 54 43 4c 53 48 5f 49  IF $(USE_TCLSH_I
61e0: 4e 5f 50 41 54 48 29 21 3d 30 20 7c 7c 20 21 45  N_PATH)!=0 || !E
61f0: 58 49 53 54 28 22 24 28 54 43 4c 44 49 52 29 5c  XIST("$(TCLDIR)\
6200: 62 69 6e 5c 74 63 6c 73 68 2e 65 78 65 22 29 0a  bin\tclsh.exe").
6210: 54 43 4c 53 48 5f 43 4d 44 20 3d 20 74 63 6c 73  TCLSH_CMD = tcls
6220: 68 0a 21 45 4c 53 45 0a 54 43 4c 53 48 5f 43 4d  h.!ELSE.TCLSH_CM
6230: 44 20 3d 20 24 28 54 43 4c 44 49 52 29 5c 62 69  D = $(TCLDIR)\bi
6240: 6e 5c 74 63 6c 73 68 2e 65 78 65 0a 21 45 4e 44  n\tclsh.exe.!END
6250: 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d  IF.!ENDIF.# <</m
6260: 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 70 69 6c 65  ark>>..# Compile
6270: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 65 64 65 64  r options needed
6280: 20 66 6f 72 20 70 72 6f 67 72 61 6d 73 20 74 68   for programs th
6290: 61 74 20 75 73 65 20 74 68 65 20 72 65 61 64 6c  at use the readl
62a0: 69 6e 65 28 29 20 6c 69 62 72 61 72 79 2e 0a 23  ine() library..#
62b0: 0a 21 49 46 4e 44 45 46 20 52 45 41 44 4c 49 4e  .!IFNDEF READLIN
62c0: 45 5f 46 4c 41 47 53 0a 52 45 41 44 4c 49 4e 45  E_FLAGS.READLINE
62d0: 5f 46 4c 41 47 53 20 3d 20 2d 44 48 41 56 45 5f  _FLAGS = -DHAVE_
62e0: 52 45 41 44 4c 49 4e 45 3d 30 0a 21 45 4e 44 49  READLINE=0.!ENDI
62f0: 46 0a 0a 23 20 54 68 65 20 6c 69 62 72 61 72 79  F..# The library
6300: 20 74 68 61 74 20 70 72 6f 67 72 61 6d 73 20 75   that programs u
6310: 73 69 6e 67 20 72 65 61 64 6c 69 6e 65 28 29 20  sing readline() 
6320: 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73  must link agains
6330: 74 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c 49 42  t..#.!IFNDEF LIB
6340: 52 45 41 44 4c 49 4e 45 0a 4c 49 42 52 45 41 44  READLINE.LIBREAD
6350: 4c 49 4e 45 20 3d 0a 21 45 4e 44 49 46 0a 0a 23  LINE =.!ENDIF..#
6360: 20 53 68 6f 75 6c 64 20 74 68 65 20 64 61 74 61   Should the data
6370: 62 61 73 65 20 65 6e 67 69 6e 65 20 62 65 20 63  base engine be c
6380: 6f 6d 70 69 6c 65 64 20 74 68 72 65 61 64 73 61  ompiled threadsa
6390: 66 65 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43  fe.#.TCC = $(TCC
63a0: 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
63b0: 44 53 41 46 45 3d 31 0a 52 43 43 20 3d 20 24 28  DSAFE=1.RCC = $(
63c0: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  RCC) -DSQLITE_TH
63d0: 52 45 41 44 53 41 46 45 3d 31 0a 0a 23 20 44 6f  READSAFE=1..# Do
63e0: 20 74 68 72 65 61 64 73 20 6f 76 65 72 72 69 64   threads overrid
63f0: 65 20 65 61 63 68 20 6f 74 68 65 72 73 20 6c 6f  e each others lo
6400: 63 6b 73 20 62 79 20 64 65 66 61 75 6c 74 20 28  cks by default (
6410: 31 29 2c 20 6f 72 20 64 6f 20 77 65 20 74 65 73  1), or do we tes
6420: 74 20 28 2d 31 29 0a 23 0a 54 43 43 20 3d 20 24  t (-1).#.TCC = $
6430: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54  (TCC) -DSQLITE_T
6440: 48 52 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c  HREAD_OVERRIDE_L
6450: 4f 43 4b 3d 2d 31 0a 52 43 43 20 3d 20 24 28 52  OCK=-1.RCC = $(R
6460: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  CC) -DSQLITE_THR
6470: 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c 4f 43  EAD_OVERRIDE_LOC
6480: 4b 3d 2d 31 0a 0a 23 20 41 6e 79 20 74 61 72 67  K=-1..# Any targ
6490: 65 74 20 6c 69 62 72 61 72 69 65 73 20 77 68 69  et libraries whi
64a0: 63 68 20 6c 69 62 73 71 6c 69 74 65 20 6d 75 73  ch libsqlite mus
64b0: 74 20 62 65 20 6c 69 6e 6b 65 64 20 61 67 61 69  t be linked agai
64c0: 6e 73 74 0a 23 0a 21 49 46 4e 44 45 46 20 54 4c  nst.#.!IFNDEF TL
64d0: 49 42 53 0a 54 4c 49 42 53 20 3d 0a 21 45 4e 44  IBS.TLIBS =.!END
64e0: 49 46 0a 0a 23 20 46 6c 61 67 73 20 63 6f 6e 74  IF..# Flags cont
64f0: 72 6f 6c 6c 69 6e 67 20 75 73 65 20 6f 66 20 74  rolling use of t
6500: 68 65 20 69 6e 20 6d 65 6d 6f 72 79 20 62 74 72  he in memory btr
6510: 65 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  ee implementatio
6520: 6e 0a 23 0a 23 20 53 51 4c 49 54 45 5f 54 45 4d  n.#.# SQLITE_TEM
6530: 50 5f 53 54 4f 52 45 20 69 73 20 30 20 74 6f 20  P_STORE is 0 to 
6540: 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79 20  force temporary 
6550: 74 61 62 6c 65 73 20 74 6f 20 62 65 20 69 6e 20  tables to be in 
6560: 61 20 66 69 6c 65 2c 20 31 20 74 6f 0a 23 20 64  a file, 1 to.# d
6570: 65 66 61 75 6c 74 20 74 6f 20 66 69 6c 65 2c 20  efault to file, 
6580: 32 20 74 6f 20 64 65 66 61 75 6c 74 20 74 6f 20  2 to default to 
6590: 6d 65 6d 6f 72 79 2c 20 61 6e 64 20 33 20 74 6f  memory, and 3 to
65a0: 20 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79   force temporary
65b0: 0a 23 20 74 61 62 6c 65 73 20 74 6f 20 61 6c 77  .# tables to alw
65c0: 61 79 73 20 62 65 20 69 6e 20 6d 65 6d 6f 72 79  ays be in memory
65d0: 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29  ..#.TCC = $(TCC)
65e0: 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53   -DSQLITE_TEMP_S
65f0: 54 4f 52 45 3d 31 0a 52 43 43 20 3d 20 24 28 52  TORE=1.RCC = $(R
6600: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d  CC) -DSQLITE_TEM
6610: 50 5f 53 54 4f 52 45 3d 31 0a 0a 23 20 45 6e 61  P_STORE=1..# Ena
6620: 62 6c 65 2f 64 69 73 61 62 6c 65 20 6c 6f 61 64  ble/disable load
6630: 61 62 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 2c  able extensions,
6640: 20 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69 6f   and other optio
6650: 6e 61 6c 20 66 65 61 74 75 72 65 73 0a 23 20 62  nal features.# b
6660: 61 73 65 64 20 6f 6e 20 63 6f 6e 66 69 67 75 72  ased on configur
6670: 61 74 69 6f 6e 2e 20 28 2d 44 53 51 4c 49 54 45  ation. (-DSQLITE
6680: 5f 4f 4d 49 54 2a 2c 20 2d 44 53 51 4c 49 54 45  _OMIT*, -DSQLITE
6690: 5f 45 4e 41 42 4c 45 2a 29 2e 0a 23 20 54 68 65  _ENABLE*)..# The
66a0: 20 73 61 6d 65 20 73 65 74 20 6f 66 20 4f 4d 49   same set of OMI
66b0: 54 20 61 6e 64 20 45 4e 41 42 4c 45 20 66 6c 61  T and ENABLE fla
66c0: 67 73 20 73 68 6f 75 6c 64 20 62 65 20 70 61 73  gs should be pas
66d0: 73 65 64 20 74 6f 20 74 68 65 0a 23 20 4c 45 4d  sed to the.# LEM
66e0: 4f 4e 20 70 61 72 73 65 72 20 67 65 6e 65 72 61  ON parser genera
66f0: 74 6f 72 20 61 6e 64 20 74 68 65 20 6d 6b 6b 65  tor and the mkke
6700: 79 77 6f 72 64 68 61 73 68 20 74 6f 6f 6c 20 61  ywordhash tool a
6710: 73 20 77 65 6c 6c 2e 0a 0a 23 20 54 68 65 73 65  s well...# These
6720: 20 61 72 65 20 74 68 65 20 72 65 71 75 69 72 65   are the require
6730: 64 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61  d SQLite compila
6740: 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65  tion options use
6750: 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  d when compiling
6760: 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64 6f   for.# the Windo
6770: 77 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 52  ws platform..#.R
6780: 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  EQ_FEATURE_FLAGS
6790: 20 3d 20 24 28 52 45 51 5f 46 45 41 54 55 52 45   = $(REQ_FEATURE
67a0: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
67b0: 5f 4d 41 58 5f 54 52 49 47 47 45 52 5f 44 45 50  _MAX_TRIGGER_DEP
67c0: 54 48 3d 31 30 30 0a 0a 23 20 49 66 20 77 65 20  TH=100..# If we 
67d0: 61 72 65 20 6c 69 6e 6b 69 6e 67 20 74 6f 20 74  are linking to t
67e0: 68 65 20 52 50 43 52 54 34 20 6c 69 62 72 61 72  he RPCRT4 librar
67f0: 79 2c 20 65 6e 61 62 6c 65 20 66 65 61 74 75 72  y, enable featur
6800: 65 73 20 74 68 61 74 20 6e 65 65 64 20 69 74 2e  es that need it.
6810: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 50 43  .#.!IF $(USE_RPC
6820: 52 54 34 5f 4c 49 42 29 21 3d 30 0a 52 45 51 5f  RT4_LIB)!=0.REQ_
6830: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FEATURE_FLAGS = 
6840: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c  $(REQ_FEATURE_FL
6850: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 57 49  AGS) -DSQLITE_WI
6860: 4e 33 32 5f 55 53 45 5f 55 55 49 44 3d 31 0a 21  N32_USE_UUID=1.!
6870: 45 4e 44 49 46 0a 0a 23 20 41 64 64 20 74 68 65  ENDIF..# Add the
6880: 20 72 65 71 75 69 72 65 64 20 61 6e 64 20 6f 70   required and op
6890: 74 69 6f 6e 61 6c 20 53 51 4c 69 74 65 20 63 6f  tional SQLite co
68a0: 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e  mpilation option
68b0: 73 20 69 6e 74 6f 20 74 68 65 20 63 6f 6d 6d 61  s into the comma
68c0: 6e 64 0a 23 20 6c 69 6e 65 73 20 75 73 65 64 20  nd.# lines used 
68d0: 74 6f 20 69 6e 76 6f 6b 65 20 74 68 65 20 4d 53  to invoke the MS
68e0: 56 43 20 63 6f 64 65 20 61 6e 64 20 72 65 73 6f  VC code and reso
68f0: 75 72 63 65 20 63 6f 6d 70 69 6c 65 72 73 2e 0a  urce compilers..
6900: 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 24  #.TCC = $(TCC) $
6910: 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41  (REQ_FEATURE_FLA
6920: 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52  GS) $(OPT_FEATUR
6930: 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46  E_FLAGS) $(EXT_F
6940: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 0a 52 43  EATURE_FLAGS).RC
6950: 43 20 3d 20 24 28 52 43 43 29 20 24 28 52 45 51  C = $(RCC) $(REQ
6960: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
6970: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(OPT_FEATURE_FL
6980: 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55  AGS) $(EXT_FEATU
6990: 52 45 5f 46 4c 41 47 53 29 0a 0a 23 20 41 64 64  RE_FLAGS)..# Add
69a0: 20 69 6e 20 61 6e 79 20 6f 70 74 69 6f 6e 61 6c   in any optional
69b0: 20 70 61 72 61 6d 65 74 65 72 73 20 73 70 65 63   parameters spec
69c0: 69 66 69 65 64 20 6f 6e 20 74 68 65 20 63 6f 6d  ified on the com
69d0: 6d 61 6e 65 20 6c 69 6e 65 2c 20 65 2e 67 2e 0a  mane line, e.g..
69e0: 23 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66  # nmake /f Makef
69f0: 69 6c 65 2e 6d 73 63 20 61 6c 6c 20 22 4f 50 54  ile.msc all "OPT
6a00: 53 3d 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  S=-DSQLITE_ENABL
6a10: 45 5f 46 4f 4f 3d 31 20 2d 44 53 51 4c 49 54 45  E_FOO=1 -DSQLITE
6a20: 5f 4f 4d 49 54 5f 46 4f 4f 3d 31 22 0a 23 0a 54  _OMIT_FOO=1".#.T
6a30: 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 4f 50  CC = $(TCC) $(OP
6a40: 54 53 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29  TS).RCC = $(RCC)
6a50: 20 24 28 4f 50 54 53 29 0a 0a 23 20 49 66 20 63   $(OPTS)..# If c
6a60: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65 62  ompiling for deb
6a70: 75 67 67 69 6e 67 2c 20 61 64 64 20 73 6f 6d 65  ugging, add some
6a80: 20 64 65 66 69 6e 65 73 2e 0a 23 0a 21 49 46 20   defines..#.!IF 
6a90: 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20 3d  $(DEBUG)>1.TCC =
6aa0: 20 24 28 54 43 43 29 20 2d 44 5f 44 45 42 55 47   $(TCC) -D_DEBUG
6ab0: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44  .BCC = $(BCC) -D
6ac0: 5f 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28 52  _DEBUG.RCC = $(R
6ad0: 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 21 45 4e  CC) -D_DEBUG.!EN
6ae0: 44 49 46 0a 0a 23 20 49 66 20 6f 70 74 69 6d 69  DIF..# If optimi
6af0: 7a 61 74 69 6f 6e 73 20 61 72 65 20 65 6e 61 62  zations are enab
6b00: 6c 65 64 20 6f 72 20 64 69 73 61 62 6c 65 64 20  led or disabled 
6b10: 28 65 69 74 68 65 72 20 69 6d 70 6c 69 63 69 74  (either implicit
6b20: 6c 79 20 6f 72 0a 23 20 65 78 70 6c 69 63 69 74  ly or.# explicit
6b30: 6c 79 29 2c 20 61 64 64 20 74 68 65 20 6e 65 63  ly), add the nec
6b40: 65 73 73 61 72 79 20 66 6c 61 67 73 2e 0a 23 0a  essary flags..#.
6b50: 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 20 7c  !IF $(DEBUG)>1 |
6b60: 7c 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e  | $(OPTIMIZATION
6b70: 53 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  S)==0.TCC = $(TC
6b80: 43 29 20 2d 4f 64 0a 42 43 43 20 3d 20 24 28 42  C) -Od.BCC = $(B
6b90: 43 43 29 20 2d 4f 64 0a 21 49 46 20 24 28 55 53  CC) -Od.!IF $(US
6ba0: 45 5f 52 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53  E_RUNTIME_CHECKS
6bb0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC
6bc0: 29 20 2d 52 54 43 31 0a 42 43 43 20 3d 20 24 28  ) -RTC1.BCC = $(
6bd0: 42 43 43 29 20 2d 52 54 43 31 0a 21 45 4e 44 49  BCC) -RTC1.!ENDI
6be0: 46 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49  F.!ELSEIF $(OPTI
6bf0: 4d 49 5a 41 54 49 4f 4e 53 29 3e 3d 33 0a 54 43  MIZATIONS)>=3.TC
6c00: 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 78 0a 42  C = $(TCC) -Ox.B
6c10: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 78 0a  CC = $(BCC) -Ox.
6c20: 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49  !ELSEIF $(OPTIMI
6c30: 5a 41 54 49 4f 4e 53 29 3d 3d 32 0a 54 43 43 20  ZATIONS)==2.TCC 
6c40: 3d 20 24 28 54 43 43 29 20 2d 4f 32 0a 42 43 43  = $(TCC) -O2.BCC
6c50: 20 3d 20 24 28 42 43 43 29 20 2d 4f 32 0a 21 45   = $(BCC) -O2.!E
6c60: 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41  LSEIF $(OPTIMIZA
6c70: 54 49 4f 4e 53 29 3d 3d 31 0a 54 43 43 20 3d 20  TIONS)==1.TCC = 
6c80: 24 28 54 43 43 29 20 2d 4f 31 0a 42 43 43 20 3d  $(TCC) -O1.BCC =
6c90: 20 24 28 42 43 43 29 20 2d 4f 31 0a 21 45 4e 44   $(BCC) -O1.!END
6ca0: 49 46 0a 0a 23 20 49 66 20 73 79 6d 62 6f 6c 73  IF..# If symbols
6cb0: 20 61 72 65 20 65 6e 61 62 6c 65 64 20 28 6f 72   are enabled (or
6cc0: 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64   compiling for d
6cd0: 65 62 75 67 67 69 6e 67 29 2c 20 65 6e 61 62 6c  ebugging), enabl
6ce0: 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 24 28  e PDBs..#.!IF $(
6cf0: 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 53 59  DEBUG)>1 || $(SY
6d00: 4d 42 4f 4c 53 29 21 3d 30 0a 54 43 43 20 3d 20  MBOLS)!=0.TCC = 
6d10: 24 28 54 43 43 29 20 2d 5a 69 0a 42 43 43 20 3d  $(TCC) -Zi.BCC =
6d20: 20 24 28 42 43 43 29 20 2d 5a 69 0a 21 45 4e 44   $(BCC) -Zi.!END
6d30: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  IF..# <<mark>>.#
6d40: 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 74   If zlib support
6d50: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64   is enabled, add
6d60: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70   the compiler op
6d70: 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a  tions for it..#.
6d80: 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29 21  !IF $(USE_ZLIB)!
6d90: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
6da0: 2d 44 53 51 4c 49 54 45 5f 48 41 56 45 5f 5a 4c  -DSQLITE_HAVE_ZL
6db0: 49 42 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  IB=1.RCC = $(RCC
6dc0: 29 20 2d 44 53 51 4c 49 54 45 5f 48 41 56 45 5f  ) -DSQLITE_HAVE_
6dd0: 5a 4c 49 42 3d 31 0a 54 43 43 20 3d 20 24 28 54  ZLIB=1.TCC = $(T
6de0: 43 43 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44  CC) -I$(ZLIBINCD
6df0: 49 52 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29  IR).RCC = $(RCC)
6e00: 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49 52 29   -I$(ZLIBINCDIR)
6e10: 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 49 43  .!ENDIF..# If IC
6e20: 55 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61  U support is ena
6e30: 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 63 6f  bled, add the co
6e40: 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66  mpiler options f
6e50: 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 55  or it..#.!IF $(U
6e60: 53 45 5f 49 43 55 29 21 3d 30 0a 54 43 43 20 3d  SE_ICU)!=0.TCC =
6e70: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE
6e80: 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 52 43  _ENABLE_ICU=1.RC
6e90: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c  C = $(RCC) -DSQL
6ea0: 49 54 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31  ITE_ENABLE_ICU=1
6eb0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49  .TCC = $(TCC) -I
6ec0: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 52  $(TOP)\ext\icu.R
6ed0: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28  CC = $(RCC) -I$(
6ee0: 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 54 43 43  TOP)\ext\icu.TCC
6ef0: 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 49 43   = $(TCC) -I$(IC
6f00: 55 49 4e 43 44 49 52 29 0a 52 43 43 20 3d 20 24  UINCDIR).RCC = $
6f10: 28 52 43 43 29 20 2d 49 24 28 49 43 55 49 4e 43  (RCC) -I$(ICUINC
6f20: 44 49 52 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c  DIR).!ENDIF.# <<
6f30: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d 61  /mark>>..# Comma
6f40: 6e 64 20 6c 69 6e 65 20 70 72 65 66 69 78 65 73  nd line prefixes
6f50: 20 66 6f 72 20 63 6f 6d 70 69 6c 69 6e 67 20 63   for compiling c
6f60: 6f 64 65 2c 20 63 6f 6d 70 69 6c 69 6e 67 20 72  ode, compiling r
6f70: 65 73 6f 75 72 63 65 73 2c 0a 23 20 6c 69 6e 6b  esources,.# link
6f80: 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 4c 54 43 4f  ing, etc..#.LTCO
6f90: 4d 50 49 4c 45 20 3d 20 24 28 54 43 43 29 20 2d  MPILE = $(TCC) -
6fa0: 46 6f 24 40 0a 4c 54 52 43 4f 4d 50 49 4c 45 20  Fo$@.LTRCOMPILE 
6fb0: 3d 20 24 28 52 43 43 29 20 2d 72 0a 4c 54 4c 49  = $(RCC) -r.LTLI
6fc0: 42 20 3d 20 6c 69 62 2e 65 78 65 0a 4c 54 4c 49  B = lib.exe.LTLI
6fd0: 4e 4b 20 3d 20 24 28 54 43 43 29 20 2d 46 65 24  NK = $(TCC) -Fe$
6fe0: 40 0a 0a 23 20 49 66 20 72 65 71 75 65 73 74 65  @..# If requeste
6ff0: 64 2c 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 52  d, link to the R
7000: 50 43 52 54 34 20 6c 69 62 72 61 72 79 2e 0a 23  PCRT4 library..#
7010: 0a 21 49 46 20 24 28 55 53 45 5f 52 50 43 52 54  .!IF $(USE_RPCRT
7020: 34 5f 4c 49 42 29 21 3d 30 0a 4c 54 4c 49 42 53  4_LIB)!=0.LTLIBS
7030: 20 3d 20 24 28 4c 54 4c 49 42 53 29 20 72 70 63   = $(LTLIBS) rpc
7040: 72 74 34 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a  rt4.lib.!ENDIF..
7050: 23 20 49 66 20 61 20 70 6c 61 74 66 6f 72 6d 20  # If a platform 
7060: 77 61 73 20 73 65 74 2c 20 66 6f 72 63 65 20 74  was set, force t
7070: 68 65 20 6c 69 6e 6b 65 72 20 74 6f 20 74 61 72  he linker to tar
7080: 67 65 74 20 74 68 61 74 2e 0a 23 20 4e 6f 74 65  get that..# Note
7090: 20 74 68 61 74 20 74 68 65 20 76 63 76 61 72 73   that the vcvars
70a0: 2a 2e 62 61 74 20 66 61 6d 69 6c 79 20 6f 66 20  *.bat family of 
70b0: 62 61 74 63 68 20 66 69 6c 65 73 20 74 79 70 69  batch files typi
70c0: 63 61 6c 6c 79 0a 23 20 73 65 74 20 74 68 69 73  cally.# set this
70d0: 20 66 6f 72 20 79 6f 75 2e 20 20 4f 74 68 65 72   for you.  Other
70e0: 77 69 73 65 2c 20 74 68 65 20 6c 69 6e 6b 65 72  wise, the linker
70f0: 20 77 69 6c 6c 20 61 74 74 65 6d 70 74 0a 23 20   will attempt.# 
7100: 74 6f 20 64 65 64 75 63 65 20 74 68 65 20 62 69  to deduce the bi
7110: 6e 61 72 79 20 74 79 70 65 20 62 61 73 65 64 20  nary type based 
7120: 6f 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 66 69  on the object fi
7130: 6c 65 73 2e 0a 21 49 46 44 45 46 20 50 4c 41 54  les..!IFDEF PLAT
7140: 46 4f 52 4d 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  FORM.LTLINKOPTS 
7150: 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49  = /NOLOGO /MACHI
7160: 4e 45 3a 24 28 50 4c 41 54 46 4f 52 4d 29 0a 4c  NE:$(PLATFORM).L
7170: 54 4c 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f  TLIBOPTS = /NOLO
7180: 47 4f 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50 4c  GO /MACHINE:$(PL
7190: 41 54 46 4f 52 4d 29 0a 21 45 4c 53 45 0a 4c 54  ATFORM).!ELSE.LT
71a0: 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f  LINKOPTS = /NOLO
71b0: 47 4f 0a 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f  GO.LTLIBOPTS = /
71c0: 4e 4f 4c 4f 47 4f 0a 21 45 4e 44 49 46 0a 0a 23  NOLOGO.!ENDIF..#
71d0: 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20   When compiling 
71e0: 66 6f 72 20 75 73 65 20 69 6e 20 74 68 65 20 57  for use in the W
71f0: 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74  inRT environment
7200: 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a  , the following.
7210: 23 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 20  # linker option 
7220: 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 6f 20  must be used to 
7230: 6d 61 72 6b 20 74 68 65 20 65 78 65 63 75 74 61  mark the executa
7240: 62 6c 65 20 61 73 20 72 75 6e 6e 61 62 6c 65 0a  ble as runnable.
7250: 23 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 63 6f  # only in the co
7260: 6e 74 65 78 74 20 6f 66 20 61 6e 20 61 70 70 6c  ntext of an appl
7270: 69 63 61 74 69 6f 6e 20 63 6f 6e 74 61 69 6e 65  ication containe
7280: 72 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57  r..#.!IF $(FOR_W
7290: 49 4e 52 54 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f  INRT)!=0.LTLINKO
72a0: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50  PTS = $(LTLINKOP
72b0: 54 53 29 20 2f 41 50 50 43 4f 4e 54 41 49 4e 45  TS) /APPCONTAINE
72c0: 52 0a 21 49 46 20 22 24 28 56 49 53 55 41 4c 53  R.!IF "$(VISUALS
72d0: 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d  TUDIOVERSION)"==
72e0: 22 31 32 2e 30 22 20 7c 7c 20 22 24 28 56 49 53  "12.0" || "$(VIS
72f0: 55 41 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e  UALSTUDIOVERSION
7300: 29 22 3d 3d 22 31 34 2e 30 22 0a 21 49 46 4e 44  )"=="14.0".!IFND
7310: 45 46 20 53 54 4f 52 45 4c 49 42 50 41 54 48 0a  EF STORELIBPATH.
7320: 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  !IF "$(PLATFORM)
7330: 22 3d 3d 22 78 38 36 22 0a 53 54 4f 52 45 4c 49  "=="x86".STORELI
7340: 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42  BPATH = $(CRTLIB
7350: 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 4c 53  PATH)\store.!ELS
7360: 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  EIF "$(PLATFORM)
7370: 22 3d 3d 22 78 36 34 22 0a 53 54 4f 52 45 4c 49  "=="x64".STORELI
7380: 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42  BPATH = $(CRTLIB
7390: 50 41 54 48 29 5c 73 74 6f 72 65 5c 61 6d 64 36  PATH)\store\amd6
73a0: 34 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c 41  4.!ELSEIF "$(PLA
73b0: 54 46 4f 52 4d 29 22 3d 3d 22 41 52 4d 22 0a 53  TFORM)"=="ARM".S
73c0: 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28  TORELIBPATH = $(
73d0: 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72  CRTLIBPATH)\stor
73e0: 65 5c 61 72 6d 0a 21 45 4c 53 45 0a 53 54 4f 52  e\arm.!ELSE.STOR
73f0: 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54  ELIBPATH = $(CRT
7400: 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65 0a 21  LIBPATH)\store.!
7410: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 53 54 4f  ENDIF.!ENDIF.STO
7420: 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 53 54  RELIBPATH = $(ST
7430: 4f 52 45 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29  ORELIBPATH:\\=\)
7440: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $(
7450: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49  LTLINKOPTS) "/LI
7460: 42 50 41 54 48 3a 24 28 53 54 4f 52 45 4c 49 42  BPATH:$(STORELIB
7470: 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45  PATH)".!ENDIF.!E
7480: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d  NDIF..# When com
7490: 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f  piling for Windo
74a0: 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 61 6e  ws Phone 8.1, an
74b0: 20 65 78 74 72 61 20 6c 69 62 72 61 72 79 20 70   extra library p
74c0: 61 74 68 20 69 73 0a 23 20 72 65 71 75 69 72 65  ath is.# require
74d0: 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 57  d..#.!IF $(USE_W
74e0: 50 38 31 5f 4f 50 54 53 29 21 3d 30 0a 21 49 46  P81_OPTS)!=0.!IF
74f0: 4e 44 45 46 20 57 50 38 31 4c 49 42 50 41 54 48  NDEF WP81LIBPATH
7500: 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d  .!IF "$(PLATFORM
7510: 29 22 3d 3d 22 78 38 36 22 0a 57 50 38 31 4c 49  )"=="x86".WP81LI
7520: 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41  BPATH = $(PROGRA
7530: 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64  MFILES_X86)\Wind
7540: 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38  ows Phone Kits\8
7550: 2e 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4c 53 45  .1\lib\x86.!ELSE
7560: 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22  IF "$(PLATFORM)"
7570: 3d 3d 22 41 52 4d 22 0a 57 50 38 31 4c 49 42 50  =="ARM".WP81LIBP
7580: 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d 46  ATH = $(PROGRAMF
7590: 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77  ILES_X86)\Window
75a0: 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31  s Phone Kits\8.1
75b0: 5c 6c 69 62 5c 41 52 4d 0a 21 45 4c 53 45 0a 57  \lib\ARM.!ELSE.W
75c0: 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24 28 50  P81LIBPATH = $(P
75d0: 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 29  ROGRAMFILES_X86)
75e0: 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b  \Windows Phone K
75f0: 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38 36 0a  its\8.1\lib\x86.
7600: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 21 45  !ENDIF.!ENDIF.!E
7610: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d  NDIF..# When com
7620: 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f  piling for Windo
7630: 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 73 6f  ws Phone 8.1, so
7640: 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b 65 72 20  me extra linker 
7650: 6f 70 74 69 6f 6e 73 0a 23 20 61 72 65 20 61 6c  options.# are al
7660: 73 6f 20 72 65 71 75 69 72 65 64 2e 0a 23 0a 21  so required..#.!
7670: 49 46 20 24 28 55 53 45 5f 57 50 38 31 5f 4f 50  IF $(USE_WP81_OP
7680: 54 53 29 21 3d 30 0a 21 49 46 44 45 46 20 57 50  TS)!=0.!IFDEF WP
7690: 38 31 4c 49 42 50 41 54 48 0a 4c 54 4c 49 4e 4b  81LIBPATH.LTLINK
76a0: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO
76b0: 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24  PTS) "/LIBPATH:$
76c0: 28 57 50 38 31 4c 49 42 50 41 54 48 29 22 0a 21  (WP81LIBPATH)".!
76d0: 45 4e 44 49 46 0a 4c 54 4c 49 4e 4b 4f 50 54 53  ENDIF.LTLINKOPTS
76e0: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS)
76f0: 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 0a 4c 54   /DYNAMICBASE.LT
7700: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL
7710: 49 4e 4b 4f 50 54 53 29 20 57 69 6e 64 6f 77 73  INKOPTS) Windows
7720: 50 68 6f 6e 65 43 6f 72 65 2e 6c 69 62 20 52 75  PhoneCore.lib Ru
7730: 6e 74 69 6d 65 4f 62 6a 65 63 74 2e 6c 69 62 20  ntimeObject.lib 
7740: 50 68 6f 6e 65 41 70 70 4d 6f 64 65 6c 48 6f 73  PhoneAppModelHos
7750: 74 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53  t.lib.LTLINKOPTS
7760: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS)
7770: 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b   /NODEFAULTLIB:k
7780: 65 72 6e 65 6c 33 32 2e 6c 69 62 20 2f 4e 4f 44  ernel32.lib /NOD
7790: 45 46 41 55 4c 54 4c 49 42 3a 6f 6c 65 33 32 2e  EFAULTLIB:ole32.
77a0: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68  lib.!ENDIF..# Wh
77b0: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72  en compiling for
77c0: 20 55 57 50 20 6f 72 20 74 68 65 20 57 69 6e 64   UWP or the Wind
77d0: 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 2c  ows 10 platform,
77e0: 20 73 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b   some extra link
77f0: 65 72 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65  er.# options are
7800: 20 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 0a   also required..
7810: 23 0a 21 49 46 20 24 28 46 4f 52 5f 55 57 50 29  #.!IF $(FOR_UWP)
7820: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e  !=0 || $(FOR_WIN
7830: 31 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54  10)!=0.LTLINKOPT
7840: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS
7850: 29 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 20 2f  ) /DYNAMICBASE /
7860: 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65 72  NODEFAULTLIB:ker
7870: 6e 65 6c 33 32 2e 6c 69 62 0a 4c 54 4c 49 4e 4b  nel32.lib.LTLINK
7880: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO
7890: 50 54 53 29 20 6d 69 6e 63 6f 72 65 2e 6c 69 62  PTS) mincore.lib
78a0: 0a 21 49 46 44 45 46 20 50 53 44 4b 4c 49 42 50  .!IFDEF PSDKLIBP
78b0: 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  ATH.LTLINKOPTS =
78c0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22   $(LTLINKOPTS) "
78d0: 2f 4c 49 42 50 41 54 48 3a 24 28 50 53 44 4b 4c  /LIBPATH:$(PSDKL
78e0: 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a  IBPATH)".!ENDIF.
78f0: 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 46 4f  !ENDIF..!IF $(FO
7900: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54 4c 49  R_WIN10)!=0.LTLI
7910: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e  NKOPTS = $(LTLIN
7920: 4b 4f 50 54 53 29 20 2f 67 75 61 72 64 3a 63 66  KOPTS) /guard:cf
7930: 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 55 43 52   "/LIBPATH:$(UCR
7940: 54 4c 49 42 50 41 54 48 29 22 0a 21 49 46 20 24  TLIBPATH)".!IF $
7950: 28 44 45 42 55 47 29 3e 31 0a 4c 54 4c 49 4e 4b  (DEBUG)>1.LTLINK
7960: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO
7970: 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c  PTS) /NODEFAULTL
7980: 49 42 3a 6c 69 62 75 63 72 74 64 2e 6c 69 62 20  IB:libucrtd.lib 
7990: 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 72 74  /DEFAULTLIB:ucrt
79a0: 64 2e 6c 69 62 0a 21 45 4c 53 45 0a 4c 54 4c 49  d.lib.!ELSE.LTLI
79b0: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e  NKOPTS = $(LTLIN
79c0: 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c  KOPTS) /NODEFAUL
79d0: 54 4c 49 42 3a 6c 69 62 75 63 72 74 2e 6c 69 62  TLIB:libucrt.lib
79e0: 20 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 72   /DEFAULTLIB:ucr
79f0: 74 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21 45 4e  t.lib.!ENDIF.!EN
7a00: 44 49 46 0a 0a 23 20 49 66 20 65 69 74 68 65 72  DIF..# If either
7a10: 20 64 65 62 75 67 67 69 6e 67 20 6f 72 20 73 79   debugging or sy
7a20: 6d 62 6f 6c 73 20 61 72 65 20 65 6e 61 62 6c 65  mbols are enable
7a30: 64 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 2e 0a  d, enable PDBs..
7a40: 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31  #.!IF $(DEBUG)>1
7a50: 20 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21 3d   || $(SYMBOLS)!=
7a60: 30 0a 4c 44 46 4c 41 47 53 20 3d 20 2f 44 45 42  0.LDFLAGS = /DEB
7a70: 55 47 20 24 28 4c 44 4f 50 54 53 29 0a 21 45 4c  UG $(LDOPTS).!EL
7a80: 53 45 0a 4c 44 46 4c 41 47 53 20 3d 20 24 28 4c  SE.LDFLAGS = $(L
7a90: 44 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23  DOPTS).!ENDIF..#
7aa0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 74 61 72   <<mark>>.# Star
7ab0: 74 20 77 69 74 68 20 74 68 65 20 54 63 6c 20 72  t with the Tcl r
7ac0: 65 6c 61 74 65 64 20 6c 69 6e 6b 65 72 20 6f 70  elated linker op
7ad0: 74 69 6f 6e 73 2e 0a 23 0a 21 49 46 20 24 28 4e  tions..#.!IF $(N
7ae0: 4f 5f 54 43 4c 29 3d 3d 30 0a 54 43 4c 4c 49 42  O_TCL)==0.TCLLIB
7af0: 50 41 54 48 53 20 3d 20 24 28 54 43 4c 4c 49 42  PATHS = $(TCLLIB
7b00: 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54 48 3a  PATHS) /LIBPATH:
7b10: 24 28 54 43 4c 4c 49 42 44 49 52 29 0a 54 43 4c  $(TCLLIBDIR).TCL
7b20: 4c 49 42 53 20 3d 20 24 28 54 43 4c 4c 49 42 53  LIBS = $(TCLLIBS
7b30: 29 20 24 28 4c 49 42 54 43 4c 29 0a 21 45 4e 44  ) $(LIBTCL).!END
7b40: 49 46 0a 0a 23 20 49 66 20 7a 6c 69 62 20 73 75  IF..# If zlib su
7b50: 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64  pport is enabled
7b60: 2c 20 61 64 64 20 74 68 65 20 6c 69 6e 6b 65 72  , add the linker
7b70: 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e   options for it.
7b80: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49  .#.!IF $(USE_ZLI
7b90: 42 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54 48 53  B)!=0.LTLIBPATHS
7ba0: 20 3d 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29   = $(LTLIBPATHS)
7bb0: 20 2f 4c 49 42 50 41 54 48 3a 24 28 5a 4c 49 42   /LIBPATH:$(ZLIB
7bc0: 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d  LIBDIR).LTLIBS =
7bd0: 20 24 28 4c 54 4c 49 42 53 29 20 24 28 5a 4c 49   $(LTLIBS) $(ZLI
7be0: 42 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20  BLIB).!ENDIF..# 
7bf0: 49 66 20 49 43 55 20 73 75 70 70 6f 72 74 20 69  If ICU support i
7c00: 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74  s enabled, add t
7c10: 68 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e  he linker option
7c20: 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20  s for it..#.!IF 
7c30: 24 28 55 53 45 5f 49 43 55 29 21 3d 30 0a 4c 54  $(USE_ICU)!=0.LT
7c40: 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4c 54 4c  LIBPATHS = $(LTL
7c50: 49 42 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54  IBPATHS) /LIBPAT
7c60: 48 3a 24 28 49 43 55 4c 49 42 44 49 52 29 0a 4c  H:$(ICULIBDIR).L
7c70: 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49 42 53  TLIBS = $(LTLIBS
7c80: 29 20 24 28 4c 49 42 49 43 55 29 0a 21 45 4e 44  ) $(LIBICU).!END
7c90: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  IF.# <</mark>>..
7ca0: 23 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74  # You should not
7cb0: 20 68 61 76 65 20 74 6f 20 63 68 61 6e 67 65 20   have to change 
7cc0: 61 6e 79 74 68 69 6e 67 20 62 65 6c 6f 77 20 74  anything below t
7cd0: 68 69 73 20 6c 69 6e 65 0a 23 23 23 23 23 23 23  his line.#######
7ce0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7cf0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7d00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7d10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7d20: 23 23 23 23 23 23 23 23 0a 0a 23 20 3c 3c 6d 61  ########..# <<ma
7d30: 72 6b 3e 3e 0a 23 20 4f 62 6a 65 63 74 20 66 69  rk>>.# Object fi
7d40: 6c 65 73 20 66 6f 72 20 74 68 65 20 53 51 4c 69  les for the SQLi
7d50: 74 65 20 6c 69 62 72 61 72 79 20 28 6e 6f 6e 2d  te library (non-
7d60: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23  amalgamation)..#
7d70: 0a 4c 49 42 4f 42 4a 53 30 20 3d 20 76 64 62 65  .LIBOBJS0 = vdbe
7d80: 2e 6c 6f 20 70 61 72 73 65 2e 6c 6f 20 61 6c 74  .lo parse.lo alt
7d90: 65 72 2e 6c 6f 20 61 6e 61 6c 79 7a 65 2e 6c 6f  er.lo analyze.lo
7da0: 20 61 74 74 61 63 68 2e 6c 6f 20 61 75 74 68 2e   attach.lo auth.
7db0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 62 61  lo \.         ba
7dc0: 63 6b 75 70 2e 6c 6f 20 62 69 74 76 65 63 2e 6c  ckup.lo bitvec.l
7dd0: 6f 20 62 74 6d 75 74 65 78 2e 6c 6f 20 62 74 72  o btmutex.lo btr
7de0: 65 65 2e 6c 6f 20 62 75 69 6c 64 2e 6c 6f 20 5c  ee.lo build.lo \
7df0: 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 61  .         callba
7e00: 63 6b 2e 6c 6f 20 63 6f 6d 70 6c 65 74 65 2e 6c  ck.lo complete.l
7e10: 6f 20 63 74 69 6d 65 2e 6c 6f 20 5c 0a 20 20 20  o ctime.lo \.   
7e20: 20 20 20 20 20 20 64 61 74 65 2e 6c 6f 20 64 62        date.lo db
7e30: 70 61 67 65 2e 6c 6f 20 64 62 73 74 61 74 2e 6c  page.lo dbstat.l
7e40: 6f 20 64 65 6c 65 74 65 2e 6c 6f 20 5c 0a 20 20  o delete.lo \.  
7e50: 20 20 20 20 20 20 20 65 78 70 72 2e 6c 6f 20 66         expr.lo f
7e60: 61 75 6c 74 2e 6c 6f 20 66 6b 65 79 2e 6c 6f 20  ault.lo fkey.lo 
7e70: 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 2e  \.         fts3.
7e80: 6c 6f 20 66 74 73 33 5f 61 75 78 2e 6c 6f 20 66  lo fts3_aux.lo f
7e90: 74 73 33 5f 65 78 70 72 2e 6c 6f 20 66 74 73 33  ts3_expr.lo fts3
7ea0: 5f 68 61 73 68 2e 6c 6f 20 66 74 73 33 5f 69 63  _hash.lo fts3_ic
7eb0: 75 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  u.lo \.         
7ec0: 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f 20 66  fts3_porter.lo f
7ed0: 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 20 66  ts3_snippet.lo f
7ee0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f  ts3_tokenizer.lo
7ef0: 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31   fts3_tokenizer1
7f00: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66  .lo \.         f
7f10: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61  ts3_tokenize_vta
7f20: 62 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64  b.lo fts3_unicod
7f30: 65 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64  e.lo fts3_unicod
7f40: 65 32 2e 6c 6f 20 66 74 73 33 5f 77 72 69 74 65  e2.lo fts3_write
7f50: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66  .lo \.         f
7f60: 74 73 35 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ts5.lo \.       
7f70: 20 20 66 75 6e 63 2e 6c 6f 20 67 6c 6f 62 61 6c    func.lo global
7f80: 2e 6c 6f 20 68 61 73 68 2e 6c 6f 20 5c 0a 20 20  .lo hash.lo \.  
7f90: 20 20 20 20 20 20 20 69 63 75 2e 6c 6f 20 69 6e         icu.lo in
7fa0: 73 65 72 74 2e 6c 6f 20 6a 73 6f 6e 31 2e 6c 6f  sert.lo json1.lo
7fb0: 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f 61 64 65   legacy.lo loade
7fc0: 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  xt.lo \.        
7fd0: 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c 6f 63 2e   main.lo malloc.
7fe0: 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65 6d 31 2e  lo mem0.lo mem1.
7ff0: 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65 6d 33 2e  lo mem2.lo mem3.
8000: 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a 20 20 20  lo mem5.lo \.   
8010: 20 20 20 20 20 20 6d 65 6d 64 62 2e 6c 6f 20 6d        memdb.lo m
8020: 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 20 5c 0a 20  emjournal.lo \. 
8030: 20 20 20 20 20 20 20 20 6d 75 74 65 78 2e 6c 6f          mutex.lo
8040: 20 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 20 6d   mutex_noop.lo m
8050: 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 20 6d 75 74  utex_unix.lo mut
8060: 65 78 5f 77 33 32 2e 6c 6f 20 5c 0a 20 20 20 20  ex_w32.lo \.    
8070: 20 20 20 20 20 6e 6f 74 69 66 79 2e 6c 6f 20 6f       notify.lo o
8080: 70 63 6f 64 65 73 2e 6c 6f 20 6f 73 2e 6c 6f 20  pcodes.lo os.lo 
8090: 6f 73 5f 75 6e 69 78 2e 6c 6f 20 6f 73 5f 77 69  os_unix.lo os_wi
80a0: 6e 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  n.lo \.         
80b0: 70 61 67 65 72 2e 6c 6f 20 70 63 61 63 68 65 2e  pager.lo pcache.
80c0: 6c 6f 20 70 63 61 63 68 65 31 2e 6c 6f 20 70 72  lo pcache1.lo pr
80d0: 61 67 6d 61 2e 6c 6f 20 70 72 65 70 61 72 65 2e  agma.lo prepare.
80e0: 6c 6f 20 70 72 69 6e 74 66 2e 6c 6f 20 5c 0a 20  lo printf.lo \. 
80f0: 20 20 20 20 20 20 20 20 72 61 6e 64 6f 6d 2e 6c          random.l
8100: 6f 20 72 65 73 6f 6c 76 65 2e 6c 6f 20 72 6f 77  o resolve.lo row
8110: 73 65 74 2e 6c 6f 20 72 74 72 65 65 2e 6c 6f 20  set.lo rtree.lo 
8120: 5c 0a 20 20 20 20 20 20 20 20 20 73 71 6c 69 74  \.         sqlit
8130: 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 20 73 65 6c  e3session.lo sel
8140: 65 63 74 2e 6c 6f 20 73 71 6c 69 74 65 33 72 62  ect.lo sqlite3rb
8150: 75 2e 6c 6f 20 73 74 61 74 75 73 2e 6c 6f 20 73  u.lo status.lo s
8160: 74 6d 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  tmt.lo \.       
8170: 20 20 74 61 62 6c 65 2e 6c 6f 20 74 68 72 65 61    table.lo threa
8180: 64 73 2e 6c 6f 20 74 6f 6b 65 6e 69 7a 65 2e 6c  ds.lo tokenize.l
8190: 6f 20 74 72 65 65 76 69 65 77 2e 6c 6f 20 74 72  o treeview.lo tr
81a0: 69 67 67 65 72 2e 6c 6f 20 5c 0a 20 20 20 20 20  igger.lo \.     
81b0: 20 20 20 20 75 70 64 61 74 65 2e 6c 6f 20 75 70      update.lo up
81c0: 73 65 72 74 2e 6c 6f 20 75 74 69 6c 2e 6c 6f 20  sert.lo util.lo 
81d0: 76 61 63 75 75 6d 2e 6c 6f 20 5c 0a 20 20 20 20  vacuum.lo \.    
81e0: 20 20 20 20 20 76 64 62 65 61 70 69 2e 6c 6f 20       vdbeapi.lo 
81f0: 76 64 62 65 61 75 78 2e 6c 6f 20 76 64 62 65 62  vdbeaux.lo vdbeb
8200: 6c 6f 62 2e 6c 6f 20 76 64 62 65 6d 65 6d 2e 6c  lob.lo vdbemem.l
8210: 6f 20 76 64 62 65 73 6f 72 74 2e 6c 6f 20 5c 0a  o vdbesort.lo \.
8220: 20 20 20 20 20 20 20 20 20 76 64 62 65 74 72 61           vdbetra
8230: 63 65 2e 6c 6f 20 77 61 6c 2e 6c 6f 20 77 61 6c  ce.lo wal.lo wal
8240: 6b 65 72 2e 6c 6f 20 77 68 65 72 65 2e 6c 6f 20  ker.lo where.lo 
8250: 77 68 65 72 65 63 6f 64 65 2e 6c 6f 20 77 68 65  wherecode.lo whe
8260: 72 65 65 78 70 72 2e 6c 6f 20 5c 0a 20 20 20 20  reexpr.lo \.    
8270: 20 20 20 20 20 77 69 6e 64 6f 77 2e 6c 6f 20 75       window.lo u
8280: 74 66 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a 23 20  tf.lo vtab.lo.# 
8290: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f 62 6a  <</mark>>..# Obj
82a0: 65 63 74 20 66 69 6c 65 73 20 66 6f 72 20 74 68  ect files for th
82b0: 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a  e amalgamation..
82c0: 23 0a 4c 49 42 4f 42 4a 53 31 20 3d 20 73 71 6c  #.LIBOBJS1 = sql
82d0: 69 74 65 33 2e 6c 6f 0a 0a 23 20 44 65 74 65 72  ite3.lo..# Deter
82e0: 6d 69 6e 65 20 74 68 65 20 72 65 61 6c 20 76 61  mine the real va
82f0: 6c 75 65 20 6f 66 20 4c 49 42 4f 42 4a 20 62 61  lue of LIBOBJ ba
8300: 73 65 64 20 6f 6e 20 74 68 65 20 27 63 6f 6e 66  sed on the 'conf
8310: 69 67 75 72 65 27 20 73 63 72 69 70 74 0a 23 0a  igure' script.#.
8320: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46 20 24  # <<mark>>.!IF $
8330: 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f  (USE_AMALGAMATIO
8340: 4e 29 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d 20 24  N)==0.LIBOBJ = $
8350: 28 4c 49 42 4f 42 4a 53 30 29 0a 21 45 4c 53 45  (LIBOBJS0).!ELSE
8360: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c 49 42  .# <</mark>>.LIB
8370: 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53 31  OBJ = $(LIBOBJS1
8380: 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4e  ).# <<mark>>.!EN
8390: 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  DIF.# <</mark>>.
83a0: 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 69 66 20  .# Determine if 
83b0: 65 6d 62 65 64 64 65 64 20 72 65 73 6f 75 72 63  embedded resourc
83c0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e  e compilation an
83d0: 64 20 75 73 61 67 65 20 61 72 65 20 65 6e 61 62  d usage are enab
83e0: 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45  led..#.!IF $(USE
83f0: 5f 52 43 29 21 3d 30 0a 4c 49 42 52 45 53 4f 42  _RC)!=0.LIBRESOB
8400: 4a 53 20 3d 20 73 71 6c 69 74 65 33 72 65 73 2e  JS = sqlite3res.
8410: 6c 6f 0a 21 45 4c 53 45 0a 4c 49 42 52 45 53 4f  lo.!ELSE.LIBRESO
8420: 42 4a 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20  BJS =.!ENDIF..# 
8430: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 43 6f 72 65 20  <<mark>>.# Core 
8440: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65  source code file
8450: 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43  s, part 1..#.SRC
8460: 30 30 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c  00 = \.  $(TOP)\
8470: 73 72 63 5c 61 6c 74 65 72 2e 63 20 5c 0a 20 20  src\alter.c \.  
8480: 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79  $(TOP)\src\analy
8490: 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ze.c \.  $(TOP)\
84a0: 73 72 63 5c 61 74 74 61 63 68 2e 63 20 5c 0a 20  src\attach.c \. 
84b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68   $(TOP)\src\auth
84c0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
84d0: 63 5c 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24  c\backup.c \.  $
84e0: 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63  (TOP)\src\bitvec
84f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8500: 63 5c 62 74 6d 75 74 65 78 2e 63 20 5c 0a 20 20  c\btmutex.c \.  
8510: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree
8520: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8530: 63 5c 62 75 69 6c 64 2e 63 20 5c 0a 20 20 24 28  c\build.c \.  $(
8540: 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63  TOP)\src\callbac
8550: 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  k.c \.  $(TOP)\s
8560: 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 5c 0a  rc\complete.c \.
8570: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69    $(TOP)\src\cti
8580: 6d 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  me.c \.  $(TOP)\
8590: 73 72 63 5c 64 61 74 65 2e 63 20 5c 0a 20 20 24  src\date.c \.  $
85a0: 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67 65  (TOP)\src\dbpage
85b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
85c0: 63 5c 64 62 73 74 61 74 2e 63 20 5c 0a 20 20 24  c\dbstat.c \.  $
85d0: 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65  (TOP)\src\delete
85e0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
85f0: 63 5c 65 78 70 72 2e 63 20 5c 0a 20 20 24 28 54  c\expr.c \.  $(T
8600: 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20  OP)\src\fault.c 
8610: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66  \.  $(TOP)\src\f
8620: 6b 65 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  key.c \.  $(TOP)
8630: 5c 73 72 63 5c 66 75 6e 63 2e 63 20 5c 0a 20 20  \src\func.c \.  
8640: 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61  $(TOP)\src\globa
8650: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  l.c \.  $(TOP)\s
8660: 72 63 5c 68 61 73 68 2e 63 20 5c 0a 20 20 24 28  rc\hash.c \.  $(
8670: 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e  TOP)\src\insert.
8680: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8690: 5c 6c 65 67 61 63 79 2e 63 20 5c 0a 20 20 24 28  \legacy.c \.  $(
86a0: 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74  TOP)\src\loadext
86b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
86c0: 63 5c 6d 61 69 6e 2e 63 20 5c 0a 20 20 24 28 54  c\main.c \.  $(T
86d0: 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63  OP)\src\malloc.c
86e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
86f0: 6d 65 6d 30 2e 63 20 5c 0a 20 20 24 28 54 4f 50  mem0.c \.  $(TOP
8700: 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 5c 0a 20  )\src\mem1.c \. 
8710: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32   $(TOP)\src\mem2
8720: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8730: 63 5c 6d 65 6d 33 2e 63 20 5c 0a 20 20 24 28 54  c\mem3.c \.  $(T
8740: 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 5c  OP)\src\mem5.c \
8750: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  .  $(TOP)\src\me
8760: 6d 64 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  mdb.c \.  $(TOP)
8770: 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e  \src\memjournal.
8780: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8790: 5c 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 54  \mutex.c \.  $(T
87a0: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f  OP)\src\mutex_no
87b0: 6f 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  op.c \.  $(TOP)\
87c0: 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63  src\mutex_unix.c
87d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
87e0: 6d 75 74 65 78 5f 77 33 32 2e 63 20 5c 0a 20 20  mutex_w32.c \.  
87f0: 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66  $(TOP)\src\notif
8800: 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  y.c \.  $(TOP)\s
8810: 72 63 5c 6f 73 2e 63 20 5c 0a 20 20 24 28 54 4f  rc\os.c \.  $(TO
8820: 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63  P)\src\os_unix.c
8830: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8840: 6f 73 5f 77 69 6e 2e 63 0a 0a 23 20 43 6f 72 65  os_win.c..# Core
8850: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c   source code fil
8860: 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52  es, part 2..#.SR
8870: 43 30 31 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C01 = \.  $(TOP)
8880: 5c 73 72 63 5c 70 61 67 65 72 2e 63 20 5c 0a 20  \src\pager.c \. 
8890: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63   $(TOP)\src\pcac
88a0: 68 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  he.c \.  $(TOP)\
88b0: 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20 5c 0a  src\pcache1.c \.
88c0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61    $(TOP)\src\pra
88d0: 67 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  gma.c \.  $(TOP)
88e0: 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 20 5c  \src\prepare.c \
88f0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  .  $(TOP)\src\pr
8900: 69 6e 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50  intf.c \.  $(TOP
8910: 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 5c  )\src\random.c \
8920: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 65  .  $(TOP)\src\re
8930: 73 6f 6c 76 65 2e 63 20 5c 0a 20 20 24 28 54 4f  solve.c \.  $(TO
8940: 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20  P)\src\rowset.c 
8950: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s
8960: 65 6c 65 63 74 2e 63 20 5c 0a 20 20 24 28 54 4f  elect.c \.  $(TO
8970: 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20  P)\src\status.c 
8980: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8990: 61 62 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  able.c \.  $(TOP
89a0: 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20  )\src\threads.c 
89b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
89c0: 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24  clsqlite.c \.  $
89d0: 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69  (TOP)\src\tokeni
89e0: 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ze.c \.  $(TOP)\
89f0: 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63 20 5c  src\treeview.c \
8a00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72  .  $(TOP)\src\tr
8a10: 69 67 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  igger.c \.  $(TO
8a20: 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 5c 0a 20  P)\src\utf.c \. 
8a30: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61   $(TOP)\src\upda
8a40: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\
8a50: 73 72 63 5c 75 70 73 65 72 74 2e 63 20 5c 0a 20  src\upsert.c \. 
8a60: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c   $(TOP)\src\util
8a70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8a80: 63 5c 76 61 63 75 75 6d 2e 63 20 5c 0a 20 20 24  c\vacuum.c \.  $
8a90: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
8aa0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8ab0: 76 64 62 65 61 70 69 2e 63 20 5c 0a 20 20 24 28  vdbeapi.c \.  $(
8ac0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78  TOP)\src\vdbeaux
8ad0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8ae0: 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 5c 0a 20  c\vdbeblob.c \. 
8af0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
8b00: 6d 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  mem.c \.  $(TOP)
8b10: 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 20  \src\vdbesort.c 
8b20: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  \.  $(TOP)\src\v
8b30: 64 62 65 74 72 61 63 65 2e 63 20 5c 0a 20 20 24  dbetrace.c \.  $
8b40: 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63  (TOP)\src\vtab.c
8b50: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8b60: 77 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  wal.c \.  $(TOP)
8b70: 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20 5c 0a  \src\walker.c \.
8b80: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65    $(TOP)\src\whe
8b90: 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  re.c \.  $(TOP)\
8ba0: 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 20  src\wherecode.c 
8bb0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77  \.  $(TOP)\src\w
8bc0: 68 65 72 65 65 78 70 72 2e 63 20 5c 0a 20 20 24  hereexpr.c \.  $
8bd0: 28 54 4f 50 29 5c 73 72 63 5c 77 69 6e 64 6f 77  (TOP)\src\window
8be0: 2e 63 0a 0a 23 20 43 6f 72 65 20 6d 69 73 63 65  .c..# Core misce
8bf0: 6c 6c 61 6e 65 6f 75 73 20 66 69 6c 65 73 2e 0a  llaneous files..
8c00: 23 0a 53 52 43 30 33 20 3d 20 5c 0a 20 20 24 28  #.SRC03 = \.  $(
8c10: 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e 79  TOP)\src\parse.y
8c20: 0a 0a 23 20 43 6f 72 65 20 68 65 61 64 65 72 20  ..# Core header 
8c30: 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23  files, part 1..#
8c40: 0a 53 52 43 30 34 20 3d 20 5c 0a 20 20 24 28 54  .SRC04 = \.  $(T
8c50: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 68 20  OP)\src\btree.h 
8c60: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62  \.  $(TOP)\src\b
8c70: 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28  treeInt.h \.  $(
8c80: 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 68 20  TOP)\src\hash.h 
8c90: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68  \.  $(TOP)\src\h
8ca0: 77 74 69 6d 65 2e 68 20 5c 0a 20 20 24 28 54 4f  wtime.h \.  $(TO
8cb0: 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c 0a  P)\src\msvc.h \.
8cc0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74    $(TOP)\src\mut
8cd0: 65 78 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ex.h \.  $(TOP)\
8ce0: 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 24 28 54  src\os.h \.  $(T
8cf0: 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f  OP)\src\os_commo
8d00: 6e 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  n.h \.  $(TOP)\s
8d10: 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20 5c 0a  rc\os_setup.h \.
8d20: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f    $(TOP)\src\os_
8d30: 77 69 6e 2e 68 0a 0a 23 20 43 6f 72 65 20 68 65  win.h..# Core he
8d40: 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74  ader files, part
8d50: 20 32 2e 0a 23 0a 53 52 43 30 35 20 3d 20 5c 0a   2..#.SRC05 = \.
8d60: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67    $(TOP)\src\pag
8d70: 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.h \.  $(TOP)\
8d80: 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20  src\pcache.h \. 
8d90: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67   $(TOP)\src\prag
8da0: 6d 61 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ma.h \.  $(TOP)\
8db0: 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20  src\sqlite.h.in 
8dc0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s
8dd0: 71 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a 20 20  qlite3ext.h \.  
8de0: 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74  $(TOP)\src\sqlit
8df0: 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50  eInt.h \.  $(TOP
8e00: 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c 69 6d 69  )\src\sqliteLimi
8e10: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.h \.  $(TOP)\s
8e20: 72 63 5c 76 64 62 65 2e 68 20 5c 0a 20 20 24 28  rc\vdbe.h \.  $(
8e30: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 49 6e 74  TOP)\src\vdbeInt
8e40: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
8e50: 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20  c\vxworks.h \.  
8e60: 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 68  $(TOP)\src\wal.h
8e70: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8e80: 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20 45 78  whereInt.h..# Ex
8e90: 74 65 6e 73 69 6f 6e 20 73 6f 75 72 63 65 20 63  tension source c
8ea0: 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20  ode files, part 
8eb0: 31 2e 0a 23 0a 53 52 43 30 36 20 3d 20 5c 0a 20  1..#.SRC06 = \. 
8ec0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31   $(TOP)\ext\fts1
8ed0: 5c 66 74 73 31 2e 63 20 5c 0a 20 20 24 28 54 4f  \fts1.c \.  $(TO
8ee0: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
8ef0: 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f  _hash.c \.  $(TO
8f00: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
8f10: 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24 28  _porter.c \.  $(
8f20: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
8f30: 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20  s1_tokenizer1.c 
8f40: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
8f50: 74 73 32 5c 66 74 73 32 2e 63 20 5c 0a 20 20 24  ts2\fts2.c \.  $
8f60: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
8f70: 74 73 32 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24  ts2_hash.c \.  $
8f80: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
8f90: 74 73 32 5f 69 63 75 2e 63 20 5c 0a 20 20 24 28  ts2_icu.c \.  $(
8fa0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
8fb0: 73 32 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20  s2_porter.c \.  
8fc0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
8fd0: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63  fts2_tokenizer.c
8fe0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8ff0: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69  fts2\fts2_tokeni
9000: 7a 65 72 31 2e 63 0a 0a 23 20 45 78 74 65 6e 73  zer1.c..# Extens
9010: 69 6f 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20  ion source code 
9020: 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23  files, part 2..#
9030: 0a 53 52 43 30 37 20 3d 20 5c 0a 20 20 24 28 54  .SRC07 = \.  $(T
9040: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
9050: 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  3.c \.  $(TOP)\e
9060: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 78  xt\fts3\fts3_aux
9070: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9080: 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70 72  t\fts3\fts3_expr
9090: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
90a0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68  t\fts3\fts3_hash
90b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
90c0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e  t\fts3\fts3_icu.
90d0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
90e0: 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65  \fts3\fts3_porte
90f0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e
9100: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69  xt\fts3\fts3_sni
9110: 70 70 65 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ppet.c \.  $(TOP
9120: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
9130: 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20  tokenizer.c \.  
9140: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
9150: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts3_tokenizer1.
9160: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9170: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e  \fts3\fts3_token
9180: 69 7a 65 5f 76 74 61 62 2e 63 20 5c 0a 20 20 24  ize_vtab.c \.  $
9190: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
91a0: 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20 5c 0a  ts3_unicode.c \.
91b0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
91c0: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e  3\fts3_unicode2.
91d0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
91e0: 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65  \fts3\fts3_write
91f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9200: 74 5c 69 63 75 5c 69 63 75 2e 63 20 5c 0a 20 20  t\icu\icu.c \.  
9210: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65  $(TOP)\ext\rtree
9220: 5c 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 54  \rtree.c \.  $(T
9230: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
9240: 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 63  sqlite3session.c
9250: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9260: 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63  rbu\sqlite3rbu.c
9270: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9280: 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 20 5c 0a 20  misc\json1.c \. 
9290: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
92a0: 5c 73 74 6d 74 2e 63 0a 0a 23 20 45 78 74 65 6e  \stmt.c..# Exten
92b0: 73 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65  sion header file
92c0: 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43  s, part 1..#.SRC
92d0: 30 38 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c  08 = \.  $(TOP)\
92e0: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 68 20  ext\fts1\fts1.h 
92f0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9300: 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 68 20  ts1\fts1_hash.h 
9310: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9320: 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69 7a  ts1\fts1_tokeniz
9330: 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.h \.  $(TOP)\
9340: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 68 20  ext\fts2\fts2.h 
9350: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9360: 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 68 20  ts2\fts2_hash.h 
9370: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9380: 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a  ts2\fts2_tokeniz
9390: 65 72 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f  er.h..# Extensio
93a0: 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20  n header files, 
93b0: 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 39 20  part 2..#.SRC09 
93c0: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  = \.  $(TOP)\ext
93d0: 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a 20  \fts3\fts3.h \. 
93e0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
93f0: 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20 24  \fts3Int.h \.  $
9400: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
9410: 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24  ts3_hash.h \.  $
9420: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
9430: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20  ts3_tokenizer.h 
9440: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69  \.  $(TOP)\ext\i
9450: 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 20 5c  cu\sqliteicu.h \
9460: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74  .  $(TOP)\ext\rt
9470: 72 65 65 5c 72 74 72 65 65 2e 68 20 5c 0a 20 20  ree\rtree.h \.  
9480: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65  $(TOP)\ext\rtree
9490: 5c 67 65 6f 70 6f 6c 79 2e 63 20 5c 0a 20 20 24  \geopoly.c \.  $
94a0: 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71  (TOP)\ext\rbu\sq
94b0: 6c 69 74 65 33 72 62 75 2e 68 20 5c 0a 20 20 24  lite3rbu.h \.  $
94c0: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
94d0: 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  n\sqlite3session
94e0: 2e 68 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20  .h..# Generated 
94f0: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65  source code file
9500: 73 0a 23 0a 53 52 43 31 30 20 3d 20 5c 0a 20 20  s.#.SRC10 = \.  
9510: 6f 70 63 6f 64 65 73 2e 63 20 5c 0a 20 20 70 61  opcodes.c \.  pa
9520: 72 73 65 2e 63 0a 0a 23 20 47 65 6e 65 72 61 74  rse.c..# Generat
9530: 65 64 20 68 65 61 64 65 72 20 66 69 6c 65 73 0a  ed header files.
9540: 23 0a 53 52 43 31 31 20 3d 20 5c 0a 20 20 6b 65  #.SRC11 = \.  ke
9550: 79 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a 20 20  ywordhash.h \.  
9560: 6f 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20 70 61  opcodes.h \.  pa
9570: 72 73 65 2e 68 20 5c 0a 20 20 73 68 65 6c 6c 2e  rse.h \.  shell.
9580: 63 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 33 48  c \.  $(SQLITE3H
9590: 29 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20 54  )..# Generated T
95a0: 63 6c 20 68 65 61 64 65 72 20 66 69 6c 65 73 0a  cl header files.
95b0: 23 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43  #.!IF $(USE_STDC
95c0: 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ALL)!=0 || $(FOR
95d0: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 52 43 31 32  _WIN10)!=0.SRC12
95e0: 20 3d 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 54   = \.  $(SQLITET
95f0: 43 4c 48 29 20 5c 0a 20 20 24 28 53 51 4c 49 54  CLH) \.  $(SQLIT
9600: 45 54 43 4c 44 45 43 4c 53 48 29 0a 21 45 4c 53  ETCLDECLSH).!ELS
9610: 45 0a 53 52 43 31 32 20 3d 0a 21 45 4e 44 49 46  E.SRC12 =.!ENDIF
9620: 0a 0a 23 20 41 6c 6c 20 73 6f 75 72 63 65 20 63  ..# All source c
9630: 6f 64 65 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43  ode files..#.SRC
9640: 20 3d 20 24 28 53 52 43 30 30 29 20 24 28 53 52   = $(SRC00) $(SR
9650: 43 30 31 29 20 24 28 53 52 43 30 33 29 20 24 28  C01) $(SRC03) $(
9660: 53 52 43 30 34 29 20 24 28 53 52 43 30 35 29 20  SRC04) $(SRC05) 
9670: 24 28 53 52 43 30 36 29 20 24 28 53 52 43 30 37  $(SRC06) $(SRC07
9680: 29 20 24 28 53 52 43 30 38 29 20 24 28 53 52 43  ) $(SRC08) $(SRC
9690: 30 39 29 20 24 28 53 52 43 31 30 29 20 24 28 53  09) $(SRC10) $(S
96a0: 52 43 31 31 29 0a 0a 23 20 53 6f 75 72 63 65 20  RC11)..# Source 
96b0: 63 6f 64 65 20 74 6f 20 74 68 65 20 74 65 73 74  code to the test
96c0: 20 66 69 6c 65 73 2e 0a 23 0a 54 45 53 54 53 52   files..#.TESTSR
96d0: 43 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  C = \.  $(TOP)\s
96e0: 72 63 5c 74 65 73 74 31 2e 63 20 5c 0a 20 20 24  rc\test1.c \.  $
96f0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 32 2e  (TOP)\src\test2.
9700: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9710: 5c 74 65 73 74 33 2e 63 20 5c 0a 20 20 24 28 54  \test3.c \.  $(T
9720: 4f 50 29 5c 73 72 63 5c 74 65 73 74 34 2e 63 20  OP)\src\test4.c 
9730: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9740: 65 73 74 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est5.c \.  $(TOP
9750: 29 5c 73 72 63 5c 74 65 73 74 36 2e 63 20 5c 0a  )\src\test6.c \.
9760: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9770: 74 37 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  t7.c \.  $(TOP)\
9780: 73 72 63 5c 74 65 73 74 38 2e 63 20 5c 0a 20 20  src\test8.c \.  
9790: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 39  $(TOP)\src\test9
97a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
97b0: 63 5c 74 65 73 74 5f 61 75 74 6f 65 78 74 2e 63  c\test_autoext.c
97c0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
97d0: 74 65 73 74 5f 61 73 79 6e 63 2e 63 20 5c 0a 20  test_async.c \. 
97e0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
97f0: 5f 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24 28  _backup.c \.  $(
9800: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 65  TOP)\src\test_be
9810: 73 74 69 6e 64 65 78 2e 63 20 5c 0a 20 20 24 28  stindex.c \.  $(
9820: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 6c  TOP)\src\test_bl
9830: 6f 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ob.c \.  $(TOP)\
9840: 73 72 63 5c 74 65 73 74 5f 62 74 72 65 65 2e 63  src\test_btree.c
9850: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9860: 74 65 73 74 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a  test_config.c \.
9870: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9880: 74 5f 64 65 6c 65 74 65 2e 63 20 5c 0a 20 20 24  t_delete.c \.  $
9890: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64  (TOP)\src\test_d
98a0: 65 6d 6f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54  emovfs.c \.  $(T
98b0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 76  OP)\src\test_dev
98c0: 73 79 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  sym.c \.  $(TOP)
98d0: 5c 73 72 63 5c 74 65 73 74 5f 66 73 2e 63 20 5c  \src\test_fs.c \
98e0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
98f0: 73 74 5f 66 75 6e 63 2e 63 20 5c 0a 20 20 24 28  st_func.c \.  $(
9900: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 68 65  TOP)\src\test_he
9910: 78 69 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  xio.c \.  $(TOP)
9920: 5c 73 72 63 5c 74 65 73 74 5f 69 6e 69 74 2e 63  \src\test_init.c
9930: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9940: 74 65 73 74 5f 69 6e 74 61 72 72 61 79 2e 63 20  test_intarray.c 
9950: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9960: 65 73 74 5f 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a  est_journal.c \.
9970: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9980: 74 5f 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24  t_malloc.c \.  $
9990: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6d  (TOP)\src\test_m
99a0: 64 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  d5.c \.  $(TOP)\
99b0: 73 72 63 5c 74 65 73 74 5f 6d 75 6c 74 69 70 6c  src\test_multipl
99c0: 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ex.c \.  $(TOP)\
99d0: 73 72 63 5c 74 65 73 74 5f 6d 75 74 65 78 2e 63  src\test_mutex.c
99e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
99f0: 74 65 73 74 5f 6f 6e 65 66 69 6c 65 2e 63 20 5c  test_onefile.c \
9a00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9a10: 73 74 5f 6f 73 69 6e 73 74 2e 63 20 5c 0a 20 20  st_osinst.c \.  
9a20: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9a30: 70 63 61 63 68 65 2e 63 20 5c 0a 20 20 24 28 54  pcache.c \.  $(T
9a40: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 71 75 6f  OP)\src\test_quo
9a50: 74 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ta.c \.  $(TOP)\
9a60: 73 72 63 5c 74 65 73 74 5f 72 74 72 65 65 2e 63  src\test_rtree.c
9a70: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9a80: 74 65 73 74 5f 73 63 68 65 6d 61 2e 63 20 5c 0a  test_schema.c \.
9a90: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9aa0: 74 5f 73 65 72 76 65 72 2e 63 20 5c 0a 20 20 24  t_server.c \.  $
9ab0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73  (TOP)\src\test_s
9ac0: 75 70 65 72 6c 6f 63 6b 2e 63 20 5c 0a 20 20 24  uperlock.c \.  $
9ad0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73  (TOP)\src\test_s
9ae0: 79 73 63 61 6c 6c 2e 63 20 5c 0a 20 20 24 28 54  yscall.c \.  $(T
9af0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 74 63 6c  OP)\src\test_tcl
9b00: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.c \.  $(TOP)\
9b10: 73 72 63 5c 74 65 73 74 5f 74 63 6c 76 61 72 2e  src\test_tclvar.
9b20: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9b30: 5c 74 65 73 74 5f 74 68 72 65 61 64 2e 63 20 5c  \test_thread.c \
9b40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9b50: 73 74 5f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54  st_vfs.c \.  $(T
9b60: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e  OP)\src\test_win
9b70: 64 69 72 65 6e 74 2e 63 20 5c 0a 20 20 24 28 54  dirent.c \.  $(T
9b80: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e  OP)\src\test_win
9b90: 64 6f 77 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  dow.c \.  $(TOP)
9ba0: 5c 73 72 63 5c 74 65 73 74 5f 77 73 64 2e 63 20  \src\test_wsd.c 
9bb0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9bc0: 74 73 33 5c 66 74 73 33 5f 74 65 72 6d 2e 63 20  ts3\fts3_term.c 
9bd0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9be0: 74 73 33 5c 66 74 73 33 5f 74 65 73 74 2e 63 20  ts3\fts3_test.c 
9bf0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  \.  $(TOP)\ext\r
9c00: 62 75 5c 74 65 73 74 5f 72 62 75 2e 63 20 5c 0a  bu\test_rbu.c \.
9c10: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73    $(TOP)\ext\ses
9c20: 73 69 6f 6e 5c 74 65 73 74 5f 73 65 73 73 69 6f  sion\test_sessio
9c30: 6e 2e 63 0a 0a 23 20 53 74 61 74 69 63 61 6c 6c  n.c..# Staticall
9c40: 79 20 6c 69 6e 6b 65 64 20 65 78 74 65 6e 73 69  y linked extensi
9c50: 6f 6e 73 2e 0a 23 0a 54 45 53 54 45 58 54 20 3d  ons..#.TESTEXT =
9c60: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9c70: 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78  expert\sqlite3ex
9c80: 70 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  pert.c \.  $(TOP
9c90: 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 74 65 73  )\ext\expert\tes
9ca0: 74 5f 65 78 70 65 72 74 2e 63 20 5c 0a 20 20 24  t_expert.c \.  $
9cb0: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61  (TOP)\ext\misc\a
9cc0: 6d 61 74 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f  match.c \.  $(TO
9cd0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 61 72 72  P)\ext\misc\carr
9ce0: 61 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ay.c \.  $(TOP)\
9cf0: 65 78 74 5c 6d 69 73 63 5c 63 6c 6f 73 75 72 65  ext\misc\closure
9d00: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9d10: 74 5c 6d 69 73 63 5c 63 73 76 2e 63 20 5c 0a 20  t\misc\csv.c \. 
9d20: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
9d30: 5c 65 76 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f  \eval.c \.  $(TO
9d40: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 65 78 70 6c  P)\ext\misc\expl
9d50: 61 69 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ain.c \.  $(TOP)
9d60: 5c 65 78 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f  \ext\misc\fileio
9d70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9d80: 74 5c 6d 69 73 63 5c 66 75 7a 7a 65 72 2e 63 20  t\misc\fuzzer.c 
9d90: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9da0: 74 73 35 5c 66 74 73 35 5f 74 63 6c 2e 63 20 5c  ts5\fts5_tcl.c \
9db0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
9dc0: 73 35 5c 66 74 73 35 5f 74 65 73 74 5f 6d 69 2e  s5\fts5_test_mi.
9dd0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9de0: 5c 66 74 73 35 5c 66 74 73 35 5f 74 65 73 74 5f  \fts5\fts5_test_
9df0: 74 6f 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tok.c \.  $(TOP)
9e00: 5c 65 78 74 5c 6d 69 73 63 5c 69 65 65 65 37 35  \ext\misc\ieee75
9e10: 34 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  4.c \.  $(TOP)\e
9e20: 78 74 5c 6d 69 73 63 5c 6d 6d 61 70 77 61 72 6d  xt\misc\mmapwarm
9e30: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9e40: 74 5c 6d 69 73 63 5c 6e 65 78 74 63 68 61 72 2e  t\misc\nextchar.
9e50: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9e60: 5c 6d 69 73 63 5c 6e 6f 72 6d 61 6c 69 7a 65 2e  \misc\normalize.
9e70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9e80: 5c 6d 69 73 63 5c 70 65 72 63 65 6e 74 69 6c 65  \misc\percentile
9e90: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9ea0: 74 5c 6d 69 73 63 5c 72 65 67 65 78 70 2e 63 20  t\misc\regexp.c 
9eb0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
9ec0: 69 73 63 5c 72 65 6d 65 6d 62 65 72 2e 63 20 5c  isc\remember.c \
9ed0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
9ee0: 73 63 5c 73 65 72 69 65 73 2e 63 20 5c 0a 20 20  sc\series.c \.  
9ef0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
9f00: 73 70 65 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24  spellfix.c \.  $
9f10: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 74  (TOP)\ext\misc\t
9f20: 6f 74 79 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f  otype.c \.  $(TO
9f30: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 75 6e 69 6f  P)\ext\misc\unio
9f40: 6e 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f  nvtab.c \.  $(TO
9f50: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 77 68 6f 6c  P)\ext\misc\whol
9f60: 65 6e 75 6d 62 65 72 2e 63 0a 0a 23 20 49 66 20  enumber.c..# If 
9f70: 75 73 65 20 6f 66 20 7a 6c 69 62 20 69 73 20 65  use of zlib is e
9f80: 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20  nabled, add the 
9f90: 22 7a 69 70 66 69 6c 65 2e 63 22 20 73 6f 75 72  "zipfile.c" sour
9fa0: 63 65 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24  ce file..#.!IF $
9fb0: 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a 54 45  (USE_ZLIB)!=0.TE
9fc0: 53 54 45 58 54 20 3d 20 24 28 54 45 53 54 45 58  STEXT = $(TESTEX
9fd0: 54 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  T) $(TOP)\ext\mi
9fe0: 73 63 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e  sc\zipfile.c.!EN
9ff0: 44 49 46 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f  DIF..# Source co
a000: 64 65 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72  de to the librar
a010: 79 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20 62  y files needed b
a020: 79 20 74 68 65 20 74 65 73 74 20 66 69 78 74 75  y the test fixtu
a030: 72 65 0a 23 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61  re.# (non-amalga
a040: 6d 61 74 69 6f 6e 29 0a 23 0a 54 45 53 54 53 52  mation).#.TESTSR
a050: 43 32 20 3d 20 5c 0a 20 20 24 28 53 52 43 30 30  C2 = \.  $(SRC00
a060: 29 20 5c 0a 20 20 24 28 53 52 43 30 31 29 20 5c  ) \.  $(SRC01) \
a070: 0a 20 20 24 28 53 52 43 30 36 29 20 5c 0a 20 20  .  $(SRC06) \.  
a080: 24 28 53 52 43 30 37 29 20 5c 0a 20 20 24 28 53  $(SRC07) \.  $(S
a090: 52 43 31 30 29 20 5c 0a 20 20 24 28 54 4f 50 29  RC10) \.  $(TOP)
a0a0: 5c 65 78 74 5c 61 73 79 6e 63 5c 73 71 6c 69 74  \ext\async\sqlit
a0b0: 65 33 61 73 79 6e 63 2e 63 0a 0a 23 20 48 65 61  e3async.c..# Hea
a0c0: 64 65 72 20 66 69 6c 65 73 20 75 73 65 64 20 62  der files used b
a0d0: 79 20 61 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f  y all library so
a0e0: 75 72 63 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44  urce files..#.HD
a0f0: 52 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  R = \.   $(TOP)\
a100: 73 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20  src\btree.h \.  
a110: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65   $(TOP)\src\btre
a120: 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f  eInt.h \.   $(TO
a130: 50 29 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a  P)\src\hash.h \.
a140: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 77     $(TOP)\src\hw
a150: 74 69 6d 65 2e 68 20 5c 0a 20 20 20 6b 65 79 77  time.h \.   keyw
a160: 6f 72 64 68 61 73 68 2e 68 20 5c 0a 20 20 20 24  ordhash.h \.   $
a170: 28 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68  (TOP)\src\msvc.h
a180: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
a190: 5c 6d 75 74 65 78 2e 68 20 5c 0a 20 20 20 6f 70  \mutex.h \.   op
a1a0: 63 6f 64 65 73 2e 68 20 5c 0a 20 20 20 24 28 54  codes.h \.   $(T
a1b0: 4f 50 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20  OP)\src\os.h \. 
a1c0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f    $(TOP)\src\os_
a1d0: 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 28  common.h \.   $(
a1e0: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75  TOP)\src\os_setu
a1f0: 70 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  p.h \.   $(TOP)\
a200: 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20  src\os_win.h \. 
a210: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67    $(TOP)\src\pag
a220: 65 72 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  er.h \.   $(TOP)
a230: 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a  \src\pcache.h \.
a240: 20 20 20 70 61 72 73 65 2e 68 20 5c 0a 20 20 20     parse.h \.   
a250: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d  $(TOP)\src\pragm
a260: 61 2e 68 20 5c 0a 20 20 20 24 28 53 51 4c 49 54  a.h \.   $(SQLIT
a270: 45 33 48 29 20 5c 0a 20 20 20 73 71 6c 69 74 65  E3H) \.   sqlite
a280: 33 65 78 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f  3ext.h \.   $(TO
a290: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74  P)\src\sqliteInt
a2a0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
a2b0: 72 63 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68  rc\sqliteLimit.h
a2c0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
a2d0: 5c 76 64 62 65 2e 68 20 5c 0a 20 20 20 24 28 54  \vdbe.h \.   $(T
a2e0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e  OP)\src\vdbeInt.
a2f0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
a300: 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20  c\vxworks.h \.  
a310: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72   $(TOP)\src\wher
a320: 65 49 6e 74 2e 68 0a 0a 23 20 48 65 61 64 65 72  eInt.h..# Header
a330: 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 65   files used by e
a340: 78 74 65 6e 73 69 6f 6e 73 0a 23 0a 45 58 54 48  xtensions.#.EXTH
a350: 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c  DR = $(EXTHDR) \
a360: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
a370: 73 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28  s1\fts1.h \.  $(
a380: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
a390: 73 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s1_hash.h \.  $(
a3a0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
a3b0: 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45  s1_tokenizer.h.E
a3c0: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52  XTHDR = $(EXTHDR
a3d0: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext
a3e0: 5c 66 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20  \fts2\fts2.h \. 
a3f0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
a400: 5c 66 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20  \fts2_hash.h \. 
a410: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
a420: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts2_tokenizer.
a430: 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54  h.EXTHDR = $(EXT
a440: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\
a450: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20  ext\fts3\fts3.h 
a460: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
a470: 74 73 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a  ts3\fts3Int.h \.
a480: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
a490: 33 5c 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a  3\fts3_hash.h \.
a4a0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
a4b0: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3\fts3_tokenizer
a4c0: 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58  .h.EXTHDR = $(EX
a4d0: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29  THDR) \.  $(TOP)
a4e0: 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65  \ext\rtree\rtree
a4f0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex
a500: 74 5c 72 74 72 65 65 5c 67 65 6f 70 6f 6c 79 2e  t\rtree\geopoly.
a510: 63 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54  c.EXTHDR = $(EXT
a520: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\
a530: 65 78 74 5c 69 63 75 5c 73 71 6c 69 74 65 69 63  ext\icu\sqliteic
a540: 75 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45  u.h.EXTHDR = $(E
a550: 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50  XTHDR) \.  $(TOP
a560: 29 5c 65 78 74 5c 72 74 72 65 65 5c 73 71 6c 69  )\ext\rtree\sqli
a570: 74 65 33 72 74 72 65 65 2e 68 0a 45 58 54 48 44  te3rtree.h.EXTHD
a580: 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a  R = $(EXTHDR) \.
a590: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73    $(TOP)\ext\ses
a5a0: 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73  sion\sqlite3sess
a5b0: 69 6f 6e 2e 68 0a 0a 23 20 65 78 65 63 75 74 61  ion.h..# executa
a5c0: 62 6c 65 73 20 6e 65 65 64 65 64 20 66 6f 72 20  bles needed for 
a5d0: 74 65 73 74 69 6e 67 0a 23 0a 54 45 53 54 50 52  testing.#.TESTPR
a5e0: 4f 47 53 20 3d 20 5c 0a 20 20 74 65 73 74 66 69  OGS = \.  testfi
a5f0: 78 74 75 72 65 2e 65 78 65 20 5c 0a 20 20 24 28  xture.exe \.  $(
a600: 53 51 4c 49 54 45 33 45 58 45 29 20 5c 0a 20 20  SQLITE3EXE) \.  
a610: 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
a620: 2e 65 78 65 20 5c 0a 20 20 73 71 6c 69 74 65 33  .exe \.  sqlite3
a630: 5f 63 68 65 63 6b 65 72 2e 65 78 65 20 5c 0a 20  _checker.exe \. 
a640: 20 73 71 6c 64 69 66 66 2e 65 78 65 20 5c 0a 20   sqldiff.exe \. 
a650: 20 64 62 68 61 73 68 2e 65 78 65 20 5c 0a 20 20   dbhash.exe \.  
a660: 73 71 6c 74 63 6c 73 68 2e 65 78 65 0a 0a 23 20  sqltclsh.exe..# 
a670: 44 61 74 61 62 61 73 65 73 20 63 6f 6e 74 61 69  Databases contai
a680: 6e 69 6e 67 20 66 75 7a 7a 65 72 20 74 65 73 74  ning fuzzer test
a690: 20 63 61 73 65 73 0a 23 0a 46 55 5a 5a 44 41 54   cases.#.FUZZDAT
a6a0: 41 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74  A = \.  $(TOP)\t
a6b0: 65 73 74 5c 66 75 7a 7a 64 61 74 61 31 2e 64 62  est\fuzzdata1.db
a6c0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74   \.  $(TOP)\test
a6d0: 5c 66 75 7a 7a 64 61 74 61 32 2e 64 62 20 5c 0a  \fuzzdata2.db \.
a6e0: 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75    $(TOP)\test\fu
a6f0: 7a 7a 64 61 74 61 33 2e 64 62 20 5c 0a 20 20 24  zzdata3.db \.  $
a700: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64  (TOP)\test\fuzzd
a710: 61 74 61 34 2e 64 62 20 5c 0a 20 20 24 28 54 4f  ata4.db \.  $(TO
a720: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61  P)\test\fuzzdata
a730: 35 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c  5.db \.  $(TOP)\
a740: 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 36 2e 64  test\fuzzdata6.d
a750: 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  b.# <</mark>>..#
a760: 20 41 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70   Additional comp
a770: 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72  iler options for
a780: 20 74 68 65 20 73 68 65 6c 6c 2e 20 20 54 68 65   the shell.  The
a790: 73 65 20 61 72 65 20 6f 6e 6c 79 20 65 66 66 65  se are only effe
a7a0: 63 74 69 76 65 0a 23 20 77 68 65 6e 20 74 68 65  ctive.# when the
a7b0: 20 73 68 65 6c 6c 20 69 73 20 6e 6f 74 20 62 65   shell is not be
a7c0: 69 6e 67 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20  ing dynamically 
a7d0: 6c 69 6e 6b 65 64 2e 0a 23 0a 21 49 46 20 24 28  linked..#.!IF $(
a7e0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d  DYNAMIC_SHELL)==
a7f0: 30 20 26 26 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 && $(FOR_WIN10
a800: 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49  )==0.SHELL_COMPI
a810: 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c  LE_OPTS = $(SHEL
a820: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  L_COMPILE_OPTS) 
a830: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
a840: 46 54 53 34 3d 31 0a 53 48 45 4c 4c 5f 43 4f 4d  FTS4=1.SHELL_COM
a850: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48  PILE_OPTS = $(SH
a860: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
a870: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
a880: 45 5f 45 58 50 4c 41 49 4e 5f 43 4f 4d 4d 45 4e  E_EXPLAIN_COMMEN
a890: 54 53 3d 31 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49  TS=1.SHELL_COMPI
a8a0: 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c  LE_OPTS = $(SHEL
a8b0: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  L_COMPILE_OPTS) 
a8c0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
a8d0: 4f 46 46 53 45 54 5f 53 51 4c 5f 46 55 4e 43 3d  OFFSET_SQL_FUNC=
a8e0: 31 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f  1.SHELL_COMPILE_
a8f0: 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43  OPTS = $(SHELL_C
a900: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53  OMPILE_OPTS) -DS
a910: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 45 53  QLITE_ENABLE_DES
a920: 45 52 49 41 4c 49 5a 45 3d 31 0a 21 45 4e 44 49  ERIALIZE=1.!ENDI
a930: 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20  F..# <<mark>>.# 
a940: 45 78 74 72 61 20 63 6f 6d 70 69 6c 65 72 20 6f  Extra compiler o
a950: 70 74 69 6f 6e 73 20 66 6f 72 20 76 61 72 69 6f  ptions for vario
a960: 75 73 20 74 65 73 74 20 74 6f 6f 6c 73 2e 0a 23  us test tools..#
a970: 0a 4d 50 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c  .MPTESTER_COMPIL
a980: 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54  E_OPTS = -DSQLIT
a990: 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d  E_ENABLE_JSON1 -
a9a0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46  DSQLITE_ENABLE_F
a9b0: 54 53 35 0a 46 55 5a 5a 45 52 53 48 45 4c 4c 5f  TS5.FUZZERSHELL_
a9c0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d  COMPILE_OPTS = -
a9d0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a  DSQLITE_ENABLE_J
a9e0: 53 4f 4e 31 0a 46 55 5a 5a 43 48 45 43 4b 5f 43  SON1.FUZZCHECK_C
a9f0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44  OMPILE_OPTS = -D
aa00: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53  SQLITE_ENABLE_JS
aa10: 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  ON1 -DSQLITE_ENA
aa20: 42 4c 45 5f 4d 45 4d 53 59 53 35 20 2d 44 53 51  BLE_MEMSYS5 -DSQ
aa30: 4c 49 54 45 5f 4f 53 53 5f 46 55 5a 5a 20 2d 44  LITE_OSS_FUZZ -D
aa40: 53 51 4c 49 54 45 5f 4d 41 58 5f 4d 45 4d 4f 52  SQLITE_MAX_MEMOR
aa50: 59 3d 35 30 30 30 30 30 30 30 20 2d 44 53 51 4c  Y=50000000 -DSQL
aa60: 49 54 45 5f 50 52 49 4e 54 46 5f 50 52 45 43 49  ITE_PRINTF_PRECI
aa70: 53 49 4f 4e 5f 4c 49 4d 49 54 3d 31 30 30 30 0a  SION_LIMIT=1000.
aa80: 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43 20 3d 20  FUZZCHECK_SRC = 
aa90: 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a  $(TOP)\test\fuzz
aaa0: 63 68 65 63 6b 2e 63 20 24 28 54 4f 50 29 5c 74  check.c $(TOP)\t
aab0: 65 73 74 5c 6f 73 73 66 75 7a 7a 2e 63 0a 4f 53  est\ossfuzz.c.OS
aac0: 53 53 48 45 4c 4c 5f 53 52 43 20 3d 20 24 28 54  SSHELL_SRC = $(T
aad0: 4f 50 29 5c 74 65 73 74 5c 6f 73 73 73 68 65 6c  OP)\test\ossshel
aae0: 6c 2e 63 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  l.c $(TOP)\test\
aaf0: 6f 73 73 66 75 7a 7a 2e 63 0a 44 42 46 55 5a 5a  ossfuzz.c.DBFUZZ
ab00: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS = 
ab10: 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
ab20: 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f  AFE=0 -DSQLITE_O
ab30: 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
ab40: 4f 4e 0a 4b 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50  ON.KV_COMPILE_OP
ab50: 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48  TS = -DSQLITE_TH
ab60: 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
ab70: 49 54 45 5f 44 49 52 45 43 54 5f 4f 56 45 52 46  ITE_DIRECT_OVERF
ab80: 4c 4f 57 5f 52 45 41 44 0a 53 54 5f 43 4f 4d 50  LOW_READ.ST_COMP
ab90: 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c  ILE_OPTS = -DSQL
aba0: 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
abb0: 0a 0a 23 20 53 74 61 6e 64 61 72 64 20 6f 70 74  ..# Standard opt
abc0: 69 6f 6e 73 20 74 6f 20 74 65 73 74 66 69 78 74  ions to testfixt
abd0: 75 72 65 2e 0a 23 0a 54 45 53 54 4f 50 54 53 20  ure..#.TESTOPTS 
abe0: 3d 20 2d 2d 76 65 72 62 6f 73 65 3d 66 69 6c 65  = --verbose=file
abf0: 20 2d 2d 6f 75 74 70 75 74 3d 74 65 73 74 2d 6f   --output=test-o
ac00: 75 74 2e 74 78 74 0a 0a 23 20 45 78 74 72 61 20  ut.txt..# Extra 
ac10: 74 61 72 67 65 74 73 20 66 6f 72 20 74 68 65 20  targets for the 
ac20: 22 61 6c 6c 22 20 74 61 72 67 65 74 20 74 68 61  "all" target tha
ac30: 74 20 72 65 71 75 69 72 65 20 54 63 6c 2e 0a 23  t require Tcl..#
ac40: 0a 21 49 46 20 24 28 4e 4f 5f 54 43 4c 29 3d 3d  .!IF $(NO_TCL)==
ac50: 30 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54  0.ALL_TCL_TARGET
ac60: 53 20 3d 20 6c 69 62 74 63 6c 73 71 6c 69 74 65  S = libtclsqlite
ac70: 33 2e 6c 69 62 0a 21 45 4c 53 45 0a 41 4c 4c 5f  3.lib.!ELSE.ALL_
ac80: 54 43 4c 5f 54 41 52 47 45 54 53 20 3d 0a 21 45  TCL_TARGETS =.!E
ac90: 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  NDIF.# <</mark>>
aca0: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20  ..# This is the 
acb0: 64 65 66 61 75 6c 74 20 4d 61 6b 65 66 69 6c 65  default Makefile
acc0: 20 74 61 72 67 65 74 2e 20 20 54 68 65 20 6f 62   target.  The ob
acd0: 6a 65 63 74 73 20 6c 69 73 74 65 64 20 68 65 72  jects listed her
ace0: 65 0a 23 20 61 72 65 20 77 68 61 74 20 67 65 74  e.# are what get
acf0: 20 62 75 69 6c 64 20 77 68 65 6e 20 79 6f 75 20   build when you 
ad00: 74 79 70 65 20 6a 75 73 74 20 22 6d 61 6b 65 22  type just "make"
ad10: 20 77 69 74 68 20 6e 6f 20 61 72 67 75 6d 65 6e   with no argumen
ad20: 74 73 2e 0a 23 0a 63 6f 72 65 3a 09 64 6c 6c 20  ts..#.core:.dll 
ad30: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20 73  libsqlite3.lib s
ad40: 68 65 6c 6c 0a 0a 23 20 54 61 72 67 65 74 73 20  hell..# Targets 
ad50: 74 68 61 74 20 72 65 71 75 69 72 65 20 74 68 65  that require the
ad60: 20 54 63 6c 20 6c 69 62 72 61 72 79 2e 0a 23 0a   Tcl library..#.
ad70: 74 63 6c 3a 09 24 28 41 4c 4c 5f 54 43 4c 5f 54  tcl:.$(ALL_TCL_T
ad80: 41 52 47 45 54 53 29 0a 0a 23 20 54 68 69 73 20  ARGETS)..# This 
ad90: 4d 61 6b 65 66 69 6c 65 20 74 61 72 67 65 74 20  Makefile target 
ada0: 62 75 69 6c 64 73 20 61 6c 6c 20 6f 66 20 74 68  builds all of th
adb0: 65 20 73 74 61 6e 64 61 72 64 20 62 69 6e 61 72  e standard binar
adc0: 69 65 73 2e 0a 23 0a 61 6c 6c 3a 09 63 6f 72 65  ies..#.all:.core
add0: 20 74 63 6c 0a 0a 23 20 44 79 6e 61 6d 69 63 20   tcl..# Dynamic 
ade0: 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20 73 65 63  link library sec
adf0: 74 69 6f 6e 2e 0a 23 0a 64 6c 6c 3a 09 24 28 53  tion..#.dll:.$(S
ae00: 51 4c 49 54 45 33 44 4c 4c 29 0a 0a 23 20 53 68  QLITE3DLL)..# Sh
ae10: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a  ell executable..
ae20: 23 0a 73 68 65 6c 6c 3a 09 24 28 53 51 4c 49 54  #.shell:.$(SQLIT
ae30: 45 33 45 58 45 29 0a 0a 23 20 3c 3c 6d 61 72 6b  E3EXE)..# <<mark
ae40: 3e 3e 0a 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  >>.libsqlite3.li
ae50: 62 3a 09 24 28 4c 49 42 4f 42 4a 29 0a 09 24 28  b:.$(LIBOBJ)..$(
ae60: 4c 54 4c 49 42 29 20 24 28 4c 54 4c 49 42 4f 50  LTLIB) $(LTLIBOP
ae70: 54 53 29 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49  TS) /OUT:$@ $(LI
ae80: 42 4f 42 4a 29 20 24 28 54 4c 49 42 53 29 0a 0a  BOBJ) $(TLIBS)..
ae90: 6c 69 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69  libtclsqlite3.li
aea0: 62 3a 09 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 20  b:.tclsqlite.lo 
aeb0: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 09  libsqlite3.lib..
aec0: 24 28 4c 54 4c 49 42 29 20 24 28 4c 54 4c 49 42  $(LTLIB) $(LTLIB
aed0: 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54  OPTS) $(LTLIBPAT
aee0: 48 53 29 20 2f 4f 55 54 3a 24 40 20 74 63 6c 73  HS) /OUT:$@ tcls
aef0: 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c 69  qlite.lo libsqli
af00: 74 65 33 2e 6c 69 62 20 24 28 4c 49 42 54 43 4c  te3.lib $(LIBTCL
af10: 53 54 55 42 29 20 24 28 54 4c 49 42 53 29 0a 23  STUB) $(TLIBS).#
af20: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 24 28 53 51   <</mark>>..$(SQ
af30: 4c 49 54 45 33 44 4c 4c 29 3a 09 24 28 4c 49 42  LITE3DLL):.$(LIB
af40: 4f 42 4a 29 20 24 28 4c 49 42 52 45 53 4f 42 4a  OBJ) $(LIBRESOBJ
af50: 53 29 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f 44  S) $(CORE_LINK_D
af60: 45 50 29 0a 09 24 28 4c 44 29 20 24 28 4c 44 46  EP)..$(LD) $(LDF
af70: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
af80: 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53  TS) $(LTLIBPATHS
af90: 29 20 2f 44 4c 4c 20 24 28 43 4f 52 45 5f 4c 49  ) /DLL $(CORE_LI
afa0: 4e 4b 5f 4f 50 54 53 29 20 2f 4f 55 54 3a 24 40  NK_OPTS) /OUT:$@
afb0: 20 24 28 4c 49 42 4f 42 4a 29 20 24 28 4c 49 42   $(LIBOBJ) $(LIB
afc0: 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42  RESOBJS) $(LTLIB
afd0: 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 23 20 3c  S) $(TLIBS)..# <
afe0: 3c 62 6c 6f 63 6b 32 3e 3e 0a 73 71 6c 69 74 65  <block2>>.sqlite
aff0: 33 2e 64 65 66 3a 09 6c 69 62 73 71 6c 69 74 65  3.def:.libsqlite
b000: 33 2e 6c 69 62 0a 09 65 63 68 6f 20 45 58 50 4f  3.lib..echo EXPO
b010: 52 54 53 20 3e 20 73 71 6c 69 74 65 33 2e 64 65  RTS > sqlite3.de
b020: 66 0a 09 64 75 6d 70 62 69 6e 20 2f 61 6c 6c 20  f..dumpbin /all 
b030: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20 5c  libsqlite3.lib \
b040: 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  ...| $(TCLSH_CMD
b050: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re
b060: 70 6c 61 63 65 2e 74 63 6c 20 69 6e 63 6c 75 64  place.tcl includ
b070: 65 20 22 5e 5c 73 2b 31 20 5f 3f 28 73 71 6c 69  e "^\s+1 _?(sqli
b080: 74 65 33 28 3f 3a 73 65 73 73 69 6f 6e 7c 63 68  te3(?:session|ch
b090: 61 6e 67 65 73 65 74 7c 63 68 61 6e 67 65 67 72  angeset|changegr
b0a0: 6f 75 70 7c 72 65 62 61 73 65 72 29 3f 5f 5b 5e  oup|rebaser)?_[^
b0b0: 40 5d 2a 29 28 3f 3a 40 5c 64 2b 29 3f 24 24 22  @]*)(?:@\d+)?$$"
b0c0: 20 5c 31 20 5c 0a 09 09 7c 20 73 6f 72 74 20 3e   \1 \...| sort >
b0d0: 3e 20 73 71 6c 69 74 65 33 2e 64 65 66 0a 23 20  > sqlite3.def.# 
b0e0: 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a 0a 24 28 53  <</block2>>..$(S
b0f0: 51 4c 49 54 45 33 45 58 45 29 3a 09 73 68 65 6c  QLITE3EXE):.shel
b100: 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45  l.c $(SHELL_CORE
b110: 5f 44 45 50 29 20 24 28 4c 49 42 52 45 53 4f 42  _DEP) $(LIBRESOB
b120: 4a 53 29 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45  JS) $(SHELL_CORE
b130: 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 48  _SRC) $(SQLITE3H
b140: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 53  )..$(LTLINK) $(S
b150: 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  HELL_COMPILE_OPT
b160: 53 29 20 24 28 52 45 41 44 4c 49 4e 45 5f 46 4c  S) $(READLINE_FL
b170: 41 47 53 29 20 73 68 65 6c 6c 2e 63 20 24 28 53  AGS) shell.c $(S
b180: 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29 20 5c  HELL_CORE_SRC) \
b190: 0a 09 09 2f 6c 69 6e 6b 20 24 28 53 51 4c 49 54  .../link $(SQLIT
b1a0: 45 33 45 58 45 50 44 42 29 20 24 28 4c 44 46 4c  E3EXEPDB) $(LDFL
b1b0: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
b1c0: 53 29 20 24 28 53 48 45 4c 4c 5f 4c 49 4e 4b 5f  S) $(SHELL_LINK_
b1d0: 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54  OPTS) $(LTLIBPAT
b1e0: 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  HS) $(LIBRESOBJS
b1f0: 29 20 24 28 4c 49 42 52 45 41 44 4c 49 4e 45 29  ) $(LIBREADLINE)
b200: 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49   $(LTLIBS) $(TLI
b210: 42 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  BS)..# <<mark>>.
b220: 73 71 6c 64 69 66 66 2e 65 78 65 3a 09 24 28 54  sqldiff.exe:.$(T
b230: 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 66  OP)\tool\sqldiff
b240: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
b250: 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
b260: 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
b270: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c   $(TOP)\tool\sql
b280: 64 69 66 66 2e 63 20 24 28 53 51 4c 49 54 45 33  diff.c $(SQLITE3
b290: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
b2a0: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
b2b0: 29 0a 0a 64 62 68 61 73 68 2e 65 78 65 3a 09 24  )..dbhash.exe:.$
b2c0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62 68 61 73  (TOP)\tool\dbhas
b2d0: 68 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  h.c $(SQLITE3C) 
b2e0: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
b2f0: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
b300: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62  ) $(TOP)\tool\db
b310: 68 61 73 68 2e 63 20 24 28 53 51 4c 49 54 45 33  hash.c $(SQLITE3
b320: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
b330: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
b340: 29 0a 0a 73 63 72 75 62 2e 65 78 65 3a 09 24 28  )..scrub.exe:.$(
b350: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 63  TOP)\ext\misc\sc
b360: 72 75 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43  rub.c $(SQLITE3C
b370: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
b380: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
b390: 52 4e 29 20 2d 44 53 43 52 55 42 5f 53 54 41 4e  RN) -DSCRUB_STAN
b3a0: 44 41 4c 4f 4e 45 3d 31 20 24 28 54 4f 50 29 5c  DALONE=1 $(TOP)\
b3b0: 65 78 74 5c 6d 69 73 63 5c 73 63 72 75 62 2e 63  ext\misc\scrub.c
b3c0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li
b3d0: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
b3e0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 72 63  LTLINKOPTS)..src
b3f0: 63 6b 31 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  ck1.exe:.$(TOP)\
b400: 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 09 24  tool\srcck1.c..$
b410: 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29  (BCC) $(NO_WARN)
b420: 20 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f   -Fe$@ $(TOP)\to
b430: 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 0a 73 6f 75  ol\srcck1.c..sou
b440: 72 63 65 74 65 73 74 3a 09 73 72 63 63 6b 31 2e  rcetest:.srcck1.
b450: 65 78 65 20 24 28 53 51 4c 49 54 45 33 43 29 0a  exe $(SQLITE3C).
b460: 09 73 72 63 63 6b 31 2e 65 78 65 20 24 28 53 51  .srcck1.exe $(SQ
b470: 4c 49 54 45 33 43 29 0a 0a 66 75 7a 7a 65 72 73  LITE3C)..fuzzers
b480: 68 65 6c 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29  hell.exe:.$(TOP)
b490: 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 6c  \tool\fuzzershel
b4a0: 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  l.c $(SQLITE3C) 
b4b0: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
b4c0: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
b4d0: 29 20 24 28 46 55 5a 5a 45 52 53 48 45 4c 4c 5f  ) $(FUZZERSHELL_
b4e0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
b4f0: 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72  TOP)\tool\fuzzer
b500: 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45  shell.c $(SQLITE
b510: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
b520: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
b530: 53 29 0a 0a 64 62 66 75 7a 7a 2e 65 78 65 3a 09  S)..dbfuzz.exe:.
b540: 24 28 54 4f 50 29 5c 74 65 73 74 5c 64 62 66 75  $(TOP)\test\dbfu
b550: 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  zz.c $(SQLITE3C)
b560: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
b570: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
b580: 4e 29 20 24 28 44 42 46 55 5a 5a 5f 43 4f 4d 50  N) $(DBFUZZ_COMP
b590: 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 29  ILE_OPTS) $(TOP)
b5a0: 5c 74 65 73 74 5c 64 62 66 75 7a 7a 2e 63 20 24  \test\dbfuzz.c $
b5b0: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
b5c0: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
b5d0: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 75 7a 7a 63  LINKOPTS)..fuzzc
b5e0: 68 65 63 6b 2e 65 78 65 3a 09 24 28 46 55 5a 5a  heck.exe:.$(FUZZ
b5f0: 43 48 45 43 4b 5f 53 52 43 29 20 24 28 53 51 4c  CHECK_SRC) $(SQL
b600: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
b610: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
b620: 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 43  NO_WARN) $(FUZZC
b630: 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  HECK_COMPILE_OPT
b640: 53 29 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 53  S) $(FUZZCHECK_S
b650: 52 43 29 20 24 28 53 51 4c 49 54 45 33 43 29 20  RC) $(SQLITE3C) 
b660: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
b670: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
b680: 6f 73 73 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28  ossshell.exe:.$(
b690: 4f 53 53 53 48 45 4c 4c 5f 53 52 43 29 20 24 28  OSSSHELL_SRC) $(
b6a0: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
b6b0: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
b6c0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55   $(NO_WARN) $(FU
b6d0: 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f  ZZCHECK_COMPILE_
b6e0: 4f 50 54 53 29 20 24 28 4f 53 53 53 48 45 4c 4c  OPTS) $(OSSSHELL
b6f0: 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 43  _SRC) $(SQLITE3C
b700: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
b710: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
b720: 0a 0a 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 65 78  ..sessionfuzz.ex
b730: 65 3a 09 7a 6c 69 62 20 24 28 54 4f 50 29 5c 74  e:.zlib $(TOP)\t
b740: 65 73 74 5c 73 65 73 73 69 6f 6e 66 75 7a 7a 2e  est\sessionfuzz.
b750: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
b760: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
b770: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
b780: 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49 52 29 20  -I$(ZLIBINCDIR) 
b790: 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 65 73 73  $(TOP)\test\sess
b7a0: 69 6f 6e 66 75 7a 7a 2e 63 20 2f 6c 69 6e 6b 20  ionfuzz.c /link 
b7b0: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
b7c0: 49 4e 4b 4f 50 54 53 29 20 2f 4c 49 42 50 41 54  INKOPTS) /LIBPAT
b7d0: 48 3a 24 28 5a 4c 49 42 4c 49 42 44 49 52 29 20  H:$(ZLIBLIBDIR) 
b7e0: 24 28 5a 4c 49 42 4c 49 42 29 0a 0a 6d 70 74 65  $(ZLIBLIB)..mpte
b7f0: 73 74 65 72 2e 65 78 65 3a 09 24 28 54 4f 50 29  ster.exe:.$(TOP)
b800: 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73 74 2e 63  \mptest\mptest.c
b810: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
b820: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
b830: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24  NK) $(NO_WARN) $
b840: 28 4d 50 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c  (MPTESTER_COMPIL
b850: 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 6d  E_OPTS) $(TOP)\m
b860: 70 74 65 73 74 5c 6d 70 74 65 73 74 2e 63 20 24  ptest\mptest.c $
b870: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
b880: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
b890: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4d 50 54 45 53  LINKOPTS)..MPTES
b8a0: 54 31 20 3d 20 6d 70 74 65 73 74 65 72 20 6d 70  T1 = mptester mp
b8b0: 74 65 73 74 2e 64 62 20 24 28 54 4f 50 29 5c 6d  test.db $(TOP)\m
b8c0: 70 74 65 73 74 5c 63 72 61 73 68 30 31 2e 74 65  ptest\crash01.te
b8d0: 73 74 20 2d 2d 72 65 70 65 61 74 20 32 30 0a 4d  st --repeat 20.M
b8e0: 50 54 45 53 54 32 20 3d 20 6d 70 74 65 73 74 65  PTEST2 = mpteste
b8f0: 72 20 6d 70 74 65 73 74 2e 64 62 20 24 28 54 4f  r mptest.db $(TO
b900: 50 29 5c 6d 70 74 65 73 74 5c 6d 75 6c 74 69 77  P)\mptest\multiw
b910: 72 69 74 65 30 31 2e 74 65 73 74 20 2d 2d 72 65  rite01.test --re
b920: 70 65 61 74 20 32 30 0a 0a 6d 70 74 65 73 74 3a  peat 20..mptest:
b930: 09 6d 70 74 65 73 74 65 72 2e 65 78 65 0a 09 64  .mptester.exe..d
b940: 65 6c 20 2f 51 20 6d 70 74 65 73 74 2e 64 62 20  el /Q mptest.db 
b950: 32 3e 4e 55 4c 0a 09 24 28 4d 50 54 45 53 54 31  2>NUL..$(MPTEST1
b960: 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20  ) --journalmode 
b970: 44 45 4c 45 54 45 0a 09 24 28 4d 50 54 45 53 54  DELETE..$(MPTEST
b980: 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65  2) --journalmode
b990: 20 57 41 4c 0a 09 24 28 4d 50 54 45 53 54 31 29   WAL..$(MPTEST1)
b9a0: 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57   --journalmode W
b9b0: 41 4c 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d  AL..$(MPTEST2) -
b9c0: 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52  -journalmode PER
b9d0: 53 49 53 54 0a 09 24 28 4d 50 54 45 53 54 31 29  SIST..$(MPTEST1)
b9e0: 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 50   --journalmode P
b9f0: 45 52 53 49 53 54 0a 09 24 28 4d 50 54 45 53 54  ERSIST..$(MPTEST
ba00: 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65  2) --journalmode
ba10: 20 54 52 55 4e 43 41 54 45 0a 09 24 28 4d 50 54   TRUNCATE..$(MPT
ba20: 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST1) --journalm
ba30: 6f 64 65 20 54 52 55 4e 43 41 54 45 0a 09 24 28  ode TRUNCATE..$(
ba40: 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e  MPTEST2) --journ
ba50: 61 6c 6d 6f 64 65 20 44 45 4c 45 54 45 0a 0a 23  almode DELETE..#
ba60: 20 54 68 69 73 20 74 61 72 67 65 74 20 63 72 65   This target cre
ba70: 61 74 65 73 20 61 20 64 69 72 65 63 74 6f 72 79  ates a directory
ba80: 20 6e 61 6d 65 64 20 22 74 73 72 63 22 20 61 6e   named "tsrc" an
ba90: 64 20 66 69 6c 6c 73 20 69 74 20 77 69 74 68 0a  d fills it with.
baa0: 23 20 63 6f 70 69 65 73 20 6f 66 20 61 6c 6c 20  # copies of all 
bab0: 6f 66 20 74 68 65 20 43 20 73 6f 75 72 63 65 20  of the C source 
bac0: 63 6f 64 65 20 61 6e 64 20 68 65 61 64 65 72 20  code and header 
bad0: 66 69 6c 65 73 20 6e 65 65 64 65 64 20 74 6f 0a  files needed to.
bae0: 23 20 62 75 69 6c 64 20 6f 6e 20 74 68 65 20 74  # build on the t
baf0: 61 72 67 65 74 20 73 79 73 74 65 6d 2e 20 20 53  arget system.  S
bb00: 6f 6d 65 20 6f 66 20 74 68 65 20 43 20 73 6f 75  ome of the C sou
bb10: 72 63 65 20 63 6f 64 65 20 61 6e 64 20 68 65 61  rce code and hea
bb20: 64 65 72 0a 23 20 66 69 6c 65 73 20 61 72 65 20  der.# files are 
bb30: 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65  automatically ge
bb40: 6e 65 72 61 74 65 64 2e 20 20 54 68 69 73 20 74  nerated.  This t
bb50: 61 72 67 65 74 20 74 61 6b 65 73 20 63 61 72 65  arget takes care
bb60: 20 6f 66 0a 23 20 61 6c 6c 20 74 68 61 74 20 61   of.# all that a
bb70: 75 74 6f 6d 61 74 69 63 20 67 65 6e 65 72 61 74  utomatic generat
bb80: 69 6f 6e 2e 0a 23 0a 2e 74 61 72 67 65 74 5f 73  ion..#..target_s
bb90: 6f 75 72 63 65 3a 09 24 28 53 52 43 29 20 24 28  ource:.$(SRC) $(
bba0: 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63  TOP)\tool\vdbe-c
bbb0: 6f 6d 70 72 65 73 73 2e 74 63 6c 20 66 74 73 35  ompress.tcl fts5
bbc0: 2e 63 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f  .c $(SQLITE_TCL_
bbd0: 44 45 50 29 0a 09 2d 72 6d 64 69 72 20 2f 51 2f  DEP)..-rmdir /Q/
bbe0: 53 20 74 73 72 63 20 32 3e 4e 55 4c 0a 09 2d 6d  S tsrc 2>NUL..-m
bbf0: 6b 64 69 72 20 74 73 72 63 0a 09 66 6f 72 20 25  kdir tsrc..for %
bc00: 69 20 69 6e 20 28 24 28 53 52 43 30 30 29 29 20  i in ($(SRC00)) 
bc10: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
bc20: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($
bc30: 28 53 52 43 30 31 29 29 20 64 6f 20 63 6f 70 79  (SRC01)) do copy
bc40: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
bc50: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 33 29   %i in ($(SRC03)
bc60: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i 
bc70: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in 
bc80: 28 24 28 53 52 43 30 34 29 29 20 64 6f 20 63 6f  ($(SRC04)) do co
bc90: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
bca0: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30  or %i in ($(SRC0
bcb0: 35 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  5)) do copy /Y %
bcc0: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
bcd0: 6e 20 28 24 28 53 52 43 30 36 29 29 20 64 6f 20  n ($(SRC06)) do 
bce0: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
bcf0: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR
bd00: 43 30 37 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C07)) do copy /Y
bd10: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69   %i tsrc..for %i
bd20: 20 69 6e 20 28 24 28 53 52 43 30 38 29 29 20 64   in ($(SRC08)) d
bd30: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
bd40: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($(
bd50: 53 52 43 30 39 29 29 20 64 6f 20 63 6f 70 79 20  SRC09)) do copy 
bd60: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for 
bd70: 25 69 20 69 6e 20 28 24 28 53 52 43 31 30 29 29  %i in ($(SRC10))
bd80: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
bd90: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
bda0: 24 28 53 52 43 31 31 29 29 20 64 6f 20 63 6f 70  $(SRC11)) do cop
bdb0: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f  y /Y %i tsrc..fo
bdc0: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 31 32  r %i in ($(SRC12
bdd0: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
bde0: 20 74 73 72 63 0a 09 63 6f 70 79 20 2f 59 20 66   tsrc..copy /Y f
bdf0: 74 73 35 2e 63 20 74 73 72 63 0a 09 63 6f 70 79  ts5.c tsrc..copy
be00: 20 2f 59 20 66 74 73 35 2e 68 20 74 73 72 63 0a   /Y fts5.h tsrc.
be10: 09 64 65 6c 20 2f 51 20 74 73 72 63 5c 73 71 6c  .del /Q tsrc\sql
be20: 69 74 65 2e 68 2e 69 6e 20 74 73 72 63 5c 70 61  ite.h.in tsrc\pa
be30: 72 73 65 2e 79 20 32 3e 4e 55 4c 0a 09 24 28 54  rse.y 2>NUL..$(T
be40: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
be50: 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72  \tool\vdbe-compr
be60: 65 73 73 2e 74 63 6c 20 24 28 4f 50 54 53 29 20  ess.tcl $(OPTS) 
be70: 3c 20 74 73 72 63 5c 76 64 62 65 2e 63 20 3e 20  < tsrc\vdbe.c > 
be80: 76 64 62 65 2e 6e 65 77 0a 09 6d 6f 76 65 20 76  vdbe.new..move v
be90: 64 62 65 2e 6e 65 77 20 74 73 72 63 5c 76 64 62  dbe.new tsrc\vdb
bea0: 65 2e 63 0a 09 65 63 68 6f 20 3e 20 2e 74 61 72  e.c..echo > .tar
beb0: 67 65 74 5f 73 6f 75 72 63 65 0a 0a 73 71 6c 69  get_source..sqli
bec0: 74 65 33 2e 63 3a 09 2e 74 61 72 67 65 74 5f 73  te3.c:..target_s
bed0: 6f 75 72 63 65 20 73 71 6c 69 74 65 33 65 78 74  ource sqlite3ext
bee0: 2e 68 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f  .h $(MKSQLITE3C_
bef0: 54 4f 4f 4c 29 0a 09 24 28 54 43 4c 53 48 5f 43  TOOL)..$(TCLSH_C
bf00: 4d 44 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 43  MD) $(MKSQLITE3C
bf10: 5f 54 4f 4f 4c 29 20 24 28 4d 4b 53 51 4c 49 54  _TOOL) $(MKSQLIT
bf20: 45 33 43 5f 41 52 47 53 29 0a 09 63 6f 70 79 20  E3C_ARGS)..copy 
bf30: 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69  $(TOP)\ext\sessi
bf40: 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f  on\sqlite3sessio
bf50: 6e 2e 68 20 2e 0a 0a 73 71 6c 69 74 65 33 2d 61  n.h ...sqlite3-a
bf60: 6c 6c 2e 63 3a 09 73 71 6c 69 74 65 33 2e 63 20  ll.c:.sqlite3.c 
bf70: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69  $(TOP)\tool\spli
bf80: 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 09  t-sqlite3c.tcl..
bf90: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
bfa0: 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73  OP)\tool\split-s
bfb0: 71 6c 69 74 65 33 63 2e 74 63 6c 0a 23 20 3c 3c  qlite3c.tcl.# <<
bfc0: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20  /mark>>..# Rule 
bfd0: 74 6f 20 62 75 69 6c 64 20 74 68 65 20 61 6d 61  to build the ama
bfe0: 6c 67 61 6d 61 74 69 6f 6e 0a 23 0a 73 71 6c 69  lgamation.#.sqli
bff0: 74 65 33 2e 6c 6f 3a 09 24 28 53 51 4c 49 54 45  te3.lo:.$(SQLITE
c000: 33 43 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  3C)..$(LTCOMPILE
c010: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c020: 5f 4f 50 54 53 29 20 2d 63 20 24 28 53 51 4c 49  _OPTS) -c $(SQLI
c030: 54 45 33 43 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  TE3C)..# <<mark>
c040: 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69  >.# Rules to bui
c050: 6c 64 20 74 68 65 20 4c 45 4d 4f 4e 20 63 6f 6d  ld the LEMON com
c060: 70 69 6c 65 72 20 67 65 6e 65 72 61 74 6f 72 0a  piler generator.
c070: 23 0a 6c 65 6d 70 61 72 2e 63 3a 09 24 28 54 4f  #.lempar.c:.$(TO
c080: 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63  P)\tool\lempar.c
c090: 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 74 6f  ..copy $(TOP)\to
c0a0: 6f 6c 5c 6c 65 6d 70 61 72 2e 63 20 2e 0a 0a 6c  ol\lempar.c ...l
c0b0: 65 6d 6f 6e 2e 65 78 65 3a 09 24 28 54 4f 50 29  emon.exe:.$(TOP)
c0c0: 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 6c 65  \tool\lemon.c le
c0d0: 6d 70 61 72 2e 63 0a 09 24 28 42 43 43 29 20 24  mpar.c..$(BCC) $
c0e0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 61 63 63 65  (NO_WARN) -Dacce
c0f0: 73 73 3d 5f 61 63 63 65 73 73 20 5c 0a 09 09 2d  ss=_access \...-
c100: 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  Fe$@ $(TOP)\tool
c110: 5c 6c 65 6d 6f 6e 2e 63 20 2f 6c 69 6e 6b 20 24  \lemon.c /link $
c120: 28 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c  (LDFLAGS) $(NLTL
c130: 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49  INKOPTS) $(NLTLI
c140: 42 50 41 54 48 53 29 0a 0a 23 20 3c 3c 6d 61 72  BPATHS)..# <<mar
c150: 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62  k>>.# Rules to b
c160: 75 69 6c 64 20 74 68 65 20 73 6f 75 72 63 65 2d  uild the source-
c170: 69 64 20 67 65 6e 65 72 61 74 6f 72 20 74 6f 6f  id generator too
c180: 6c 0a 23 0a 6d 6b 73 6f 75 72 63 65 69 64 2e 65  l.#.mksourceid.e
c190: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
c1a0: 6d 6b 73 6f 75 72 63 65 69 64 2e 63 0a 09 24 28  mksourceid.c..$(
c1b0: 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  BCC) $(NO_WARN) 
c1c0: 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f  -Fe$@ $(TOP)\too
c1d0: 6c 5c 6d 6b 73 6f 75 72 63 65 69 64 2e 63 20 2f  l\mksourceid.c /
c1e0: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
c1f0: 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24  $(NLTLINKOPTS) $
c200: 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a 23  (NLTLIBPATHS)..#
c210: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20   Rules to build 
c220: 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20  individual *.lo 
c230: 66 69 6c 65 73 20 66 72 6f 6d 20 67 65 6e 65 72  files from gener
c240: 61 74 65 64 20 2a 2e 63 20 66 69 6c 65 73 2e 20  ated *.c files. 
c250: 54 68 69 73 0a 23 20 61 70 70 6c 69 65 73 20 74  This.# applies t
c260: 6f 3a 0a 23 0a 23 20 20 20 20 20 70 61 72 73 65  o:.#.#     parse
c270: 2e 6c 6f 0a 23 20 20 20 20 20 6f 70 63 6f 64 65  .lo.#     opcode
c280: 73 2e 6c 6f 0a 23 0a 70 61 72 73 65 2e 6c 6f 3a  s.lo.#.parse.lo:
c290: 09 70 61 72 73 65 2e 63 20 24 28 48 44 52 29 0a  .parse.c $(HDR).
c2a0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c2b0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c2c0: 53 29 20 2d 63 20 70 61 72 73 65 2e 63 0a 0a 6f  S) -c parse.c..o
c2d0: 70 63 6f 64 65 73 2e 6c 6f 3a 09 6f 70 63 6f 64  pcodes.lo:.opcod
c2e0: 65 73 2e 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  es.c..$(LTCOMPIL
c2f0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
c300: 45 5f 4f 50 54 53 29 20 2d 63 20 6f 70 63 6f 64  E_OPTS) -c opcod
c310: 65 73 2e 63 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  es.c.# <</mark>>
c320: 0a 0a 23 20 52 75 6c 65 20 74 6f 20 62 75 69 6c  ..# Rule to buil
c330: 64 20 74 68 65 20 57 69 6e 33 32 20 72 65 73 6f  d the Win32 reso
c340: 75 72 63 65 73 20 6f 62 6a 65 63 74 20 66 69 6c  urces object fil
c350: 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52  e..#.!IF $(USE_R
c360: 43 29 21 3d 30 0a 23 20 3c 3c 62 6c 6f 63 6b 31  C)!=0.# <<block1
c370: 3e 3e 0a 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  >>.$(LIBRESOBJS)
c380: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c  :.$(TOP)\src\sql
c390: 69 74 65 33 2e 72 63 20 24 28 53 51 4c 49 54 45  ite3.rc $(SQLITE
c3a0: 33 48 29 0a 09 65 63 68 6f 20 23 69 66 6e 64 65  3H)..echo #ifnde
c3b0: 66 20 53 51 4c 49 54 45 5f 52 45 53 4f 55 52 43  f SQLITE_RESOURC
c3c0: 45 5f 56 45 52 53 49 4f 4e 20 3e 20 73 71 6c 69  E_VERSION > sqli
c3d0: 74 65 33 72 63 2e 68 0a 09 66 6f 72 20 2f 46 20  te3rc.h..for /F 
c3e0: 25 25 56 20 69 6e 20 28 27 74 79 70 65 20 22 24  %%V in ('type "$
c3f0: 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 22 27 29  (TOP)\VERSION"')
c400: 20 64 6f 20 28 20 5c 0a 09 09 65 63 68 6f 20 23   do ( \...echo #
c410: 64 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 52 45  define SQLITE_RE
c420: 53 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 25  SOURCE_VERSION %
c430: 25 56 20 5c 0a 09 09 09 7c 20 24 28 54 43 4c 53  %V \....| $(TCLS
c440: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
c450: 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65  ol\replace.tcl e
c460: 78 61 63 74 20 2e 20 5e 2c 20 3e 3e 20 73 71 6c  xact . ^, >> sql
c470: 69 74 65 33 72 63 2e 68 20 5c 0a 09 29 0a 09 65  ite3rc.h \..)..e
c480: 63 68 6f 20 23 65 6e 64 69 66 20 3e 3e 20 73 71  cho #endif >> sq
c490: 6c 69 74 65 33 72 63 2e 68 0a 09 24 28 4c 54 52  lite3rc.h..$(LTR
c4a0: 43 4f 4d 50 49 4c 45 29 20 2d 66 6f 20 24 28 4c  COMPILE) -fo $(L
c4b0: 49 42 52 45 53 4f 42 4a 53 29 20 24 28 54 4f 50  IBRESOBJS) $(TOP
c4c0: 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 2e 72 63  )\src\sqlite3.rc
c4d0: 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 31 3e 3e 0a 21  .# <</block1>>.!
c4e0: 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  ENDIF..# <<mark>
c4f0: 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69  >.# Rules to bui
c500: 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e  ld individual *.
c510: 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20 66 69  lo files from fi
c520: 6c 65 73 20 69 6e 20 74 68 65 20 73 72 63 20 64  les in the src d
c530: 69 72 65 63 74 6f 72 79 2e 0a 23 0a 61 6c 74 65  irectory..#.alte
c540: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  r.lo:.$(TOP)\src
c550: 5c 61 6c 74 65 72 2e 63 20 24 28 48 44 52 29 0a  \alter.c $(HDR).
c560: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c570: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c580: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c590: 5c 61 6c 74 65 72 2e 63 0a 0a 61 6e 61 6c 79 7a  \alter.c..analyz
c5a0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
c5b0: 5c 61 6e 61 6c 79 7a 65 2e 63 20 24 28 48 44 52  \analyze.c $(HDR
c5c0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
c5d0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
c5e0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
c5f0: 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 0a 0a 61 74  rc\analyze.c..at
c600: 74 61 63 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  tach.lo:.$(TOP)\
c610: 73 72 63 5c 61 74 74 61 63 68 2e 63 20 24 28 48  src\attach.c $(H
c620: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c630: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c640: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c650: 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 0a 0a 61  \src\attach.c..a
c660: 75 74 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  uth.lo:.$(TOP)\s
c670: 72 63 5c 61 75 74 68 2e 63 20 24 28 48 44 52 29  rc\auth.c $(HDR)
c680: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c690: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c6a0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c6b0: 63 5c 61 75 74 68 2e 63 0a 0a 62 61 63 6b 75 70  c\auth.c..backup
c6c0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c6d0: 62 61 63 6b 75 70 2e 63 20 24 28 48 44 52 29 0a  backup.c $(HDR).
c6e0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c6f0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c700: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c710: 5c 62 61 63 6b 75 70 2e 63 0a 0a 62 69 74 76 65  \backup.c..bitve
c720: 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  c.lo:.$(TOP)\src
c730: 5c 62 69 74 76 65 63 2e 63 20 24 28 48 44 52 29  \bitvec.c $(HDR)
c740: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c750: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c760: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c770: 63 5c 62 69 74 76 65 63 2e 63 0a 0a 62 74 6d 75  c\bitvec.c..btmu
c780: 74 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  tex.lo:.$(TOP)\s
c790: 72 63 5c 62 74 6d 75 74 65 78 2e 63 20 24 28 48  rc\btmutex.c $(H
c7a0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c7b0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c7c0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c7d0: 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 0a 0a  \src\btmutex.c..
c7e0: 62 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  btree.lo:.$(TOP)
c7f0: 5c 73 72 63 5c 62 74 72 65 65 2e 63 20 24 28 48  \src\btree.c $(H
c800: 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  DR) $(TOP)\src\p
c810: 61 67 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50  ager.h..$(LTCOMP
c820: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c830: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c840: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 0a  OP)\src\btree.c.
c850: 0a 62 75 69 6c 64 2e 6c 6f 3a 09 24 28 54 4f 50  .build.lo:.$(TOP
c860: 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 20 24 28  )\src\build.c $(
c870: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
c880: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
c890: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
c8a0: 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 0a 0a 63  )\src\build.c..c
c8b0: 61 6c 6c 62 61 63 6b 2e 6c 6f 3a 09 24 28 54 4f  allback.lo:.$(TO
c8c0: 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e  P)\src\callback.
c8d0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c8e0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c8f0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c900: 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61  (TOP)\src\callba
c910: 63 6b 2e 63 0a 0a 63 6f 6d 70 6c 65 74 65 2e 6c  ck.c..complete.l
c920: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f  o:.$(TOP)\src\co
c930: 6d 70 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a  mplete.c $(HDR).
c940: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c950: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c960: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c970: 5c 63 6f 6d 70 6c 65 74 65 2e 63 0a 0a 63 74 69  \complete.c..cti
c980: 6d 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  me.lo:.$(TOP)\sr
c990: 63 5c 63 74 69 6d 65 2e 63 20 24 28 48 44 52 29  c\ctime.c $(HDR)
c9a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c9b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c9c0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c9d0: 63 5c 63 74 69 6d 65 2e 63 0a 0a 64 61 74 65 2e  c\ctime.c..date.
c9e0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64  lo:.$(TOP)\src\d
c9f0: 61 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ate.c $(HDR)..$(
ca00: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
ca10: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
ca20: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 61  -c $(TOP)\src\da
ca30: 74 65 2e 63 0a 0a 64 62 70 61 67 65 2e 6c 6f 3a  te.c..dbpage.lo:
ca40: 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61  .$(TOP)\src\dbpa
ca50: 67 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ge.c $(HDR)..$(L
ca60: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
ca70: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
ca80: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70  c $(TOP)\src\dbp
ca90: 61 67 65 2e 63 0a 0a 64 62 73 74 61 74 2e 6c 6f  age.c..dbstat.lo
caa0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73  :.$(TOP)\src\dbs
cab0: 74 61 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28  tat.c $(HDR)..$(
cac0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
cad0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
cae0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62  -c $(TOP)\src\db
caf0: 73 74 61 74 2e 63 0a 0a 64 65 6c 65 74 65 2e 6c  stat.c..delete.l
cb00: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 65  o:.$(TOP)\src\de
cb10: 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24  lete.c $(HDR)..$
cb20: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
cb30: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
cb40: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64   -c $(TOP)\src\d
cb50: 65 6c 65 74 65 2e 63 0a 0a 65 78 70 72 2e 6c 6f  elete.c..expr.lo
cb60: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70  :.$(TOP)\src\exp
cb70: 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  r.c $(HDR)..$(LT
cb80: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
cb90: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cba0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72   $(TOP)\src\expr
cbb0: 2e 63 0a 0a 66 61 75 6c 74 2e 6c 6f 3a 09 24 28  .c..fault.lo:.$(
cbc0: 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63  TOP)\src\fault.c
cbd0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
cbe0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
cbf0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
cc00: 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63  TOP)\src\fault.c
cc10: 0a 0a 66 6b 65 79 2e 6c 6f 3a 09 24 28 54 4f 50  ..fkey.lo:.$(TOP
cc20: 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20 24 28 48  )\src\fkey.c $(H
cc30: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
cc40: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
cc50: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
cc60: 5c 73 72 63 5c 66 6b 65 79 2e 63 0a 0a 66 75 6e  \src\fkey.c..fun
cc70: 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  c.lo:.$(TOP)\src
cc80: 5c 66 75 6e 63 2e 63 20 24 28 48 44 52 29 0a 09  \func.c $(HDR)..
cc90: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
cca0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
ccb0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
ccc0: 66 75 6e 63 2e 63 0a 0a 67 6c 6f 62 61 6c 2e 6c  func.c..global.l
ccd0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c  o:.$(TOP)\src\gl
cce0: 6f 62 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24  obal.c $(HDR)..$
ccf0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
cd00: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
cd10: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 67   -c $(TOP)\src\g
cd20: 6c 6f 62 61 6c 2e 63 0a 0a 68 61 73 68 2e 6c 6f  lobal.c..hash.lo
cd30: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73  :.$(TOP)\src\has
cd40: 68 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  h.c $(HDR)..$(LT
cd50: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
cd60: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cd70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68   $(TOP)\src\hash
cd80: 2e 63 0a 0a 69 6e 73 65 72 74 2e 6c 6f 3a 09 24  .c..insert.lo:.$
cd90: 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74  (TOP)\src\insert
cda0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
cdb0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
cdc0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
cdd0: 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72  $(TOP)\src\inser
cde0: 74 2e 63 0a 0a 6c 65 67 61 63 79 2e 6c 6f 3a 09  t.c..legacy.lo:.
cdf0: 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63  $(TOP)\src\legac
ce00: 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  y.c $(HDR)..$(LT
ce10: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
ce20: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
ce30: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61   $(TOP)\src\lega
ce40: 63 79 2e 63 0a 0a 6c 6f 61 64 65 78 74 2e 6c 6f  cy.c..loadext.lo
ce50: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61  :.$(TOP)\src\loa
ce60: 64 65 78 74 2e 63 20 24 28 48 44 52 29 0a 09 24  dext.c $(HDR)..$
ce70: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
ce80: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ce90: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c   -c $(TOP)\src\l
cea0: 6f 61 64 65 78 74 2e 63 0a 0a 6d 61 69 6e 2e 6c  oadext.c..main.l
ceb0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61  o:.$(TOP)\src\ma
cec0: 69 6e 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  in.c $(HDR)..$(L
ced0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
cee0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
cef0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69  c $(TOP)\src\mai
cf00: 6e 2e 63 0a 0a 6d 61 6c 6c 6f 63 2e 6c 6f 3a 09  n.c..malloc.lo:.
cf10: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f  $(TOP)\src\mallo
cf20: 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  c.c $(HDR)..$(LT
cf30: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
cf40: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cf50: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c   $(TOP)\src\mall
cf60: 6f 63 2e 63 0a 0a 6d 65 6d 30 2e 6c 6f 3a 09 24  oc.c..mem0.lo:.$
cf70: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63  (TOP)\src\mem0.c
cf80: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
cf90: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
cfa0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
cfb0: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 0a  TOP)\src\mem0.c.
cfc0: 0a 6d 65 6d 31 2e 6c 6f 3a 09 24 28 54 4f 50 29  .mem1.lo:.$(TOP)
cfd0: 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 24 28 48 44  \src\mem1.c $(HD
cfe0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
cff0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d000: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d010: 73 72 63 5c 6d 65 6d 31 2e 63 0a 0a 6d 65 6d 32  src\mem1.c..mem2
d020: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d030: 6d 65 6d 32 2e 63 20 24 28 48 44 52 29 0a 09 24  mem2.c $(HDR)..$
d040: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d050: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d060: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
d070: 65 6d 32 2e 63 0a 0a 6d 65 6d 33 2e 6c 6f 3a 09  em2.c..mem3.lo:.
d080: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e  $(TOP)\src\mem3.
d090: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d0a0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d0b0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d0c0: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63  (TOP)\src\mem3.c
d0d0: 0a 0a 6d 65 6d 35 2e 6c 6f 3a 09 24 28 54 4f 50  ..mem5.lo:.$(TOP
d0e0: 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 24 28 48  )\src\mem5.c $(H
d0f0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d100: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d110: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d120: 5c 73 72 63 5c 6d 65 6d 35 2e 63 0a 0a 6d 65 6d  \src\mem5.c..mem
d130: 64 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  db.lo:.$(TOP)\sr
d140: 63 5c 6d 65 6d 64 62 2e 63 20 24 28 48 44 52 29  c\memdb.c $(HDR)
d150: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d160: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d170: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d180: 63 5c 6d 65 6d 64 62 2e 63 0a 0a 6d 65 6d 6a 6f  c\memdb.c..memjo
d190: 75 72 6e 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29  urnal.lo:.$(TOP)
d1a0: 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e  \src\memjournal.
d1b0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d1c0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d1d0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d1e0: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75  (TOP)\src\memjou
d1f0: 72 6e 61 6c 2e 63 0a 0a 6d 75 74 65 78 2e 6c 6f  rnal.c..mutex.lo
d200: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  :.$(TOP)\src\mut
d210: 65 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ex.c $(HDR)..$(L
d220: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d230: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d240: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  c $(TOP)\src\mut
d250: 65 78 2e 63 0a 0a 6d 75 74 65 78 5f 6e 6f 6f 70  ex.c..mutex_noop
d260: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d270: 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 24 28 48  mutex_noop.c $(H
d280: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d290: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d2a0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d2b0: 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e  \src\mutex_noop.
d2c0: 63 0a 0a 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f  c..mutex_unix.lo
d2d0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  :.$(TOP)\src\mut
d2e0: 65 78 5f 75 6e 69 78 2e 63 20 24 28 48 44 52 29  ex_unix.c $(HDR)
d2f0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d300: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d310: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d320: 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63 0a 0a  c\mutex_unix.c..
d330: 6d 75 74 65 78 5f 77 33 32 2e 6c 6f 3a 09 24 28  mutex_w32.lo:.$(
d340: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77  TOP)\src\mutex_w
d350: 33 32 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  32.c $(HDR)..$(L
d360: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d370: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d380: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  c $(TOP)\src\mut
d390: 65 78 5f 77 33 32 2e 63 0a 0a 6e 6f 74 69 66 79  ex_w32.c..notify
d3a0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d3b0: 6e 6f 74 69 66 79 2e 63 20 24 28 48 44 52 29 0a  notify.c $(HDR).
d3c0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d3d0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d3e0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d3f0: 5c 6e 6f 74 69 66 79 2e 63 0a 0a 70 61 67 65 72  \notify.c..pager
d400: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d410: 70 61 67 65 72 2e 63 20 24 28 48 44 52 29 20 24  pager.c $(HDR) $
d420: 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e  (TOP)\src\pager.
d430: 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  h..$(LTCOMPILE) 
d440: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
d450: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
d460: 72 63 5c 70 61 67 65 72 2e 63 0a 0a 70 63 61 63  rc\pager.c..pcac
d470: 68 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  he.lo:.$(TOP)\sr
d480: 63 5c 70 63 61 63 68 65 2e 63 20 24 28 48 44 52  c\pcache.c $(HDR
d490: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61  ) $(TOP)\src\pca
d4a0: 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49  che.h..$(LTCOMPI
d4b0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d4c0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d4d0: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 0a  P)\src\pcache.c.
d4e0: 0a 70 63 61 63 68 65 31 2e 6c 6f 3a 09 24 28 54  .pcache1.lo:.$(T
d4f0: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e  OP)\src\pcache1.
d500: 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c  c $(HDR) $(TOP)\
d510: 73 72 63 5c 70 63 61 63 68 65 2e 68 0a 09 24 28  src\pcache.h..$(
d520: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d530: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d540: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  -c $(TOP)\src\pc
d550: 61 63 68 65 31 2e 63 0a 0a 6f 73 2e 6c 6f 3a 09  ache1.c..os.lo:.
d560: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20  $(TOP)\src\os.c 
d570: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d580: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d590: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d5a0: 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 0a 0a 6f 73  OP)\src\os.c..os
d5b0: 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29  _unix.lo:.$(TOP)
d5c0: 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 24  \src\os_unix.c $
d5d0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d5e0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d5f0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d600: 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63  P)\src\os_unix.c
d610: 0a 0a 6f 73 5f 77 69 6e 2e 6c 6f 3a 09 24 28 54  ..os_win.lo:.$(T
d620: 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63  OP)\src\os_win.c
d630: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d640: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d650: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
d660: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e  TOP)\src\os_win.
d670: 63 0a 0a 70 72 61 67 6d 61 2e 6c 6f 3a 09 24 28  c..pragma.lo:.$(
d680: 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e  TOP)\src\pragma.
d690: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d6a0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d6b0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d6c0: 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61  (TOP)\src\pragma
d6d0: 2e 63 0a 0a 70 72 65 70 61 72 65 2e 6c 6f 3a 09  .c..prepare.lo:.
d6e0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61  $(TOP)\src\prepa
d6f0: 72 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  re.c $(HDR)..$(L
d700: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d710: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d720: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65  c $(TOP)\src\pre
d730: 70 61 72 65 2e 63 0a 0a 70 72 69 6e 74 66 2e 6c  pare.c..printf.l
d740: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  o:.$(TOP)\src\pr
d750: 69 6e 74 66 2e 63 20 24 28 48 44 52 29 0a 09 24  intf.c $(HDR)..$
d760: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d770: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d780: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70   -c $(TOP)\src\p
d790: 72 69 6e 74 66 2e 63 0a 0a 72 61 6e 64 6f 6d 2e  rintf.c..random.
d7a0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72  lo:.$(TOP)\src\r
d7b0: 61 6e 64 6f 6d 2e 63 20 24 28 48 44 52 29 0a 09  andom.c $(HDR)..
d7c0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d7d0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d7e0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d7f0: 72 61 6e 64 6f 6d 2e 63 0a 0a 72 65 73 6f 6c 76  random.c..resolv
d800: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
d810: 5c 72 65 73 6f 6c 76 65 2e 63 20 24 28 48 44 52  \resolve.c $(HDR
d820: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
d830: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
d840: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
d850: 72 63 5c 72 65 73 6f 6c 76 65 2e 63 0a 0a 72 6f  rc\resolve.c..ro
d860: 77 73 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  wset.lo:.$(TOP)\
d870: 73 72 63 5c 72 6f 77 73 65 74 2e 63 20 24 28 48  src\rowset.c $(H
d880: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d890: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d8a0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d8b0: 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 0a 0a 73  \src\rowset.c..s
d8c0: 65 6c 65 63 74 2e 6c 6f 3a 09 24 28 54 4f 50 29  elect.lo:.$(TOP)
d8d0: 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 20 24 28  \src\select.c $(
d8e0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d8f0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d900: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d910: 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 0a 0a  )\src\select.c..
d920: 73 74 61 74 75 73 2e 6c 6f 3a 09 24 28 54 4f 50  status.lo:.$(TOP
d930: 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20 24  )\src\status.c $
d940: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d950: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d960: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d970: 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 0a  P)\src\status.c.
d980: 0a 74 61 62 6c 65 2e 6c 6f 3a 09 24 28 54 4f 50  .table.lo:.$(TOP
d990: 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20 24 28  )\src\table.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 61 62 6c 65 2e 63 0a 0a 74  )\src\table.c..t
d9e0: 68 72 65 61 64 73 2e 6c 6f 3a 09 24 28 54 4f 50  hreads.lo:.$(TOP
d9f0: 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20  )\src\threads.c 
da00: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
da10: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
da20: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
da30: 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e  OP)\src\threads.
da40: 63 0a 0a 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 3a 09  c..tokenize.lo:.
da50: 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e  $(TOP)\src\token
da60: 69 7a 65 2e 63 20 6b 65 79 77 6f 72 64 68 61 73  ize.c keywordhas
da70: 68 2e 68 20 24 28 48 44 52 29 0a 09 24 28 4c 54  h.h $(HDR)..$(LT
da80: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
da90: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
daa0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65   $(TOP)\src\toke
dab0: 6e 69 7a 65 2e 63 0a 0a 74 72 65 65 76 69 65 77  nize.c..treeview
dac0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
dad0: 74 72 65 65 76 69 65 77 2e 63 20 24 28 48 44 52  treeview.c $(HDR
dae0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
daf0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
db00: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
db10: 72 63 5c 74 72 65 65 76 69 65 77 2e 63 0a 0a 74  rc\treeview.c..t
db20: 72 69 67 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50  rigger.lo:.$(TOP
db30: 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 20  )\src\trigger.c 
db40: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
db50: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
db60: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
db70: 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e  OP)\src\trigger.
db80: 63 0a 0a 75 70 64 61 74 65 2e 6c 6f 3a 09 24 28  c..update.lo:.$(
db90: 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e  TOP)\src\update.
dba0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
dbb0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
dbc0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
dbd0: 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65  (TOP)\src\update
dbe0: 2e 63 0a 0a 75 70 73 65 72 74 2e 6c 6f 3a 09 24  .c..upsert.lo:.$
dbf0: 28 54 4f 50 29 5c 73 72 63 5c 75 70 73 65 72 74  (TOP)\src\upsert
dc00: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
dc10: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
dc20: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
dc30: 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 73 65 72  $(TOP)\src\upser
dc40: 74 2e 63 0a 0a 75 74 66 2e 6c 6f 3a 09 24 28 54  t.c..utf.lo:.$(T
dc50: 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 24 28  OP)\src\utf.c $(
dc60: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
dc70: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
dc80: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
dc90: 29 5c 73 72 63 5c 75 74 66 2e 63 0a 0a 75 74 69  )\src\utf.c..uti
dca0: 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  l.lo:.$(TOP)\src
dcb0: 5c 75 74 69 6c 2e 63 20 24 28 48 44 52 29 0a 09  \util.c $(HDR)..
dcc0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
dcd0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
dce0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
dcf0: 75 74 69 6c 2e 63 0a 0a 76 61 63 75 75 6d 2e 6c  util.c..vacuum.l
dd00: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 61  o:.$(TOP)\src\va
dd10: 63 75 75 6d 2e 63 20 24 28 48 44 52 29 0a 09 24  cuum.c $(HDR)..$
dd20: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
dd30: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
dd40: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v
dd50: 61 63 75 75 6d 2e 63 0a 0a 76 64 62 65 2e 6c 6f  acuum.c..vdbe.lo
dd60: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  :.$(TOP)\src\vdb
dd70: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
dd80: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
dd90: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
dda0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
ddb0: 2e 63 0a 0a 76 64 62 65 61 70 69 2e 6c 6f 3a 09  .c..vdbeapi.lo:.
ddc0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61  $(TOP)\src\vdbea
ddd0: 70 69 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  pi.c $(HDR)..$(L
dde0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
ddf0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
de00: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  c $(TOP)\src\vdb
de10: 65 61 70 69 2e 63 0a 0a 76 64 62 65 61 75 78 2e  eapi.c..vdbeaux.
de20: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76  lo:.$(TOP)\src\v
de30: 64 62 65 61 75 78 2e 63 20 24 28 48 44 52 29 0a  dbeaux.c $(HDR).
de40: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
de50: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
de60: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
de70: 5c 76 64 62 65 61 75 78 2e 63 0a 0a 76 64 62 65  \vdbeaux.c..vdbe
de80: 62 6c 6f 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  blob.lo:.$(TOP)\
de90: 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 24  src\vdbeblob.c $
dea0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
deb0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
dec0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
ded0: 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e  P)\src\vdbeblob.
dee0: 63 0a 0a 76 64 62 65 6d 65 6d 2e 6c 6f 3a 09 24  c..vdbemem.lo:.$
def0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65  (TOP)\src\vdbeme
df00: 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  m.c $(HDR)..$(LT
df10: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
df20: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
df30: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
df40: 6d 65 6d 2e 63 0a 0a 76 64 62 65 73 6f 72 74 2e  mem.c..vdbesort.
df50: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76  lo:.$(TOP)\src\v
df60: 64 62 65 73 6f 72 74 2e 63 20 24 28 48 44 52 29  dbesort.c $(HDR)
df70: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
df80: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
df90: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
dfa0: 63 5c 76 64 62 65 73 6f 72 74 2e 63 0a 0a 76 64  c\vdbesort.c..vd
dfb0: 62 65 74 72 61 63 65 2e 6c 6f 3a 09 24 28 54 4f  betrace.lo:.$(TO
dfc0: 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65  P)\src\vdbetrace
dfd0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
dfe0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
dff0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
e000: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74  $(TOP)\src\vdbet
e010: 72 61 63 65 2e 63 0a 0a 76 74 61 62 2e 6c 6f 3a  race.c..vtab.lo:
e020: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62  .$(TOP)\src\vtab
e030: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
e040: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
e050: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
e060: 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e  $(TOP)\src\vtab.
e070: 63 0a 0a 77 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50  c..wal.lo:.$(TOP
e080: 29 5c 73 72 63 5c 77 61 6c 2e 63 20 24 28 48 44  )\src\wal.c $(HD
e090: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e0a0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
e0b0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
e0c0: 73 72 63 5c 77 61 6c 2e 63 0a 0a 77 61 6c 6b 65  src\wal.c..walke
e0d0: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  r.lo:.$(TOP)\src
e0e0: 5c 77 61 6c 6b 65 72 2e 63 20 24 28 48 44 52 29  \walker.c $(HDR)
e0f0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
e100: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
e110: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
e120: 63 5c 77 61 6c 6b 65 72 2e 63 0a 0a 77 68 65 72  c\walker.c..wher
e130: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
e140: 5c 77 68 65 72 65 2e 63 20 24 28 48 44 52 29 0a  \where.c $(HDR).
e150: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
e160: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e170: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
e180: 5c 77 68 65 72 65 2e 63 0a 0a 77 68 65 72 65 63  \where.c..wherec
e190: 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ode.lo:.$(TOP)\s
e1a0: 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 20 24  rc\wherecode.c $
e1b0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
e1c0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
e1d0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
e1e0: 50 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65  P)\src\wherecode
e1f0: 2e 63 0a 0a 77 68 65 72 65 65 78 70 72 2e 6c 6f  .c..whereexpr.lo
e200: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65  :.$(TOP)\src\whe
e210: 72 65 65 78 70 72 2e 63 20 24 28 48 44 52 29 0a  reexpr.c $(HDR).
e220: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
e230: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e240: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
e250: 5c 77 68 65 72 65 65 78 70 72 2e 63 0a 0a 77 69  \whereexpr.c..wi
e260: 6e 64 6f 77 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  ndow.lo:.$(TOP)\
e270: 73 72 63 5c 77 69 6e 64 6f 77 2e 63 20 24 28 48  src\window.c $(H
e280: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
e290: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
e2a0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
e2b0: 5c 73 72 63 5c 77 69 6e 64 6f 77 2e 63 0a 0a 74  \src\window.c..t
e2c0: 63 6c 73 71 6c 69 74 65 2e 6c 6f 3a 09 24 28 54  clsqlite.lo:.$(T
e2d0: 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74  OP)\src\tclsqlit
e2e0: 65 2e 63 20 24 28 48 44 52 29 20 24 28 53 51 4c  e.c $(HDR) $(SQL
e2f0: 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28  ITE_TCL_DEP)..$(
e300: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f  LTCOMPILE) $(NO_
e310: 57 41 52 4e 29 20 2d 44 55 53 45 5f 54 43 4c 5f  WARN) -DUSE_TCL_
e320: 53 54 55 42 53 3d 31 20 2d 44 42 55 49 4c 44 5f  STUBS=1 -DBUILD_
e330: 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e  sqlite -I$(TCLIN
e340: 43 44 49 52 29 20 2d 63 20 24 28 54 4f 50 29 5c  CDIR) -c $(TOP)\
e350: 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a  src\tclsqlite.c.
e360: 0a 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c  .tclsqlite-shell
e370: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
e380: 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 48 44  tclsqlite.c $(HD
e390: 52 29 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f  R) $(SQLITE_TCL_
e3a0: 44 45 50 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  DEP)..$(LTCOMPIL
e3b0: 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  E) $(NO_WARN) -D
e3c0: 54 43 4c 53 48 20 2d 44 42 55 49 4c 44 5f 73 71  TCLSH -DBUILD_sq
e3d0: 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44  lite -I$(TCLINCD
e3e0: 49 52 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  IR) -c $(TOP)\sr
e3f0: 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74  c\tclsqlite.c..t
e400: 63 6c 73 71 6c 69 74 65 33 2e 65 78 65 3a 09 74  clsqlite3.exe:.t
e410: 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c  clsqlite-shell.l
e420: 6f 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  o $(SQLITE3C) $(
e430: 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52  SQLITE3H) $(LIBR
e440: 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e  ESOBJS)..$(LTLIN
e450: 4b 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  K) $(SQLITE3C) /
e460: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
e470: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS) $(
e480: 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c  TCLLIBPATHS) $(L
e490: 54 4c 49 42 50 41 54 48 53 29 20 2f 4f 55 54 3a  TLIBPATHS) /OUT:
e4a0: 24 40 20 74 63 6c 73 71 6c 69 74 65 2d 73 68 65  $@ tclsqlite-she
e4b0: 6c 6c 2e 6c 6f 20 24 28 4c 49 42 52 45 53 4f 42  ll.lo $(LIBRESOB
e4c0: 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29 20 24  JS) $(TCLLIBS) $
e4d0: 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53  (LTLIBS) $(TLIBS
e4e0: 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75  )..# Rules to bu
e4f0: 69 6c 64 20 6f 70 63 6f 64 65 73 2e 63 20 61 6e  ild opcodes.c an
e500: 64 20 6f 70 63 6f 64 65 73 2e 68 0a 23 0a 6f 70  d opcodes.h.#.op
e510: 63 6f 64 65 73 2e 63 3a 09 6f 70 63 6f 64 65 73  codes.c:.opcodes
e520: 2e 68 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  .h $(TOP)\tool\m
e530: 6b 6f 70 63 6f 64 65 63 2e 74 63 6c 0a 09 24 28  kopcodec.tcl..$(
e540: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
e550: 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63  )\tool\mkopcodec
e560: 2e 74 63 6c 20 6f 70 63 6f 64 65 73 2e 68 20 3e  .tcl opcodes.h >
e570: 20 6f 70 63 6f 64 65 73 2e 63 0a 0a 6f 70 63 6f   opcodes.c..opco
e580: 64 65 73 2e 68 3a 09 70 61 72 73 65 2e 68 20 24  des.h:.parse.h $
e590: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
e5a0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f   $(TOP)\tool\mko
e5b0: 70 63 6f 64 65 68 2e 74 63 6c 0a 09 74 79 70 65  pcodeh.tcl..type
e5c0: 20 70 61 72 73 65 2e 68 20 24 28 54 4f 50 29 5c   parse.h $(TOP)\
e5d0: 73 72 63 5c 76 64 62 65 2e 63 20 7c 20 24 28 54  src\vdbe.c | $(T
e5e0: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
e5f0: 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e  \tool\mkopcodeh.
e600: 74 63 6c 20 3e 20 6f 70 63 6f 64 65 73 2e 68 0a  tcl > opcodes.h.
e610: 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c  .# Rules to buil
e620: 64 20 70 61 72 73 65 2e 63 20 61 6e 64 20 70 61  d parse.c and pa
e630: 72 73 65 2e 68 20 2d 20 74 68 65 20 6f 75 74 70  rse.h - the outp
e640: 75 74 73 20 6f 66 20 6c 65 6d 6f 6e 2e 0a 23 0a  uts of lemon..#.
e650: 70 61 72 73 65 2e 68 3a 09 70 61 72 73 65 2e 63  parse.h:.parse.c
e660: 0a 0a 70 61 72 73 65 2e 63 3a 09 24 28 54 4f 50  ..parse.c:.$(TOP
e670: 29 5c 73 72 63 5c 70 61 72 73 65 2e 79 20 6c 65  )\src\parse.y le
e680: 6d 6f 6e 2e 65 78 65 20 24 28 54 4f 50 29 5c 74  mon.exe $(TOP)\t
e690: 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 65 73 2e 74  ool\addopcodes.t
e6a0: 63 6c 0a 09 64 65 6c 20 2f 51 20 70 61 72 73 65  cl..del /Q parse
e6b0: 2e 79 20 70 61 72 73 65 2e 68 20 70 61 72 73 65  .y parse.h parse
e6c0: 2e 68 2e 74 65 6d 70 20 32 3e 4e 55 4c 0a 09 63  .h.temp 2>NUL..c
e6d0: 6f 70 79 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  opy $(TOP)\src\p
e6e0: 61 72 73 65 2e 79 20 2e 0a 09 2e 5c 6c 65 6d 6f  arse.y ....\lemo
e6f0: 6e 2e 65 78 65 20 24 28 52 45 51 5f 46 45 41 54  n.exe $(REQ_FEAT
e700: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54  URE_FLAGS) $(OPT
e710: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
e720: 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(EXT_FEATURE_FL
e730: 41 47 53 29 20 24 28 4f 50 54 53 29 20 70 61 72  AGS) $(OPTS) par
e740: 73 65 2e 79 0a 09 6d 6f 76 65 20 70 61 72 73 65  se.y..move parse
e750: 2e 68 20 70 61 72 73 65 2e 68 2e 74 65 6d 70 0a  .h parse.h.temp.
e760: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD) $(
e770: 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63  TOP)\tool\addopc
e780: 6f 64 65 73 2e 74 63 6c 20 70 61 72 73 65 2e 68  odes.tcl parse.h
e790: 2e 74 65 6d 70 20 3e 20 70 61 72 73 65 2e 68 0a  .temp > parse.h.
e7a0: 0a 24 28 53 51 4c 49 54 45 33 48 29 3a 09 24 28  .$(SQLITE3H):.$(
e7b0: 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 2e  TOP)\src\sqlite.
e7c0: 68 2e 69 6e 20 24 28 54 4f 50 29 5c 6d 61 6e 69  h.in $(TOP)\mani
e7d0: 66 65 73 74 20 6d 6b 73 6f 75 72 63 65 69 64 2e  fest mksourceid.
e7e0: 65 78 65 20 24 28 54 4f 50 29 5c 56 45 52 53 49  exe $(TOP)\VERSI
e7f0: 4f 4e 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  ON..$(TCLSH_CMD)
e800: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73   $(TOP)\tool\mks
e810: 71 6c 69 74 65 33 68 2e 74 63 6c 20 24 28 54 4f  qlite3h.tcl $(TO
e820: 50 3a 5c 3d 2f 29 20 3e 20 24 28 53 51 4c 49 54  P:\=/) > $(SQLIT
e830: 45 33 48 29 20 24 28 4d 4b 53 51 4c 49 54 45 33  E3H) $(MKSQLITE3
e840: 48 5f 41 52 47 53 29 0a 0a 73 71 6c 69 74 65 33  H_ARGS)..sqlite3
e850: 65 78 74 2e 68 3a 09 2e 74 61 72 67 65 74 5f 73  ext.h:..target_s
e860: 6f 75 72 63 65 0a 21 49 46 20 24 28 55 53 45 5f  ource.!IF $(USE_
e870: 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24  STDCALL)!=0 || $
e880: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 09  (FOR_WIN10)!=0..
e890: 74 79 70 65 20 74 73 72 63 5c 73 71 6c 69 74 65  type tsrc\sqlite
e8a0: 33 65 78 74 2e 68 20 7c 20 24 28 54 43 4c 53 48  3ext.h | $(TCLSH
e8b0: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
e8c0: 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65  l\replace.tcl re
e8d0: 67 73 75 62 20 22 5c 28 5c 2a 5c 29 22 20 22 28  gsub "\(\*\)" "(
e8e0: 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 20  SQLITE_CALLBACK 
e8f0: 2a 29 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53  *)" \...| $(TCLS
e900: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
e910: 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72  ol\replace.tcl r
e920: 65 67 73 75 62 20 22 5c 28 5c 2a 22 20 22 28 53  egsub "\(\*" "(S
e930: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 20 2a 22  QLITE_APICALL *"
e940: 20 3e 20 73 71 6c 69 74 65 33 65 78 74 2e 68 0a   > sqlite3ext.h.
e950: 09 63 6f 70 79 20 2f 59 20 73 71 6c 69 74 65 33  .copy /Y sqlite3
e960: 65 78 74 2e 68 20 74 73 72 63 5c 73 71 6c 69 74  ext.h tsrc\sqlit
e970: 65 33 65 78 74 2e 68 0a 21 45 4c 53 45 0a 09 63  e3ext.h.!ELSE..c
e980: 6f 70 79 20 2f 59 20 74 73 72 63 5c 73 71 6c 69  opy /Y tsrc\sqli
e990: 74 65 33 65 78 74 2e 68 20 73 71 6c 69 74 65 33  te3ext.h sqlite3
e9a0: 65 78 74 2e 68 0a 21 45 4e 44 49 46 0a 0a 6d 6b  ext.h.!ENDIF..mk
e9b0: 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65 3a  keywordhash.exe:
e9c0: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b  .$(TOP)\tool\mkk
e9d0: 65 79 77 6f 72 64 68 61 73 68 2e 63 0a 09 24 28  eywordhash.c..$(
e9e0: 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  BCC) $(NO_WARN) 
e9f0: 2d 46 65 24 40 20 24 28 52 45 51 5f 46 45 41 54  -Fe$@ $(REQ_FEAT
ea00: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54  URE_FLAGS) $(OPT
ea10: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
ea20: 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(EXT_FEATURE_FL
ea30: 41 47 53 29 20 24 28 4f 50 54 53 29 20 5c 0a 09  AGS) $(OPTS) \..
ea40: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b  .$(TOP)\tool\mkk
ea50: 65 79 77 6f 72 64 68 61 73 68 2e 63 20 2f 6c 69  eywordhash.c /li
ea60: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
ea70: 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e  NLTLINKOPTS) $(N
ea80: 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a 6b 65 79  LTLIBPATHS)..key
ea90: 77 6f 72 64 68 61 73 68 2e 68 3a 09 24 28 54 4f  wordhash.h:.$(TO
eaa0: 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72  P)\tool\mkkeywor
eab0: 64 68 61 73 68 2e 63 20 6d 6b 6b 65 79 77 6f 72  dhash.c mkkeywor
eac0: 64 68 61 73 68 2e 65 78 65 0a 09 2e 5c 6d 6b 6b  dhash.exe...\mkk
ead0: 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65 20 3e  eywordhash.exe >
eae0: 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 0a 0a   keywordhash.h..
eaf0: 23 20 53 6f 75 72 63 65 20 66 69 6c 65 73 20 74  # Source files t
eb00: 68 61 74 20 67 6f 20 69 6e 74 6f 20 6d 61 6b 69  hat go into maki
eb10: 6e 67 20 73 68 65 6c 6c 2e 63 0a 53 48 45 4c 4c  ng shell.c.SHELL
eb20: 5f 53 52 43 20 3d 20 5c 0a 09 24 28 54 4f 50 29  _SRC = \..$(TOP)
eb30: 5c 73 72 63 5c 73 68 65 6c 6c 2e 63 2e 69 6e 20  \src\shell.c.in 
eb40: 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  \..$(TOP)\ext\mi
eb50: 73 63 5c 61 70 70 65 6e 64 76 66 73 2e 63 20 5c  sc\appendvfs.c \
eb60: 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  ..$(TOP)\ext\mis
eb70: 63 5c 73 68 61 74 68 72 65 65 2e 63 20 5c 0a 09  c\shathree.c \..
eb80: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
eb90: 66 69 6c 65 69 6f 2e 63 20 5c 0a 09 24 28 54 4f  fileio.c \..$(TO
eba0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 6f 6d 70  P)\ext\misc\comp
ebb0: 6c 65 74 69 6f 6e 2e 63 20 5c 0a 09 24 28 54 4f  letion.c \..$(TO
ebc0: 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71  P)\ext\expert\sq
ebd0: 6c 69 74 65 33 65 78 70 65 72 74 2e 63 20 5c 0a  lite3expert.c \.
ebe0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65  .$(TOP)\ext\expe
ebf0: 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74  rt\sqlite3expert
ec00: 2e 68 20 5c 0a 09 24 28 54 4f 50 29 5c 73 72 63  .h \..$(TOP)\src
ec10: 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 6e 74 2e  \test_windirent.
ec20: 63 0a 0a 23 20 49 66 20 75 73 65 20 6f 66 20 7a  c..# If use of z
ec30: 6c 69 62 20 69 73 20 65 6e 61 62 6c 65 64 2c 20  lib is enabled, 
ec40: 61 64 64 20 74 68 65 20 22 7a 69 70 66 69 6c 65  add the "zipfile
ec50: 2e 63 22 20 73 6f 75 72 63 65 20 66 69 6c 65 2e  .c" source file.
ec60: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49  .#.!IF $(USE_ZLI
ec70: 42 29 21 3d 30 0a 53 48 45 4c 4c 5f 53 52 43 20  B)!=0.SHELL_SRC 
ec80: 3d 20 24 28 53 48 45 4c 4c 5f 53 52 43 29 20 24  = $(SHELL_SRC) $
ec90: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73  (TOP)\ext\misc\s
eca0: 71 6c 61 72 2e 63 0a 53 48 45 4c 4c 5f 53 52 43  qlar.c.SHELL_SRC
ecb0: 20 3d 20 24 28 53 48 45 4c 4c 5f 53 52 43 29 20   = $(SHELL_SRC) 
ecc0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
ecd0: 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e 44 49 46  zipfile.c.!ENDIF
ece0: 0a 0a 73 68 65 6c 6c 2e 63 3a 09 24 28 53 48 45  ..shell.c:.$(SHE
ecf0: 4c 4c 5f 53 52 43 29 20 24 28 54 4f 50 29 5c 74  LL_SRC) $(TOP)\t
ed00: 6f 6f 6c 5c 6d 6b 73 68 65 6c 6c 63 2e 74 63 6c  ool\mkshellc.tcl
ed10: 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  ..$(TCLSH_CMD) $
ed20: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 68 65  (TOP)\tool\mkshe
ed30: 6c 6c 63 2e 74 63 6c 20 3e 20 73 68 65 6c 6c 2e  llc.tcl > shell.
ed40: 63 0a 0a 7a 6c 69 62 3a 0a 09 70 75 73 68 64 20  c..zlib:..pushd 
ed50: 24 28 5a 4c 49 42 44 49 52 29 20 26 26 20 24 28  $(ZLIBDIR) && $(
ed60: 4d 41 4b 45 29 20 2f 66 20 77 69 6e 33 32 5c 4d  MAKE) /f win32\M
ed70: 61 6b 65 66 69 6c 65 2e 6d 73 63 20 63 6c 65 61  akefile.msc clea
ed80: 6e 20 24 28 5a 4c 49 42 4c 49 42 29 20 26 26 20  n $(ZLIBLIB) && 
ed90: 70 6f 70 64 0a 0a 23 20 52 75 6c 65 73 20 74 6f  popd..# Rules to
eda0: 20 62 75 69 6c 64 20 74 68 65 20 65 78 74 65 6e   build the exten
edb0: 73 69 6f 6e 20 6f 62 6a 65 63 74 73 2e 0a 23 0a  sion objects..#.
edc0: 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  icu.lo:.$(TOP)\e
edd0: 78 74 5c 69 63 75 5c 69 63 75 2e 63 20 24 28 48  xt\icu\icu.c $(H
ede0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
edf0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
ee00: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ee10: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
ee20: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
ee30: 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e  OP)\ext\icu\icu.
ee40: 63 0a 0a 66 74 73 32 2e 6c 6f 3a 09 24 28 54 4f  c..fts2.lo:.$(TO
ee50: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
ee60: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
ee70: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
ee80: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
ee90: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
eea0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
eeb0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
eec0: 73 32 5c 66 74 73 32 2e 63 0a 0a 66 74 73 32 5f  s2\fts2.c..fts2_
eed0: 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  hash.lo:.$(TOP)\
eee0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61  ext\fts2\fts2_ha
eef0: 73 68 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  sh.c $(HDR) $(EX
ef00: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
ef10: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
ef20: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
ef30: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
ef40: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
ef50: 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 63  fts2\fts2_hash.c
ef60: 0a 0a 66 74 73 32 5f 69 63 75 2e 6c 6f 3a 09 24  ..fts2_icu.lo:.$
ef70: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
ef80: 74 73 32 5f 69 63 75 2e 63 20 24 28 48 44 52 29  ts2_icu.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 69  \ext\fts2\fts2_i
eff0: 63 75 2e 63 0a 0a 66 74 73 32 5f 70 6f 72 74 65  cu.c..fts2_porte
f000: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  r.lo:.$(TOP)\ext
f010: 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74 65  \fts2\fts2_porte
f020: 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  r.c $(HDR) $(EXT
f030: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
f040: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
f050: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
f060: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
f070: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
f080: 74 73 32 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e  ts2\fts2_porter.
f090: 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65  c..fts2_tokenize
f0a0: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  r.lo:.$(TOP)\ext
f0b0: 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e  \fts2\fts2_token
f0c0: 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20 24 28  izer.c $(HDR) $(
f0d0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
f0e0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
f0f0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
f100: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
f110: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
f120: 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65  t\fts2\fts2_toke
f130: 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 32 5f 74 6f  nizer.c..fts2_to
f140: 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 28 54  kenizer1.lo:.$(T
f150: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
f160: 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 24  2_tokenizer1.c $
f170: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
f180: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
f190: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
f1a0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
f1b0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
f1c0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
f1d0: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63  ts2_tokenizer1.c
f1e0: 0a 0a 66 74 73 33 2e 6c 6f 3a 09 24 28 54 4f 50  ..fts3.lo:.$(TOP
f1f0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e  )\ext\fts3\fts3.
f200: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
f210: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
f220: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
f230: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
f240: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
f250: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
f260: 33 5c 66 74 73 33 2e 63 0a 0a 66 74 73 33 5f 61  3\fts3.c..fts3_a
f270: 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  ux.lo:.$(TOP)\ex
f280: 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 78 2e  t\fts3\fts3_aux.
f290: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
f2a0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
f2b0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
f2c0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
f2d0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
f2e0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
f2f0: 33 5c 66 74 73 33 5f 61 75 78 2e 63 0a 0a 66 74  3\fts3_aux.c..ft
f300: 73 33 5f 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f  s3_expr.lo:.$(TO
f310: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
f320: 5f 65 78 70 72 2e 63 20 24 28 48 44 52 29 20 24  _expr.c $(HDR) $
f330: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
f340: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
f350: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
f360: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
f370: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
f380: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70  xt\fts3\fts3_exp
f390: 72 2e 63 0a 0a 66 74 73 33 5f 68 61 73 68 2e 6c  r.c..fts3_hash.l
f3a0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
f3b0: 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 63 20 24  s3\fts3_hash.c $
f3c0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
f3d0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
f3e0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
f3f0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
f400: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
f410: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
f420: 74 73 33 5f 68 61 73 68 2e 63 0a 0a 66 74 73 33  ts3_hash.c..fts3
f430: 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  _icu.lo:.$(TOP)\
f440: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63  ext\fts3\fts3_ic
f450: 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  u.c $(HDR) $(EXT
f460: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
f470: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
f480: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
f490: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
f4a0: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
f4b0: 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 0a 0a  ts3\fts3_icu.c..
f4c0: 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 3a  fts3_snippet.lo:
f4d0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
f4e0: 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 20  \fts3_snippet.c 
f4f0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
f500: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
f510: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
f520: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
f530: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
f540: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
f550: 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 0a 0a  fts3_snippet.c..
f560: 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09  fts3_porter.lo:.
f570: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
f580: 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 20 24 28  fts3_porter.c $(
f590: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
f5a0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
f5b0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
f5c0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
f5d0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
f5e0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
f5f0: 73 33 5f 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73  s3_porter.c..fts
f600: 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09  3_tokenizer.lo:.
f610: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
f620: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63  fts3_tokenizer.c
f630: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
f640: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
f650: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
f660: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
f670: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
f680: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
f690: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts3_tokenizer.
f6a0: 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  c..fts3_tokenize
f6b0: 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  r1.lo:.$(TOP)\ex
f6c0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
f6d0: 6e 69 7a 65 72 31 2e 63 20 24 28 48 44 52 29 20  nizer1.c $(HDR) 
f6e0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
f6f0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
f700: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
f710: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
f720: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
f730: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
f740: 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33  kenizer1.c..fts3
f750: 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c  _tokenize_vtab.l
f760: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
f770: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
f780: 5f 76 74 61 62 2e 63 20 24 28 48 44 52 29 20 24  _vtab.c $(HDR) $
f790: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
f7a0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
f7b0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
f7c0: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
f7d0: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
f7e0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
f7f0: 65 6e 69 7a 65 5f 76 74 61 62 2e 63 0a 0a 66 74  enize_vtab.c..ft
f800: 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 3a 09 24  s3_unicode.lo:.$
f810: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
f820: 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20 24 28  ts3_unicode.c $(
f830: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
f840: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
f850: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
f860: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
f870: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
f880: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
f890: 73 33 5f 75 6e 69 63 6f 64 65 2e 63 0a 0a 66 74  s3_unicode.c..ft
f8a0: 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f 3a 09  s3_unicode2.lo:.
f8b0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
f8c0: 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63 20  fts3_unicode2.c 
f8d0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
f8e0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
f8f0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
f900: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
f910: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
f920: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
f930: 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63 0a  fts3_unicode2.c.
f940: 0a 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f 3a 09  .fts3_write.lo:.
f950: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
f960: 66 74 73 33 5f 77 72 69 74 65 2e 63 20 24 28 48  fts3_write.c $(H
f970: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
f980: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
f990: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
f9a0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
f9b0: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
f9c0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f9d0: 33 5f 77 72 69 74 65 2e 63 0a 0a 6a 73 6f 6e 31  3_write.c..json1
f9e0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
f9f0: 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 20 24 28 48  misc\json1.c $(H
fa00: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
fa10: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
fa20: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
fa30: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
fa40: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
fa50: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a 73 6f  OP)\ext\misc\jso
fa60: 6e 31 2e 63 0a 0a 73 74 6d 74 2e 6c 6f 3a 09 24  n1.c..stmt.lo:.$
fa70: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73  (TOP)\ext\misc\s
fa80: 74 6d 74 2e 63 20 24 28 48 44 52 29 20 24 28 45  tmt.c $(HDR) $(E
fa90: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
faa0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
fab0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
fac0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
fad0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
fae0: 5c 6d 69 73 63 5c 73 74 6d 74 2e 63 0a 0a 72 74  \misc\stmt.c..rt
faf0: 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ree.lo:.$(TOP)\e
fb00: 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 63  xt\rtree\rtree.c
fb10: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
fb20: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
fb30: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
fb40: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
fb50: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
fb60: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65   $(TOP)\ext\rtre
fb70: 65 5c 72 74 72 65 65 2e 63 0a 0a 73 71 6c 69 74  e\rtree.c..sqlit
fb80: 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 3a 09 24 28  e3session.lo:.$(
fb90: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
fba0: 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e  \sqlite3session.
fbb0: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
fbc0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
fbd0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
fbe0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
fbf0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
fc00: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73  c $(TOP)\ext\ses
fc10: 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73  sion\sqlite3sess
fc20: 69 6f 6e 2e 63 0a 0a 23 20 46 54 53 35 20 74 68  ion.c..# FTS5 th
fc30: 69 6e 67 73 0a 23 0a 46 54 53 35 5f 53 52 43 20  ings.#.FTS5_SRC 
fc40: 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  = \.   $(TOP)\ex
fc50: 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 5c 0a  t\fts5\fts5.h \.
fc60: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
fc70: 73 35 5c 66 74 73 35 49 6e 74 2e 68 20 5c 0a 20  s5\fts5Int.h \. 
fc80: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
fc90: 35 5c 66 74 73 35 5f 61 75 78 2e 63 20 5c 0a 20  5\fts5_aux.c \. 
fca0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
fcb0: 35 5c 66 74 73 35 5f 62 75 66 66 65 72 2e 63 20  5\fts5_buffer.c 
fcc0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
fcd0: 66 74 73 35 5c 66 74 73 35 5f 6d 61 69 6e 2e 63  fts5\fts5_main.c
fce0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
fcf0: 5c 66 74 73 35 5c 66 74 73 35 5f 63 6f 6e 66 69  \fts5\fts5_confi
fd00: 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  g.c \.   $(TOP)\
fd10: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 65 78  ext\fts5\fts5_ex
fd20: 70 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  pr.c \.   $(TOP)
fd30: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 68  \ext\fts5\fts5_h
fd40: 61 73 68 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  ash.c \.   $(TOP
fd50: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
fd60: 69 6e 64 65 78 2e 63 20 5c 0a 20 20 20 66 74 73  index.c \.   fts
fd70: 35 70 61 72 73 65 2e 63 20 66 74 73 35 70 61 72  5parse.c fts5par
fd80: 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  se.h \.   $(TOP)
fd90: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 73  \ext\fts5\fts5_s
fda0: 74 6f 72 61 67 65 2e 63 20 5c 0a 20 20 20 24 28  torage.c \.   $(
fdb0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
fdc0: 73 35 5f 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a  s5_tokenize.c \.
fdd0: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
fde0: 73 35 5c 66 74 73 35 5f 75 6e 69 63 6f 64 65 32  s5\fts5_unicode2
fdf0: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e
fe00: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 76 61 72  xt\fts5\fts5_var
fe10: 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  int.c \.   $(TOP
fe20: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
fe30: 76 6f 63 61 62 2e 63 0a 0a 4c 53 4d 31 5f 53 52  vocab.c..LSM1_SR
fe40: 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  C = \.   $(TOP)\
fe50: 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e 68 20 5c  ext\lsm1\lsm.h \
fe60: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
fe70: 73 6d 31 5c 6c 73 6d 49 6e 74 2e 68 20 5c 0a 20  sm1\lsmInt.h \. 
fe80: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
fe90: 31 5c 6c 73 6d 5f 63 6b 70 74 2e 63 20 5c 0a 20  1\lsm_ckpt.c \. 
fea0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
feb0: 31 5c 6c 73 6d 5f 66 69 6c 65 2e 63 20 5c 0a 20  1\lsm_file.c \. 
fec0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
fed0: 31 5c 6c 73 6d 5f 6c 6f 67 2e 63 20 5c 0a 20 20  1\lsm_log.c \.  
fee0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
fef0: 5c 6c 73 6d 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20  \lsm_main.c \.  
ff00: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
ff10: 5c 6c 73 6d 5f 6d 65 6d 2e 63 20 5c 0a 20 20 20  \lsm_mem.c \.   
ff20: 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c  $(TOP)\ext\lsm1\
ff30: 6c 73 6d 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20  lsm_mutex.c \.  
ff40: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
ff50: 5c 6c 73 6d 5f 73 68 61 72 65 64 2e 63 20 5c 0a  \lsm_shared.c \.
ff60: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls
ff70: 6d 31 5c 6c 73 6d 5f 73 6f 72 74 65 64 2e 63 20  m1\lsm_sorted.c 
ff80: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
ff90: 6c 73 6d 31 5c 6c 73 6d 5f 73 74 72 2e 63 20 5c  lsm1\lsm_str.c \
ffa0: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
ffb0: 73 6d 31 5c 6c 73 6d 5f 74 72 65 65 2e 63 20 5c  sm1\lsm_tree.c \
ffc0: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
ffd0: 73 6d 31 5c 6c 73 6d 5f 75 6e 69 78 2e 63 20 5c  sm1\lsm_unix.c \
ffe0: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
fff0: 73 6d 31 5c 6c 73 6d 5f 76 61 72 69 6e 74 2e 63  sm1\lsm_varint.c
10000 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
10010 5c 6c 73 6d 31 5c 6c 73 6d 5f 76 74 61 62 2e 63  \lsm1\lsm_vtab.c
10020 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
10030 5c 6c 73 6d 31 5c 6c 73 6d 5f 77 69 6e 33 32 2e  \lsm1\lsm_win32.
10040 63 0a 0a 66 74 73 35 70 61 72 73 65 2e 63 3a 09  c..fts5parse.c:.
10050 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\
10060 66 74 73 35 70 61 72 73 65 2e 79 20 6c 65 6d 6f  fts5parse.y lemo
10070 6e 2e 65 78 65 0a 09 63 6f 70 79 20 24 28 54 4f  n.exe..copy $(TO
10080 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
10090 70 61 72 73 65 2e 79 20 2e 0a 09 64 65 6c 20 2f  parse.y ...del /
100a0 51 20 66 74 73 35 70 61 72 73 65 2e 68 20 32 3e  Q fts5parse.h 2>
100b0 4e 55 4c 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65  NUL...\lemon.exe
100c0 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46   $(REQ_FEATURE_F
100d0 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54  LAGS) $(OPT_FEAT
100e0 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54  URE_FLAGS) $(EXT
100f0 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
10100 24 28 4f 50 54 53 29 20 66 74 73 35 70 61 72 73  $(OPTS) fts5pars
10110 65 2e 79 0a 0a 66 74 73 35 70 61 72 73 65 2e 68  e.y..fts5parse.h
10120 3a 09 66 74 73 35 70 61 72 73 65 2e 63 0a 0a 66  :.fts5parse.c..f
10130 74 73 35 2e 63 3a 09 24 28 46 54 53 35 5f 53 52  ts5.c:.$(FTS5_SR
10140 43 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  C)..$(TCLSH_CMD)
10150 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
10160 5c 74 6f 6f 6c 5c 6d 6b 66 74 73 35 63 2e 74 63  \tool\mkfts5c.tc
10170 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65  l..copy $(TOP)\e
10180 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 2e  xt\fts5\fts5.h .
10190 0a 0a 6c 73 6d 31 2e 63 3a 09 24 28 4c 53 4d 31  ..lsm1.c:.$(LSM1
101a0 5f 53 52 43 29 0a 09 24 28 54 43 4c 53 48 5f 43  _SRC)..$(TCLSH_C
101b0 4d 44 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  MD) $(TOP)\ext\l
101c0 73 6d 31 5c 74 6f 6f 6c 5c 6d 6b 6c 73 6d 31 63  sm1\tool\mklsm1c
101d0 2e 74 63 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50  .tcl..copy $(TOP
101e0 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e 68  )\ext\lsm1\lsm.h
101f0 20 2e 0a 0a 66 74 73 35 2e 6c 6f 3a 09 66 74 73   ...fts5.lo:.fts
10200 35 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  5.c $(HDR) $(EXT
10210 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
10220 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
10230 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
10240 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
10250 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 73 35   -c fts5.c..fts5
10260 5f 65 78 74 2e 6c 6f 3a 09 66 74 73 35 2e 63 20  _ext.lo:.fts5.c 
10270 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
10280 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
10290 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 66 74 73  (NO_WARN) -c fts
102a0 35 2e 63 0a 0a 66 74 73 35 2e 64 6c 6c 3a 09 66  5.c..fts5.dll:.f
102b0 74 73 35 5f 65 78 74 2e 6c 6f 0a 09 24 28 4c 44  ts5_ext.lo..$(LD
102c0 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  ) $(LDFLAGS) $(L
102d0 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c  TLINKOPTS) $(LTL
102e0 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f  IBPATHS) /DLL /O
102f0 55 54 3a 24 40 20 66 74 73 35 5f 65 78 74 2e 6c  UT:$@ fts5_ext.l
10300 6f 0a 0a 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f  o..sqlite3rbu.lo
10310 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75  :.$(TOP)\ext\rbu
10320 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20 24 28  \sqlite3rbu.c $(
10330 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
10340 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53  $(LTCOMPILE) -DS
10350 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
10360 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c  TOP)\ext\rbu\sql
10370 69 74 65 33 72 62 75 2e 63 0a 0a 23 20 52 75 6c  ite3rbu.c..# Rul
10380 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20  es to build the 
10390 27 74 65 73 74 66 69 78 74 75 72 65 27 20 61 70  'testfixture' ap
103a0 70 6c 69 63 61 74 69 6f 6e 2e 0a 23 0a 23 20 49  plication..#.# I
103b0 66 20 75 73 69 6e 67 20 74 68 65 20 61 6d 61 6c  f using the amal
103c0 67 61 6d 61 74 69 6f 6e 2c 20 75 73 65 20 73 71  gamation, use sq
103d0 6c 69 74 65 33 2e 63 20 64 69 72 65 63 74 6c 79  lite3.c directly
103e0 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 74 65   to build the te
103f0 73 74 0a 23 20 66 69 78 74 75 72 65 2e 20 20 4f  st.# fixture.  O
10400 74 68 65 72 77 69 73 65 20 6c 69 6e 6b 20 61 67  therwise link ag
10410 61 69 6e 73 74 20 6c 69 62 73 71 6c 69 74 65 33  ainst libsqlite3
10420 2e 6c 69 62 2e 20 20 28 54 68 69 73 20 64 69 73  .lib.  (This dis
10430 74 69 6e 63 74 69 6f 6e 20 69 73 0a 23 20 6e 65  tinction is.# ne
10440 63 65 73 73 61 72 79 20 62 65 63 61 75 73 65 20  cessary because 
10450 74 68 65 20 74 65 73 74 20 66 69 78 74 75 72 65  the test fixture
10460 20 72 65 71 75 69 72 65 73 20 6e 6f 6e 2d 41 50   requires non-AP
10470 49 20 73 79 6d 62 6f 6c 73 20 77 68 69 63 68 20  I symbols which 
10480 61 72 65 0a 23 20 68 69 64 64 65 6e 20 77 68 65  are.# hidden whe
10490 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 69 73  n the library is
104a0 20 62 75 69 6c 74 20 76 69 61 20 74 68 65 20 61   built via the a
104b0 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a  malgamation)..#.
104c0 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
104d0 53 20 3d 20 2d 44 54 43 4c 53 48 5f 49 4e 49 54  S = -DTCLSH_INIT
104e0 5f 50 52 4f 43 3d 73 71 6c 69 74 65 33 54 65 73  _PROC=sqlite3Tes
104f0 74 49 6e 69 74 20 2d 44 53 51 4c 49 54 45 5f 54  tInit -DSQLITE_T
10500 45 53 54 3d 31 20 2d 44 53 51 4c 49 54 45 5f 43  EST=1 -DSQLITE_C
10510 52 41 53 48 5f 54 45 53 54 3d 31 0a 54 45 53 54  RASH_TEST=1.TEST
10520 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FIXTURE_FLAGS = 
10530 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  $(TESTFIXTURE_FL
10540 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53 45  AGS) -DSQLITE_SE
10550 52 56 45 52 3d 31 20 2d 44 53 51 4c 49 54 45 5f  RVER=1 -DSQLITE_
10560 50 52 49 56 41 54 45 3d 22 22 0a 54 45 53 54 46  PRIVATE="".TESTF
10570 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  IXTURE_FLAGS = $
10580 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  (TESTFIXTURE_FLA
10590 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  GS) -DSQLITE_COR
105a0 45 20 24 28 4e 4f 5f 57 41 52 4e 29 0a 54 45 53  E $(NO_WARN).TES
105b0 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d  TFIXTURE_FLAGS =
105c0 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46   $(TESTFIXTURE_F
105d0 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53  LAGS) -DSQLITE_S
105e0 45 52 49 45 53 5f 43 4f 4e 53 54 52 41 49 4e 54  ERIES_CONSTRAINT
105f0 5f 56 45 52 49 46 59 3d 31 0a 54 45 53 54 46 49  _VERIFY=1.TESTFI
10600 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  XTURE_FLAGS = $(
10610 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
10620 53 29 20 2d 44 53 51 4c 49 54 45 5f 44 45 46 41  S) -DSQLITE_DEFA
10630 55 4c 54 5f 50 41 47 45 5f 53 49 5a 45 3d 31 30  ULT_PAGE_SIZE=10
10640 32 34 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46  24.TESTFIXTURE_F
10650 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58  LAGS = $(TESTFIX
10660 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
10670 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 4d 54  LITE_ENABLE_STMT
10680 56 54 41 42 3d 31 0a 54 45 53 54 46 49 58 54 55  VTAB=1.TESTFIXTU
10690 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53  RE_FLAGS = $(TES
106a0 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20  TFIXTURE_FLAGS) 
106b0 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
106c0 44 42 50 41 47 45 5f 56 54 41 42 3d 31 0a 54 45  DBPAGE_VTAB=1.TE
106d0 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20  STFIXTURE_FLAGS 
106e0 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  = $(TESTFIXTURE_
106f0 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
10700 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 3d 31 0a 54  ENABLE_JSON1=1.T
10710 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
10720 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45   = $(TESTFIXTURE
10730 5f 46 4c 41 47 53 29 20 24 28 54 45 53 54 5f 43  _FLAGS) $(TEST_C
10740 43 4f 4e 56 5f 4f 50 54 53 29 0a 0a 54 45 53 54  CONV_OPTS)..TEST
10750 46 49 58 54 55 52 45 5f 53 52 43 30 20 3d 20 24  FIXTURE_SRC0 = $
10760 28 54 45 53 54 45 58 54 29 20 24 28 54 45 53 54  (TESTEXT) $(TEST
10770 53 52 43 32 29 0a 54 45 53 54 46 49 58 54 55 52  SRC2).TESTFIXTUR
10780 45 5f 53 52 43 31 20 3d 20 24 28 54 45 53 54 45  E_SRC1 = $(TESTE
10790 58 54 29 20 24 28 53 51 4c 49 54 45 33 43 29 0a  XT) $(SQLITE3C).
107a0 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41  !IF $(USE_AMALGA
107b0 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 45 53 54 46  MATION)==0.TESTF
107c0 49 58 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54  IXTURE_SRC = $(T
107d0 45 53 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73  ESTSRC) $(TOP)\s
107e0 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24  rc\tclsqlite.c $
107f0 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43  (TESTFIXTURE_SRC
10800 30 29 0a 21 45 4c 53 45 0a 54 45 53 54 46 49 58  0).!ELSE.TESTFIX
10810 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54 45 53  TURE_SRC = $(TES
10820 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73 72 63  TSRC) $(TOP)\src
10830 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54  \tclsqlite.c $(T
10840 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 31 29  ESTFIXTURE_SRC1)
10850 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 55  .!ENDIF..!IF $(U
10860 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c  SE_STDCALL)!=0 |
10870 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
10880 30 0a 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c  0.sqlite_tclDecl
10890 73 2e 68 3a 0a 09 65 63 68 6f 20 23 69 66 6e 64  s.h:..echo #ifnd
108a0 65 66 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49  ef SQLITE_TCLAPI
108b0 20 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45   > $(SQLITETCLDE
108c0 43 4c 53 48 29 0a 09 65 63 68 6f 20 23 20 20 64  CLSH)..echo #  d
108d0 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 54 43 4c  efine SQLITE_TCL
108e0 41 50 49 20 3e 3e 20 24 28 53 51 4c 49 54 45 54  API >> $(SQLITET
108f0 43 4c 44 45 43 4c 53 48 29 0a 09 65 63 68 6f 20  CLDECLSH)..echo 
10900 23 65 6e 64 69 66 20 3e 3e 20 24 28 53 51 4c 49  #endif >> $(SQLI
10910 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 74 79  TETCLDECLSH)..ty
10920 70 65 20 22 24 28 54 43 4c 49 4e 43 44 49 52 29  pe "$(TCLINCDIR)
10930 5c 74 63 6c 44 65 63 6c 73 2e 68 22 20 5c 0a 09  \tclDecls.h" \..
10940 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  .| $(TCLSH_CMD) 
10950 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl
10960 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22  ace.tcl regsub "
10970 5e 28 45 58 54 45 52 4e 28 3f 3a 20 43 4f 4e 53  ^(EXTERN(?: CONS
10980 54 5c 64 2b 3f 29 3f 5c 73 2b 3f 5b 5e 5c 28 5d  T\d+?)?\s+?[^\(]
10990 2a 3f 5c 73 2b 3f 29 54 63 6c 5f 22 20 22 5c 31  *?\s+?)Tcl_" "\1
109a0 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54   SQLITE_TCLAPI T
109b0 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c  cl_" \...| $(TCL
109c0 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
109d0 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20  ool\replace.tcl 
109e0 72 65 67 73 75 62 20 22 5e 28 45 58 54 45 52 4e  regsub "^(EXTERN
109f0 5c 73 2b 3f 28 3f 3a 76 6f 69 64 7c 56 4f 49 44  \s+?(?:void|VOID
10a00 29 5c 73 2b 3f 29 54 63 6c 46 72 65 65 4f 62 6a  )\s+?)TclFreeObj
10a10 22 20 22 5c 31 20 53 51 4c 49 54 45 5f 54 43 4c  " "\1 SQLITE_TCL
10a20 41 50 49 20 54 63 6c 46 72 65 65 4f 62 6a 22 20  API TclFreeObj" 
10a30 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM
10a40 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r
10a50 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75  eplace.tcl regsu
10a60 62 20 22 5c 28 5c 2a 74 63 6c 5f 22 20 22 28 53  b "\(\*tcl_" "(S
10a70 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 74 63  QLITE_TCLAPI *tc
10a80 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53  l_" \...| $(TCLS
10a90 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
10aa0 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72  ol\replace.tcl r
10ab0 65 67 73 75 62 20 22 5c 28 5c 2a 74 63 6c 46 72  egsub "\(\*tclFr
10ac0 65 65 4f 62 6a 22 20 22 28 53 51 4c 49 54 45 5f  eeObj" "(SQLITE_
10ad0 54 43 4c 41 50 49 20 2a 74 63 6c 46 72 65 65 4f  TCLAPI *tclFreeO
10ae0 62 6a 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53  bj" \...| $(TCLS
10af0 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
10b00 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72  ol\replace.tcl r
10b10 65 67 73 75 62 20 22 5c 28 5c 2a 22 20 22 28 53  egsub "\(\*" "(S
10b20 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 22 20  QLITE_TCLAPI *" 
10b30 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45  >> $(SQLITETCLDE
10b40 43 4c 53 48 29 0a 0a 73 71 6c 69 74 65 5f 74 63  CLSH)..sqlite_tc
10b50 6c 2e 68 3a 0a 09 74 79 70 65 20 22 24 28 54 43  l.h:..type "$(TC
10b60 4c 49 4e 43 44 49 52 29 5c 74 63 6c 2e 68 22 20  LINCDIR)\tcl.h" 
10b70 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
10b80 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
10b90 63 65 2e 74 63 6c 20 65 78 61 63 74 20 74 63 6c  ce.tcl exact tcl
10ba0 44 65 63 6c 73 2e 68 20 73 71 6c 69 74 65 5f 74  Decls.h sqlite_t
10bb0 63 6c 44 65 63 6c 73 2e 68 20 5c 0a 09 09 7c 20  clDecls.h \...| 
10bc0 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
10bd0 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
10be0 2e 74 63 6c 20 72 65 67 73 75 62 20 22 74 79 70  .tcl regsub "typ
10bf0 65 64 65 66 20 28 2e 2a 3f 29 5c 28 54 63 6c 5f  edef (.*?)\(Tcl_
10c00 22 20 22 74 79 70 65 64 65 66 20 5c 31 20 28 53  " "typedef \1 (S
10c10 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c  QLITE_TCLAPI Tcl
10c20 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48  _" \...| $(TCLSH
10c30 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
10c40 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78  l\replace.tcl ex
10c50 61 63 74 20 22 76 6f 69 64 20 28 2a 66 72 65 65  act "void (*free
10c60 50 72 6f 63 29 22 20 22 76 6f 69 64 20 28 53 51  Proc)" "void (SQ
10c70 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 72 65  LITE_TCLAPI *fre
10c80 65 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 24 28  eProc)" \...| $(
10c90 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
10ca0 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
10cb0 63 6c 20 65 78 61 63 74 20 22 54 63 6c 5f 48 61  cl exact "Tcl_Ha
10cc0 73 68 45 6e 74 72 79 20 2a 28 2a 66 69 6e 64 50  shEntry *(*findP
10cd0 72 6f 63 29 22 20 22 54 63 6c 5f 48 61 73 68 45  roc)" "Tcl_HashE
10ce0 6e 74 72 79 20 2a 28 53 51 4c 49 54 45 5f 54 43  ntry *(SQLITE_TC
10cf0 4c 41 50 49 20 2a 66 69 6e 64 50 72 6f 63 29 22  LAPI *findProc)"
10d00 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43   \...| $(TCLSH_C
10d10 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
10d20 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63  replace.tcl exac
10d30 74 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79  t "Tcl_HashEntry
10d40 20 2a 28 2a 63 72 65 61 74 65 50 72 6f 63 29 22   *(*createProc)"
10d50 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20   "Tcl_HashEntry 
10d60 2a 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20  *(SQLITE_TCLAPI 
10d70 2a 63 72 65 61 74 65 50 72 6f 63 29 22 20 3e 3e  *createProc)" >>
10d80 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21   $(SQLITETCLH).!
10d90 45 4e 44 49 46 0a 0a 74 65 73 74 66 69 78 74 75  ENDIF..testfixtu
10da0 72 65 2e 65 78 65 3a 09 24 28 54 45 53 54 46 49  re.exe:.$(TESTFI
10db0 58 54 55 52 45 5f 53 52 43 29 20 24 28 54 45 53  XTURE_SRC) $(TES
10dc0 54 46 49 58 54 55 52 45 5f 44 45 50 29 20 24 28  TFIXTURE_DEP) $(
10dd0 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52  SQLITE3H) $(LIBR
10de0 45 53 4f 42 4a 53 29 20 24 28 48 44 52 29 20 24  ESOBJS) $(HDR) $
10df0 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29  (SQLITE_TCL_DEP)
10e00 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 2d 44 53 51  ..$(LTLINK) -DSQ
10e10 4c 49 54 45 5f 4e 4f 5f 53 59 4e 43 3d 31 20 24  LITE_NO_SYNC=1 $
10e20 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  (TESTFIXTURE_FLA
10e30 47 53 29 20 5c 0a 09 09 2d 44 42 55 49 4c 44 5f  GS) \...-DBUILD_
10e40 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e  sqlite -I$(TCLIN
10e50 43 44 49 52 29 20 5c 0a 09 09 24 28 54 45 53 54  CDIR) \...$(TEST
10e60 46 49 58 54 55 52 45 5f 53 52 43 29 20 5c 0a 09  FIXTURE_SRC) \..
10e70 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53  ./link $(LDFLAGS
10e80 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  ) $(LTLINKOPTS) 
10e90 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24  $(TCLLIBPATHS) $
10ea0 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c  (LTLIBPATHS) $(L
10eb0 49 42 52 45 53 4f 42 4a 53 29 20 24 28 54 43 4c  IBRESOBJS) $(TCL
10ec0 4c 49 42 53 29 20 24 28 4c 54 4c 49 42 53 29 20  LIBS) $(LTLIBS) 
10ed0 24 28 54 4c 49 42 53 29 0a 0a 65 78 74 65 6e 73  $(TLIBS)..extens
10ee0 69 6f 6e 74 65 73 74 3a 09 74 65 73 74 66 69 78  iontest:.testfix
10ef0 74 75 72 65 2e 65 78 65 20 74 65 73 74 6c 6f 61  ture.exe testloa
10f00 64 65 78 74 2e 64 6c 6c 0a 09 40 73 65 74 20 50  dext.dll..@set P
10f10 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48  ATH=$(LIBTCLPATH
10f20 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73  );$(PATH)...\tes
10f30 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54  tfixture.exe $(T
10f40 4f 50 29 5c 74 65 73 74 5c 6c 6f 61 64 65 78 74  OP)\test\loadext
10f50 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53  .test $(TESTOPTS
10f60 29 0a 0a 66 75 6c 6c 74 65 73 74 3a 09 24 28 54  )..fulltest:.$(T
10f70 45 53 54 50 52 4f 47 53 29 20 66 75 7a 7a 74 65  ESTPROGS) fuzzte
10f80 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28  st..@set PATH=$(
10f90 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41  LIBTCLPATH);$(PA
10fa0 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75  TH)...\testfixtu
10fb0 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65  re.exe $(TOP)\te
10fc0 73 74 5c 61 6c 6c 2e 74 65 73 74 20 24 28 54 45  st\all.test $(TE
10fd0 53 54 4f 50 54 53 29 0a 0a 73 6f 61 6b 74 65 73  STOPTS)..soaktes
10fe0 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 0a  t:.$(TESTPROGS).
10ff0 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42  .@set PATH=$(LIB
11000 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29  TCLPATH);$(PATH)
11010 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e  ...\testfixture.
11020 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  exe $(TOP)\test\
11030 61 6c 6c 2e 74 65 73 74 20 2d 73 6f 61 6b 3d 31  all.test -soak=1
11040 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75   $(TESTOPTS)..fu
11050 6c 6c 74 65 73 74 6f 6e 6c 79 3a 09 24 28 54 45  lltestonly:.$(TE
11060 53 54 50 52 4f 47 53 29 20 66 75 7a 7a 74 65 73  STPROGS) fuzztes
11070 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c  t..@set PATH=$(L
11080 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54  IBTCLPATH);$(PAT
11090 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72  H)...\testfixtur
110a0 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73  e.exe $(TOP)\tes
110b0 74 5c 66 75 6c 6c 2e 74 65 73 74 0a 0a 71 75 65  t\full.test..que
110c0 72 79 70 6c 61 6e 74 65 73 74 3a 09 74 65 73 74  ryplantest:.test
110d0 66 69 78 74 75 72 65 2e 65 78 65 20 73 68 65 6c  fixture.exe shel
110e0 6c 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c  l..@set PATH=$(L
110f0 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54  IBTCLPATH);$(PAT
11100 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72  H)...\testfixtur
11110 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73  e.exe $(TOP)\tes
11120 74 5c 70 65 72 6d 75 74 61 74 69 6f 6e 73 2e 74  t\permutations.t
11130 65 73 74 20 71 75 65 72 79 70 6c 61 6e 6e 65 72  est queryplanner
11140 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75   $(TESTOPTS)..fu
11150 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68 65 63  zztest:.fuzzchec
11160 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65  k.exe...\fuzzche
11170 63 6b 2e 65 78 65 20 24 28 46 55 5a 5a 44 41 54  ck.exe $(FUZZDAT
11180 41 29 0a 0a 66 61 73 74 66 75 7a 7a 74 65 73 74  A)..fastfuzztest
11190 3a 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a  :.fuzzcheck.exe.
111a0 09 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65  ..\fuzzcheck.exe
111b0 20 2d 2d 6c 69 6d 69 74 2d 6d 65 6d 20 31 30 30   --limit-mem 100
111c0 4d 20 24 28 46 55 5a 5a 44 41 54 41 29 0a 0a 23  M $(FUZZDATA)..#
111d0 20 4d 69 6e 69 6d 61 6c 20 74 65 73 74 69 6e 67   Minimal testing
111e0 20 74 68 61 74 20 72 75 6e 73 20 69 6e 20 6c 65   that runs in le
111f0 73 73 20 74 68 61 6e 20 33 20 6d 69 6e 75 74 65  ss than 3 minute
11200 73 20 28 6f 6e 20 61 20 66 61 73 74 20 6d 61 63  s (on a fast mac
11210 68 69 6e 65 29 0a 23 0a 71 75 69 63 6b 74 65 73  hine).#.quicktes
11220 74 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e 65  t:.testfixture.e
11230 78 65 20 73 6f 75 72 63 65 74 65 73 74 0a 09 40  xe sourcetest..@
11240 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43  set PATH=$(LIBTC
11250 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09  LPATH);$(PATH)..
11260 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78  .\testfixture.ex
11270 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 65 78  e $(TOP)\test\ex
11280 74 72 61 71 75 69 63 6b 2e 74 65 73 74 20 24 28  traquick.test $(
11290 54 45 53 54 4f 50 54 53 29 0a 0a 23 20 54 68 69  TESTOPTS)..# Thi
112a0 73 20 69 73 20 74 68 65 20 63 6f 6d 6d 6f 6e 20  s is the common 
112b0 63 61 73 65 2e 20 20 52 75 6e 20 6d 61 6e 79 20  case.  Run many 
112c0 74 65 73 74 73 20 74 68 61 74 20 64 6f 20 6e 6f  tests that do no
112d0 74 20 74 61 6b 65 20 74 6f 6f 20 6c 6f 6e 67 2c  t take too long,
112e0 0a 23 20 69 6e 63 6c 75 64 69 6e 67 20 66 75 7a  .# including fuz
112f0 7a 63 68 65 63 6b 2c 20 73 71 6c 69 74 65 33 5f  zcheck, sqlite3_
11300 61 6e 61 6c 79 7a 65 72 2c 20 61 6e 64 20 73 71  analyzer, and sq
11310 6c 64 69 66 66 20 74 65 73 74 73 2e 0a 23 0a 74  ldiff tests..#.t
11320 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53  est:.$(TESTPROGS
11330 29 20 73 6f 75 72 63 65 74 65 73 74 20 66 61 73  ) sourcetest fas
11340 74 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20  tfuzztest..@set 
11350 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54  PATH=$(LIBTCLPAT
11360 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65  H);$(PATH)...\te
11370 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28  stfixture.exe $(
11380 54 4f 50 29 5c 74 65 73 74 5c 76 65 72 79 71 75  TOP)\test\veryqu
11390 69 63 6b 2e 74 65 73 74 20 24 28 54 45 53 54 4f  ick.test $(TESTO
113a0 50 54 53 29 0a 0a 73 6d 6f 6b 65 74 65 73 74 3a  PTS)..smoketest:
113b0 09 24 28 54 45 53 54 50 52 4f 47 53 29 0a 09 40  .$(TESTPROGS)..@
113c0 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43  set PATH=$(LIBTC
113d0 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09  LPATH);$(PATH)..
113e0 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78  .\testfixture.ex
113f0 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6d 61  e $(TOP)\test\ma
11400 69 6e 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50  in.test $(TESTOP
11410 54 53 29 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61  TS)..sqlite3_ana
11420 6c 79 7a 65 72 2e 63 3a 09 24 28 53 51 4c 49 54  lyzer.c:.$(SQLIT
11430 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
11440 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73   $(TOP)\src\tcls
11450 71 6c 69 74 65 2e 63 20 24 28 54 4f 50 29 5c 74  qlite.c $(TOP)\t
11460 6f 6f 6c 5c 73 70 61 63 65 61 6e 61 6c 2e 74 63  ool\spaceanal.tc
11470 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  l $(TOP)\tool\mk
11480 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29  ccode.tcl $(TOP)
11490 5c 74 6f 6f 6c 5c 73 71 6c 69 74 65 33 5f 61 6e  \tool\sqlite3_an
114a0 61 6c 79 7a 65 72 2e 63 2e 69 6e 20 24 28 53 51  alyzer.c.in $(SQ
114b0 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24  LITE_TCL_DEP)..$
114c0 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
114d0 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e  P)\tool\mkccode.
114e0 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  tcl $(TOP)\tool\
114f0 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
11500 2e 63 2e 69 6e 20 3e 20 24 40 0a 0a 73 71 6c 69  .c.in > $@..sqli
11510 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65  te3_analyzer.exe
11520 3a 09 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a  :.sqlite3_analyz
11530 65 72 2e 63 20 24 28 4c 49 42 52 45 53 4f 42 4a  er.c $(LIBRESOBJ
11540 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  S)..$(LTLINK) $(
11550 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49 4c 44  NO_WARN) -DBUILD
11560 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49  _sqlite -I$(TCLI
11570 4e 43 44 49 52 29 20 73 71 6c 69 74 65 33 5f 61  NCDIR) sqlite3_a
11580 6e 61 6c 79 7a 65 72 2e 63 20 5c 0a 09 09 2f 6c  nalyzer.c \.../l
11590 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
115a0 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54  (LTLINKOPTS) $(T
115b0 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54  CLLIBPATHS) $(LT
115c0 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52  LIBPATHS) $(LIBR
115d0 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42  ESOBJS) $(TCLLIB
115e0 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54  S) $(LTLIBS) $(T
115f0 4c 49 42 53 29 0a 0a 73 71 6c 74 63 6c 73 68 2e  LIBS)..sqltclsh.
11600 63 3a 20 73 71 6c 69 74 65 33 2e 63 20 24 28 54  c: sqlite3.c $(T
11610 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74  OP)\src\tclsqlit
11620 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  e.c $(TOP)\tool\
11630 73 71 6c 74 63 6c 73 68 2e 74 63 6c 20 24 28 54  sqltclsh.tcl $(T
11640 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61 70 70  OP)\ext\misc\app
11650 65 6e 64 76 66 73 2e 63 20 24 28 54 4f 50 29 5c  endvfs.c $(TOP)\
11660 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c  tool\mkccode.tcl
11670 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c   $(TOP)\tool\sql
11680 74 63 6c 73 68 2e 63 2e 69 6e 0a 09 24 28 54 43  tclsh.c.in..$(TC
11690 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
116a0 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c  tool\mkccode.tcl
116b0 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c   $(TOP)\tool\sql
116c0 74 63 6c 73 68 2e 63 2e 69 6e 20 3e 73 71 6c 74  tclsh.c.in >sqlt
116d0 63 6c 73 68 2e 63 0a 0a 73 71 6c 74 63 6c 73 68  clsh.c..sqltclsh
116e0 2e 65 78 65 3a 20 73 71 6c 74 63 6c 73 68 2e 63  .exe: sqltclsh.c
116f0 20 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44    $(SHELL_CORE_D
11700 45 50 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  EP) $(LIBRESOBJS
11710 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
11720 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49 4c 44 5f  O_WARN) -DBUILD_
11730 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e  sqlite -I$(TCLIN
11740 43 44 49 52 29 20 73 71 6c 74 63 6c 73 68 2e 63  CDIR) sqltclsh.c
11750 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46   \.../link $(LDF
11760 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
11770 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48  TS) $(TCLLIBPATH
11780 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29  S) $(LTLIBPATHS)
11790 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS) $
117a0 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49  (TCLLIBS) $(LTLI
117b0 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 73 71  BS) $(TLIBS)..sq
117c0 6c 69 74 65 33 5f 65 78 70 65 72 74 2e 65 78 65  lite3_expert.exe
117d0 3a 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  : $(SQLITE3C) $(
117e0 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c  TOP)\ext\expert\
117f0 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 68 20  sqlite3expert.h 
11800 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72  $(TOP)\ext\exper
11810 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e  t\sqlite3expert.
11820 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70  c $(TOP)\ext\exp
11830 65 72 74 5c 65 78 70 65 72 74 2e 63 0a 09 24 28  ert\expert.c..$(
11840 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
11850 4e 29 09 24 28 54 4f 50 29 5c 65 78 74 5c 65 78  N).$(TOP)\ext\ex
11860 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65  pert\sqlite3expe
11870 72 74 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  rt.c $(TOP)\ext\
11880 65 78 70 65 72 74 5c 65 78 70 65 72 74 2e 63 20  expert\expert.c 
11890 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 54 4c  $(SQLITE3C) $(TL
118a0 49 42 53 29 0a 0a 43 48 45 43 4b 45 52 5f 44 45  IBS)..CHECKER_DE
118b0 50 53 20 3d 5c 0a 20 20 24 28 54 4f 50 29 2f 74  PS =\.  $(TOP)/t
118c0 6f 6f 6c 2f 6d 6b 63 63 6f 64 65 2e 74 63 6c 20  ool/mkccode.tcl 
118d0 5c 0a 20 20 73 71 6c 69 74 65 33 2e 63 20 5c 0a  \.  sqlite3.c \.
118e0 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 63 6c    $(TOP)/src/tcl
118f0 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24 28 54  sqlite.c \.  $(T
11900 4f 50 29 2f 65 78 74 2f 72 65 70 61 69 72 2f 73  OP)/ext/repair/s
11910 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 74  qlite3_checker.t
11920 63 6c 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78  cl \.  $(TOP)/ex
11930 74 2f 72 65 70 61 69 72 2f 63 68 65 63 6b 69 6e  t/repair/checkin
11940 64 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  dex.c \.  $(TOP)
11950 2f 65 78 74 2f 72 65 70 61 69 72 2f 63 68 65 63  /ext/repair/chec
11960 6b 66 72 65 65 6c 69 73 74 2e 63 20 5c 0a 20 20  kfreelist.c \.  
11970 24 28 54 4f 50 29 2f 65 78 74 2f 6d 69 73 63 2f  $(TOP)/ext/misc/
11980 62 74 72 65 65 69 6e 66 6f 2e 63 20 5c 0a 20 20  btreeinfo.c \.  
11990 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61 69  $(TOP)/ext/repai
119a0 72 2f 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65  r/sqlite3_checke
119b0 72 2e 63 2e 69 6e 0a 0a 73 71 6c 69 74 65 33 5f  r.c.in..sqlite3_
119c0 63 68 65 63 6b 65 72 2e 63 3a 09 24 28 43 48 45  checker.c:.$(CHE
119d0 43 4b 45 52 5f 44 45 50 53 29 0a 09 24 28 54 43  CKER_DEPS)..$(TC
119e0 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
119f0 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c  tool\mkccode.tcl
11a00 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 65 70 61   $(TOP)\ext\repa
11a10 69 72 5c 73 71 6c 69 74 65 33 5f 63 68 65 63 6b  ir\sqlite3_check
11a20 65 72 2e 63 2e 69 6e 20 3e 20 24 40 0a 0a 73 71  er.c.in > $@..sq
11a30 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 65 78  lite3_checker.ex
11a40 65 3a 09 73 71 6c 69 74 65 33 5f 63 68 65 63 6b  e:.sqlite3_check
11a50 65 72 2e 63 20 24 28 4c 49 42 52 45 53 4f 42 4a  er.c $(LIBRESOBJ
11a60 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  S)..$(LTLINK) $(
11a70 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49 4c 44  NO_WARN) -DBUILD
11a80 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49  _sqlite -I$(TCLI
11a90 4e 43 44 49 52 29 20 73 71 6c 69 74 65 33 5f 63  NCDIR) sqlite3_c
11aa0 68 65 63 6b 65 72 2e 63 20 5c 0a 09 09 2f 6c 69  hecker.c \.../li
11ab0 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
11ac0 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43  LTLINKOPTS) $(TC
11ad0 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c  LLIBPATHS) $(LTL
11ae0 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45  IBPATHS) $(LIBRE
11af0 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53  SOBJS) $(TCLLIBS
11b00 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c  ) $(LTLIBS) $(TL
11b10 49 42 53 29 0a 0a 64 62 64 75 6d 70 2e 65 78 65  IBS)..dbdump.exe
11b20 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  :.$(TOP)\ext\mis
11b30 63 5c 64 62 64 75 6d 70 2e 63 20 24 28 53 51 4c  c\dbdump.c $(SQL
11b40 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
11b50 48 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  H) $(LIBRESOBJS)
11b60 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
11b70 5f 57 41 52 4e 29 20 2d 44 44 42 44 55 4d 50 5f  _WARN) -DDBDUMP_
11b80 53 54 41 4e 44 41 4c 4f 4e 45 20 24 28 54 4f 50  STANDALONE $(TOP
11b90 29 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64 75 6d  )\ext\misc\dbdum
11ba0 70 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  p.c $(SQLITE3C) 
11bb0 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  \.../link $(LDFL
11bc0 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
11bd0 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29  S) $(LTLIBPATHS)
11be0 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS) $
11bf0 28 4c 54 4c 49 42 53 29 0a 0a 74 65 73 74 6c 6f  (LTLIBS)..testlo
11c00 61 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29  adext.lo:.$(TOP)
11c10 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78  \src\test_loadex
11c20 74 2e 63 20 24 28 53 51 4c 49 54 45 33 48 29 0a  t.c $(SQLITE3H).
11c30 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
11c40 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 24 28 54 4f  NO_WARN) -c $(TO
11c50 50 29 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64  P)\src\test_load
11c60 65 78 74 2e 63 0a 0a 74 65 73 74 6c 6f 61 64 65  ext.c..testloade
11c70 78 74 2e 64 6c 6c 3a 09 74 65 73 74 6c 6f 61 64  xt.dll:.testload
11c80 65 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 24 28  ext.lo..$(LD) $(
11c90 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
11ca0 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41  KOPTS) $(LTLIBPA
11cb0 54 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24  THS) /DLL /OUT:$
11cc0 40 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f  @ testloadext.lo
11cd0 0a 0a 73 68 6f 77 64 62 2e 65 78 65 3a 09 24 28  ..showdb.exe:.$(
11ce0 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64 62  TOP)\tool\showdb
11cf0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
11d00 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
11d10 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
11d20 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
11d30 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
11d40 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  OMIT_LOAD_EXTENS
11d50 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74  ION \...$(TOP)\t
11d60 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28 53  ool\showdb.c $(S
11d70 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
11d80 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
11d90 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 73 74 61  NKOPTS)..showsta
11da0 74 34 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  t4.exe:.$(TOP)\t
11db0 6f 6f 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63 20  ool\showstat4.c 
11dc0 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
11dd0 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
11de0 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
11df0 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
11e00 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  E=0 -DSQLITE_OMI
11e10 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e  T_LOAD_EXTENSION
11e20 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c   \...$(TOP)\tool
11e30 5c 73 68 6f 77 73 74 61 74 34 2e 63 20 24 28 53  \showstat4.c $(S
11e40 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
11e50 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
11e60 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 6a 6f 75  NKOPTS)..showjou
11e70 72 6e 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29  rnal.exe:.$(TOP)
11e80 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61  \tool\showjourna
11e90 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  l.c $(SQLITE3C) 
11ea0 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
11eb0 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
11ec0 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
11ed0 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
11ee0 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
11ef0 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c  SION \...$(TOP)\
11f00 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c  tool\showjournal
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 73  $(LTLINKOPTS)..s
11f40 68 6f 77 77 61 6c 2e 65 78 65 3a 09 24 28 54 4f  howwal.exe:.$(TO
11f50 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e  P)\tool\showwal.
11f60 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
11f70 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
11f80 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
11f90 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
11fa0 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f  AFE=0 -DSQLITE_O
11fb0 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
11fc0 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f  ON \...$(TOP)\to
11fd0 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24 28 53  ol\showwal.c $(S
11fe0 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
11ff0 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
12000 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 73 68 6d  NKOPTS)..showshm
12010 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
12020 6c 5c 73 68 6f 77 73 68 6d 2e 63 0a 09 24 28 4c  l\showshm.c..$(L
12030 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
12040 29 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  ).$(TOP)\tool\sh
12050 6f 77 73 68 6d 2e 63 20 2f 6c 69 6e 6b 20 24 28  owshm.c /link $(
12060 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
12070 4b 4f 50 54 53 29 0a 0a 63 68 61 6e 67 65 73 65  KOPTS)..changese
12080 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78  t.exe:.$(TOP)\ex
12090 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65  t\session\change
120a0 73 65 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  set.c $(SQLITE3C
120b0 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
120c0 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
120d0 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  RN) -DSQLITE_THR
120e0 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49  EADSAFE=0 -DSQLI
120f0 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
12100 45 4e 53 49 4f 4e 20 5c 0a 09 09 2d 44 53 51 4c  ENSION \...-DSQL
12110 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 53 53 49  ITE_ENABLE_SESSI
12120 4f 4e 3d 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e  ON=1 -DSQLITE_EN
12130 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45 5f 48  ABLE_PREUPDATE_H
12140 4f 4f 4b 3d 31 20 5c 0a 09 09 24 28 54 4f 50 29  OOK=1 \...$(TOP)
12150 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61  \ext\session\cha
12160 6e 67 65 73 65 74 2e 63 20 24 28 53 51 4c 49 54  ngeset.c $(SQLIT
12170 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
12180 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
12190 54 53 29 0a 0a 66 74 73 33 76 69 65 77 2e 65 78  TS)..fts3view.ex
121a0 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  e:.$(TOP)\ext\ft
121b0 73 33 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77  s3\tool\fts3view
121c0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
121d0 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
121e0 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
121f0 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
12200 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
12210 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  OMIT_LOAD_EXTENS
12220 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65  ION \...$(TOP)\e
12230 78 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 74 73  xt\fts3\tool\fts
12240 33 76 69 65 77 2e 63 20 24 28 53 51 4c 49 54 45  3view.c $(SQLITE
12250 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
12260 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
12270 53 29 0a 0a 72 6f 6c 6c 62 61 63 6b 2d 74 65 73  S)..rollback-tes
12280 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  t.exe:.$(TOP)\to
12290 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74  ol\rollback-test
122a0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
122b0 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
122c0 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
122d0 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
122e0 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
122f0 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  OMIT_LOAD_EXTENS
12300 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74  ION \...$(TOP)\t
12310 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73  ool\rollback-tes
12320 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
12330 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
12340 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
12350 61 74 72 63 2e 65 78 65 3a 09 24 28 54 4f 50 29  atrc.exe:.$(TOP)
12360 5c 74 65 73 74 5c 61 74 72 63 2e 63 20 24 28 53  \test\atrc.c $(S
12370 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
12380 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
12390 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
123a0 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
123b0 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
123c0 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
123d0 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 74  ..$(TOP)\test\at
123e0 72 63 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  rc.c $(SQLITE3C)
123f0 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
12400 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS).
12410 0a 4c 6f 67 45 73 74 2e 65 78 65 3a 09 24 28 54  .LogEst.exe:.$(T
12420 4f 50 29 5c 74 6f 6f 6c 5c 6c 6f 67 65 73 74 2e  OP)\tool\logest.
12430 63 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  c $(SQLITE3H)..$
12440 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
12450 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  RN) $(TOP)\tool\
12460 4c 6f 67 45 73 74 2e 63 20 2f 6c 69 6e 6b 20 24  LogEst.c /link $
12470 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
12480 4e 4b 4f 50 54 53 29 0a 0a 77 6f 72 64 63 6f 75  NKOPTS)..wordcou
12490 6e 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  nt.exe:.$(TOP)\t
124a0 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20  est\wordcount.c 
124b0 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
124c0 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
124d0 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
124e0 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
124f0 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  E=0 -DSQLITE_OMI
12500 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e  T_LOAD_EXTENSION
12510 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 74   \...$(TOP)\test
12520 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24 28 53  \wordcount.c $(S
12530 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
12540 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
12550 4e 4b 4f 50 54 53 29 0a 0a 73 70 65 65 64 74 65  NKOPTS)..speedte
12560 73 74 31 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  st1.exe:.$(TOP)\
12570 74 65 73 74 5c 73 70 65 65 64 74 65 73 74 31 2e  test\speedtest1.
12580 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
12590 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
125a0 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
125b0 24 28 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  $(ST_COMPILE_OPT
125c0 53 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  S) -DSQLITE_OMIT
125d0 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20  _LOAD_EXTENSION 
125e0 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c  \...$(TOP)\test\
125f0 73 70 65 65 64 74 65 73 74 31 2e 63 20 24 28 53  speedtest1.c $(S
12600 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
12610 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
12620 4e 4b 4f 50 54 53 29 0a 0a 6b 76 74 65 73 74 2e  NKOPTS)..kvtest.
12630 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74  exe:.$(TOP)\test
12640 5c 6b 76 74 65 73 74 2e 63 20 24 28 53 51 4c 49  \kvtest.c $(SQLI
12650 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
12660 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
12670 4f 5f 57 41 52 4e 29 20 24 28 4b 56 5f 43 4f 4d  O_WARN) $(KV_COM
12680 50 49 4c 45 5f 4f 50 54 53 29 20 5c 0a 09 09 24  PILE_OPTS) \...$
12690 28 54 4f 50 29 5c 74 65 73 74 5c 6b 76 74 65 73  (TOP)\test\kvtes
126a0 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
126b0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
126c0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
126d0 72 62 75 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  rbu.exe:.$(TOP)\
126e0 65 78 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28  ext\rbu\rbu.c $(
126f0 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c  TOP)\ext\rbu\sql
12700 69 74 65 33 72 62 75 2e 63 20 24 28 53 51 4c 49  ite3rbu.c $(SQLI
12710 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
12720 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
12730 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
12740 5f 45 4e 41 42 4c 45 5f 52 42 55 20 5c 0a 09 09  _ENABLE_RBU \...
12750 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72  $(TOP)\ext\rbu\r
12760 62 75 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  bu.c $(SQLITE3C)
12770 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
12780 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS).
12790 0a 4c 53 4d 44 49 52 3d 24 28 54 4f 50 29 5c 65  .LSMDIR=$(TOP)\e
127a0 78 74 5c 6c 73 6d 31 0a 21 49 4e 43 4c 55 44 45  xt\lsm1.!INCLUDE
127b0 20 24 28 4c 53 4d 44 49 52 29 5c 4d 61 6b 65 66   $(LSMDIR)\Makef
127c0 69 6c 65 2e 6d 73 63 0a 0a 6d 6f 72 65 63 6c 65  ile.msc..morecle
127d0 61 6e 3a 09 63 6c 65 61 6e 0a 09 64 65 6c 20 2f  an:.clean..del /
127e0 51 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  Q $(SQLITE3C) $(
127f0 53 51 4c 49 54 45 33 48 29 20 32 3e 4e 55 4c 0a  SQLITE3H) 2>NUL.
12800 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 63 6c 65  # <</mark>>..cle
12810 61 6e 3a 0a 09 64 65 6c 20 2f 51 20 2a 2e 65 78  an:..del /Q *.ex
12820 70 20 2a 2e 6c 6f 20 2a 2e 69 6c 6b 20 2a 2e 6c  p *.lo *.ilk *.l
12830 69 62 20 2a 2e 6f 62 6a 20 2a 2e 6e 63 62 20 2a  ib *.obj *.ncb *
12840 2e 70 64 62 20 2a 2e 73 64 66 20 2a 2e 73 75 6f  .pdb *.sdf *.suo
12850 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2a   2>NUL..del /Q *
12860 2e 62 73 63 20 2a 2e 64 65 66 20 2a 2e 63 6f 64  .bsc *.def *.cod
12870 20 2a 2e 64 61 20 2a 2e 62 62 20 2a 2e 62 62 67   *.da *.bb *.bbg
12880 20 2a 2e 76 63 20 67 6d 6f 6e 2e 6f 75 74 20 32   *.vc gmon.out 2
12890 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 24 28 53  >NUL..del /Q $(S
128a0 51 4c 49 54 45 33 45 58 45 29 20 24 28 53 51 4c  QLITE3EXE) $(SQL
128b0 49 54 45 33 44 4c 4c 29 20 52 65 70 6c 61 63 65  ITE3DLL) Replace
128c0 2e 65 78 65 20 32 3e 4e 55 4c 0a 23 20 3c 3c 6d  .exe 2>NUL.# <<m
128d0 61 72 6b 3e 3e 0a 09 64 65 6c 20 2f 51 20 6f 70  ark>>..del /Q op
128e0 63 6f 64 65 73 2e 63 20 6f 70 63 6f 64 65 73 2e  codes.c opcodes.
128f0 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  h 2>NUL..del /Q 
12900 6c 65 6d 6f 6e 2e 2a 20 6c 65 6d 70 61 72 2e 63  lemon.* lempar.c
12910 20 70 61 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a 09   parse.* 2>NUL..
12920 64 65 6c 20 2f 51 20 6d 6b 73 6f 75 72 63 65 69  del /Q mksourcei
12930 64 2e 2a 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73  d.* mkkeywordhas
12940 68 2e 2a 20 6b 65 79 77 6f 72 64 68 61 73 68 2e  h.* keywordhash.
12950 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  h 2>NUL..del /Q 
12960 6e 6f 74 61 73 68 61 72 65 64 6c 69 62 2e 2a 20  notasharedlib.* 
12970 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51  2>NUL..-rmdir /Q
12980 2f 53 20 2e 64 65 70 73 20 32 3e 4e 55 4c 0a 09  /S .deps 2>NUL..
12990 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e 6c 69 62  -rmdir /Q/S .lib
129a0 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20  s 2>NUL..-rmdir 
129b0 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e 55 4c 0a  /Q/S tsrc 2>NUL.
129c0 09 64 65 6c 20 2f 51 20 2e 74 61 72 67 65 74 5f  .del /Q .target_
129d0 73 6f 75 72 63 65 20 32 3e 4e 55 4c 0a 09 64 65  source 2>NUL..de
129e0 6c 20 2f 51 20 74 63 6c 73 71 6c 69 74 65 33 2e  l /Q tclsqlite3.
129f0 65 78 65 20 24 28 53 51 4c 49 54 45 54 43 4c 48  exe $(SQLITETCLH
12a00 29 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43  ) $(SQLITETCLDEC
12a10 4c 53 48 29 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  LSH) 2>NUL..del 
12a20 2f 51 20 6c 73 6d 2e 64 6c 6c 20 6c 73 6d 74 65  /Q lsm.dll lsmte
12a30 73 74 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65  st.exe 2>NUL..de
12a40 6c 20 2f 51 20 74 65 73 74 6c 6f 61 64 65 78 74  l /Q testloadext
12a50 2e 64 6c 6c 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .dll 2>NUL..del 
12a60 2f 51 20 74 65 73 74 66 69 78 74 75 72 65 2e 65  /Q testfixture.e
12a70 78 65 20 74 65 73 74 2e 64 62 20 32 3e 4e 55 4c  xe test.db 2>NUL
12a80 0a 09 64 65 6c 20 2f 51 20 4c 6f 67 45 73 74 2e  ..del /Q LogEst.
12a90 65 78 65 20 66 74 73 33 76 69 65 77 2e 65 78 65  exe fts3view.exe
12aa0 20 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 65   rollback-test.e
12ab0 78 65 20 73 68 6f 77 64 62 2e 65 78 65 20 64 62  xe showdb.exe db
12ac0 64 75 6d 70 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  dump.exe 2>NUL..
12ad0 64 65 6c 20 2f 51 20 63 68 61 6e 67 65 73 65 74  del /Q changeset
12ae0 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del 
12af0 2f 51 20 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65  /Q showjournal.e
12b00 78 65 20 73 68 6f 77 73 74 61 74 34 2e 65 78 65  xe showstat4.exe
12b10 20 73 68 6f 77 77 61 6c 2e 65 78 65 20 73 70 65   showwal.exe spe
12b20 65 64 74 65 73 74 31 2e 65 78 65 20 32 3e 4e 55  edtest1.exe 2>NU
12b30 4c 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 73 74  L..del /Q mptest
12b40 65 72 2e 65 78 65 20 77 6f 72 64 63 6f 75 6e 74  er.exe wordcount
12b50 2e 65 78 65 20 72 62 75 2e 65 78 65 20 73 72 63  .exe rbu.exe src
12b60 63 6b 31 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  ck1.exe 2>NUL..d
12b70 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 2e 63 20  el /Q sqlite3.c 
12b80 73 71 6c 69 74 65 33 2d 2a 2e 63 20 73 71 6c 69  sqlite3-*.c sqli
12b90 74 65 33 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c  te3.h 2>NUL..del
12ba0 20 2f 51 20 73 71 6c 69 74 65 33 72 63 2e 68 20   /Q sqlite3rc.h 
12bb0 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68  2>NUL..del /Q sh
12bc0 65 6c 6c 2e 63 20 73 71 6c 69 74 65 33 65 78 74  ell.c sqlite3ext
12bd0 2e 68 20 73 71 6c 69 74 65 33 73 65 73 73 69 6f  .h sqlite3sessio
12be0 6e 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  n.h 2>NUL..del /
12bf0 51 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a  Q sqlite3_analyz
12c00 65 72 2e 65 78 65 20 73 71 6c 69 74 65 33 5f 61  er.exe sqlite3_a
12c10 6e 61 6c 79 7a 65 72 2e 63 20 32 3e 4e 55 4c 0a  nalyzer.c 2>NUL.
12c20 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 2d 2a  .del /Q sqlite-*
12c30 2d 6f 75 74 70 75 74 2e 76 73 69 78 20 32 3e 4e  -output.vsix 2>N
12c40 55 4c 0a 09 64 65 6c 20 2f 51 20 66 75 7a 7a 65  UL..del /Q fuzze
12c50 72 73 68 65 6c 6c 2e 65 78 65 20 66 75 7a 7a 63  rshell.exe fuzzc
12c60 68 65 63 6b 2e 65 78 65 20 73 71 6c 64 69 66 66  heck.exe sqldiff
12c70 2e 65 78 65 20 64 62 68 61 73 68 2e 65 78 65 20  .exe dbhash.exe 
12c80 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71  2>NUL..del /Q sq
12c90 6c 74 63 6c 73 68 2e 2a 20 32 3e 4e 55 4c 0a 09  ltclsh.* 2>NUL..
12ca0 64 65 6c 20 2f 51 20 64 62 66 75 7a 7a 2e 65 78  del /Q dbfuzz.ex
12cb0 65 20 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 65 78  e sessionfuzz.ex
12cc0 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q 
12cd0 6b 76 74 65 73 74 2e 65 78 65 20 6f 73 73 73 68  kvtest.exe osssh
12ce0 65 6c 6c 2e 65 78 65 20 73 63 72 75 62 2e 65 78  ell.exe scrub.ex
12cf0 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q 
12d00 73 68 6f 77 73 68 6d 2e 65 78 65 20 73 71 6c 69  showshm.exe sqli
12d10 74 65 33 5f 63 68 65 63 6b 65 72 2e 2a 20 73 71  te3_checker.* sq
12d20 6c 69 74 65 33 5f 65 78 70 65 72 74 2e 65 78 65  lite3_expert.exe
12d30 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 66   2>NUL..del /Q f
12d40 74 73 35 2e 2a 20 66 74 73 35 70 61 72 73 65 2e  ts5.* fts5parse.
12d50 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  * 2>NUL..del /Q 
12d60 6c 73 6d 2e 68 20 6c 73 6d 31 2e 63 20 32 3e 4e  lsm.h lsm1.c 2>N
12d70 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a     UL.# <</mark>>.