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

Artifact 071853dfc2148aadaeb7a153b9986cc9d71b7f256874f79b119f97a4c89453f5:


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 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73  b \.  $(TOP)\tes
a760: 74 5c 66 75 7a 7a 64 61 74 61 37 2e 64 62 0a 23  t\fuzzdata7.db.#
a770: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 41 64   <</mark>>..# Ad
a780: 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65  ditional compile
a790: 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74 68  r options for th
a7a0: 65 20 73 68 65 6c 6c 2e 20 20 54 68 65 73 65 20  e shell.  These 
a7b0: 61 72 65 20 6f 6e 6c 79 20 65 66 66 65 63 74 69  are only effecti
a7c0: 76 65 0a 23 20 77 68 65 6e 20 74 68 65 20 73 68  ve.# when the sh
a7d0: 65 6c 6c 20 69 73 20 6e 6f 74 20 62 65 69 6e 67  ell is not being
a7e0: 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e   dynamically lin
a7f0: 6b 65 64 2e 0a 23 0a 21 49 46 20 24 28 44 59 4e  ked..#.!IF $(DYN
a800: 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d 30 20 26  AMIC_SHELL)==0 &
a810: 26 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d  & $(FOR_WIN10)==
a820: 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f  0.SHELL_COMPILE_
a830: 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43  OPTS = $(SHELL_C
a840: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53  OMPILE_OPTS) -DS
a850: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53  QLITE_ENABLE_FTS
a860: 34 3d 31 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c  4=1.SHELL_COMPIL
a870: 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c  E_OPTS = $(SHELL
a880: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
a890: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 45  DSQLITE_ENABLE_E
a8a0: 58 50 4c 41 49 4e 5f 43 4f 4d 4d 45 4e 54 53 3d  XPLAIN_COMMENTS=
a8b0: 31 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f  1.SHELL_COMPILE_
a8c0: 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43  OPTS = $(SHELL_C
a8d0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53  OMPILE_OPTS) -DS
a8e0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4f 46 46  QLITE_ENABLE_OFF
a8f0: 53 45 54 5f 53 51 4c 5f 46 55 4e 43 3d 31 0a 53  SET_SQL_FUNC=1.S
a900: 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  HELL_COMPILE_OPT
a910: 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50  S = $(SHELL_COMP
a920: 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49  ILE_OPTS) -DSQLI
a930: 54 45 5f 45 4e 41 42 4c 45 5f 44 45 53 45 52 49  TE_ENABLE_DESERI
a940: 41 4c 49 5a 45 3d 31 0a 21 45 4e 44 49 46 0a 0a  ALIZE=1.!ENDIF..
a950: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 45 78 74  # <<mark>>.# Ext
a960: 72 61 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  ra compiler opti
a970: 6f 6e 73 20 66 6f 72 20 76 61 72 69 6f 75 73 20  ons for various 
a980: 74 65 73 74 20 74 6f 6f 6c 73 2e 0a 23 0a 4d 50  test tools..#.MP
a990: 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f  TESTER_COMPILE_O
a9a0: 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 45  PTS = -DSQLITE_E
a9b0: 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53 51  NABLE_JSON1 -DSQ
a9c0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 35  LITE_ENABLE_FTS5
a9d0: 0a 46 55 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d  .FUZZERSHELL_COM
a9e0: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51  PILE_OPTS = -DSQ
a9f0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e  LITE_ENABLE_JSON
aa00: 31 0a 46 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50  1.FUZZCHECK_COMP
aa10: 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c  ILE_OPTS = -DSQL
aa20: 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31  ITE_ENABLE_JSON1
aa30: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
aa40: 5f 4d 45 4d 53 59 53 35 20 2d 44 53 51 4c 49 54  _MEMSYS5 -DSQLIT
aa50: 45 5f 4f 53 53 5f 46 55 5a 5a 20 2d 44 53 51 4c  E_OSS_FUZZ -DSQL
aa60: 49 54 45 5f 4d 41 58 5f 4d 45 4d 4f 52 59 3d 35  ITE_MAX_MEMORY=5
aa70: 30 30 30 30 30 30 30 20 2d 44 53 51 4c 49 54 45  0000000 -DSQLITE
aa80: 5f 50 52 49 4e 54 46 5f 50 52 45 43 49 53 49 4f  _PRINTF_PRECISIO
aa90: 4e 5f 4c 49 4d 49 54 3d 31 30 30 30 0a 46 55 5a  N_LIMIT=1000.FUZ
aaa0: 5a 43 48 45 43 4b 5f 53 52 43 20 3d 20 24 28 54  ZCHECK_SRC = $(T
aab0: 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 63 68 65  OP)\test\fuzzche
aac0: 63 6b 2e 63 20 24 28 54 4f 50 29 5c 74 65 73 74  ck.c $(TOP)\test
aad0: 5c 6f 73 73 66 75 7a 7a 2e 63 0a 4f 53 53 53 48  \ossfuzz.c.OSSSH
aae0: 45 4c 4c 5f 53 52 43 20 3d 20 24 28 54 4f 50 29  ELL_SRC = $(TOP)
aaf0: 5c 74 65 73 74 5c 6f 73 73 73 68 65 6c 6c 2e 63  \test\ossshell.c
ab00: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73   $(TOP)\test\oss
ab10: 66 75 7a 7a 2e 63 0a 44 42 46 55 5a 5a 5f 43 4f  fuzz.c.DBFUZZ_CO
ab20: 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53  MPILE_OPTS = -DS
ab30: 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
ab40: 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  =0 -DSQLITE_OMIT
ab50: 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 0a  _LOAD_EXTENSION.
ab60: 4b 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20  KV_COMPILE_OPTS 
ab70: 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  = -DSQLITE_THREA
ab80: 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
ab90: 5f 44 49 52 45 43 54 5f 4f 56 45 52 46 4c 4f 57  _DIRECT_OVERFLOW
aba0: 5f 52 45 41 44 0a 53 54 5f 43 4f 4d 50 49 4c 45  _READ.ST_COMPILE
abb0: 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45  _OPTS = -DSQLITE
abc0: 5f 54 48 52 45 41 44 53 41 46 45 3d 30 0a 0a 23  _THREADSAFE=0..#
abd0: 20 53 74 61 6e 64 61 72 64 20 6f 70 74 69 6f 6e   Standard option
abe0: 73 20 74 6f 20 74 65 73 74 66 69 78 74 75 72 65  s to testfixture
abf0: 2e 0a 23 0a 54 45 53 54 4f 50 54 53 20 3d 20 2d  ..#.TESTOPTS = -
ac00: 2d 76 65 72 62 6f 73 65 3d 66 69 6c 65 20 2d 2d  -verbose=file --
ac10: 6f 75 74 70 75 74 3d 74 65 73 74 2d 6f 75 74 2e  output=test-out.
ac20: 74 78 74 0a 0a 23 20 45 78 74 72 61 20 74 61 72  txt..# Extra tar
ac30: 67 65 74 73 20 66 6f 72 20 74 68 65 20 22 61 6c  gets for the "al
ac40: 6c 22 20 74 61 72 67 65 74 20 74 68 61 74 20 72  l" target that r
ac50: 65 71 75 69 72 65 20 54 63 6c 2e 0a 23 0a 21 49  equire Tcl..#.!I
ac60: 46 20 24 28 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 41  F $(NO_TCL)==0.A
ac70: 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 20 3d  LL_TCL_TARGETS =
ac80: 20 6c 69 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c   libtclsqlite3.l
ac90: 69 62 0a 21 45 4c 53 45 0a 41 4c 4c 5f 54 43 4c  ib.!ELSE.ALL_TCL
aca0: 5f 54 41 52 47 45 54 53 20 3d 0a 21 45 4e 44 49  _TARGETS =.!ENDI
acb0: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  F.# <</mark>>..#
acc0: 20 54 68 69 73 20 69 73 20 74 68 65 20 64 65 66   This is the def
acd0: 61 75 6c 74 20 4d 61 6b 65 66 69 6c 65 20 74 61  ault Makefile ta
ace0: 72 67 65 74 2e 20 20 54 68 65 20 6f 62 6a 65 63  rget.  The objec
acf0: 74 73 20 6c 69 73 74 65 64 20 68 65 72 65 0a 23  ts listed here.#
ad00: 20 61 72 65 20 77 68 61 74 20 67 65 74 20 62 75   are what get bu
ad10: 69 6c 64 20 77 68 65 6e 20 79 6f 75 20 74 79 70  ild when you typ
ad20: 65 20 6a 75 73 74 20 22 6d 61 6b 65 22 20 77 69  e just "make" wi
ad30: 74 68 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e  th no arguments.
ad40: 0a 23 0a 63 6f 72 65 3a 09 64 6c 6c 20 6c 69 62  .#.core:.dll lib
ad50: 73 71 6c 69 74 65 33 2e 6c 69 62 20 73 68 65 6c  sqlite3.lib shel
ad60: 6c 0a 0a 23 20 54 61 72 67 65 74 73 20 74 68 61  l..# Targets tha
ad70: 74 20 72 65 71 75 69 72 65 20 74 68 65 20 54 63  t require the Tc
ad80: 6c 20 6c 69 62 72 61 72 79 2e 0a 23 0a 74 63 6c  l library..#.tcl
ad90: 3a 09 24 28 41 4c 4c 5f 54 43 4c 5f 54 41 52 47  :.$(ALL_TCL_TARG
ada0: 45 54 53 29 0a 0a 23 20 54 68 69 73 20 4d 61 6b  ETS)..# This Mak
adb0: 65 66 69 6c 65 20 74 61 72 67 65 74 20 62 75 69  efile target bui
adc0: 6c 64 73 20 61 6c 6c 20 6f 66 20 74 68 65 20 73  lds all of the s
add0: 74 61 6e 64 61 72 64 20 62 69 6e 61 72 69 65 73  tandard binaries
ade0: 2e 0a 23 0a 61 6c 6c 3a 09 63 6f 72 65 20 74 63  ..#.all:.core tc
adf0: 6c 0a 0a 23 20 44 79 6e 61 6d 69 63 20 6c 69 6e  l..# Dynamic lin
ae00: 6b 20 6c 69 62 72 61 72 79 20 73 65 63 74 69 6f  k library sectio
ae10: 6e 2e 0a 23 0a 64 6c 6c 3a 09 24 28 53 51 4c 49  n..#.dll:.$(SQLI
ae20: 54 45 33 44 4c 4c 29 0a 0a 23 20 53 68 65 6c 6c  TE3DLL)..# Shell
ae30: 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 73   executable..#.s
ae40: 68 65 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33 45  hell:.$(SQLITE3E
ae50: 58 45 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  XE)..# <<mark>>.
ae60: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09  libsqlite3.lib:.
ae70: 24 28 4c 49 42 4f 42 4a 29 0a 09 24 28 4c 54 4c  $(LIBOBJ)..$(LTL
ae80: 49 42 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29  IB) $(LTLIBOPTS)
ae90: 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42 4f 42   /OUT:$@ $(LIBOB
aea0: 4a 29 20 24 28 54 4c 49 42 53 29 0a 0a 6c 69 62  J) $(TLIBS)..lib
aeb0: 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09  tclsqlite3.lib:.
aec0: 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62  tclsqlite.lo lib
aed0: 73 71 6c 69 74 65 33 2e 6c 69 62 0a 09 24 28 4c  sqlite3.lib..$(L
aee0: 54 4c 49 42 29 20 24 28 4c 54 4c 49 42 4f 50 54  TLIB) $(LTLIBOPT
aef0: 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29  S) $(LTLIBPATHS)
af00: 20 2f 4f 55 54 3a 24 40 20 74 63 6c 73 71 6c 69   /OUT:$@ tclsqli
af10: 74 65 2e 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33  te.lo libsqlite3
af20: 2e 6c 69 62 20 24 28 4c 49 42 54 43 4c 53 54 55  .lib $(LIBTCLSTU
af30: 42 29 20 24 28 54 4c 49 42 53 29 0a 23 20 3c 3c  B) $(TLIBS).# <<
af40: 2f 6d 61 72 6b 3e 3e 0a 0a 24 28 53 51 4c 49 54  /mark>>..$(SQLIT
af50: 45 33 44 4c 4c 29 3a 09 24 28 4c 49 42 4f 42 4a  E3DLL):.$(LIBOBJ
af60: 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20  ) $(LIBRESOBJS) 
af70: 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 29  $(CORE_LINK_DEP)
af80: 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47  ..$(LD) $(LDFLAG
af90: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
afa0: 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f   $(LTLIBPATHS) /
afb0: 44 4c 4c 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f  DLL $(CORE_LINK_
afc0: 4f 50 54 53 29 20 2f 4f 55 54 3a 24 40 20 24 28  OPTS) /OUT:$@ $(
afd0: 4c 49 42 4f 42 4a 29 20 24 28 4c 49 42 52 45 53  LIBOBJ) $(LIBRES
afe0: 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 20  OBJS) $(LTLIBS) 
aff0: 24 28 54 4c 49 42 53 29 0a 0a 23 20 3c 3c 62 6c  $(TLIBS)..# <<bl
b000: 6f 63 6b 32 3e 3e 0a 73 71 6c 69 74 65 33 2e 64  ock2>>.sqlite3.d
b010: 65 66 3a 09 6c 69 62 73 71 6c 69 74 65 33 2e 6c  ef:.libsqlite3.l
b020: 69 62 0a 09 65 63 68 6f 20 45 58 50 4f 52 54 53  ib..echo EXPORTS
b030: 20 3e 20 73 71 6c 69 74 65 33 2e 64 65 66 0a 09   > sqlite3.def..
b040: 64 75 6d 70 62 69 6e 20 2f 61 6c 6c 20 6c 69 62  dumpbin /all lib
b050: 73 71 6c 69 74 65 33 2e 6c 69 62 20 5c 0a 09 09  sqlite3.lib \...
b060: 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
b070: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
b080: 63 65 2e 74 63 6c 20 69 6e 63 6c 75 64 65 20 22  ce.tcl include "
b090: 5e 5c 73 2b 31 20 5f 3f 28 73 71 6c 69 74 65 33  ^\s+1 _?(sqlite3
b0a0: 28 3f 3a 73 65 73 73 69 6f 6e 7c 63 68 61 6e 67  (?:session|chang
b0b0: 65 73 65 74 7c 63 68 61 6e 67 65 67 72 6f 75 70  eset|changegroup
b0c0: 7c 72 65 62 61 73 65 72 29 3f 5f 5b 5e 40 5d 2a  |rebaser)?_[^@]*
b0d0: 29 28 3f 3a 40 5c 64 2b 29 3f 24 24 22 20 5c 31  )(?:@\d+)?$$" \1
b0e0: 20 5c 0a 09 09 7c 20 73 6f 72 74 20 3e 3e 20 73   \...| sort >> s
b0f0: 71 6c 69 74 65 33 2e 64 65 66 0a 23 20 3c 3c 2f  qlite3.def.# <</
b100: 62 6c 6f 63 6b 32 3e 3e 0a 0a 24 28 53 51 4c 49  block2>>..$(SQLI
b110: 54 45 33 45 58 45 29 3a 09 73 68 65 6c 6c 2e 63  TE3EXE):.shell.c
b120: 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45   $(SHELL_CORE_DE
b130: 50 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  P) $(LIBRESOBJS)
b140: 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52   $(SHELL_CORE_SR
b150: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
b160: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 53 48 45 4c  $(LTLINK) $(SHEL
b170: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  L_COMPILE_OPTS) 
b180: 24 28 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53  $(READLINE_FLAGS
b190: 29 20 73 68 65 6c 6c 2e 63 20 24 28 53 48 45 4c  ) shell.c $(SHEL
b1a0: 4c 5f 43 4f 52 45 5f 53 52 43 29 20 5c 0a 09 09  L_CORE_SRC) \...
b1b0: 2f 6c 69 6e 6b 20 24 28 53 51 4c 49 54 45 33 45  /link $(SQLITE3E
b1c0: 58 45 50 44 42 29 20 24 28 4c 44 46 4c 41 47 53  XEPDB) $(LDFLAGS
b1d0: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  ) $(LTLINKOPTS) 
b1e0: 24 28 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54  $(SHELL_LINK_OPT
b1f0: 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29  S) $(LTLIBPATHS)
b200: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS) $
b210: 28 4c 49 42 52 45 41 44 4c 49 4e 45 29 20 24 28  (LIBREADLINE) $(
b220: 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29  LTLIBS) $(TLIBS)
b230: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 73 71 6c  ..# <<mark>>.sql
b240: 64 69 66 66 2e 65 78 65 3a 09 24 28 54 4f 50 29  diff.exe:.$(TOP)
b250: 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e 63 20  \tool\sqldiff.c 
b260: 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
b270: 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
b280: 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28  K) $(NO_WARN) $(
b290: 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66  TOP)\tool\sqldif
b2a0: 66 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  f.c $(SQLITE3C) 
b2b0: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
b2c0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
b2d0: 64 62 68 61 73 68 2e 65 78 65 3a 09 24 28 54 4f  dbhash.exe:.$(TO
b2e0: 50 29 5c 74 6f 6f 6c 5c 64 62 68 61 73 68 2e 63  P)\tool\dbhash.c
b2f0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
b300: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
b310: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24  NK) $(NO_WARN) $
b320: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62 68 61 73  (TOP)\tool\dbhas
b330: 68 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  h.c $(SQLITE3C) 
b340: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
b350: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
b360: 73 63 72 75 62 2e 65 78 65 3a 09 24 28 54 4f 50  scrub.exe:.$(TOP
b370: 29 5c 65 78 74 5c 6d 69 73 63 5c 73 63 72 75 62  )\ext\misc\scrub
b380: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
b390: 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
b3a0: 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
b3b0: 20 2d 44 53 43 52 55 42 5f 53 54 41 4e 44 41 4c   -DSCRUB_STANDAL
b3c0: 4f 4e 45 3d 31 20 24 28 54 4f 50 29 5c 65 78 74  ONE=1 $(TOP)\ext
b3d0: 5c 6d 69 73 63 5c 73 63 72 75 62 2e 63 20 24 28  \misc\scrub.c $(
b3e0: 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
b3f0: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
b400: 49 4e 4b 4f 50 54 53 29 0a 0a 73 72 63 63 6b 31  INKOPTS)..srcck1
b410: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
b420: 6c 5c 73 72 63 63 6b 31 2e 63 0a 09 24 28 42 43  l\srcck1.c..$(BC
b430: 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46  C) $(NO_WARN) -F
b440: 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  e$@ $(TOP)\tool\
b450: 73 72 63 63 6b 31 2e 63 0a 0a 73 6f 75 72 63 65  srcck1.c..source
b460: 74 65 73 74 3a 09 73 72 63 63 6b 31 2e 65 78 65  test:.srcck1.exe
b470: 20 24 28 53 51 4c 49 54 45 33 43 29 0a 09 73 72   $(SQLITE3C)..sr
b480: 63 63 6b 31 2e 65 78 65 20 24 28 53 51 4c 49 54  cck1.exe $(SQLIT
b490: 45 33 43 29 0a 0a 66 75 7a 7a 65 72 73 68 65 6c  E3C)..fuzzershel
b4a0: 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  l.exe:.$(TOP)\to
b4b0: 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 63  ol\fuzzershell.c
b4c0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
b4d0: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
b4e0: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24  NK) $(NO_WARN) $
b4f0: 28 46 55 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d  (FUZZERSHELL_COM
b500: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50  PILE_OPTS) $(TOP
b510: 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 65  )\tool\fuzzershe
b520: 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  ll.c $(SQLITE3C)
b530: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
b540: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS).
b550: 0a 64 62 66 75 7a 7a 2e 65 78 65 3a 09 24 28 54  .dbfuzz.exe:.$(T
b560: 4f 50 29 5c 74 65 73 74 5c 64 62 66 75 7a 7a 2e  OP)\test\dbfuzz.
b570: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
b580: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
b590: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
b5a0: 24 28 44 42 46 55 5a 5a 5f 43 4f 4d 50 49 4c 45  $(DBFUZZ_COMPILE
b5b0: 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 74 65  _OPTS) $(TOP)\te
b5c0: 73 74 5c 64 62 66 75 7a 7a 2e 63 20 24 28 53 51  st\dbfuzz.c $(SQ
b5d0: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
b5e0: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
b5f0: 4b 4f 50 54 53 29 0a 0a 66 75 7a 7a 63 68 65 63  KOPTS)..fuzzchec
b600: 6b 2e 65 78 65 3a 09 24 28 46 55 5a 5a 43 48 45  k.exe:.$(FUZZCHE
b610: 43 4b 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45  CK_SRC) $(SQLITE
b620: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
b630: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
b640: 57 41 52 4e 29 20 24 28 46 55 5a 5a 43 48 45 43  WARN) $(FUZZCHEC
b650: 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  K_COMPILE_OPTS) 
b660: 24 28 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43 29  $(FUZZCHECK_SRC)
b670: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li
b680: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
b690: 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6f 73 73  LTLINKOPTS)..oss
b6a0: 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28 4f 53 53  shell.exe:.$(OSS
b6b0: 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 53 51 4c  SHELL_SRC) $(SQL
b6c0: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
b6d0: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
b6e0: 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 43  NO_WARN) $(FUZZC
b6f0: 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  HECK_COMPILE_OPT
b700: 53 29 20 24 28 4f 53 53 53 48 45 4c 4c 5f 53 52  S) $(OSSSHELL_SR
b710: 43 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  C) $(SQLITE3C) /
b720: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
b730: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73  $(LTLINKOPTS)..s
b740: 65 73 73 69 6f 6e 66 75 7a 7a 2e 65 78 65 3a 09  essionfuzz.exe:.
b750: 7a 6c 69 62 20 24 28 54 4f 50 29 5c 74 65 73 74  zlib $(TOP)\test
b760: 5c 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 63 20 24  \sessionfuzz.c $
b770: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
b780: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
b790: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 49 24  ) $(NO_WARN) -I$
b7a0: 28 5a 4c 49 42 49 4e 43 44 49 52 29 20 24 28 54  (ZLIBINCDIR) $(T
b7b0: 4f 50 29 5c 74 65 73 74 5c 73 65 73 73 69 6f 6e  OP)\test\session
b7c0: 66 75 7a 7a 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c  fuzz.c /link $(L
b7d0: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
b7e0: 4f 50 54 53 29 20 2f 4c 49 42 50 41 54 48 3a 24  OPTS) /LIBPATH:$
b7f0: 28 5a 4c 49 42 4c 49 42 44 49 52 29 20 24 28 5a  (ZLIBLIBDIR) $(Z
b800: 4c 49 42 4c 49 42 29 0a 0a 6d 70 74 65 73 74 65  LIBLIB)..mpteste
b810: 72 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 6d 70  r.exe:.$(TOP)\mp
b820: 74 65 73 74 5c 6d 70 74 65 73 74 2e 63 20 24 28  test\mptest.c $(
b830: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
b840: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
b850: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 4d 50   $(NO_WARN) $(MP
b860: 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f  TESTER_COMPILE_O
b870: 50 54 53 29 20 24 28 54 4f 50 29 5c 6d 70 74 65  PTS) $(TOP)\mpte
b880: 73 74 5c 6d 70 74 65 73 74 2e 63 20 24 28 53 51  st\mptest.c $(SQ
b890: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
b8a0: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
b8b0: 4b 4f 50 54 53 29 0a 0a 4d 50 54 45 53 54 31 20  KOPTS)..MPTEST1 
b8c0: 3d 20 6d 70 74 65 73 74 65 72 20 6d 70 74 65 73  = mptester mptes
b8d0: 74 2e 64 62 20 24 28 54 4f 50 29 5c 6d 70 74 65  t.db $(TOP)\mpte
b8e0: 73 74 5c 63 72 61 73 68 30 31 2e 74 65 73 74 20  st\crash01.test 
b8f0: 2d 2d 72 65 70 65 61 74 20 32 30 0a 4d 50 54 45  --repeat 20.MPTE
b900: 53 54 32 20 3d 20 6d 70 74 65 73 74 65 72 20 6d  ST2 = mptester m
b910: 70 74 65 73 74 2e 64 62 20 24 28 54 4f 50 29 5c  ptest.db $(TOP)\
b920: 6d 70 74 65 73 74 5c 6d 75 6c 74 69 77 72 69 74  mptest\multiwrit
b930: 65 30 31 2e 74 65 73 74 20 2d 2d 72 65 70 65 61  e01.test --repea
b940: 74 20 32 30 0a 0a 6d 70 74 65 73 74 3a 09 6d 70  t 20..mptest:.mp
b950: 74 65 73 74 65 72 2e 65 78 65 0a 09 64 65 6c 20  tester.exe..del 
b960: 2f 51 20 6d 70 74 65 73 74 2e 64 62 20 32 3e 4e  /Q mptest.db 2>N
b970: 55 4c 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d  UL..$(MPTEST1) -
b980: 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c  -journalmode DEL
b990: 45 54 45 0a 09 24 28 4d 50 54 45 53 54 32 29 20  ETE..$(MPTEST2) 
b9a0: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57 41  --journalmode WA
b9b0: 4c 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d  L..$(MPTEST1) --
b9c0: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57 41 4c 0a  journalmode WAL.
b9d0: 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f  .$(MPTEST2) --jo
b9e0: 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52 53 49 53  urnalmode PERSIS
b9f0: 54 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d  T..$(MPTEST1) --
ba00: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52 53  journalmode PERS
ba10: 49 53 54 0a 09 24 28 4d 50 54 45 53 54 32 29 20  IST..$(MPTEST2) 
ba20: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 54 52  --journalmode TR
ba30: 55 4e 43 41 54 45 0a 09 24 28 4d 50 54 45 53 54  UNCATE..$(MPTEST
ba40: 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65  1) --journalmode
ba50: 20 54 52 55 4e 43 41 54 45 0a 09 24 28 4d 50 54   TRUNCATE..$(MPT
ba60: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST2) --journalm
ba70: 6f 64 65 20 44 45 4c 45 54 45 0a 0a 23 20 54 68  ode DELETE..# Th
ba80: 69 73 20 74 61 72 67 65 74 20 63 72 65 61 74 65  is target create
ba90: 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 6e 61  s a directory na
baa0: 6d 65 64 20 22 74 73 72 63 22 20 61 6e 64 20 66  med "tsrc" and f
bab0: 69 6c 6c 73 20 69 74 20 77 69 74 68 0a 23 20 63  ills it with.# c
bac0: 6f 70 69 65 73 20 6f 66 20 61 6c 6c 20 6f 66 20  opies of all of 
bad0: 74 68 65 20 43 20 73 6f 75 72 63 65 20 63 6f 64  the C source cod
bae0: 65 20 61 6e 64 20 68 65 61 64 65 72 20 66 69 6c  e and header fil
baf0: 65 73 20 6e 65 65 64 65 64 20 74 6f 0a 23 20 62  es needed to.# b
bb00: 75 69 6c 64 20 6f 6e 20 74 68 65 20 74 61 72 67  uild on the targ
bb10: 65 74 20 73 79 73 74 65 6d 2e 20 20 53 6f 6d 65  et system.  Some
bb20: 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72 63 65   of the C source
bb30: 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64 65 72   code and header
bb40: 0a 23 20 66 69 6c 65 73 20 61 72 65 20 61 75 74  .# files are aut
bb50: 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72  omatically gener
bb60: 61 74 65 64 2e 20 20 54 68 69 73 20 74 61 72 67  ated.  This targ
bb70: 65 74 20 74 61 6b 65 73 20 63 61 72 65 20 6f 66  et takes care of
bb80: 0a 23 20 61 6c 6c 20 74 68 61 74 20 61 75 74 6f  .# all that auto
bb90: 6d 61 74 69 63 20 67 65 6e 65 72 61 74 69 6f 6e  matic generation
bba0: 2e 0a 23 0a 2e 74 61 72 67 65 74 5f 73 6f 75 72  ..#..target_sour
bbb0: 63 65 3a 09 24 28 53 52 43 29 20 24 28 54 4f 50  ce:.$(SRC) $(TOP
bbc0: 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70  )\tool\vdbe-comp
bbd0: 72 65 73 73 2e 74 63 6c 20 66 74 73 35 2e 63 20  ress.tcl fts5.c 
bbe0: 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50  $(SQLITE_TCL_DEP
bbf0: 29 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 74  )..-rmdir /Q/S t
bc00: 73 72 63 20 32 3e 4e 55 4c 0a 09 2d 6d 6b 64 69  src 2>NUL..-mkdi
bc10: 72 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  r tsrc..for %i i
bc20: 6e 20 28 24 28 53 52 43 30 30 29 29 20 64 6f 20  n ($(SRC00)) do 
bc30: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
bc40: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR
bc50: 43 30 31 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C01)) do copy /Y
bc60: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69   %i tsrc..for %i
bc70: 20 69 6e 20 28 24 28 53 52 43 30 33 29 29 20 64   in ($(SRC03)) d
bc80: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
bc90: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($(
bca0: 53 52 43 30 34 29 29 20 64 6f 20 63 6f 70 79 20  SRC04)) do copy 
bcb0: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for 
bcc0: 25 69 20 69 6e 20 28 24 28 53 52 43 30 35 29 29  %i in ($(SRC05))
bcd0: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
bce0: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
bcf0: 24 28 53 52 43 30 36 29 29 20 64 6f 20 63 6f 70  $(SRC06)) do cop
bd00: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f  y /Y %i tsrc..fo
bd10: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 37  r %i in ($(SRC07
bd20: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
bd30: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
bd40: 20 28 24 28 53 52 43 30 38 29 29 20 64 6f 20 63   ($(SRC08)) do c
bd50: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09  opy /Y %i tsrc..
bd60: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC
bd70: 30 39 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  09)) do copy /Y 
bd80: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i 
bd90: 69 6e 20 28 24 28 53 52 43 31 30 29 29 20 64 6f  in ($(SRC10)) do
bda0: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
bdb0: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S
bdc0: 52 43 31 31 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC11)) do copy /
bdd0: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
bde0: 69 20 69 6e 20 28 24 28 53 52 43 31 32 29 29 20  i in ($(SRC12)) 
bdf0: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
be00: 72 63 0a 09 63 6f 70 79 20 2f 59 20 66 74 73 35  rc..copy /Y fts5
be10: 2e 63 20 74 73 72 63 0a 09 63 6f 70 79 20 2f 59  .c tsrc..copy /Y
be20: 20 66 74 73 35 2e 68 20 74 73 72 63 0a 09 64 65   fts5.h tsrc..de
be30: 6c 20 2f 51 20 74 73 72 63 5c 73 71 6c 69 74 65  l /Q tsrc\sqlite
be40: 2e 68 2e 69 6e 20 74 73 72 63 5c 70 61 72 73 65  .h.in tsrc\parse
be50: 2e 79 20 32 3e 4e 55 4c 0a 09 24 28 54 43 4c 53  .y 2>NUL..$(TCLS
be60: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
be70: 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72 65 73 73  ol\vdbe-compress
be80: 2e 74 63 6c 20 24 28 4f 50 54 53 29 20 3c 20 74  .tcl $(OPTS) < t
be90: 73 72 63 5c 76 64 62 65 2e 63 20 3e 20 76 64 62  src\vdbe.c > vdb
bea0: 65 2e 6e 65 77 0a 09 6d 6f 76 65 20 76 64 62 65  e.new..move vdbe
beb0: 2e 6e 65 77 20 74 73 72 63 5c 76 64 62 65 2e 63  .new tsrc\vdbe.c
bec0: 0a 09 65 63 68 6f 20 3e 20 2e 74 61 72 67 65 74  ..echo > .target
bed0: 5f 73 6f 75 72 63 65 0a 0a 73 71 6c 69 74 65 33  _source..sqlite3
bee0: 2e 63 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75 72  .c:..target_sour
bef0: 63 65 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20  ce sqlite3ext.h 
bf00: 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f  $(MKSQLITE3C_TOO
bf10: 4c 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  L)..$(TCLSH_CMD)
bf20: 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f   $(MKSQLITE3C_TO
bf30: 4f 4c 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 43  OL) $(MKSQLITE3C
bf40: 5f 41 52 47 53 29 0a 09 63 6f 70 79 20 24 28 54  _ARGS)..copy $(T
bf50: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
bf60: 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 68  sqlite3session.h
bf70: 20 2e 0a 0a 73 71 6c 69 74 65 33 2d 61 6c 6c 2e   ...sqlite3-all.
bf80: 63 3a 09 73 71 6c 69 74 65 33 2e 63 20 24 28 54  c:.sqlite3.c $(T
bf90: 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73  OP)\tool\split-s
bfa0: 71 6c 69 74 65 33 63 2e 74 63 6c 0a 09 24 28 54  qlite3c.tcl..$(T
bfb0: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
bfc0: 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c 69  \tool\split-sqli
bfd0: 74 65 33 63 2e 74 63 6c 0a 23 20 3c 3c 2f 6d 61  te3c.tcl.# <</ma
bfe0: 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f 20  rk>>..# Rule to 
bff0: 62 75 69 6c 64 20 74 68 65 20 61 6d 61 6c 67 61  build the amalga
c000: 6d 61 74 69 6f 6e 0a 23 0a 73 71 6c 69 74 65 33  mation.#.sqlite3
c010: 2e 6c 6f 3a 09 24 28 53 51 4c 49 54 45 33 43 29  .lo:.$(SQLITE3C)
c020: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c030: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c040: 54 53 29 20 2d 63 20 24 28 53 51 4c 49 54 45 33  TS) -c $(SQLITE3
c050: 43 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  C)..# <<mark>>.#
c060: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20   Rules to build 
c070: 74 68 65 20 4c 45 4d 4f 4e 20 63 6f 6d 70 69 6c  the LEMON compil
c080: 65 72 20 67 65 6e 65 72 61 74 6f 72 0a 23 0a 6c  er generator.#.l
c090: 65 6d 70 61 72 2e 63 3a 09 24 28 54 4f 50 29 5c  empar.c:.$(TOP)\
c0a0: 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 0a 09 63  tool\lempar.c..c
c0b0: 6f 70 79 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  opy $(TOP)\tool\
c0c0: 6c 65 6d 70 61 72 2e 63 20 2e 0a 0a 6c 65 6d 6f  lempar.c ...lemo
c0d0: 6e 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  n.exe:.$(TOP)\to
c0e0: 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 6c 65 6d 70 61  ol\lemon.c lempa
c0f0: 72 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f  r.c..$(BCC) $(NO
c100: 5f 57 41 52 4e 29 20 2d 44 61 63 63 65 73 73 3d  _WARN) -Daccess=
c110: 5f 61 63 63 65 73 73 20 5c 0a 09 09 2d 46 65 24  _access \...-Fe$
c120: 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65  @ $(TOP)\tool\le
c130: 6d 6f 6e 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44  mon.c /link $(LD
c140: 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b  FLAGS) $(NLTLINK
c150: 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49 42 50 41  OPTS) $(NLTLIBPA
c160: 54 48 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  THS)..# <<mark>>
c170: 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c  .# Rules to buil
c180: 64 20 74 68 65 20 73 6f 75 72 63 65 2d 69 64 20  d the source-id 
c190: 67 65 6e 65 72 61 74 6f 72 20 74 6f 6f 6c 0a 23  generator tool.#
c1a0: 0a 6d 6b 73 6f 75 72 63 65 69 64 2e 65 78 65 3a  .mksourceid.exe:
c1b0: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73  .$(TOP)\tool\mks
c1c0: 6f 75 72 63 65 69 64 2e 63 0a 09 24 28 42 43 43  ourceid.c..$(BCC
c1d0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65  ) $(NO_WARN) -Fe
c1e0: 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  $@ $(TOP)\tool\m
c1f0: 6b 73 6f 75 72 63 65 69 64 2e 63 20 2f 6c 69 6e  ksourceid.c /lin
c200: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e  k $(LDFLAGS) $(N
c210: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c  LTLINKOPTS) $(NL
c220: 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 20 52 75  TLIBPATHS)..# Ru
c230: 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 69 6e 64  les to build ind
c240: 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20 66 69 6c  ividual *.lo fil
c250: 65 73 20 66 72 6f 6d 20 67 65 6e 65 72 61 74 65  es from generate
c260: 64 20 2a 2e 63 20 66 69 6c 65 73 2e 20 54 68 69  d *.c files. Thi
c270: 73 0a 23 20 61 70 70 6c 69 65 73 20 74 6f 3a 0a  s.# applies to:.
c280: 23 0a 23 20 20 20 20 20 70 61 72 73 65 2e 6c 6f  #.#     parse.lo
c290: 0a 23 20 20 20 20 20 6f 70 63 6f 64 65 73 2e 6c  .#     opcodes.l
c2a0: 6f 0a 23 0a 70 61 72 73 65 2e 6c 6f 3a 09 70 61  o.#.parse.lo:.pa
c2b0: 72 73 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  rse.c $(HDR)..$(
c2c0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c2d0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c2e0: 2d 63 20 70 61 72 73 65 2e 63 0a 0a 6f 70 63 6f  -c parse.c..opco
c2f0: 64 65 73 2e 6c 6f 3a 09 6f 70 63 6f 64 65 73 2e  des.lo:.opcodes.
c300: 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  c..$(LTCOMPILE) 
c310: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
c320: 50 54 53 29 20 2d 63 20 6f 70 63 6f 64 65 73 2e  PTS) -c opcodes.
c330: 63 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  c.# <</mark>>..#
c340: 20 52 75 6c 65 20 74 6f 20 62 75 69 6c 64 20 74   Rule to build t
c350: 68 65 20 57 69 6e 33 32 20 72 65 73 6f 75 72 63  he Win32 resourc
c360: 65 73 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a  es object file..
c370: 23 0a 21 49 46 20 24 28 55 53 45 5f 52 43 29 21  #.!IF $(USE_RC)!
c380: 3d 30 0a 23 20 3c 3c 62 6c 6f 63 6b 31 3e 3e 0a  =0.# <<block1>>.
c390: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 3a 09 24  $(LIBRESOBJS):.$
c3a0: 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65  (TOP)\src\sqlite
c3b0: 33 2e 72 63 20 24 28 53 51 4c 49 54 45 33 48 29  3.rc $(SQLITE3H)
c3c0: 0a 09 65 63 68 6f 20 23 69 66 6e 64 65 66 20 53  ..echo #ifndef S
c3d0: 51 4c 49 54 45 5f 52 45 53 4f 55 52 43 45 5f 56  QLITE_RESOURCE_V
c3e0: 45 52 53 49 4f 4e 20 3e 20 73 71 6c 69 74 65 33  ERSION > sqlite3
c3f0: 72 63 2e 68 0a 09 66 6f 72 20 2f 46 20 25 25 56  rc.h..for /F %%V
c400: 20 69 6e 20 28 27 74 79 70 65 20 22 24 28 54 4f   in ('type "$(TO
c410: 50 29 5c 56 45 52 53 49 4f 4e 22 27 29 20 64 6f  P)\VERSION"') do
c420: 20 28 20 5c 0a 09 09 65 63 68 6f 20 23 64 65 66   ( \...echo #def
c430: 69 6e 65 20 53 51 4c 49 54 45 5f 52 45 53 4f 55  ine SQLITE_RESOU
c440: 52 43 45 5f 56 45 52 53 49 4f 4e 20 25 25 56 20  RCE_VERSION %%V 
c450: 5c 0a 09 09 09 7c 20 24 28 54 43 4c 53 48 5f 43  \....| $(TCLSH_C
c460: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
c470: 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63  replace.tcl exac
c480: 74 20 2e 20 5e 2c 20 3e 3e 20 73 71 6c 69 74 65  t . ^, >> sqlite
c490: 33 72 63 2e 68 20 5c 0a 09 29 0a 09 65 63 68 6f  3rc.h \..)..echo
c4a0: 20 23 65 6e 64 69 66 20 3e 3e 20 73 71 6c 69 74   #endif >> sqlit
c4b0: 65 33 72 63 2e 68 0a 09 24 28 4c 54 52 43 4f 4d  e3rc.h..$(LTRCOM
c4c0: 50 49 4c 45 29 20 2d 66 6f 20 24 28 4c 49 42 52  PILE) -fo $(LIBR
c4d0: 45 53 4f 42 4a 53 29 20 24 28 54 4f 50 29 5c 73  ESOBJS) $(TOP)\s
c4e0: 72 63 5c 73 71 6c 69 74 65 33 2e 72 63 0a 23 20  rc\sqlite3.rc.# 
c4f0: 3c 3c 2f 62 6c 6f 63 6b 31 3e 3e 0a 21 45 4e 44  <</block1>>.!END
c500: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  IF..# <<mark>>.#
c510: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20   Rules to build 
c520: 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20  individual *.lo 
c530: 66 69 6c 65 73 20 66 72 6f 6d 20 66 69 6c 65 73  files from files
c540: 20 69 6e 20 74 68 65 20 73 72 63 20 64 69 72 65   in the src dire
c550: 63 74 6f 72 79 2e 0a 23 0a 61 6c 74 65 72 2e 6c  ctory..#.alter.l
c560: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c  o:.$(TOP)\src\al
c570: 74 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ter.c $(HDR)..$(
c580: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c590: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c5a0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c  -c $(TOP)\src\al
c5b0: 74 65 72 2e 63 0a 0a 61 6e 61 6c 79 7a 65 2e 6c  ter.c..analyze.l
c5c0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e  o:.$(TOP)\src\an
c5d0: 61 6c 79 7a 65 2e 63 20 24 28 48 44 52 29 0a 09  alyze.c $(HDR)..
c5e0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
c5f0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c600: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
c610: 61 6e 61 6c 79 7a 65 2e 63 0a 0a 61 74 74 61 63  analyze.c..attac
c620: 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  h.lo:.$(TOP)\src
c630: 5c 61 74 74 61 63 68 2e 63 20 24 28 48 44 52 29  \attach.c $(HDR)
c640: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c650: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c660: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c670: 63 5c 61 74 74 61 63 68 2e 63 0a 0a 61 75 74 68  c\attach.c..auth
c680: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c690: 61 75 74 68 2e 63 20 24 28 48 44 52 29 0a 09 24  auth.c $(HDR)..$
c6a0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c6b0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c6c0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61   -c $(TOP)\src\a
c6d0: 75 74 68 2e 63 0a 0a 62 61 63 6b 75 70 2e 6c 6f  uth.c..backup.lo
c6e0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 61 63  :.$(TOP)\src\bac
c6f0: 6b 75 70 2e 63 20 24 28 48 44 52 29 0a 09 24 28  kup.c $(HDR)..$(
c700: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c710: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c720: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 61  -c $(TOP)\src\ba
c730: 63 6b 75 70 2e 63 0a 0a 62 69 74 76 65 63 2e 6c  ckup.c..bitvec.l
c740: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 69  o:.$(TOP)\src\bi
c750: 74 76 65 63 2e 63 20 24 28 48 44 52 29 0a 09 24  tvec.c $(HDR)..$
c760: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c770: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c780: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62   -c $(TOP)\src\b
c790: 69 74 76 65 63 2e 63 0a 0a 62 74 6d 75 74 65 78  itvec.c..btmutex
c7a0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c7b0: 62 74 6d 75 74 65 78 2e 63 20 24 28 48 44 52 29  btmutex.c $(HDR)
c7c0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c7d0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c7e0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c7f0: 63 5c 62 74 6d 75 74 65 78 2e 63 0a 0a 62 74 72  c\btmutex.c..btr
c800: 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ee.lo:.$(TOP)\sr
c810: 63 5c 62 74 72 65 65 2e 63 20 24 28 48 44 52 29  c\btree.c $(HDR)
c820: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65   $(TOP)\src\page
c830: 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  r.h..$(LTCOMPILE
c840: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c850: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c860: 5c 73 72 63 5c 62 74 72 65 65 2e 63 0a 0a 62 75  \src\btree.c..bu
c870: 69 6c 64 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ild.lo:.$(TOP)\s
c880: 72 63 5c 62 75 69 6c 64 2e 63 20 24 28 48 44 52  rc\build.c $(HDR
c890: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
c8a0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
c8b0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
c8c0: 72 63 5c 62 75 69 6c 64 2e 63 0a 0a 63 61 6c 6c  rc\build.c..call
c8d0: 62 61 63 6b 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  back.lo:.$(TOP)\
c8e0: 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 20 24  src\callback.c $
c8f0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
c900: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
c910: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
c920: 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e  P)\src\callback.
c930: 63 0a 0a 63 6f 6d 70 6c 65 74 65 2e 6c 6f 3a 09  c..complete.lo:.
c940: 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c  $(TOP)\src\compl
c950: 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ete.c $(HDR)..$(
c960: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c970: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c980: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f  -c $(TOP)\src\co
c990: 6d 70 6c 65 74 65 2e 63 0a 0a 63 74 69 6d 65 2e  mplete.c..ctime.
c9a0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63  lo:.$(TOP)\src\c
c9b0: 74 69 6d 65 2e 63 20 24 28 48 44 52 29 0a 09 24  time.c $(HDR)..$
c9c0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c9d0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c9e0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63   -c $(TOP)\src\c
c9f0: 74 69 6d 65 2e 63 0a 0a 64 61 74 65 2e 6c 6f 3a  time.c..date.lo:
ca00: 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65  .$(TOP)\src\date
ca10: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
ca20: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
ca30: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
ca40: 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e  $(TOP)\src\date.
ca50: 63 0a 0a 64 62 70 61 67 65 2e 6c 6f 3a 09 24 28  c..dbpage.lo:.$(
ca60: 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67 65 2e  TOP)\src\dbpage.
ca70: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
ca80: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
ca90: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
caa0: 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67 65  (TOP)\src\dbpage
cab0: 2e 63 0a 0a 64 62 73 74 61 74 2e 6c 6f 3a 09 24  .c..dbstat.lo:.$
cac0: 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 61 74  (TOP)\src\dbstat
cad0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
cae0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
caf0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
cb00: 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 61  $(TOP)\src\dbsta
cb10: 74 2e 63 0a 0a 64 65 6c 65 74 65 2e 6c 6f 3a 09  t.c..delete.lo:.
cb20: 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74  $(TOP)\src\delet
cb30: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
cb40: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
cb50: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cb60: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65   $(TOP)\src\dele
cb70: 74 65 2e 63 0a 0a 65 78 70 72 2e 6c 6f 3a 09 24  te.c..expr.lo:.$
cb80: 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63  (TOP)\src\expr.c
cb90: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
cba0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
cbb0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
cbc0: 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 0a  TOP)\src\expr.c.
cbd0: 0a 66 61 75 6c 74 2e 6c 6f 3a 09 24 28 54 4f 50  .fault.lo:.$(TOP
cbe0: 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20 24 28  )\src\fault.c $(
cbf0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
cc00: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
cc10: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
cc20: 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 0a 0a 66  )\src\fault.c..f
cc30: 6b 65 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  key.lo:.$(TOP)\s
cc40: 72 63 5c 66 6b 65 79 2e 63 20 24 28 48 44 52 29  rc\fkey.c $(HDR)
cc50: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cc60: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cc70: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cc80: 63 5c 66 6b 65 79 2e 63 0a 0a 66 75 6e 63 2e 6c  c\fkey.c..func.l
cc90: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 75  o:.$(TOP)\src\fu
cca0: 6e 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  nc.c $(HDR)..$(L
ccb0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
ccc0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
ccd0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e  c $(TOP)\src\fun
cce0: 63 2e 63 0a 0a 67 6c 6f 62 61 6c 2e 6c 6f 3a 09  c.c..global.lo:.
ccf0: 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61  $(TOP)\src\globa
cd00: 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  l.c $(HDR)..$(LT
cd10: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
cd20: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cd30: 20 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62   $(TOP)\src\glob
cd40: 61 6c 2e 63 0a 0a 68 61 73 68 2e 6c 6f 3a 09 24  al.c..hash.lo:.$
cd50: 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63  (TOP)\src\hash.c
cd60: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
cd70: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
cd80: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
cd90: 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 0a  TOP)\src\hash.c.
cda0: 0a 69 6e 73 65 72 74 2e 6c 6f 3a 09 24 28 54 4f  .insert.lo:.$(TO
cdb0: 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 20  P)\src\insert.c 
cdc0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
cdd0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
cde0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
cdf0: 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63  OP)\src\insert.c
ce00: 0a 0a 6c 65 67 61 63 79 2e 6c 6f 3a 09 24 28 54  ..legacy.lo:.$(T
ce10: 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63  OP)\src\legacy.c
ce20: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
ce30: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
ce40: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
ce50: 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e  TOP)\src\legacy.
ce60: 63 0a 0a 6c 6f 61 64 65 78 74 2e 6c 6f 3a 09 24  c..loadext.lo:.$
ce70: 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78  (TOP)\src\loadex
ce80: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  t.c $(HDR)..$(LT
ce90: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
cea0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
ceb0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64   $(TOP)\src\load
cec0: 65 78 74 2e 63 0a 0a 6d 61 69 6e 2e 6c 6f 3a 09  ext.c..main.lo:.
ced0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e  $(TOP)\src\main.
cee0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
cef0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
cf00: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
cf10: 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63  (TOP)\src\main.c
cf20: 0a 0a 6d 61 6c 6c 6f 63 2e 6c 6f 3a 09 24 28 54  ..malloc.lo:.$(T
cf30: 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63  OP)\src\malloc.c
cf40: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
cf50: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
cf60: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
cf70: 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e  TOP)\src\malloc.
cf80: 63 0a 0a 6d 65 6d 30 2e 6c 6f 3a 09 24 28 54 4f  c..mem0.lo:.$(TO
cf90: 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 24 28  P)\src\mem0.c $(
cfa0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
cfb0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
cfc0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
cfd0: 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 0a 0a 6d 65  )\src\mem0.c..me
cfe0: 6d 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  m1.lo:.$(TOP)\sr
cff0: 63 5c 6d 65 6d 31 2e 63 20 24 28 48 44 52 29 0a  c\mem1.c $(HDR).
d000: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d010: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d020: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d030: 5c 6d 65 6d 31 2e 63 0a 0a 6d 65 6d 32 2e 6c 6f  \mem1.c..mem2.lo
d040: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  :.$(TOP)\src\mem
d050: 32 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  2.c $(HDR)..$(LT
d060: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d070: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d080: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32   $(TOP)\src\mem2
d090: 2e 63 0a 0a 6d 65 6d 33 2e 6c 6f 3a 09 24 28 54  .c..mem3.lo:.$(T
d0a0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 20 24  OP)\src\mem3.c $
d0b0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d0c0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d0d0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d0e0: 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 0a 0a 6d  P)\src\mem3.c..m
d0f0: 65 6d 35 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  em5.lo:.$(TOP)\s
d100: 72 63 5c 6d 65 6d 35 2e 63 20 24 28 48 44 52 29  rc\mem5.c $(HDR)
d110: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d120: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d130: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d140: 63 5c 6d 65 6d 35 2e 63 0a 0a 6d 65 6d 64 62 2e  c\mem5.c..memdb.
d150: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m
d160: 65 6d 64 62 2e 63 20 24 28 48 44 52 29 0a 09 24  emdb.c $(HDR)..$
d170: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d180: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d190: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
d1a0: 65 6d 64 62 2e 63 0a 0a 6d 65 6d 6a 6f 75 72 6e  emdb.c..memjourn
d1b0: 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  al.lo:.$(TOP)\sr
d1c0: 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20 24  c\memjournal.c $
d1d0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d1e0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d1f0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d200: 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61  P)\src\memjourna
d210: 6c 2e 63 0a 0a 6d 75 74 65 78 2e 6c 6f 3a 09 24  l.c..mutex.lo:.$
d220: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e  (TOP)\src\mutex.
d230: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d240: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d250: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d260: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e  (TOP)\src\mutex.
d270: 63 0a 0a 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f  c..mutex_noop.lo
d280: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  :.$(TOP)\src\mut
d290: 65 78 5f 6e 6f 6f 70 2e 63 20 24 28 48 44 52 29  ex_noop.c $(HDR)
d2a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d2b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d2c0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d2d0: 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 0a 0a  c\mutex_noop.c..
d2e0: 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 3a 09 24  mutex_unix.lo:.$
d2f0: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
d300: 75 6e 69 78 2e 63 20 24 28 48 44 52 29 0a 09 24  unix.c $(HDR)..$
d310: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d320: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d330: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
d340: 75 74 65 78 5f 75 6e 69 78 2e 63 0a 0a 6d 75 74  utex_unix.c..mut
d350: 65 78 5f 77 33 32 2e 6c 6f 3a 09 24 28 54 4f 50  ex_w32.lo:.$(TOP
d360: 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e  )\src\mutex_w32.
d370: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d380: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d390: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d3a0: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
d3b0: 77 33 32 2e 63 0a 0a 6e 6f 74 69 66 79 2e 6c 6f  w32.c..notify.lo
d3c0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74  :.$(TOP)\src\not
d3d0: 69 66 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ify.c $(HDR)..$(
d3e0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d3f0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d400: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f  -c $(TOP)\src\no
d410: 74 69 66 79 2e 63 0a 0a 70 61 67 65 72 2e 6c 6f  tify.c..pager.lo
d420: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67  :.$(TOP)\src\pag
d430: 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f  er.c $(HDR) $(TO
d440: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 0a 09  P)\src\pager.h..
d450: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d460: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d470: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d480: 70 61 67 65 72 2e 63 0a 0a 70 63 61 63 68 65 2e  pager.c..pcache.
d490: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70  lo:.$(TOP)\src\p
d4a0: 63 61 63 68 65 2e 63 20 24 28 48 44 52 29 20 24  cache.c $(HDR) $
d4b0: 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65  (TOP)\src\pcache
d4c0: 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  .h..$(LTCOMPILE)
d4d0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d4e0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d4f0: 73 72 63 5c 70 63 61 63 68 65 2e 63 0a 0a 70 63  src\pcache.c..pc
d500: 61 63 68 65 31 2e 6c 6f 3a 09 24 28 54 4f 50 29  ache1.lo:.$(TOP)
d510: 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20 24  \src\pcache1.c $
d520: 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63  (HDR) $(TOP)\src
d530: 5c 70 63 61 63 68 65 2e 68 0a 09 24 28 4c 54 43  \pcache.h..$(LTC
d540: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d550: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d560: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach
d570: 65 31 2e 63 0a 0a 6f 73 2e 6c 6f 3a 09 24 28 54  e1.c..os.lo:.$(T
d580: 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20 24 28 48  OP)\src\os.c $(H
d590: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d5a0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d5b0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d5c0: 5c 73 72 63 5c 6f 73 2e 63 0a 0a 6f 73 5f 75 6e  \src\os.c..os_un
d5d0: 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ix.lo:.$(TOP)\sr
d5e0: 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 24 28 48 44  c\os_unix.c $(HD
d5f0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d600: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d610: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d620: 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 0a 0a 6f  src\os_unix.c..o
d630: 73 5f 77 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29  s_win.lo:.$(TOP)
d640: 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 20 24 28  \src\os_win.c $(
d650: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d660: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d670: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d680: 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a 0a  )\src\os_win.c..
d690: 70 72 61 67 6d 61 2e 6c 6f 3a 09 24 28 54 4f 50  pragma.lo:.$(TOP
d6a0: 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 20 24  )\src\pragma.c $
d6b0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d6c0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d6d0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d6e0: 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 0a  P)\src\pragma.c.
d6f0: 0a 70 72 65 70 61 72 65 2e 6c 6f 3a 09 24 28 54  .prepare.lo:.$(T
d700: 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e  OP)\src\prepare.
d710: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d720: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d730: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d740: 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72  (TOP)\src\prepar
d750: 65 2e 63 0a 0a 70 72 69 6e 74 66 2e 6c 6f 3a 09  e.c..printf.lo:.
d760: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74  $(TOP)\src\print
d770: 66 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  f.c $(HDR)..$(LT
d780: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d790: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d7a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e   $(TOP)\src\prin
d7b0: 74 66 2e 63 0a 0a 72 61 6e 64 6f 6d 2e 6c 6f 3a  tf.c..random.lo:
d7c0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64  .$(TOP)\src\rand
d7d0: 6f 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  om.c $(HDR)..$(L
d7e0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d7f0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d800: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e  c $(TOP)\src\ran
d810: 64 6f 6d 2e 63 0a 0a 72 65 73 6f 6c 76 65 2e 6c  dom.c..resolve.l
d820: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 65  o:.$(TOP)\src\re
d830: 73 6f 6c 76 65 2e 63 20 24 28 48 44 52 29 0a 09  solve.c $(HDR)..
d840: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d850: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d860: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d870: 72 65 73 6f 6c 76 65 2e 63 0a 0a 72 6f 77 73 65  resolve.c..rowse
d880: 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  t.lo:.$(TOP)\src
d890: 5c 72 6f 77 73 65 74 2e 63 20 24 28 48 44 52 29  \rowset.c $(HDR)
d8a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d8b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d8c0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d8d0: 63 5c 72 6f 77 73 65 74 2e 63 0a 0a 73 65 6c 65  c\rowset.c..sele
d8e0: 63 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ct.lo:.$(TOP)\sr
d8f0: 63 5c 73 65 6c 65 63 74 2e 63 20 24 28 48 44 52  c\select.c $(HDR
d900: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
d910: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
d920: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
d930: 72 63 5c 73 65 6c 65 63 74 2e 63 0a 0a 73 74 61  rc\select.c..sta
d940: 74 75 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  tus.lo:.$(TOP)\s
d950: 72 63 5c 73 74 61 74 75 73 2e 63 20 24 28 48 44  rc\status.c $(HD
d960: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d970: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d980: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d990: 73 72 63 5c 73 74 61 74 75 73 2e 63 0a 0a 74 61  src\status.c..ta
d9a0: 62 6c 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ble.lo:.$(TOP)\s
d9b0: 72 63 5c 74 61 62 6c 65 2e 63 20 24 28 48 44 52  rc\table.c $(HDR
d9c0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
d9d0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
d9e0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
d9f0: 72 63 5c 74 61 62 6c 65 2e 63 0a 0a 74 68 72 65  rc\table.c..thre
da00: 61 64 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ads.lo:.$(TOP)\s
da10: 72 63 5c 74 68 72 65 61 64 73 2e 63 20 24 28 48  rc\threads.c $(H
da20: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
da30: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
da40: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
da50: 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 0a 0a  \src\threads.c..
da60: 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 3a 09 24 28 54  tokenize.lo:.$(T
da70: 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a 65  OP)\src\tokenize
da80: 2e 63 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68  .c keywordhash.h
da90: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
daa0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
dab0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
dac0: 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a  TOP)\src\tokeniz
dad0: 65 2e 63 0a 0a 74 72 65 65 76 69 65 77 2e 6c 6f  e.c..treeview.lo
dae0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65  :.$(TOP)\src\tre
daf0: 65 76 69 65 77 2e 63 20 24 28 48 44 52 29 0a 09  eview.c $(HDR)..
db00: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
db10: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
db20: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
db30: 74 72 65 65 76 69 65 77 2e 63 0a 0a 74 72 69 67  treeview.c..trig
db40: 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ger.lo:.$(TOP)\s
db50: 72 63 5c 74 72 69 67 67 65 72 2e 63 20 24 28 48  rc\trigger.c $(H
db60: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
db70: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
db80: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
db90: 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 0a 0a  \src\trigger.c..
dba0: 75 70 64 61 74 65 2e 6c 6f 3a 09 24 28 54 4f 50  update.lo:.$(TOP
dbb0: 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 20 24  )\src\update.c $
dbc0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
dbd0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
dbe0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
dbf0: 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 0a  P)\src\update.c.
dc00: 0a 75 70 73 65 72 74 2e 6c 6f 3a 09 24 28 54 4f  .upsert.lo:.$(TO
dc10: 50 29 5c 73 72 63 5c 75 70 73 65 72 74 2e 63 20  P)\src\upsert.c 
dc20: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
dc30: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
dc40: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
dc50: 4f 50 29 5c 73 72 63 5c 75 70 73 65 72 74 2e 63  OP)\src\upsert.c
dc60: 0a 0a 75 74 66 2e 6c 6f 3a 09 24 28 54 4f 50 29  ..utf.lo:.$(TOP)
dc70: 5c 73 72 63 5c 75 74 66 2e 63 20 24 28 48 44 52  \src\utf.c $(HDR
dc80: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
dc90: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
dca0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
dcb0: 72 63 5c 75 74 66 2e 63 0a 0a 75 74 69 6c 2e 6c  rc\utf.c..util.l
dcc0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 74  o:.$(TOP)\src\ut
dcd0: 69 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  il.c $(HDR)..$(L
dce0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
dcf0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
dd00: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69  c $(TOP)\src\uti
dd10: 6c 2e 63 0a 0a 76 61 63 75 75 6d 2e 6c 6f 3a 09  l.c..vacuum.lo:.
dd20: 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75  $(TOP)\src\vacuu
dd30: 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  m.c $(HDR)..$(LT
dd40: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
dd50: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
dd60: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75   $(TOP)\src\vacu
dd70: 75 6d 2e 63 0a 0a 76 64 62 65 2e 6c 6f 3a 09 24  um.c..vdbe.lo:.$
dd80: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
dd90: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
dda0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
ddb0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
ddc0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 0a  TOP)\src\vdbe.c.
ddd0: 0a 76 64 62 65 61 70 69 2e 6c 6f 3a 09 24 28 54  .vdbeapi.lo:.$(T
dde0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69 2e  OP)\src\vdbeapi.
ddf0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
de00: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
de10: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
de20: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70  (TOP)\src\vdbeap
de30: 69 2e 63 0a 0a 76 64 62 65 61 75 78 2e 6c 6f 3a  i.c..vdbeaux.lo:
de40: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65  .$(TOP)\src\vdbe
de50: 61 75 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28  aux.c $(HDR)..$(
de60: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
de70: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
de80: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  -c $(TOP)\src\vd
de90: 62 65 61 75 78 2e 63 0a 0a 76 64 62 65 62 6c 6f  beaux.c..vdbeblo
dea0: 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  b.lo:.$(TOP)\src
deb0: 5c 76 64 62 65 62 6c 6f 62 2e 63 20 24 28 48 44  \vdbeblob.c $(HD
dec0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
ded0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
dee0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
def0: 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 0a 0a  src\vdbeblob.c..
df00: 76 64 62 65 6d 65 6d 2e 6c 6f 3a 09 24 28 54 4f  vdbemem.lo:.$(TO
df10: 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63  P)\src\vdbemem.c
df20: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
df30: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
df40: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
df50: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d  TOP)\src\vdbemem
df60: 2e 63 0a 0a 76 64 62 65 73 6f 72 74 2e 6c 6f 3a  .c..vdbesort.lo:
df70: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65  .$(TOP)\src\vdbe
df80: 73 6f 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24  sort.c $(HDR)..$
df90: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
dfa0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
dfb0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v
dfc0: 64 62 65 73 6f 72 74 2e 63 0a 0a 76 64 62 65 74  dbesort.c..vdbet
dfd0: 72 61 63 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  race.lo:.$(TOP)\
dfe0: 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63 20  src\vdbetrace.c 
dff0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
e000: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
e010: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
e020: 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63  OP)\src\vdbetrac
e030: 65 2e 63 0a 0a 76 74 61 62 2e 6c 6f 3a 09 24 28  e.c..vtab.lo:.$(
e040: 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 20  TOP)\src\vtab.c 
e050: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
e060: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
e070: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
e080: 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 0a 0a  OP)\src\vtab.c..
e090: 77 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  wal.lo:.$(TOP)\s
e0a0: 72 63 5c 77 61 6c 2e 63 20 24 28 48 44 52 29 0a  rc\wal.c $(HDR).
e0b0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
e0c0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e0d0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
e0e0: 5c 77 61 6c 2e 63 0a 0a 77 61 6c 6b 65 72 2e 6c  \wal.c..walker.l
e0f0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 61  o:.$(TOP)\src\wa
e100: 6c 6b 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24  lker.c $(HDR)..$
e110: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
e120: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
e130: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77   -c $(TOP)\src\w
e140: 61 6c 6b 65 72 2e 63 0a 0a 77 68 65 72 65 2e 6c  alker.c..where.l
e150: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  o:.$(TOP)\src\wh
e160: 65 72 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ere.c $(HDR)..$(
e170: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
e180: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
e190: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  -c $(TOP)\src\wh
e1a0: 65 72 65 2e 63 0a 0a 77 68 65 72 65 63 6f 64 65  ere.c..wherecode
e1b0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
e1c0: 77 68 65 72 65 63 6f 64 65 2e 63 20 24 28 48 44  wherecode.c $(HD
e1d0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e1e0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
e1f0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
e200: 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 0a  src\wherecode.c.
e210: 0a 77 68 65 72 65 65 78 70 72 2e 6c 6f 3a 09 24  .whereexpr.lo:.$
e220: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 65  (TOP)\src\wheree
e230: 78 70 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28  xpr.c $(HDR)..$(
e240: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
e250: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
e260: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  -c $(TOP)\src\wh
e270: 65 72 65 65 78 70 72 2e 63 0a 0a 77 69 6e 64 6f  ereexpr.c..windo
e280: 77 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  w.lo:.$(TOP)\src
e290: 5c 77 69 6e 64 6f 77 2e 63 20 24 28 48 44 52 29  \window.c $(HDR)
e2a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
e2b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
e2c0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
e2d0: 63 5c 77 69 6e 64 6f 77 2e 63 0a 0a 74 63 6c 73  c\window.c..tcls
e2e0: 71 6c 69 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  qlite.lo:.$(TOP)
e2f0: 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63  \src\tclsqlite.c
e300: 20 24 28 48 44 52 29 20 24 28 53 51 4c 49 54 45   $(HDR) $(SQLITE
e310: 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 43  _TCL_DEP)..$(LTC
e320: 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52  OMPILE) $(NO_WAR
e330: 4e 29 20 2d 44 55 53 45 5f 54 43 4c 5f 53 54 55  N) -DUSE_TCL_STU
e340: 42 53 3d 31 20 2d 44 42 55 49 4c 44 5f 73 71 6c  BS=1 -DBUILD_sql
e350: 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49  ite -I$(TCLINCDI
e360: 52 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  R) -c $(TOP)\src
e370: 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63  \tclsqlite.c..tc
e380: 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f  lsqlite-shell.lo
e390: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c  :.$(TOP)\src\tcl
e3a0: 73 71 6c 69 74 65 2e 63 20 24 28 48 44 52 29 20  sqlite.c $(HDR) 
e3b0: 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50  $(SQLITE_TCL_DEP
e3c0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
e3d0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 54 43 4c  $(NO_WARN) -DTCL
e3e0: 53 48 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74  SH -DBUILD_sqlit
e3f0: 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29  e -I$(TCLINCDIR)
e400: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74   -c $(TOP)\src\t
e410: 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63 6c 73  clsqlite.c..tcls
e420: 71 6c 69 74 65 33 2e 65 78 65 3a 09 74 63 6c 73  qlite3.exe:.tcls
e430: 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 24  qlite-shell.lo $
e440: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
e450: 49 54 45 33 48 29 20 24 28 4c 49 42 52 45 53 4f  ITE3H) $(LIBRESO
e460: 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  BJS)..$(LTLINK) 
e470: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
e480: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
e490: 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c  TLINKOPTS) $(TCL
e4a0: 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49  LIBPATHS) $(LTLI
e4b0: 42 50 41 54 48 53 29 20 2f 4f 55 54 3a 24 40 20  BPATHS) /OUT:$@ 
e4c0: 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e  tclsqlite-shell.
e4d0: 6c 6f 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  lo $(LIBRESOBJS)
e4e0: 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54   $(TCLLIBS) $(LT
e4f0: 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS)..
e500: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64  # Rules to build
e510: 20 6f 70 63 6f 64 65 73 2e 63 20 61 6e 64 20 6f   opcodes.c and o
e520: 70 63 6f 64 65 73 2e 68 0a 23 0a 6f 70 63 6f 64  pcodes.h.#.opcod
e530: 65 73 2e 63 3a 09 6f 70 63 6f 64 65 73 2e 68 20  es.c:.opcodes.h 
e540: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70  $(TOP)\tool\mkop
e550: 63 6f 64 65 63 2e 74 63 6c 0a 09 24 28 54 43 4c  codec.tcl..$(TCL
e560: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
e570: 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63  ool\mkopcodec.tc
e580: 6c 20 6f 70 63 6f 64 65 73 2e 68 20 3e 20 6f 70  l opcodes.h > op
e590: 63 6f 64 65 73 2e 63 0a 0a 6f 70 63 6f 64 65 73  codes.c..opcodes
e5a0: 2e 68 3a 09 70 61 72 73 65 2e 68 20 24 28 54 4f  .h:.parse.h $(TO
e5b0: 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 24 28  P)\src\vdbe.c $(
e5c0: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f  TOP)\tool\mkopco
e5d0: 64 65 68 2e 74 63 6c 0a 09 74 79 70 65 20 70 61  deh.tcl..type pa
e5e0: 72 73 65 2e 68 20 24 28 54 4f 50 29 5c 73 72 63  rse.h $(TOP)\src
e5f0: 5c 76 64 62 65 2e 63 20 7c 20 24 28 54 43 4c 53  \vdbe.c | $(TCLS
e600: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
e610: 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c  ol\mkopcodeh.tcl
e620: 20 3e 20 6f 70 63 6f 64 65 73 2e 68 0a 0a 23 20   > opcodes.h..# 
e630: 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 70  Rules to build p
e640: 61 72 73 65 2e 63 20 61 6e 64 20 70 61 72 73 65  arse.c and parse
e650: 2e 68 20 2d 20 74 68 65 20 6f 75 74 70 75 74 73  .h - the outputs
e660: 20 6f 66 20 6c 65 6d 6f 6e 2e 0a 23 0a 70 61 72   of lemon..#.par
e670: 73 65 2e 68 3a 09 70 61 72 73 65 2e 63 0a 0a 70  se.h:.parse.c..p
e680: 61 72 73 65 2e 63 3a 09 24 28 54 4f 50 29 5c 73  arse.c:.$(TOP)\s
e690: 72 63 5c 70 61 72 73 65 2e 79 20 6c 65 6d 6f 6e  rc\parse.y lemon
e6a0: 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  .exe $(TOP)\tool
e6b0: 5c 61 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c 0a  \addopcodes.tcl.
e6c0: 09 64 65 6c 20 2f 51 20 70 61 72 73 65 2e 79 20  .del /Q parse.y 
e6d0: 70 61 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e  parse.h parse.h.
e6e0: 74 65 6d 70 20 32 3e 4e 55 4c 0a 09 63 6f 70 79  temp 2>NUL..copy
e6f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73   $(TOP)\src\pars
e700: 65 2e 79 20 2e 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65  e.y ....\lemon.e
e710: 78 65 20 24 28 52 45 51 5f 46 45 41 54 55 52 45  xe $(REQ_FEATURE
e720: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45  _FLAGS) $(OPT_FE
e730: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45  ATURE_FLAGS) $(E
e740: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
e750: 29 20 24 28 4f 50 54 53 29 20 70 61 72 73 65 2e  ) $(OPTS) parse.
e760: 79 0a 09 6d 6f 76 65 20 70 61 72 73 65 2e 68 20  y..move parse.h 
e770: 70 61 72 73 65 2e 68 2e 74 65 6d 70 0a 09 24 28  parse.h.temp..$(
e780: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
e790: 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 65  )\tool\addopcode
e7a0: 73 2e 74 63 6c 20 70 61 72 73 65 2e 68 2e 74 65  s.tcl parse.h.te
e7b0: 6d 70 20 3e 20 70 61 72 73 65 2e 68 0a 0a 24 28  mp > parse.h..$(
e7c0: 53 51 4c 49 54 45 33 48 29 3a 09 24 28 54 4f 50  SQLITE3H):.$(TOP
e7d0: 29 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69  )\src\sqlite.h.i
e7e0: 6e 20 24 28 54 4f 50 29 5c 6d 61 6e 69 66 65 73  n $(TOP)\manifes
e7f0: 74 20 6d 6b 73 6f 75 72 63 65 69 64 2e 65 78 65  t mksourceid.exe
e800: 20 24 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 0a   $(TOP)\VERSION.
e810: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD) $(
e820: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69  TOP)\tool\mksqli
e830: 74 65 33 68 2e 74 63 6c 20 24 28 54 4f 50 3a 5c  te3h.tcl $(TOP:\
e840: 3d 2f 29 20 3e 20 24 28 53 51 4c 49 54 45 33 48  =/) > $(SQLITE3H
e850: 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 48 5f 41  ) $(MKSQLITE3H_A
e860: 52 47 53 29 0a 0a 73 71 6c 69 74 65 33 65 78 74  RGS)..sqlite3ext
e870: 2e 68 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75 72  .h:..target_sour
e880: 63 65 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44  ce.!IF $(USE_STD
e890: 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  CALL)!=0 || $(FO
e8a0: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 09 74 79 70  R_WIN10)!=0..typ
e8b0: 65 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65 78  e tsrc\sqlite3ex
e8c0: 74 2e 68 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d  t.h | $(TCLSH_CM
e8d0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r
e8e0: 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75  eplace.tcl regsu
e8f0: 62 20 22 5c 28 5c 2a 5c 29 22 20 22 28 53 51 4c  b "\(\*\)" "(SQL
e900: 49 54 45 5f 43 41 4c 4c 42 41 43 4b 20 2a 29 22  ITE_CALLBACK *)"
e910: 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43   \...| $(TCLSH_C
e920: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
e930: 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73  replace.tcl regs
e940: 75 62 20 22 5c 28 5c 2a 22 20 22 28 53 51 4c 49  ub "\(\*" "(SQLI
e950: 54 45 5f 41 50 49 43 41 4c 4c 20 2a 22 20 3e 20  TE_APICALL *" > 
e960: 73 71 6c 69 74 65 33 65 78 74 2e 68 0a 09 63 6f  sqlite3ext.h..co
e970: 70 79 20 2f 59 20 73 71 6c 69 74 65 33 65 78 74  py /Y sqlite3ext
e980: 2e 68 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65  .h tsrc\sqlite3e
e990: 78 74 2e 68 0a 21 45 4c 53 45 0a 09 63 6f 70 79  xt.h.!ELSE..copy
e9a0: 20 2f 59 20 74 73 72 63 5c 73 71 6c 69 74 65 33   /Y tsrc\sqlite3
e9b0: 65 78 74 2e 68 20 73 71 6c 69 74 65 33 65 78 74  ext.h sqlite3ext
e9c0: 2e 68 0a 21 45 4e 44 49 46 0a 0a 6d 6b 6b 65 79  .h.!ENDIF..mkkey
e9d0: 77 6f 72 64 68 61 73 68 2e 65 78 65 3a 09 24 28  wordhash.exe:.$(
e9e0: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77  TOP)\tool\mkkeyw
e9f0: 6f 72 64 68 61 73 68 2e 63 0a 09 24 28 42 43 43  ordhash.c..$(BCC
ea00: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65  ) $(NO_WARN) -Fe
ea10: 24 40 20 24 28 52 45 51 5f 46 45 41 54 55 52 45  $@ $(REQ_FEATURE
ea20: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45  _FLAGS) $(OPT_FE
ea30: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45  ATURE_FLAGS) $(E
ea40: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
ea50: 29 20 24 28 4f 50 54 53 29 20 5c 0a 09 09 24 28  ) $(OPTS) \...$(
ea60: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77  TOP)\tool\mkkeyw
ea70: 6f 72 64 68 61 73 68 2e 63 20 2f 6c 69 6e 6b 20  ordhash.c /link 
ea80: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c 54  $(LDFLAGS) $(NLT
ea90: 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c  LINKOPTS) $(NLTL
eaa0: 49 42 50 41 54 48 53 29 0a 0a 6b 65 79 77 6f 72  IBPATHS)..keywor
eab0: 64 68 61 73 68 2e 68 3a 09 24 28 54 4f 50 29 5c  dhash.h:.$(TOP)\
eac0: 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61  tool\mkkeywordha
ead0: 73 68 2e 63 20 6d 6b 6b 65 79 77 6f 72 64 68 61  sh.c mkkeywordha
eae0: 73 68 2e 65 78 65 0a 09 2e 5c 6d 6b 6b 65 79 77  sh.exe...\mkkeyw
eaf0: 6f 72 64 68 61 73 68 2e 65 78 65 20 3e 20 6b 65  ordhash.exe > ke
eb00: 79 77 6f 72 64 68 61 73 68 2e 68 0a 0a 23 20 53  ywordhash.h..# S
eb10: 6f 75 72 63 65 20 66 69 6c 65 73 20 74 68 61 74  ource files that
eb20: 20 67 6f 20 69 6e 74 6f 20 6d 61 6b 69 6e 67 20   go into making 
eb30: 73 68 65 6c 6c 2e 63 0a 53 48 45 4c 4c 5f 53 52  shell.c.SHELL_SR
eb40: 43 20 3d 20 5c 0a 09 24 28 54 4f 50 29 5c 73 72  C = \..$(TOP)\sr
eb50: 63 5c 73 68 65 6c 6c 2e 63 2e 69 6e 20 5c 0a 09  c\shell.c.in \..
eb60: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
eb70: 61 70 70 65 6e 64 76 66 73 2e 63 20 5c 0a 09 24  appendvfs.c \..$
eb80: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73  (TOP)\ext\misc\s
eb90: 68 61 74 68 72 65 65 2e 63 20 5c 0a 09 24 28 54  hathree.c \..$(T
eba0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 66 69 6c  OP)\ext\misc\fil
ebb0: 65 69 6f 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c  eio.c \..$(TOP)\
ebc0: 65 78 74 5c 6d 69 73 63 5c 63 6f 6d 70 6c 65 74  ext\misc\complet
ebd0: 69 6f 6e 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c  ion.c \..$(TOP)\
ebe0: 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74  ext\expert\sqlit
ebf0: 65 33 65 78 70 65 72 74 2e 63 20 5c 0a 09 24 28  e3expert.c \..$(
ec00: 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c  TOP)\ext\expert\
ec10: 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 68 20  sqlite3expert.h 
ec20: 5c 0a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  \..$(TOP)\src\te
ec30: 73 74 5f 77 69 6e 64 69 72 65 6e 74 2e 63 0a 0a  st_windirent.c..
ec40: 23 20 49 66 20 75 73 65 20 6f 66 20 7a 6c 69 62  # If use of zlib
ec50: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64   is enabled, add
ec60: 20 74 68 65 20 22 7a 69 70 66 69 6c 65 2e 63 22   the "zipfile.c"
ec70: 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 0a 23 0a   source file..#.
ec80: 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29 21  !IF $(USE_ZLIB)!
ec90: 3d 30 0a 53 48 45 4c 4c 5f 53 52 43 20 3d 20 24  =0.SHELL_SRC = $
eca0: 28 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 54 4f  (SHELL_SRC) $(TO
ecb0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 71 6c 61  P)\ext\misc\sqla
ecc0: 72 2e 63 0a 53 48 45 4c 4c 5f 53 52 43 20 3d 20  r.c.SHELL_SRC = 
ecd0: 24 28 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 54  $(SHELL_SRC) $(T
ece0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 7a 69 70  OP)\ext\misc\zip
ecf0: 66 69 6c 65 2e 63 0a 21 45 4e 44 49 46 0a 0a 73  file.c.!ENDIF..s
ed00: 68 65 6c 6c 2e 63 3a 09 24 28 53 48 45 4c 4c 5f  hell.c:.$(SHELL_
ed10: 53 52 43 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  SRC) $(TOP)\tool
ed20: 5c 6d 6b 73 68 65 6c 6c 63 2e 74 63 6c 0a 09 24  \mkshellc.tcl..$
ed30: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
ed40: 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 68 65 6c 6c 63  P)\tool\mkshellc
ed50: 2e 74 63 6c 20 3e 20 73 68 65 6c 6c 2e 63 0a 0a  .tcl > shell.c..
ed60: 7a 6c 69 62 3a 0a 09 70 75 73 68 64 20 24 28 5a  zlib:..pushd $(Z
ed70: 4c 49 42 44 49 52 29 20 26 26 20 24 28 4d 41 4b  LIBDIR) && $(MAK
ed80: 45 29 20 2f 66 20 77 69 6e 33 32 5c 4d 61 6b 65  E) /f win32\Make
ed90: 66 69 6c 65 2e 6d 73 63 20 63 6c 65 61 6e 20 24  file.msc clean $
eda0: 28 5a 4c 49 42 4c 49 42 29 20 26 26 20 70 6f 70  (ZLIBLIB) && pop
edb0: 64 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75  d..# Rules to bu
edc0: 69 6c 64 20 74 68 65 20 65 78 74 65 6e 73 69 6f  ild the extensio
edd0: 6e 20 6f 62 6a 65 63 74 73 2e 0a 23 0a 69 63 75  n objects..#.icu
ede0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
edf0: 69 63 75 5c 69 63 75 2e 63 20 24 28 48 44 52 29  icu\icu.c $(HDR)
ee00: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
ee10: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
ee20: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
ee30: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
ee40: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
ee50: 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 0a 0a  \ext\icu\icu.c..
ee60: 66 74 73 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  fts2.lo:.$(TOP)\
ee70: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 63 20  ext\fts2\fts2.c 
ee80: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
ee90: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
eea0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
eeb0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
eec0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
eed0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
eee0: 66 74 73 32 2e 63 0a 0a 66 74 73 32 5f 68 61 73  fts2.c..fts2_has
eef0: 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  h.lo:.$(TOP)\ext
ef00: 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e  \fts2\fts2_hash.
ef10: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
ef20: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
ef30: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
ef40: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
ef50: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
ef60: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
ef70: 32 5c 66 74 73 32 5f 68 61 73 68 2e 63 0a 0a 66  2\fts2_hash.c..f
ef80: 74 73 32 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f  ts2_icu.lo:.$(TO
ef90: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
efa0: 5f 69 63 75 2e 63 20 24 28 48 44 52 29 20 24 28  _icu.c $(HDR) $(
efb0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
efc0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
efd0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
efe0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
eff0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
f000: 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e  t\fts2\fts2_icu.
f010: 63 0a 0a 66 74 73 32 5f 70 6f 72 74 65 72 2e 6c  c..fts2_porter.l
f020: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
f030: 73 32 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e 63  s2\fts2_porter.c
f040: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
f050: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
f060: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
f070: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
f080: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
f090: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
f0a0: 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e 63 0a 0a  \fts2_porter.c..
f0b0: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c  fts2_tokenizer.l
f0c0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
f0d0: 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65  s2\fts2_tokenize
f0e0: 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  r.c $(HDR) $(EXT
f0f0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
f100: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
f110: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
f120: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
f130: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
f140: 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a  ts2\fts2_tokeniz
f150: 65 72 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e  er.c..fts2_token
f160: 69 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29  izer1.lo:.$(TOP)
f170: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74  \ext\fts2\fts2_t
f180: 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 24 28 48 44  okenizer1.c $(HD
f190: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
f1a0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
f1b0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
f1c0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
f1d0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
f1e0: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
f1f0: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66  _tokenizer1.c..f
f200: 74 73 33 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ts3.lo:.$(TOP)\e
f210: 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 20 24  xt\fts3\fts3.c $
f220: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
f230: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
f240: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
f250: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
f260: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
f270: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
f280: 74 73 33 2e 63 0a 0a 66 74 73 33 5f 61 75 78 2e  ts3.c..fts3_aux.
f290: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
f2a0: 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 20 24  ts3\fts3_aux.c $
f2b0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
f2c0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
f2d0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
f2e0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
f2f0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
f300: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
f310: 74 73 33 5f 61 75 78 2e 63 0a 0a 66 74 73 33 5f  ts3_aux.c..fts3_
f320: 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  expr.lo:.$(TOP)\
f330: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78  ext\fts3\fts3_ex
f340: 70 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  pr.c $(HDR) $(EX
f350: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
f360: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
f370: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
f380: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
f390: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
f3a0: 66 74 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63  fts3\fts3_expr.c
f3b0: 0a 0a 66 74 73 33 5f 68 61 73 68 2e 6c 6f 3a 09  ..fts3_hash.lo:.
f3c0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
f3d0: 66 74 73 33 5f 68 61 73 68 2e 63 20 24 28 48 44  fts3_hash.c $(HD
f3e0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
f3f0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
f400: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
f410: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
f420: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
f430: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
f440: 5f 68 61 73 68 2e 63 0a 0a 66 74 73 33 5f 69 63  _hash.c..fts3_ic
f450: 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  u.lo:.$(TOP)\ext
f460: 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63  \fts3\fts3_icu.c
f470: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
f480: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
f490: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
f4a0: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
f4b0: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
f4c0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
f4d0: 5c 66 74 73 33 5f 69 63 75 2e 63 0a 0a 66 74 73  \fts3_icu.c..fts
f4e0: 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 3a 09 24 28  3_snippet.lo:.$(
f4f0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
f500: 73 33 5f 73 6e 69 70 70 65 74 2e 63 20 24 28 48  s3_snippet.c $(H
f510: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
f520: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
f530: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
f540: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
f550: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
f560: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f570: 33 5f 73 6e 69 70 70 65 74 2e 63 0a 0a 66 74 73  3_snippet.c..fts
f580: 33 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 54  3_porter.lo:.$(T
f590: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f5a0: 33 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 44 52  3_porter.c $(HDR
f5b0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
f5c0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
f5d0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
f5e0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
f5f0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
f600: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
f610: 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73 33 5f 74  porter.c..fts3_t
f620: 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 54  okenizer.lo:.$(T
f630: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f640: 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 28  3_tokenizer.c $(
f650: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
f660: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
f670: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
f680: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
f690: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
f6a0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
f6b0: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a  s3_tokenizer.c..
f6c0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts3_tokenizer1.
f6d0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
f6e0: 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  ts3\fts3_tokeniz
f6f0: 65 72 31 2e 63 20 24 28 48 44 52 29 20 24 28 45  er1.c $(HDR) $(E
f700: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
f710: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
f720: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
f730: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
f740: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
f750: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e  \fts3\fts3_token
f760: 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33 5f 74 6f  izer1.c..fts3_to
f770: 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f 3a 09  kenize_vtab.lo:.
f780: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
f790: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74  fts3_tokenize_vt
f7a0: 61 62 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  ab.c $(HDR) $(EX
f7b0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
f7c0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
f7d0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
f7e0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
f7f0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
f800: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69  fts3\fts3_tokeni
f810: 7a 65 5f 76 74 61 62 2e 63 0a 0a 66 74 73 33 5f  ze_vtab.c..fts3_
f820: 75 6e 69 63 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f  unicode.lo:.$(TO
f830: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
f840: 5f 75 6e 69 63 6f 64 65 2e 63 20 24 28 48 44 52  _unicode.c $(HDR
f850: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
f860: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
f870: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
f880: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
f890: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
f8a0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
f8b0: 75 6e 69 63 6f 64 65 2e 63 0a 0a 66 74 73 33 5f  unicode.c..fts3_
f8c0: 75 6e 69 63 6f 64 65 32 2e 6c 6f 3a 09 24 28 54  unicode2.lo:.$(T
f8d0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f8e0: 33 5f 75 6e 69 63 6f 64 65 32 2e 63 20 24 28 48  3_unicode2.c $(H
f8f0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
f900: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
f910: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
f920: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
f930: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
f940: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f950: 33 5f 75 6e 69 63 6f 64 65 32 2e 63 0a 0a 66 74  3_unicode2.c..ft
f960: 73 33 5f 77 72 69 74 65 2e 6c 6f 3a 09 24 28 54  s3_write.lo:.$(T
f970: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f980: 33 5f 77 72 69 74 65 2e 63 20 24 28 48 44 52 29  3_write.c $(HDR)
f990: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
f9a0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
f9b0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
f9c0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
f9d0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
f9e0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77  \ext\fts3\fts3_w
f9f0: 72 69 74 65 2e 63 0a 0a 6a 73 6f 6e 31 2e 6c 6f  rite.c..json1.lo
fa00: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  :.$(TOP)\ext\mis
fa10: 63 5c 6a 73 6f 6e 31 2e 63 20 24 28 48 44 52 29  c\json1.c $(HDR)
fa20: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
fa30: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
fa40: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
fa50: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
fa60: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
fa70: 5c 65 78 74 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e  \ext\misc\json1.
fa80: 63 0a 0a 73 74 6d 74 2e 6c 6f 3a 09 24 28 54 4f  c..stmt.lo:.$(TO
fa90: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 74 6d 74  P)\ext\misc\stmt
faa0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
fab0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
fac0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
fad0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
fae0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
faf0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  -c $(TOP)\ext\mi
fb00: 73 63 5c 73 74 6d 74 2e 63 0a 0a 72 74 72 65 65  sc\stmt.c..rtree
fb10: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
fb20: 72 74 72 65 65 5c 72 74 72 65 65 2e 63 20 24 28  rtree\rtree.c $(
fb30: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
fb40: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
fb50: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
fb60: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
fb70: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
fb80: 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72  TOP)\ext\rtree\r
fb90: 74 72 65 65 2e 63 0a 0a 73 71 6c 69 74 65 33 73  tree.c..sqlite3s
fba0: 65 73 73 69 6f 6e 2e 6c 6f 3a 09 24 28 54 4f 50  ession.lo:.$(TOP
fbb0: 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71  )\ext\session\sq
fbc0: 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 63 20 24  lite3session.c $
fbd0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
fbe0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
fbf0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
fc00: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
fc10: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
fc20: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
fc30: 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  n\sqlite3session
fc40: 2e 63 0a 0a 23 20 46 54 53 35 20 74 68 69 6e 67  .c..# FTS5 thing
fc50: 73 0a 23 0a 46 54 53 35 5f 53 52 43 20 3d 20 5c  s.#.FTS5_SRC = \
fc60: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f
fc70: 74 73 35 5c 66 74 73 35 2e 68 20 5c 0a 20 20 20  ts5\fts5.h \.   
fc80: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\
fc90: 66 74 73 35 49 6e 74 2e 68 20 5c 0a 20 20 20 24  fts5Int.h \.   $
fca0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
fcb0: 74 73 35 5f 61 75 78 2e 63 20 5c 0a 20 20 20 24  ts5_aux.c \.   $
fcc0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
fcd0: 74 73 35 5f 62 75 66 66 65 72 2e 63 20 5c 0a 20  ts5_buffer.c \. 
fce0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
fcf0: 35 5c 66 74 73 35 5f 6d 61 69 6e 2e 63 20 5c 0a  5\fts5_main.c \.
fd00: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
fd10: 73 35 5c 66 74 73 35 5f 63 6f 6e 66 69 67 2e 63  s5\fts5_config.c
fd20: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
fd30: 5c 66 74 73 35 5c 66 74 73 35 5f 65 78 70 72 2e  \fts5\fts5_expr.
fd40: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex
fd50: 74 5c 66 74 73 35 5c 66 74 73 35 5f 68 61 73 68  t\fts5\fts5_hash
fd60: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e
fd70: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 69 6e 64  xt\fts5\fts5_ind
fd80: 65 78 2e 63 20 5c 0a 20 20 20 66 74 73 35 70 61  ex.c \.   fts5pa
fd90: 72 73 65 2e 63 20 66 74 73 35 70 61 72 73 65 2e  rse.c fts5parse.
fda0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  h \.   $(TOP)\ex
fdb0: 74 5c 66 74 73 35 5c 66 74 73 35 5f 73 74 6f 72  t\fts5\fts5_stor
fdc0: 61 67 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  age.c \.   $(TOP
fdd0: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
fde0: 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20 20 20  tokenize.c \.   
fdf0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\
fe00: 66 74 73 35 5f 75 6e 69 63 6f 64 65 32 2e 63 20  fts5_unicode2.c 
fe10: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
fe20: 66 74 73 35 5c 66 74 73 35 5f 76 61 72 69 6e 74  fts5\fts5_varint
fe30: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e
fe40: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 76 6f 63  xt\fts5\fts5_voc
fe50: 61 62 2e 63 0a 0a 4c 53 4d 31 5f 53 52 43 20 3d  ab.c..LSM1_SRC =
fe60: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
fe70: 5c 6c 73 6d 31 5c 6c 73 6d 2e 68 20 5c 0a 20 20  \lsm1\lsm.h \.  
fe80: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
fe90: 5c 6c 73 6d 49 6e 74 2e 68 20 5c 0a 20 20 20 24  \lsmInt.h \.   $
fea0: 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c  (TOP)\ext\lsm1\l
feb0: 73 6d 5f 63 6b 70 74 2e 63 20 5c 0a 20 20 20 24  sm_ckpt.c \.   $
fec0: 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c  (TOP)\ext\lsm1\l
fed0: 73 6d 5f 66 69 6c 65 2e 63 20 5c 0a 20 20 20 24  sm_file.c \.   $
fee0: 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c  (TOP)\ext\lsm1\l
fef0: 73 6d 5f 6c 6f 67 2e 63 20 5c 0a 20 20 20 24 28  sm_log.c \.   $(
ff00: 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73  TOP)\ext\lsm1\ls
ff10: 6d 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20 20 24 28  m_main.c \.   $(
ff20: 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73  TOP)\ext\lsm1\ls
ff30: 6d 5f 6d 65 6d 2e 63 20 5c 0a 20 20 20 24 28 54  m_mem.c \.   $(T
ff40: 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d  OP)\ext\lsm1\lsm
ff50: 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20 20 24 28  _mutex.c \.   $(
ff60: 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73  TOP)\ext\lsm1\ls
ff70: 6d 5f 73 68 61 72 65 64 2e 63 20 5c 0a 20 20 20  m_shared.c \.   
ff80: 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c  $(TOP)\ext\lsm1\
ff90: 6c 73 6d 5f 73 6f 72 74 65 64 2e 63 20 5c 0a 20  lsm_sorted.c \. 
ffa0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
ffb0: 31 5c 6c 73 6d 5f 73 74 72 2e 63 20 5c 0a 20 20  1\lsm_str.c \.  
ffc0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
ffd0: 5c 6c 73 6d 5f 74 72 65 65 2e 63 20 5c 0a 20 20  \lsm_tree.c \.  
ffe0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
fff0: 5c 6c 73 6d 5f 75 6e 69 78 2e 63 20 5c 0a 20 20  \lsm_unix.c \.  
10000 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
10010 5c 6c 73 6d 5f 76 61 72 69 6e 74 2e 63 20 5c 0a  \lsm_varint.c \.
10020 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls
10030 6d 31 5c 6c 73 6d 5f 76 74 61 62 2e 63 20 5c 0a  m1\lsm_vtab.c \.
10040 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls
10050 6d 31 5c 6c 73 6d 5f 77 69 6e 33 32 2e 63 0a 0a  m1\lsm_win32.c..
10060 66 74 73 35 70 61 72 73 65 2e 63 3a 09 24 28 54  fts5parse.c:.$(T
10070 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
10080 35 70 61 72 73 65 2e 79 20 6c 65 6d 6f 6e 2e 65  5parse.y lemon.e
10090 78 65 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c  xe..copy $(TOP)\
100a0 65 78 74 5c 66 74 73 35 5c 66 74 73 35 70 61 72  ext\fts5\fts5par
100b0 73 65 2e 79 20 2e 0a 09 64 65 6c 20 2f 51 20 66  se.y ...del /Q f
100c0 74 73 35 70 61 72 73 65 2e 68 20 32 3e 4e 55 4c  ts5parse.h 2>NUL
100d0 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24 28  ...\lemon.exe $(
100e0 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  REQ_FEATURE_FLAG
100f0 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45  S) $(OPT_FEATURE
10100 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45  _FLAGS) $(EXT_FE
10110 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f  ATURE_FLAGS) $(O
10120 50 54 53 29 20 66 74 73 35 70 61 72 73 65 2e 79  PTS) fts5parse.y
10130 0a 0a 66 74 73 35 70 61 72 73 65 2e 68 3a 09 66  ..fts5parse.h:.f
10140 74 73 35 70 61 72 73 65 2e 63 0a 0a 66 74 73 35  ts5parse.c..fts5
10150 2e 63 3a 09 24 28 46 54 53 35 5f 53 52 43 29 0a  .c:.$(FTS5_SRC).
10160 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD) $(
10170 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 74 6f  TOP)\ext\fts5\to
10180 6f 6c 5c 6d 6b 66 74 73 35 63 2e 74 63 6c 0a 09  ol\mkfts5c.tcl..
10190 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c  copy $(TOP)\ext\
101a0 66 74 73 35 5c 66 74 73 35 2e 68 20 2e 0a 0a 6c  fts5\fts5.h ...l
101b0 73 6d 31 2e 63 3a 09 24 28 4c 53 4d 31 5f 53 52  sm1.c:.$(LSM1_SR
101c0 43 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  C)..$(TCLSH_CMD)
101d0 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
101e0 5c 74 6f 6f 6c 5c 6d 6b 6c 73 6d 31 63 2e 74 63  \tool\mklsm1c.tc
101f0 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65  l..copy $(TOP)\e
10200 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e 68 20 2e 0a  xt\lsm1\lsm.h ..
10210 0a 66 74 73 35 2e 6c 6f 3a 09 66 74 73 35 2e 63  .fts5.lo:.fts5.c
10220 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
10230 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
10240 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
10250 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
10260 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
10270 20 66 74 73 35 2e 63 0a 0a 66 74 73 35 5f 65 78   fts5.c..fts5_ex
10280 74 2e 6c 6f 3a 09 66 74 73 35 2e 63 20 24 28 48  t.lo:.fts5.c $(H
10290 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
102a0 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f  (LTCOMPILE) $(NO
102b0 5f 57 41 52 4e 29 20 2d 63 20 66 74 73 35 2e 63  _WARN) -c fts5.c
102c0 0a 0a 66 74 73 35 2e 64 6c 6c 3a 09 66 74 73 35  ..fts5.dll:.fts5
102d0 5f 65 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 24  _ext.lo..$(LD) $
102e0 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
102f0 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50  NKOPTS) $(LTLIBP
10300 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a  ATHS) /DLL /OUT:
10310 24 40 20 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 0a  $@ fts5_ext.lo..
10320 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f 3a 09 24  sqlite3rbu.lo:.$
10330 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71  (TOP)\ext\rbu\sq
10340 6c 69 74 65 33 72 62 75 2e 63 20 24 28 48 44 52  lite3rbu.c $(HDR
10350 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
10360 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49  TCOMPILE) -DSQLI
10370 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
10380 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65  )\ext\rbu\sqlite
10390 33 72 62 75 2e 63 0a 0a 23 20 52 75 6c 65 73 20  3rbu.c..# Rules 
103a0 74 6f 20 62 75 69 6c 64 20 74 68 65 20 27 74 65  to build the 'te
103b0 73 74 66 69 78 74 75 72 65 27 20 61 70 70 6c 69  stfixture' appli
103c0 63 61 74 69 6f 6e 2e 0a 23 0a 23 20 49 66 20 75  cation..#.# If u
103d0 73 69 6e 67 20 74 68 65 20 61 6d 61 6c 67 61 6d  sing the amalgam
103e0 61 74 69 6f 6e 2c 20 75 73 65 20 73 71 6c 69 74  ation, use sqlit
103f0 65 33 2e 63 20 64 69 72 65 63 74 6c 79 20 74 6f  e3.c directly to
10400 20 62 75 69 6c 64 20 74 68 65 20 74 65 73 74 0a   build the test.
10410 23 20 66 69 78 74 75 72 65 2e 20 20 4f 74 68 65  # fixture.  Othe
10420 72 77 69 73 65 20 6c 69 6e 6b 20 61 67 61 69 6e  rwise link again
10430 73 74 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  st libsqlite3.li
10440 62 2e 20 20 28 54 68 69 73 20 64 69 73 74 69 6e  b.  (This distin
10450 63 74 69 6f 6e 20 69 73 0a 23 20 6e 65 63 65 73  ction is.# neces
10460 73 61 72 79 20 62 65 63 61 75 73 65 20 74 68 65  sary because the
10470 20 74 65 73 74 20 66 69 78 74 75 72 65 20 72 65   test fixture re
10480 71 75 69 72 65 73 20 6e 6f 6e 2d 41 50 49 20 73  quires non-API s
10490 79 6d 62 6f 6c 73 20 77 68 69 63 68 20 61 72 65  ymbols which are
104a0 0a 23 20 68 69 64 64 65 6e 20 77 68 65 6e 20 74  .# hidden when t
104b0 68 65 20 6c 69 62 72 61 72 79 20 69 73 20 62 75  he library is bu
104c0 69 6c 74 20 76 69 61 20 74 68 65 20 61 6d 61 6c  ilt via the amal
104d0 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a 54 45 53  gamation)..#.TES
104e0 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d  TFIXTURE_FLAGS =
104f0 20 2d 44 54 43 4c 53 48 5f 49 4e 49 54 5f 50 52   -DTCLSH_INIT_PR
10500 4f 43 3d 73 71 6c 69 74 65 33 54 65 73 74 49 6e  OC=sqlite3TestIn
10510 69 74 20 2d 44 53 51 4c 49 54 45 5f 54 45 53 54  it -DSQLITE_TEST
10520 3d 31 20 2d 44 53 51 4c 49 54 45 5f 43 52 41 53  =1 -DSQLITE_CRAS
10530 48 5f 54 45 53 54 3d 31 0a 54 45 53 54 46 49 58  H_TEST=1.TESTFIX
10540 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54  TURE_FLAGS = $(T
10550 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
10560 29 20 2d 44 53 51 4c 49 54 45 5f 53 45 52 56 45  ) -DSQLITE_SERVE
10570 52 3d 31 20 2d 44 53 51 4c 49 54 45 5f 50 52 49  R=1 -DSQLITE_PRI
10580 56 41 54 45 3d 22 22 0a 54 45 53 54 46 49 58 54  VATE="".TESTFIXT
10590 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45  URE_FLAGS = $(TE
105a0 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29  STFIXTURE_FLAGS)
105b0 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 24   -DSQLITE_CORE $
105c0 28 4e 4f 5f 57 41 52 4e 29 0a 54 45 53 54 46 49  (NO_WARN).TESTFI
105d0 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  XTURE_FLAGS = $(
105e0 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
105f0 53 29 20 2d 44 53 51 4c 49 54 45 5f 53 45 52 49  S) -DSQLITE_SERI
10600 45 53 5f 43 4f 4e 53 54 52 41 49 4e 54 5f 56 45  ES_CONSTRAINT_VE
10610 52 49 46 59 3d 31 0a 54 45 53 54 46 49 58 54 55  RIFY=1.TESTFIXTU
10620 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53  RE_FLAGS = $(TES
10630 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20  TFIXTURE_FLAGS) 
10640 2d 44 53 51 4c 49 54 45 5f 44 45 46 41 55 4c 54  -DSQLITE_DEFAULT
10650 5f 50 41 47 45 5f 53 49 5a 45 3d 31 30 32 34 0a  _PAGE_SIZE=1024.
10660 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
10670 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52  S = $(TESTFIXTUR
10680 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
10690 45 5f 45 4e 41 42 4c 45 5f 53 54 4d 54 56 54 41  E_ENABLE_STMTVTA
106a0 42 3d 31 0a 54 45 53 54 46 49 58 54 55 52 45 5f  B=1.TESTFIXTURE_
106b0 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49  FLAGS = $(TESTFI
106c0 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  XTURE_FLAGS) -DS
106d0 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42 50  QLITE_ENABLE_DBP
106e0 41 47 45 5f 56 54 41 42 3d 31 0a 54 45 53 54 46  AGE_VTAB=1.TESTF
106f0 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  IXTURE_FLAGS = $
10700 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  (TESTFIXTURE_FLA
10710 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  GS) -DSQLITE_ENA
10720 42 4c 45 5f 4a 53 4f 4e 31 3d 31 0a 54 45 53 54  BLE_JSON1=1.TEST
10730 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FIXTURE_FLAGS = 
10740 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  $(TESTFIXTURE_FL
10750 41 47 53 29 20 24 28 54 45 53 54 5f 43 43 4f 4e  AGS) $(TEST_CCON
10760 56 5f 4f 50 54 53 29 0a 0a 54 45 53 54 46 49 58  V_OPTS)..TESTFIX
10770 54 55 52 45 5f 53 52 43 30 20 3d 20 24 28 54 45  TURE_SRC0 = $(TE
10780 53 54 45 58 54 29 20 24 28 54 45 53 54 53 52 43  STEXT) $(TESTSRC
10790 32 29 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53  2).TESTFIXTURE_S
107a0 52 43 31 20 3d 20 24 28 54 45 53 54 45 58 54 29  RC1 = $(TESTEXT)
107b0 20 24 28 53 51 4c 49 54 45 33 43 29 0a 21 49 46   $(SQLITE3C).!IF
107c0 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54   $(USE_AMALGAMAT
107d0 49 4f 4e 29 3d 3d 30 0a 54 45 53 54 46 49 58 54  ION)==0.TESTFIXT
107e0 55 52 45 5f 53 52 43 20 3d 20 24 28 54 45 53 54  URE_SRC = $(TEST
107f0 53 52 43 29 20 24 28 54 4f 50 29 5c 73 72 63 5c  SRC) $(TOP)\src\
10800 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 45  tclsqlite.c $(TE
10810 53 54 46 49 58 54 55 52 45 5f 53 52 43 30 29 0a  STFIXTURE_SRC0).
10820 21 45 4c 53 45 0a 54 45 53 54 46 49 58 54 55 52  !ELSE.TESTFIXTUR
10830 45 5f 53 52 43 20 3d 20 24 28 54 45 53 54 53 52  E_SRC = $(TESTSR
10840 43 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63  C) $(TOP)\src\tc
10850 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 45 53 54  lsqlite.c $(TEST
10860 46 49 58 54 55 52 45 5f 53 52 43 31 29 0a 21 45  FIXTURE_SRC1).!E
10870 4e 44 49 46 0a 0a 21 49 46 20 24 28 55 53 45 5f  NDIF..!IF $(USE_
10880 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24  STDCALL)!=0 || $
10890 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 73  (FOR_WIN10)!=0.s
108a0 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e 68  qlite_tclDecls.h
108b0 3a 0a 09 65 63 68 6f 20 23 69 66 6e 64 65 66 20  :..echo #ifndef 
108c0 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 3e 20  SQLITE_TCLAPI > 
108d0 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53  $(SQLITETCLDECLS
108e0 48 29 0a 09 65 63 68 6f 20 23 20 20 64 65 66 69  H)..echo #  defi
108f0 6e 65 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49  ne SQLITE_TCLAPI
10900 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44   >> $(SQLITETCLD
10910 45 43 4c 53 48 29 0a 09 65 63 68 6f 20 23 65 6e  ECLSH)..echo #en
10920 64 69 66 20 3e 3e 20 24 28 53 51 4c 49 54 45 54  dif >> $(SQLITET
10930 43 4c 44 45 43 4c 53 48 29 0a 09 74 79 70 65 20  CLDECLSH)..type 
10940 22 24 28 54 43 4c 49 4e 43 44 49 52 29 5c 74 63  "$(TCLINCDIR)\tc
10950 6c 44 65 63 6c 73 2e 68 22 20 5c 0a 09 09 7c 20  lDecls.h" \...| 
10960 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
10970 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
10980 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5e 28 45  .tcl regsub "^(E
10990 58 54 45 52 4e 28 3f 3a 20 43 4f 4e 53 54 5c 64  XTERN(?: CONST\d
109a0 2b 3f 29 3f 5c 73 2b 3f 5b 5e 5c 28 5d 2a 3f 5c  +?)?\s+?[^\(]*?\
109b0 73 2b 3f 29 54 63 6c 5f 22 20 22 5c 31 20 53 51  s+?)Tcl_" "\1 SQ
109c0 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c 5f  LITE_TCLAPI Tcl_
109d0 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f  " \...| $(TCLSH_
109e0 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
109f0 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67  \replace.tcl reg
10a00 73 75 62 20 22 5e 28 45 58 54 45 52 4e 5c 73 2b  sub "^(EXTERN\s+
10a10 3f 28 3f 3a 76 6f 69 64 7c 56 4f 49 44 29 5c 73  ?(?:void|VOID)\s
10a20 2b 3f 29 54 63 6c 46 72 65 65 4f 62 6a 22 20 22  +?)TclFreeObj" "
10a30 5c 31 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49  \1 SQLITE_TCLAPI
10a40 20 54 63 6c 46 72 65 65 4f 62 6a 22 20 5c 0a 09   TclFreeObj" \..
10a50 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  .| $(TCLSH_CMD) 
10a60 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl
10a70 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22  ace.tcl regsub "
10a80 5c 28 5c 2a 74 63 6c 5f 22 20 22 28 53 51 4c 49  \(\*tcl_" "(SQLI
10a90 54 45 5f 54 43 4c 41 50 49 20 2a 74 63 6c 5f 22  TE_TCLAPI *tcl_"
10aa0 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43   \...| $(TCLSH_C
10ab0 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
10ac0 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73  replace.tcl regs
10ad0 75 62 20 22 5c 28 5c 2a 74 63 6c 46 72 65 65 4f  ub "\(\*tclFreeO
10ae0 62 6a 22 20 22 28 53 51 4c 49 54 45 5f 54 43 4c  bj" "(SQLITE_TCL
10af0 41 50 49 20 2a 74 63 6c 46 72 65 65 4f 62 6a 22  API *tclFreeObj"
10b00 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43   \...| $(TCLSH_C
10b10 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
10b20 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73  replace.tcl regs
10b30 75 62 20 22 5c 28 5c 2a 22 20 22 28 53 51 4c 49  ub "\(\*" "(SQLI
10b40 54 45 5f 54 43 4c 41 50 49 20 2a 22 20 3e 3e 20  TE_TCLAPI *" >> 
10b50 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53  $(SQLITETCLDECLS
10b60 48 29 0a 0a 73 71 6c 69 74 65 5f 74 63 6c 2e 68  H)..sqlite_tcl.h
10b70 3a 0a 09 74 79 70 65 20 22 24 28 54 43 4c 49 4e  :..type "$(TCLIN
10b80 43 44 49 52 29 5c 74 63 6c 2e 68 22 20 7c 20 24  CDIR)\tcl.h" | $
10b90 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
10ba0 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
10bb0 74 63 6c 20 65 78 61 63 74 20 74 63 6c 44 65 63  tcl exact tclDec
10bc0 6c 73 2e 68 20 73 71 6c 69 74 65 5f 74 63 6c 44  ls.h sqlite_tclD
10bd0 65 63 6c 73 2e 68 20 5c 0a 09 09 7c 20 24 28 54  ecls.h \...| $(T
10be0 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
10bf0 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
10c00 6c 20 72 65 67 73 75 62 20 22 74 79 70 65 64 65  l regsub "typede
10c10 66 20 28 2e 2a 3f 29 5c 28 54 63 6c 5f 22 20 22  f (.*?)\(Tcl_" "
10c20 74 79 70 65 64 65 66 20 5c 31 20 28 53 51 4c 49  typedef \1 (SQLI
10c30 54 45 5f 54 43 4c 41 50 49 20 54 63 6c 5f 22 20  TE_TCLAPI Tcl_" 
10c40 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM
10c50 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r
10c60 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74  eplace.tcl exact
10c70 20 22 76 6f 69 64 20 28 2a 66 72 65 65 50 72 6f   "void (*freePro
10c80 63 29 22 20 22 76 6f 69 64 20 28 53 51 4c 49 54  c)" "void (SQLIT
10c90 45 5f 54 43 4c 41 50 49 20 2a 66 72 65 65 50 72  E_TCLAPI *freePr
10ca0 6f 63 29 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c  oc)" \...| $(TCL
10cb0 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
10cc0 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20  ool\replace.tcl 
10cd0 65 78 61 63 74 20 22 54 63 6c 5f 48 61 73 68 45  exact "Tcl_HashE
10ce0 6e 74 72 79 20 2a 28 2a 66 69 6e 64 50 72 6f 63  ntry *(*findProc
10cf0 29 22 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72  )" "Tcl_HashEntr
10d00 79 20 2a 28 53 51 4c 49 54 45 5f 54 43 4c 41 50  y *(SQLITE_TCLAP
10d10 49 20 2a 66 69 6e 64 50 72 6f 63 29 22 20 5c 0a  I *findProc)" \.
10d20 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29  ..| $(TCLSH_CMD)
10d30 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep
10d40 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 22  lace.tcl exact "
10d50 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a 28  Tcl_HashEntry *(
10d60 2a 63 72 65 61 74 65 50 72 6f 63 29 22 20 22 54  *createProc)" "T
10d70 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 53  cl_HashEntry *(S
10d80 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 63 72  QLITE_TCLAPI *cr
10d90 65 61 74 65 50 72 6f 63 29 22 20 3e 3e 20 24 28  eateProc)" >> $(
10da0 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45 4e 44  SQLITETCLH).!END
10db0 49 46 0a 0a 74 65 73 74 66 69 78 74 75 72 65 2e  IF..testfixture.
10dc0 65 78 65 3a 09 24 28 54 45 53 54 46 49 58 54 55  exe:.$(TESTFIXTU
10dd0 52 45 5f 53 52 43 29 20 24 28 54 45 53 54 46 49  RE_SRC) $(TESTFI
10de0 58 54 55 52 45 5f 44 45 50 29 20 24 28 53 51 4c  XTURE_DEP) $(SQL
10df0 49 54 45 33 48 29 20 24 28 4c 49 42 52 45 53 4f  ITE3H) $(LIBRESO
10e00 42 4a 53 29 20 24 28 48 44 52 29 20 24 28 53 51  BJS) $(HDR) $(SQ
10e10 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24  LITE_TCL_DEP)..$
10e20 28 4c 54 4c 49 4e 4b 29 20 2d 44 53 51 4c 49 54  (LTLINK) -DSQLIT
10e30 45 5f 4e 4f 5f 53 59 4e 43 3d 31 20 24 28 54 45  E_NO_SYNC=1 $(TE
10e40 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29  STFIXTURE_FLAGS)
10e50 20 5c 0a 09 09 2d 44 42 55 49 4c 44 5f 73 71 6c   \...-DBUILD_sql
10e60 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49  ite -I$(TCLINCDI
10e70 52 29 20 5c 0a 09 09 24 28 54 45 53 54 46 49 58  R) \...$(TESTFIX
10e80 54 55 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c  TURE_SRC) \.../l
10e90 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
10ea0 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54  (LTLINKOPTS) $(T
10eb0 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54  CLLIBPATHS) $(LT
10ec0 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52  LIBPATHS) $(LIBR
10ed0 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42  ESOBJS) $(TCLLIB
10ee0 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54  S) $(LTLIBS) $(T
10ef0 4c 49 42 53 29 0a 0a 65 78 74 65 6e 73 69 6f 6e  LIBS)..extension
10f00 74 65 73 74 3a 09 74 65 73 74 66 69 78 74 75 72  test:.testfixtur
10f10 65 2e 65 78 65 20 74 65 73 74 6c 6f 61 64 65 78  e.exe testloadex
10f20 74 2e 64 6c 6c 0a 09 40 73 65 74 20 50 41 54 48  t.dll..@set PATH
10f30 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24  =$(LIBTCLPATH);$
10f40 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69  (PATH)...\testfi
10f50 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29  xture.exe $(TOP)
10f60 5c 74 65 73 74 5c 6c 6f 61 64 65 78 74 2e 74 65  \test\loadext.te
10f70 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a  st $(TESTOPTS)..
10f80 63 6f 72 65 74 65 73 74 70 72 6f 67 73 3a 09 24  coretestprogs:.$
10f90 28 54 45 53 54 50 52 4f 47 53 29 0a 0a 74 65 73  (TESTPROGS)..tes
10fa0 74 70 72 6f 67 73 3a 09 63 6f 72 65 74 65 73 74  tprogs:.coretest
10fb0 70 72 6f 67 73 20 73 72 63 63 6b 31 2e 65 78 65  progs srcck1.exe
10fc0 20 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20 73   fuzzcheck.exe s
10fd0 65 73 73 69 6f 6e 66 75 7a 7a 2e 65 78 65 0a 0a  essionfuzz.exe..
10fe0 66 75 6c 6c 74 65 73 74 3a 09 24 28 54 45 53 54  fulltest:.$(TEST
10ff0 50 52 4f 47 53 29 20 66 75 7a 7a 74 65 73 74 0a  PROGS) fuzztest.
11000 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42  .@set PATH=$(LIB
11010 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29  TCLPATH);$(PATH)
11020 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e  ...\testfixture.
11030 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  exe $(TOP)\test\
11040 61 6c 6c 2e 74 65 73 74 20 24 28 54 45 53 54 4f  all.test $(TESTO
11050 50 54 53 29 0a 0a 73 6f 61 6b 74 65 73 74 3a 09  PTS)..soaktest:.
11060 24 28 54 45 53 54 50 52 4f 47 53 29 0a 09 40 73  $(TESTPROGS)..@s
11070 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL
11080 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)...
11090 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
110a0 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c   $(TOP)\test\all
110b0 2e 74 65 73 74 20 2d 73 6f 61 6b 3d 31 20 24 28  .test -soak=1 $(
110c0 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 6c 6c 74  TESTOPTS)..fullt
110d0 65 73 74 6f 6e 6c 79 3a 09 24 28 54 45 53 54 50  estonly:.$(TESTP
110e0 52 4f 47 53 29 20 66 75 7a 7a 74 65 73 74 0a 09  ROGS) fuzztest..
110f0 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54  @set PATH=$(LIBT
11100 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a  CLPATH);$(PATH).
11110 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65  ..\testfixture.e
11120 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66  xe $(TOP)\test\f
11130 75 6c 6c 2e 74 65 73 74 0a 0a 71 75 65 72 79 70  ull.test..queryp
11140 6c 61 6e 74 65 73 74 3a 09 74 65 73 74 66 69 78  lantest:.testfix
11150 74 75 72 65 2e 65 78 65 20 73 68 65 6c 6c 0a 09  ture.exe shell..
11160 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54  @set PATH=$(LIBT
11170 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a  CLPATH);$(PATH).
11180 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65  ..\testfixture.e
11190 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 70  xe $(TOP)\test\p
111a0 65 72 6d 75 74 61 74 69 6f 6e 73 2e 74 65 73 74  ermutations.test
111b0 20 71 75 65 72 79 70 6c 61 6e 6e 65 72 20 24 28   queryplanner $(
111c0 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 7a 7a 74  TESTOPTS)..fuzzt
111d0 65 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b 2e 65  est:.fuzzcheck.e
111e0 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e  xe...\fuzzcheck.
111f0 65 78 65 20 24 28 46 55 5a 5a 44 41 54 41 29 0a  exe $(FUZZDATA).
11200 0a 66 61 73 74 66 75 7a 7a 74 65 73 74 3a 09 66  .fastfuzztest:.f
11210 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a 09 2e 5c  uzzcheck.exe...\
11220 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20 2d 2d  fuzzcheck.exe --
11230 6c 69 6d 69 74 2d 6d 65 6d 20 31 30 30 4d 20 24  limit-mem 100M $
11240 28 46 55 5a 5a 44 41 54 41 29 0a 0a 23 20 4d 69  (FUZZDATA)..# Mi
11250 6e 69 6d 61 6c 20 74 65 73 74 69 6e 67 20 74 68  nimal testing th
11260 61 74 20 72 75 6e 73 20 69 6e 20 6c 65 73 73 20  at runs in less 
11270 74 68 61 6e 20 33 20 6d 69 6e 75 74 65 73 20 28  than 3 minutes (
11280 6f 6e 20 61 20 66 61 73 74 20 6d 61 63 68 69 6e  on a fast machin
11290 65 29 0a 23 0a 71 75 69 63 6b 74 65 73 74 3a 09  e).#.quicktest:.
112a0 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe 
112b0 73 6f 75 72 63 65 74 65 73 74 0a 09 40 73 65 74  sourcetest..@set
112c0 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41   PATH=$(LIBTCLPA
112d0 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74  TH);$(PATH)...\t
112e0 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24  estfixture.exe $
112f0 28 54 4f 50 29 5c 74 65 73 74 5c 65 78 74 72 61  (TOP)\test\extra
11300 71 75 69 63 6b 2e 74 65 73 74 20 24 28 54 45 53  quick.test $(TES
11310 54 4f 50 54 53 29 0a 0a 23 20 54 68 69 73 20 69  TOPTS)..# This i
11320 73 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 63 61 73  s the common cas
11330 65 2e 20 20 52 75 6e 20 6d 61 6e 79 20 74 65 73  e.  Run many tes
11340 74 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 74  ts that do not t
11350 61 6b 65 20 74 6f 6f 20 6c 6f 6e 67 2c 0a 23 20  ake too long,.# 
11360 69 6e 63 6c 75 64 69 6e 67 20 66 75 7a 7a 63 68  including fuzzch
11370 65 63 6b 2c 20 73 71 6c 69 74 65 33 5f 61 6e 61  eck, sqlite3_ana
11380 6c 79 7a 65 72 2c 20 61 6e 64 20 73 71 6c 64 69  lyzer, and sqldi
11390 66 66 20 74 65 73 74 73 2e 0a 23 0a 74 65 73 74  ff tests..#.test
113a0 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 20 73  :.$(TESTPROGS) s
113b0 6f 75 72 63 65 74 65 73 74 20 66 61 73 74 66 75  ourcetest fastfu
113c0 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50 41 54  zztest..@set PAT
113d0 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b  H=$(LIBTCLPATH);
113e0 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66  $(PATH)...\testf
113f0 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50  ixture.exe $(TOP
11400 29 5c 74 65 73 74 5c 76 65 72 79 71 75 69 63 6b  )\test\veryquick
11410 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53  .test $(TESTOPTS
11420 29 0a 0a 73 6d 6f 6b 65 74 65 73 74 3a 09 24 28  )..smoketest:.$(
11430 54 45 53 54 50 52 4f 47 53 29 0a 09 40 73 65 74  TESTPROGS)..@set
11440 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41   PATH=$(LIBTCLPA
11450 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74  TH);$(PATH)...\t
11460 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24  estfixture.exe $
11470 28 54 4f 50 29 5c 74 65 73 74 5c 6d 61 69 6e 2e  (TOP)\test\main.
11480 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29  test $(TESTOPTS)
11490 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a  ..sqlite3_analyz
114a0 65 72 2e 63 3a 09 24 28 53 51 4c 49 54 45 33 43  er.c:.$(SQLITE3C
114b0 29 20 24 28 53 51 4c 49 54 45 33 48 29 20 24 28  ) $(SQLITE3H) $(
114c0 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69  TOP)\src\tclsqli
114d0 74 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  te.c $(TOP)\tool
114e0 5c 73 70 61 63 65 61 6e 61 6c 2e 74 63 6c 20 24  \spaceanal.tcl $
114f0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f  (TOP)\tool\mkcco
11500 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f  de.tcl $(TOP)\to
11510 6f 6c 5c 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79  ol\sqlite3_analy
11520 7a 65 72 2e 63 2e 69 6e 20 24 28 53 51 4c 49 54  zer.c.in $(SQLIT
11530 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 54 43  E_TCL_DEP)..$(TC
11540 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
11550 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c  tool\mkccode.tcl
11560 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c   $(TOP)\tool\sql
11570 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 2e  ite3_analyzer.c.
11580 69 6e 20 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33  in > $@..sqlite3
11590 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65 3a 09 73  _analyzer.exe:.s
115a0 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
115b0 63 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a  c $(LIBRESOBJS).
115c0 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
115d0 57 41 52 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71  WARN) -DBUILD_sq
115e0 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44  lite -I$(TCLINCD
115f0 49 52 29 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c  IR) sqlite3_anal
11600 79 7a 65 72 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b  yzer.c \.../link
11610 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
11620 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c  LINKOPTS) $(TCLL
11630 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49 42  IBPATHS) $(LTLIB
11640 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f  PATHS) $(LIBRESO
11650 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29 20  BJS) $(TCLLIBS) 
11660 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42  $(LTLIBS) $(TLIB
11670 53 29 0a 0a 73 71 6c 74 63 6c 73 68 2e 63 3a 20  S)..sqltclsh.c: 
11680 73 71 6c 69 74 65 33 2e 63 20 24 28 54 4f 50 29  sqlite3.c $(TOP)
11690 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63  \src\tclsqlite.c
116a0 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c   $(TOP)\tool\sql
116b0 74 63 6c 73 68 2e 74 63 6c 20 24 28 54 4f 50 29  tclsh.tcl $(TOP)
116c0 5c 65 78 74 5c 6d 69 73 63 5c 61 70 70 65 6e 64  \ext\misc\append
116d0 76 66 73 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f  vfs.c $(TOP)\too
116e0 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28  l\mkccode.tcl $(
116f0 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c  TOP)\tool\sqltcl
11700 73 68 2e 63 2e 69 6e 0a 09 24 28 54 43 4c 53 48  sh.c.in..$(TCLSH
11710 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
11720 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28  l\mkccode.tcl $(
11730 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c  TOP)\tool\sqltcl
11740 73 68 2e 63 2e 69 6e 20 3e 73 71 6c 74 63 6c 73  sh.c.in >sqltcls
11750 68 2e 63 0a 0a 73 71 6c 74 63 6c 73 68 2e 65 78  h.c..sqltclsh.ex
11760 65 3a 20 73 71 6c 74 63 6c 73 68 2e 63 20 20 24  e: sqltclsh.c  $
11770 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29  (SHELL_CORE_DEP)
11780 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09   $(LIBRESOBJS)..
11790 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
117a0 41 52 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c  ARN) -DBUILD_sql
117b0 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49  ite -I$(TCLINCDI
117c0 52 29 20 73 71 6c 74 63 6c 73 68 2e 63 20 5c 0a  R) sqltclsh.c \.
117d0 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ../link $(LDFLAG
117e0 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
117f0 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20   $(TCLLIBPATHS) 
11800 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28  $(LTLIBPATHS) $(
11810 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 54 43  LIBRESOBJS) $(TC
11820 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49 42 53 29  LLIBS) $(LTLIBS)
11830 20 24 28 54 4c 49 42 53 29 0a 0a 73 71 6c 69 74   $(TLIBS)..sqlit
11840 65 33 5f 65 78 70 65 72 74 2e 65 78 65 3a 20 24  e3_expert.exe: $
11850 28 53 51 4c 49 54 45 33 43 29 20 24 28 54 4f 50  (SQLITE3C) $(TOP
11860 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c  )\ext\expert\sql
11870 69 74 65 33 65 78 70 65 72 74 2e 68 20 24 28 54  ite3expert.h $(T
11880 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73  OP)\ext\expert\s
11890 71 6c 69 74 65 33 65 78 70 65 72 74 2e 63 20 24  qlite3expert.c $
118a0 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74  (TOP)\ext\expert
118b0 5c 65 78 70 65 72 74 2e 63 0a 09 24 28 4c 54 4c  \expert.c..$(LTL
118c0 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 09  INK) $(NO_WARN).
118d0 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72  $(TOP)\ext\exper
118e0 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e  t\sqlite3expert.
118f0 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70  c $(TOP)\ext\exp
11900 65 72 74 5c 65 78 70 65 72 74 2e 63 20 24 28 53  ert\expert.c $(S
11910 51 4c 49 54 45 33 43 29 20 24 28 54 4c 49 42 53  QLITE3C) $(TLIBS
11920 29 0a 0a 43 48 45 43 4b 45 52 5f 44 45 50 53 20  )..CHECKER_DEPS 
11930 3d 5c 0a 20 20 24 28 54 4f 50 29 2f 74 6f 6f 6c  =\.  $(TOP)/tool
11940 2f 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 5c 0a 20  /mkccode.tcl \. 
11950 20 73 71 6c 69 74 65 33 2e 63 20 5c 0a 20 20 24   sqlite3.c \.  $
11960 28 54 4f 50 29 2f 73 72 63 2f 74 63 6c 73 71 6c  (TOP)/src/tclsql
11970 69 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ite.c \.  $(TOP)
11980 2f 65 78 74 2f 72 65 70 61 69 72 2f 73 71 6c 69  /ext/repair/sqli
11990 74 65 33 5f 63 68 65 63 6b 65 72 2e 74 63 6c 20  te3_checker.tcl 
119a0 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72  \.  $(TOP)/ext/r
119b0 65 70 61 69 72 2f 63 68 65 63 6b 69 6e 64 65 78  epair/checkindex
119c0 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78  .c \.  $(TOP)/ex
119d0 74 2f 72 65 70 61 69 72 2f 63 68 65 63 6b 66 72  t/repair/checkfr
119e0 65 65 6c 69 73 74 2e 63 20 5c 0a 20 20 24 28 54  eelist.c \.  $(T
119f0 4f 50 29 2f 65 78 74 2f 6d 69 73 63 2f 62 74 72  OP)/ext/misc/btr
11a00 65 65 69 6e 66 6f 2e 63 20 5c 0a 20 20 24 28 54  eeinfo.c \.  $(T
11a10 4f 50 29 2f 65 78 74 2f 72 65 70 61 69 72 2f 73  OP)/ext/repair/s
11a20 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63  qlite3_checker.c
11a30 2e 69 6e 0a 0a 73 71 6c 69 74 65 33 5f 63 68 65  .in..sqlite3_che
11a40 63 6b 65 72 2e 63 3a 09 24 28 43 48 45 43 4b 45  cker.c:.$(CHECKE
11a50 52 5f 44 45 50 53 29 0a 09 24 28 54 43 4c 53 48  R_DEPS)..$(TCLSH
11a60 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
11a70 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28  l\mkccode.tcl $(
11a80 54 4f 50 29 5c 65 78 74 5c 72 65 70 61 69 72 5c  TOP)\ext\repair\
11a90 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e  sqlite3_checker.
11aa0 63 2e 69 6e 20 3e 20 24 40 0a 0a 73 71 6c 69 74  c.in > $@..sqlit
11ab0 65 33 5f 63 68 65 63 6b 65 72 2e 65 78 65 3a 09  e3_checker.exe:.
11ac0 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e  sqlite3_checker.
11ad0 63 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a  c $(LIBRESOBJS).
11ae0 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
11af0 57 41 52 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71  WARN) -DBUILD_sq
11b00 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44  lite -I$(TCLINCD
11b10 49 52 29 20 73 71 6c 69 74 65 33 5f 63 68 65 63  IR) sqlite3_chec
11b20 6b 65 72 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20  ker.c \.../link 
11b30 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
11b40 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c 49  INKOPTS) $(TCLLI
11b50 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49 42 50  BPATHS) $(LTLIBP
11b60 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42  ATHS) $(LIBRESOB
11b70 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29 20 24  JS) $(TCLLIBS) $
11b80 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53  (LTLIBS) $(TLIBS
11b90 29 0a 0a 64 62 64 75 6d 70 2e 65 78 65 3a 09 24  )..dbdump.exe:.$
11ba0 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 64  (TOP)\ext\misc\d
11bb0 62 64 75 6d 70 2e 63 20 24 28 53 51 4c 49 54 45  bdump.c $(SQLITE
11bc0 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 20  3C) $(SQLITE3H) 
11bd0 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24  $(LIBRESOBJS)..$
11be0 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
11bf0 52 4e 29 20 2d 44 44 42 44 55 4d 50 5f 53 54 41  RN) -DDBDUMP_STA
11c00 4e 44 41 4c 4f 4e 45 20 24 28 54 4f 50 29 5c 65  NDALONE $(TOP)\e
11c10 78 74 5c 6d 69 73 63 5c 64 62 64 75 6d 70 2e 63  xt\misc\dbdump.c
11c20 20 24 28 53 51 4c 49 54 45 33 43 29 20 5c 0a 09   $(SQLITE3C) \..
11c30 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53  ./link $(LDFLAGS
11c40 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  ) $(LTLINKOPTS) 
11c50 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28  $(LTLIBPATHS) $(
11c60 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54  LIBRESOBJS) $(LT
11c70 4c 49 42 53 29 0a 0a 74 65 73 74 6c 6f 61 64 65  LIBS)..testloade
11c80 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  xt.lo:.$(TOP)\sr
11c90 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63  c\test_loadext.c
11ca0 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
11cb0 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f  LTCOMPILE) $(NO_
11cc0 57 41 52 4e 29 20 2d 63 20 24 28 54 4f 50 29 5c  WARN) -c $(TOP)\
11cd0 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78 74  src\test_loadext
11ce0 2e 63 0a 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e  .c..testloadext.
11cf0 64 6c 6c 3a 09 74 65 73 74 6c 6f 61 64 65 78 74  dll:.testloadext
11d00 2e 6c 6f 0a 09 24 28 4c 44 29 20 24 28 4c 44 46  .lo..$(LD) $(LDF
11d10 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
11d20 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53  TS) $(LTLIBPATHS
11d30 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40 20 74  ) /DLL /OUT:$@ t
11d40 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a 0a 73  estloadext.lo..s
11d50 68 6f 77 64 62 2e 65 78 65 3a 09 24 28 54 4f 50  howdb.exe:.$(TOP
11d60 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63 20  )\tool\showdb.c 
11d70 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
11d80 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
11d90 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
11da0 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
11db0 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  E=0 -DSQLITE_OMI
11dc0 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e  T_LOAD_EXTENSION
11dd0 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c   \...$(TOP)\tool
11de0 5c 73 68 6f 77 64 62 2e 63 20 24 28 53 51 4c 49  \showdb.c $(SQLI
11df0 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
11e00 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
11e10 50 54 53 29 0a 0a 73 68 6f 77 73 74 61 74 34 2e  PTS)..showstat4.
11e20 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(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 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
11e50 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
11e60 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
11e70 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
11e80 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
11e90 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
11ea0 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  ..$(TOP)\tool\sh
11eb0 6f 77 73 74 61 74 34 2e 63 20 24 28 53 51 4c 49  owstat4.c $(SQLI
11ec0 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
11ed0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
11ee0 50 54 53 29 0a 0a 73 68 6f 77 6a 6f 75 72 6e 61  PTS)..showjourna
11ef0 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  l.exe:.$(TOP)\to
11f00 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63  ol\showjournal.c
11f10 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
11f20 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
11f30 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) -
11f40 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
11f50 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  FE=0 -DSQLITE_OM
11f60 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
11f70 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f  N \...$(TOP)\too
11f80 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20  l\showjournal.c 
11f90 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
11fa0 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
11fb0 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77  TLINKOPTS)..show
11fc0 77 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  wal.exe:.$(TOP)\
11fd0 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24  tool\showwal.c $
11fe0 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
11ff0 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
12000 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
12010 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
12020 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  =0 -DSQLITE_OMIT
12030 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20  _LOAD_EXTENSION 
12040 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  \...$(TOP)\tool\
12050 73 68 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c 49  showwal.c $(SQLI
12060 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
12070 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
12080 50 54 53 29 0a 0a 73 68 6f 77 73 68 6d 2e 65 78  PTS)..showshm.ex
12090 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  e:.$(TOP)\tool\s
120a0 68 6f 77 73 68 6d 2e 63 0a 09 24 28 4c 54 4c 49  howshm.c..$(LTLI
120b0 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 09 24  NK) $(NO_WARN).$
120c0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73  (TOP)\tool\shows
120d0 68 6d 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  hm.c /link $(LDF
120e0 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
120f0 54 53 29 0a 0a 63 68 61 6e 67 65 73 65 74 2e 65  TS)..changeset.e
12100 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 73  xe:.$(TOP)\ext\s
12110 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74  ession\changeset
12120 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
12130 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
12140 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
12150 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
12160 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
12170 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  OMIT_LOAD_EXTENS
12180 49 4f 4e 20 5c 0a 09 09 2d 44 53 51 4c 49 54 45  ION \...-DSQLITE
12190 5f 45 4e 41 42 4c 45 5f 53 45 53 53 49 4f 4e 3d  _ENABLE_SESSION=
121a0 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  1 -DSQLITE_ENABL
121b0 45 5f 50 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b  E_PREUPDATE_HOOK
121c0 3d 31 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78  =1 \...$(TOP)\ex
121d0 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65  t\session\change
121e0 73 65 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  set.c $(SQLITE3C
121f0 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
12200 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
12210 0a 0a 63 68 61 6e 67 65 73 65 74 66 75 7a 7a 2e  ..changesetfuzz.
12220 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  exe:.$(TOP)\ext\
12230 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65  session\changese
12240 74 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45  tfuzz.c $(SQLITE
12250 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
12260 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
12270 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54  WARN) -DSQLITE_T
12280 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51  HREADSAFE=0 -DSQ
12290 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45  LITE_OMIT_LOAD_E
122a0 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 2d 44 53  XTENSION \...-DS
122b0 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 53  QLITE_ENABLE_SES
122c0 53 49 4f 4e 3d 31 20 2d 44 53 51 4c 49 54 45 5f  SION=1 -DSQLITE_
122d0 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45  ENABLE_PREUPDATE
122e0 5f 48 4f 4f 4b 3d 31 20 5c 0a 09 09 24 28 54 4f  _HOOK=1 \...$(TO
122f0 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 63  P)\ext\session\c
12300 68 61 6e 67 65 73 65 74 66 75 7a 7a 2e 63 20 24  hangesetfuzz.c $
12310 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
12320 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
12330 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 74 73 33 76  LINKOPTS)..fts3v
12340 69 65 77 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  iew.exe:.$(TOP)\
12350 65 78 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 74  ext\fts3\tool\ft
12360 73 33 76 69 65 77 2e 63 20 24 28 53 51 4c 49 54  s3view.c $(SQLIT
12370 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
12380 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
12390 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
123a0 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
123b0 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
123c0 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28  EXTENSION \...$(
123d0 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f  TOP)\ext\fts3\to
123e0 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63 20 24 28  ol\fts3view.c $(
123f0 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
12400 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
12410 49 4e 4b 4f 50 54 53 29 0a 0a 72 6f 6c 6c 62 61  INKOPTS)..rollba
12420 63 6b 2d 74 65 73 74 2e 65 78 65 3a 09 24 28 54  ck-test.exe:.$(T
12430 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63  OP)\tool\rollbac
12440 6b 2d 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54  k-test.c $(SQLIT
12450 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
12460 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
12470 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
12480 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
12490 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
124a0 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28  EXTENSION \...$(
124b0 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61  TOP)\tool\rollba
124c0 63 6b 2d 74 65 73 74 2e 63 20 24 28 53 51 4c 49  ck-test.c $(SQLI
124d0 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
124e0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
124f0 50 54 53 29 0a 0a 61 74 72 63 2e 65 78 65 3a 09  PTS)..atrc.exe:.
12500 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 74 72 63  $(TOP)\test\atrc
12510 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
12520 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
12530 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
12540 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
12550 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
12560 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  OMIT_LOAD_EXTENS
12570 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74  ION \...$(TOP)\t
12580 65 73 74 5c 61 74 72 63 2e 63 20 24 28 53 51 4c  est\atrc.c $(SQL
12590 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
125a0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
125b0 4f 50 54 53 29 0a 0a 4c 6f 67 45 73 74 2e 65 78  OPTS)..LogEst.ex
125c0 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c  e:.$(TOP)\tool\l
125d0 6f 67 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45  ogest.c $(SQLITE
125e0 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
125f0 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50 29  (NO_WARN) $(TOP)
12600 5c 74 6f 6f 6c 5c 4c 6f 67 45 73 74 2e 63 20 2f  \tool\LogEst.c /
12610 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
12620 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 77  $(LTLINKOPTS)..w
12630 6f 72 64 63 6f 75 6e 74 2e 65 78 65 3a 09 24 28  ordcount.exe:.$(
12640 54 4f 50 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f  TOP)\test\wordco
12650 75 6e 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  unt.c $(SQLITE3C
12660 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
12670 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
12680 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  RN) -DSQLITE_THR
12690 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49  EADSAFE=0 -DSQLI
126a0 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
126b0 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50  ENSION \...$(TOP
126c0 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74  )\test\wordcount
126d0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
126e0 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
126f0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73  $(LTLINKOPTS)..s
12700 70 65 65 64 74 65 73 74 31 2e 65 78 65 3a 09 24  peedtest1.exe:.$
12710 28 54 4f 50 29 5c 74 65 73 74 5c 73 70 65 65 64  (TOP)\test\speed
12720 74 65 73 74 31 2e 63 20 24 28 53 51 4c 49 54 45  test1.c $(SQLITE
12730 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
12740 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
12750 57 41 52 4e 29 20 24 28 53 54 5f 43 4f 4d 50 49  WARN) $(ST_COMPI
12760 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54  LE_OPTS) -DSQLIT
12770 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45  E_OMIT_LOAD_EXTE
12780 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29  NSION \...$(TOP)
12790 5c 74 65 73 74 5c 73 70 65 65 64 74 65 73 74 31  \test\speedtest1
127a0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
127b0 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
127c0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6b  $(LTLINKOPTS)..k
127d0 76 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f 50  vtest.exe:.$(TOP
127e0 29 5c 74 65 73 74 5c 6b 76 74 65 73 74 2e 63 20  )\test\kvtest.c 
127f0 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
12800 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
12810 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28  K) $(NO_WARN) $(
12820 4b 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  KV_COMPILE_OPTS)
12830 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 74   \...$(TOP)\test
12840 5c 6b 76 74 65 73 74 2e 63 20 24 28 53 51 4c 49  \kvtest.c $(SQLI
12850 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
12860 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
12870 50 54 53 29 0a 0a 72 62 75 2e 65 78 65 3a 09 24  PTS)..rbu.exe:.$
12880 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72 62  (TOP)\ext\rbu\rb
12890 75 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  u.c $(TOP)\ext\r
128a0 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20  bu\sqlite3rbu.c 
128b0 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
128c0 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
128d0 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
128e0 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52 42  SQLITE_ENABLE_RB
128f0 55 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74  U \...$(TOP)\ext
12900 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 53 51 4c  \rbu\rbu.c $(SQL
12910 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
12920 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
12930 4f 50 54 53 29 0a 0a 4c 53 4d 44 49 52 3d 24 28  OPTS)..LSMDIR=$(
12940 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 0a 21 49  TOP)\ext\lsm1.!I
12950 4e 43 4c 55 44 45 20 24 28 4c 53 4d 44 49 52 29  NCLUDE $(LSMDIR)
12960 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 0a 0a 6d  \Makefile.msc..m
12970 6f 72 65 63 6c 65 61 6e 3a 09 63 6c 65 61 6e 0a  oreclean:.clean.
12980 09 64 65 6c 20 2f 51 20 24 28 53 51 4c 49 54 45  .del /Q $(SQLITE
12990 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 20  3C) $(SQLITE3H) 
129a0 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  2>NUL.# <</mark>
129b0 3e 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65 6c 20 2f  >..clean:..del /
129c0 51 20 2a 2e 65 78 70 20 2a 2e 6c 6f 20 2a 2e 69  Q *.exp *.lo *.i
129d0 6c 6b 20 2a 2e 6c 69 62 20 2a 2e 6f 62 6a 20 2a  lk *.lib *.obj *
129e0 2e 6e 63 62 20 2a 2e 70 64 62 20 2a 2e 73 64 66  .ncb *.pdb *.sdf
129f0 20 2a 2e 73 75 6f 20 32 3e 4e 55 4c 0a 09 64 65   *.suo 2>NUL..de
12a00 6c 20 2f 51 20 2a 2e 62 73 63 20 2a 2e 64 65 66  l /Q *.bsc *.def
12a10 20 2a 2e 63 6f 64 20 2a 2e 64 61 20 2a 2e 62 62   *.cod *.da *.bb
12a20 20 2a 2e 62 62 67 20 2a 2e 76 63 20 67 6d 6f 6e   *.bbg *.vc gmon
12a30 2e 6f 75 74 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .out 2>NUL..del 
12a40 2f 51 20 24 28 53 51 4c 49 54 45 33 45 58 45 29  /Q $(SQLITE3EXE)
12a50 20 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 20 52   $(SQLITE3DLL) R
12a60 65 70 6c 61 63 65 2e 65 78 65 20 32 3e 4e 55 4c  eplace.exe 2>NUL
12a70 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 09 64 65 6c  .# <<mark>>..del
12a80 20 2f 51 20 6f 70 63 6f 64 65 73 2e 63 20 6f 70   /Q opcodes.c op
12a90 63 6f 64 65 73 2e 68 20 32 3e 4e 55 4c 0a 09 64  codes.h 2>NUL..d
12aa0 65 6c 20 2f 51 20 6c 65 6d 6f 6e 2e 2a 20 6c 65  el /Q lemon.* le
12ab0 6d 70 61 72 2e 63 20 70 61 72 73 65 2e 2a 20 32  mpar.c parse.* 2
12ac0 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6d 6b 73  >NUL..del /Q mks
12ad0 6f 75 72 63 65 69 64 2e 2a 20 6d 6b 6b 65 79 77  ourceid.* mkkeyw
12ae0 6f 72 64 68 61 73 68 2e 2a 20 6b 65 79 77 6f 72  ordhash.* keywor
12af0 64 68 61 73 68 2e 68 20 32 3e 4e 55 4c 0a 09 64  dhash.h 2>NUL..d
12b00 65 6c 20 2f 51 20 6e 6f 74 61 73 68 61 72 65 64  el /Q notashared
12b10 6c 69 62 2e 2a 20 32 3e 4e 55 4c 0a 09 2d 72 6d  lib.* 2>NUL..-rm
12b20 64 69 72 20 2f 51 2f 53 20 2e 64 65 70 73 20 32  dir /Q/S .deps 2
12b30 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f  >NUL..-rmdir /Q/
12b40 53 20 2e 6c 69 62 73 20 32 3e 4e 55 4c 0a 09 2d  S .libs 2>NUL..-
12b50 72 6d 64 69 72 20 2f 51 2f 53 20 74 73 72 63 20  rmdir /Q/S tsrc 
12b60 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2e 74  2>NUL..del /Q .t
12b70 61 72 67 65 74 5f 73 6f 75 72 63 65 20 32 3e 4e  arget_source 2>N
12b80 55 4c 0a 09 64 65 6c 20 2f 51 20 74 63 6c 73 71  UL..del /Q tclsq
12b90 6c 69 74 65 33 2e 65 78 65 20 24 28 53 51 4c 49  lite3.exe $(SQLI
12ba0 54 45 54 43 4c 48 29 20 24 28 53 51 4c 49 54 45  TETCLH) $(SQLITE
12bb0 54 43 4c 44 45 43 4c 53 48 29 20 32 3e 4e 55 4c  TCLDECLSH) 2>NUL
12bc0 0a 09 64 65 6c 20 2f 51 20 6c 73 6d 2e 64 6c 6c  ..del /Q lsm.dll
12bd0 20 6c 73 6d 74 65 73 74 2e 65 78 65 20 32 3e 4e   lsmtest.exe 2>N
12be0 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 74 6c  UL..del /Q testl
12bf0 6f 61 64 65 78 74 2e 64 6c 6c 20 32 3e 4e 55 4c  oadext.dll 2>NUL
12c00 0a 09 64 65 6c 20 2f 51 20 74 65 73 74 66 69 78  ..del /Q testfix
12c10 74 75 72 65 2e 65 78 65 20 74 65 73 74 2e 64 62  ture.exe test.db
12c20 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 4c   2>NUL..del /Q L
12c30 6f 67 45 73 74 2e 65 78 65 20 66 74 73 33 76 69  ogEst.exe fts3vi
12c40 65 77 2e 65 78 65 20 72 6f 6c 6c 62 61 63 6b 2d  ew.exe rollback-
12c50 74 65 73 74 2e 65 78 65 20 73 68 6f 77 64 62 2e  test.exe showdb.
12c60 65 78 65 20 64 62 64 75 6d 70 2e 65 78 65 20 32  exe dbdump.exe 2
12c70 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 63 68 61  >NUL..del /Q cha
12c80 6e 67 65 73 65 74 2e 65 78 65 20 32 3e 4e 55 4c  ngeset.exe 2>NUL
12c90 0a 09 64 65 6c 20 2f 51 20 73 68 6f 77 6a 6f 75  ..del /Q showjou
12ca0 72 6e 61 6c 2e 65 78 65 20 73 68 6f 77 73 74 61  rnal.exe showsta
12cb0 74 34 2e 65 78 65 20 73 68 6f 77 77 61 6c 2e 65  t4.exe showwal.e
12cc0 78 65 20 73 70 65 65 64 74 65 73 74 31 2e 65 78  xe speedtest1.ex
12cd0 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q 
12ce0 6d 70 74 65 73 74 65 72 2e 65 78 65 20 77 6f 72  mptester.exe wor
12cf0 64 63 6f 75 6e 74 2e 65 78 65 20 72 62 75 2e 65  dcount.exe rbu.e
12d00 78 65 20 73 72 63 63 6b 31 2e 65 78 65 20 32 3e  xe srcck1.exe 2>
12d10 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69  NUL..del /Q sqli
12d20 74 65 33 2e 63 20 73 71 6c 69 74 65 33 2d 2a 2e  te3.c sqlite3-*.
12d30 63 20 73 71 6c 69 74 65 33 2e 68 20 32 3e 4e 55  c sqlite3.h 2>NU
12d40 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65  L..del /Q sqlite
12d50 33 72 63 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c  3rc.h 2>NUL..del
12d60 20 2f 51 20 73 68 65 6c 6c 2e 63 20 73 71 6c 69   /Q shell.c sqli
12d70 74 65 33 65 78 74 2e 68 20 73 71 6c 69 74 65 33  te3ext.h sqlite3
12d80 73 65 73 73 69 6f 6e 2e 68 20 32 3e 4e 55 4c 0a  session.h 2>NUL.
12d90 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 5f  .del /Q sqlite3_
12da0 61 6e 61 6c 79 7a 65 72 2e 65 78 65 20 73 71 6c  analyzer.exe sql
12db0 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20  ite3_analyzer.c 
12dc0 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71  2>NUL..del /Q sq
12dd0 6c 69 74 65 2d 2a 2d 6f 75 74 70 75 74 2e 76 73  lite-*-output.vs
12de0 69 78 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  ix 2>NUL..del /Q
12df0 20 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65 78 65   fuzzershell.exe
12e00 20 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20 73   fuzzcheck.exe s
12e10 71 6c 64 69 66 66 2e 65 78 65 20 64 62 68 61 73  qldiff.exe dbhas
12e20 68 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c  h.exe 2>NUL..del
12e30 20 2f 51 20 73 71 6c 74 63 6c 73 68 2e 2a 20 32   /Q sqltclsh.* 2
12e40 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 64 62 66  >NUL..del /Q dbf
12e50 75 7a 7a 2e 65 78 65 20 73 65 73 73 69 6f 6e 66  uzz.exe sessionf
12e60 75 7a 7a 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  uzz.exe 2>NUL..d
12e70 65 6c 20 2f 51 20 6b 76 74 65 73 74 2e 65 78 65  el /Q kvtest.exe
12e80 20 6f 73 73 73 68 65 6c 6c 2e 65 78 65 20 73 63   ossshell.exe sc
12e90 72 75 62 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  rub.exe 2>NUL..d
12ea0 65 6c 20 2f 51 20 73 68 6f 77 73 68 6d 2e 65 78  el /Q showshm.ex
12eb0 65 20 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65  e sqlite3_checke
12ec0 72 2e 2a 20 73 71 6c 69 74 65 33 5f 65 78 70 65  r.* sqlite3_expe
12ed0 72 74 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65  rt.exe 2>NUL..de
12ee0 6c 20 2f 51 20 66 74 73 35 2e 2a 20 66 74 73 35  l /Q fts5.* fts5
12ef0 70 61 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a 09 64  parse.* 2>NUL..d
12f00 65 6c 20 2f 51 20 6c 73 6d 2e 68 20 6c 73 6d 31  el /Q lsm.h lsm1
12f10 2e 63 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61  .c 2>NUL.# <</ma
12f20 72 6b 3e 3e 0a                                   rk>>.