/ Hex Artifact Content
Login

Artifact 681fb88cccf1fd58c0b9648f6a09b75332206ef72ca76012ad11699c320cec5f:


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 21 45 4e 44 49 46 0a 4f 50 54 5f 46 45 41  1.!ENDIF.OPT_FEA
1fe0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f  TURE_FLAGS = $(O
1ff0: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
2000: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
2010: 45 5f 43 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54  E_COLUMN_METADAT
2020: 41 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68  A=1.!ENDIF..# Sh
2030: 6f 75 6c 64 20 74 68 65 20 73 65 73 73 69 6f 6e  ould the session
2040: 20 65 78 74 65 6e 73 69 6f 6e 20 62 65 20 65 6e   extension be en
2050: 61 62 6c 65 64 3f 20 20 49 66 20 73 6f 2c 20 61  abled?  If so, a
2060: 64 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f  dd compilation o
2070: 70 74 69 6f 6e 73 0a 23 20 74 6f 20 65 6e 61 62  ptions.# to enab
2080: 6c 65 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 53  le it..#.!IF $(S
2090: 45 53 53 49 4f 4e 29 21 3d 30 0a 4f 50 54 5f 46  ESSION)!=0.OPT_F
20a0: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $
20b0: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
20c0: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  GS) -DSQLITE_ENA
20d0: 42 4c 45 5f 53 45 53 53 49 4f 4e 3d 31 0a 4f 50  BLE_SESSION=1.OP
20e0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20  T_FEATURE_FLAGS 
20f0: 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f  = $(OPT_FEATURE_
2100: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
2110: 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45  ENABLE_PREUPDATE
2120: 5f 48 4f 4f 4b 3d 31 0a 21 45 4e 44 49 46 0a 0a  _HOOK=1.!ENDIF..
2130: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20  # These are the 
2140: 22 65 78 74 65 6e 64 65 64 22 20 53 51 4c 69 74  "extended" SQLit
2150: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70  e compilation op
2160: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20  tions used when 
2170: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20  compiling for.# 
2180: 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30 20 70  the Windows 10 p
2190: 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44  latform..#.!IFND
21a0: 45 46 20 45 58 54 5f 46 45 41 54 55 52 45 5f 46  EF EXT_FEATURE_F
21b0: 4c 41 47 53 0a 21 49 46 20 24 28 46 4f 52 5f 57  LAGS.!IF $(FOR_W
21c0: 49 4e 31 30 29 21 3d 30 0a 45 58 54 5f 46 45 41  IN10)!=0.EXT_FEA
21d0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45  TURE_FLAGS = $(E
21e0: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
21f0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
2200: 45 5f 46 54 53 34 3d 31 0a 45 58 54 5f 46 45 41  E_FTS4=1.EXT_FEA
2210: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45  TURE_FLAGS = $(E
2220: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
2230: 29 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 54 45  ) -DSQLITE_SYSTE
2240: 4d 5f 4d 41 4c 4c 4f 43 3d 31 0a 45 58 54 5f 46  M_MALLOC=1.EXT_F
2250: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $
2260: 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (EXT_FEATURE_FLA
2270: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  GS) -DSQLITE_OMI
2280: 54 5f 4c 4f 43 41 4c 54 49 4d 45 3d 31 0a 21 45  T_LOCALTIME=1.!E
2290: 4c 53 45 0a 45 58 54 5f 46 45 41 54 55 52 45 5f  LSE.EXT_FEATURE_
22a0: 46 4c 41 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21  FLAGS =.!ENDIF.!
22b0: 45 4e 44 49 46 0a 0a 23 23 23 23 23 23 23 23 23  ENDIF..#########
22c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2300: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23  ######.#########
2310: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2320: 23 23 23 23 23 23 20 45 4e 44 20 4f 46 20 4f 50  ###### END OF OP
2330: 54 49 4f 4e 53 20 23 23 23 23 23 23 23 23 23 23  TIONS ##########
2340: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2350: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23  ######.#########
2360: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2370: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2380: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2390: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
23a0: 23 23 23 23 23 23 0a 0a 23 20 57 68 65 6e 20 63  ######..# When c
23b0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 74 68 65  ompiling for the
23c0: 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74   Windows 10 plat
23d0: 66 6f 72 6d 2c 20 74 68 65 20 50 4c 41 54 46 4f  form, the PLATFO
23e0: 52 4d 20 6d 61 63 72 6f 20 6d 75 73 74 20 62 65  RM macro must be
23f0: 20 73 65 74 0a 23 20 74 6f 20 61 6e 20 61 70 70   set.# to an app
2400: 72 6f 70 72 69 61 74 65 20 76 61 6c 75 65 20 28  ropriate value (
2410: 65 2e 67 2e 20 78 38 36 2c 20 78 36 34 2c 20 61  e.g. x86, x64, a
2420: 72 6d 2c 20 61 72 6d 36 34 2c 20 65 74 63 29 2e  rm, arm64, etc).
2430: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  .#.!IF $(FOR_WIN
2440: 31 30 29 21 3d 30 0a 21 49 46 4e 44 45 46 20 50  10)!=0.!IFNDEF P
2450: 4c 41 54 46 4f 52 4d 0a 21 45 52 52 4f 52 20 55  LATFORM.!ERROR U
2460: 73 69 6e 67 20 74 68 65 20 46 4f 52 5f 57 49 4e  sing the FOR_WIN
2470: 31 30 20 6f 70 74 69 6f 6e 20 72 65 71 75 69 72  10 option requir
2480: 65 73 20 61 20 76 61 6c 75 65 20 66 6f 72 20 50  es a value for P
2490: 4c 41 54 46 4f 52 4d 2e 0a 21 45 4e 44 49 46 0a  LATFORM..!ENDIF.
24a0: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 61  !ENDIF..# This a
24b0: 73 73 75 6d 65 73 20 74 68 61 74 20 4d 53 56 43  ssumes that MSVC
24c0: 20 69 73 20 61 6c 77 61 79 73 20 69 6e 73 74 61   is always insta
24d0: 6c 6c 65 64 20 69 6e 20 33 32 2d 62 69 74 20 50  lled in 32-bit P
24e0: 72 6f 67 72 61 6d 20 46 69 6c 65 73 20 64 69 72  rogram Files dir
24f0: 65 63 74 6f 72 79 0a 23 20 61 6e 64 20 73 65 74  ectory.# and set
2500: 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 66  s the variable f
2510: 6f 72 20 75 73 65 20 69 6e 20 6c 6f 63 61 74 69  or use in locati
2520: 6e 67 20 6f 74 68 65 72 20 33 32 2d 62 69 74 20  ng other 32-bit 
2530: 69 6e 73 74 61 6c 6c 73 20 61 63 63 6f 72 64 69  installs accordi
2540: 6e 67 6c 79 2e 0a 23 0a 50 52 4f 47 52 41 4d 46  ngly..#.PROGRAMF
2550: 49 4c 45 53 5f 58 38 36 20 3d 20 24 28 56 43 49  ILES_X86 = $(VCI
2560: 4e 53 54 41 4c 4c 44 49 52 29 5c 2e 2e 5c 2e 2e  NSTALLDIR)\..\..
2570: 0a 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38  .PROGRAMFILES_X8
2580: 36 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c  6 = $(PROGRAMFIL
2590: 45 53 5f 58 38 36 3a 5c 5c 3d 5c 29 0a 0a 23 20  ES_X86:\\=\)..# 
25a0: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72  Check for the pr
25b0: 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64  edefined command
25c0: 20 6d 61 63 72 6f 20 43 43 2e 20 20 54 68 69 73   macro CC.  This
25d0: 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f   should point to
25e0: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 23 20   the compiler.# 
25f0: 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65 20 74  binary for the t
2600: 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20  arget platform. 
2610: 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65   If it is not de
2620: 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65  fined, simply de
2630: 66 69 6e 65 20 69 74 20 74 6f 0a 23 20 74 68 65  fine it to.# the
2640: 20 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74 20   legacy default 
2650: 76 61 6c 75 65 20 27 63 6c 2e 65 78 65 27 2e 0a  value 'cl.exe'..
2660: 23 0a 21 49 46 4e 44 45 46 20 43 43 0a 43 43 20  #.!IFNDEF CC.CC 
2670: 3d 20 63 6c 2e 65 78 65 0a 21 45 4e 44 49 46 0a  = cl.exe.!ENDIF.
2680: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65  .# Check for the
2690: 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d   predefined comm
26a0: 61 6e 64 20 6d 61 63 72 6f 20 43 53 43 2e 20 20  and macro CSC.  
26b0: 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e  This should poin
26c0: 74 20 74 6f 20 61 20 77 6f 72 6b 69 6e 67 0a 23  t to a working.#
26d0: 20 43 20 53 68 61 72 70 20 63 6f 6d 70 69 6c 65   C Sharp compile
26e0: 72 20 62 69 6e 61 72 79 2e 20 20 49 66 20 69 74  r binary.  If it
26f0: 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c   is not defined,
2700: 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69   simply define i
2710: 74 20 74 6f 20 74 68 65 0a 23 20 6c 65 67 61 63  t to the.# legac
2720: 79 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20  y default value 
2730: 27 63 73 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46  'csc.exe'..#.!IF
2740: 4e 44 45 46 20 43 53 43 0a 43 53 43 20 3d 20 63  NDEF CSC.CSC = c
2750: 73 63 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23  sc.exe.!ENDIF..#
2760: 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63   Check for the c
2770: 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4c 44 2e  ommand macro LD.
2780: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f    This should po
2790: 69 6e 74 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65  int to the linke
27a0: 72 20 62 69 6e 61 72 79 20 66 6f 72 0a 23 20 74  r binary for.# t
27b0: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f  he target platfo
27c0: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f  rm.  If it is no
27d0: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c  t defined, simpl
27e0: 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 74  y define it to t
27f0: 68 65 20 6c 65 67 61 63 79 0a 23 20 64 65 66 61  he legacy.# defa
2800: 75 6c 74 20 76 61 6c 75 65 20 27 6c 69 6e 6b 2e  ult value 'link.
2810: 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20  exe'..#.!IFNDEF 
2820: 4c 44 0a 4c 44 20 3d 20 6c 69 6e 6b 2e 65 78 65  LD.LD = link.exe
2830: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b  .!ENDIF..# Check
2840: 20 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 69   for the predefi
2850: 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72  ned command macr
2860: 6f 20 52 43 2e 20 20 54 68 69 73 20 73 68 6f 75  o RC.  This shou
2870: 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20  ld point to the 
2880: 72 65 73 6f 75 72 63 65 0a 23 20 63 6f 6d 70 69  resource.# compi
2890: 6c 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74  ler binary for t
28a0: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f  he target platfo
28b0: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f  rm.  If it is no
28c0: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c  t defined, simpl
28d0: 79 20 64 65 66 69 6e 65 0a 23 20 69 74 20 74 6f  y define.# it to
28e0: 20 74 68 65 20 6c 65 67 61 63 79 20 64 65 66 61   the legacy defa
28f0: 75 6c 74 20 76 61 6c 75 65 20 27 72 63 2e 65 78  ult value 'rc.ex
2900: 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 52 43  e'..#.!IFNDEF RC
2910: 0a 52 43 20 3d 20 72 63 2e 65 78 65 0a 21 45 4e  .RC = rc.exe.!EN
2920: 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72  DIF..# Check for
2930: 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69 6d   the MSVC runtim
2940: 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d  e library path m
2950: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65  acro.  Otherwise
2960: 2c 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c  , this value wil
2970: 6c 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74  l.# default to t
2980: 68 65 20 27 6c 69 62 27 20 64 69 72 65 63 74 6f  he 'lib' directo
2990: 72 79 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68  ry underneath th
29a0: 65 20 4d 53 56 43 20 69 6e 73 74 61 6c 6c 61 74  e MSVC installat
29b0: 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23  ion directory..#
29c0: 0a 21 49 46 4e 44 45 46 20 43 52 54 4c 49 42 50  .!IFNDEF CRTLIBP
29d0: 41 54 48 0a 43 52 54 4c 49 42 50 41 54 48 20 3d  ATH.CRTLIBPATH =
29e0: 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29   $(VCINSTALLDIR)
29f0: 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 43 52 54  \lib.!ENDIF..CRT
2a00: 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c  LIBPATH = $(CRTL
2a10: 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20  IBPATH:\\=\)..# 
2a20: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f  Check for the co
2a30: 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4e 43 43 2e  mmand macro NCC.
2a40: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f    This should po
2a50: 69 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69  int to the compi
2a60: 6c 65 72 20 62 69 6e 61 72 79 0a 23 20 66 6f 72  ler binary.# for
2a70: 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68   the platform th
2a80: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72  e compilation pr
2a90: 6f 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20  ocess is taking 
2aa0: 70 6c 61 63 65 20 6f 6e 2e 20 20 49 66 20 69 74  place on.  If it
2ab0: 20 69 73 20 6e 6f 74 0a 23 20 64 65 66 69 6e 65   is not.# define
2ac0: 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65  d, simply define
2ad0: 20 69 74 20 74 6f 20 68 61 76 65 20 74 68 65 20   it to have the 
2ae0: 73 61 6d 65 20 76 61 6c 75 65 20 61 73 20 74 68  same value as th
2af0: 65 20 43 43 20 6d 61 63 72 6f 2e 20 20 57 68 65  e CC macro.  Whe
2b00: 6e 0a 23 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c  n.# cross-compil
2b10: 69 6e 67 2c 20 69 74 20 69 73 20 73 75 67 67 65  ing, it is sugge
2b20: 73 74 65 64 20 74 68 61 74 20 74 68 69 73 20 6d  sted that this m
2b30: 61 63 72 6f 20 62 65 20 6d 6f 64 69 66 69 65 64  acro be modified
2b40: 20 76 69 61 20 74 68 65 20 63 6f 6d 6d 61 6e 64   via the command
2b50: 0a 23 20 6c 69 6e 65 20 28 73 69 6e 63 65 20 6e  .# line (since n
2b60: 6d 61 6b 65 20 69 74 73 65 6c 66 20 64 6f 65 73  make itself does
2b70: 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 61 20 62   not provide a b
2b80: 75 69 6c 74 2d 69 6e 20 6d 65 74 68 6f 64 20 74  uilt-in method t
2b90: 6f 20 67 75 65 73 73 20 69 74 29 2e 0a 23 20 46  o guess it)..# F
2ba0: 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 75  or example, to u
2bb0: 73 65 20 74 68 65 20 78 38 36 20 63 6f 6d 70 69  se the x86 compi
2bc0: 6c 65 72 20 77 68 65 6e 20 63 72 6f 73 73 2d 63  ler when cross-c
2bd0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 78 36 34  ompiling for x64
2be0: 2c 20 61 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69  , a command.# li
2bf0: 6e 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68  ne similar to th
2c00: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 75 6c  e following coul
2c10: 64 20 62 65 20 75 73 65 64 20 28 61 6c 6c 20 6f  d be used (all o
2c20: 6e 20 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23  n one line):.#.#
2c30: 20 20 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61       nmake /f Ma
2c40: 6b 65 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74  kefile.msc sqlit
2c50: 65 33 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20  e3.dll.#        
2c60: 20 20 20 58 43 4f 4d 50 49 4c 45 3d 31 20 55 53     XCOMPILE=1 US
2c70: 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48  E_NATIVE_LIBPATH
2c80: 53 3d 31 0a 23 0a 23 20 41 6c 74 65 72 6e 61 74  S=1.#.# Alternat
2c90: 69 76 65 6c 79 2c 20 74 68 65 20 66 75 6c 6c 20  ively, the full 
2ca0: 70 61 74 68 20 61 6e 64 20 66 69 6c 65 20 6e 61  path and file na
2cb0: 6d 65 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c  me to the compil
2cc0: 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68  er binary for th
2cd0: 65 0a 23 20 70 6c 61 74 66 6f 72 6d 20 74 68 65  e.# platform the
2ce0: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f   compilation pro
2cf0: 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70  cess is taking p
2d00: 6c 61 63 65 20 6d 61 79 20 62 65 20 73 70 65 63  lace may be spec
2d10: 69 66 69 65 64 20 28 61 6c 6c 20 6f 6e 0a 23 20  ified (all on.# 
2d20: 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20  one line):.#.#  
2d30: 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65     nmake /f Make
2d40: 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65 33  file.msc sqlite3
2d50: 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 20 20  .dll.#          
2d60: 20 22 4e 43 43 3d 22 22 25 56 43 49 4e 53 54 41   "NCC=""%VCINSTA
2d70: 4c 4c 44 49 52 25 5c 62 69 6e 5c 63 6c 2e 65 78  LLDIR%\bin\cl.ex
2d80: 65 22 22 22 0a 23 20 20 20 20 20 20 20 20 20 20  e""".#          
2d90: 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50   USE_NATIVE_LIBP
2da0: 41 54 48 53 3d 31 0a 23 0a 21 49 46 44 45 46 20  ATHS=1.#.!IFDEF 
2db0: 4e 43 43 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a  NCC.NCC = $(NCC:
2dc0: 5c 5c 3d 5c 29 0a 21 45 4c 53 45 49 46 20 24 28  \\=\).!ELSEIF $(
2dd0: 58 43 4f 4d 50 49 4c 45 29 21 3d 30 0a 4e 43 43  XCOMPILE)!=0.NCC
2de0: 20 3d 20 22 24 28 56 43 49 4e 53 54 41 4c 4c 44   = "$(VCINSTALLD
2df0: 49 52 29 5c 62 69 6e 5c 24 28 43 43 29 22 0a 4e  IR)\bin\$(CC)".N
2e00: 43 43 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29  CC = $(NCC:\\=\)
2e10: 0a 21 45 4c 53 45 0a 4e 43 43 20 3d 20 24 28 43  .!ELSE.NCC = $(C
2e20: 43 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65  C).!ENDIF..# Che
2e30: 63 6b 20 66 6f 72 20 74 68 65 20 4d 53 56 43 20  ck for the MSVC 
2e40: 6e 61 74 69 76 65 20 72 75 6e 74 69 6d 65 20 6c  native runtime l
2e50: 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72  ibrary path macr
2e60: 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 0a 23  o.  Otherwise,.#
2e70: 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c   this value will
2e80: 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20   default to the 
2e90: 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20  'lib' directory 
2ea0: 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 4d  underneath the M
2eb0: 53 56 43 0a 23 20 69 6e 73 74 61 6c 6c 61 74 69  SVC.# installati
2ec0: 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a  on directory..#.
2ed0: 21 49 46 4e 44 45 46 20 4e 43 52 54 4c 49 42 50  !IFNDEF NCRTLIBP
2ee0: 41 54 48 0a 4e 43 52 54 4c 49 42 50 41 54 48 20  ATH.NCRTLIBPATH 
2ef0: 3d 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52  = $(VCINSTALLDIR
2f00: 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 4e 43  )\lib.!ENDIF..NC
2f10: 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 43  RTLIBPATH = $(NC
2f20: 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a  RTLIBPATH:\\=\).
2f30: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65  .# Check for the
2f40: 20 50 6c 61 74 66 6f 72 6d 20 53 44 4b 20 6c 69   Platform SDK li
2f50: 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f  brary path macro
2f60: 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68  .  Otherwise, th
2f70: 69 73 0a 23 20 76 61 6c 75 65 20 77 69 6c 6c 20  is.# value will 
2f80: 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27  default to the '
2f90: 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 75  lib' directory u
2fa0: 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 57 69  nderneath the Wi
2fb0: 6e 64 6f 77 73 0a 23 20 53 44 4b 20 69 6e 73 74  ndows.# SDK inst
2fc0: 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f  allation directo
2fd0: 72 79 20 28 74 68 65 20 65 6e 76 69 72 6f 6e 6d  ry (the environm
2fe0: 65 6e 74 20 76 61 72 69 61 62 6c 65 20 75 73 65  ent variable use
2ff0: 64 20 61 70 70 65 61 72 73 0a 23 20 74 6f 20 62  d appears.# to b
3000: 65 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e  e available when
3010: 20 75 73 69 6e 67 20 56 69 73 75 61 6c 20 43 2b   using Visual C+
3020: 2b 20 32 30 30 38 20 6f 72 20 6c 61 74 65 72 20  + 2008 or later 
3030: 76 69 61 20 74 68 65 0a 23 20 63 6f 6d 6d 61 6e  via the.# comman
3040: 64 20 6c 69 6e 65 29 2e 0a 23 0a 21 49 46 4e 44  d line)..#.!IFND
3050: 45 46 20 4e 53 44 4b 4c 49 42 50 41 54 48 0a 4e  EF NSDKLIBPATH.N
3060: 53 44 4b 4c 49 42 50 41 54 48 20 3d 20 24 28 57  SDKLIBPATH = $(W
3070: 49 4e 44 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69  INDOWSSDKDIR)\li
3080: 62 0a 21 45 4e 44 49 46 0a 0a 4e 53 44 4b 4c 49  b.!ENDIF..NSDKLI
3090: 42 50 41 54 48 20 3d 20 24 28 4e 53 44 4b 4c 49  BPATH = $(NSDKLI
30a0: 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43  BPATH:\\=\)..# C
30b0: 68 65 63 6b 20 66 6f 72 20 74 68 65 20 55 43 52  heck for the UCR
30c0: 54 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d  T library path m
30d0: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65  acro.  Otherwise
30e0: 2c 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c  , this value wil
30f0: 6c 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74  l.# default to t
3100: 68 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69  he version-speci
3110: 66 69 63 2c 20 70 6c 61 74 66 6f 72 6d 2d 73 70  fic, platform-sp
3120: 65 63 69 66 69 63 20 27 6c 69 62 27 20 64 69 72  ecific 'lib' dir
3130: 65 63 74 6f 72 79 0a 23 20 75 6e 64 65 72 6e 65  ectory.# underne
3140: 61 74 68 20 74 68 65 20 57 69 6e 64 6f 77 73 20  ath the Windows 
3150: 53 44 4b 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e  SDK installation
3160: 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49   directory..#.!I
3170: 46 4e 44 45 46 20 55 43 52 54 4c 49 42 50 41 54  FNDEF UCRTLIBPAT
3180: 48 0a 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20  H.UCRTLIBPATH = 
3190: 24 28 57 49 4e 44 4f 57 53 53 44 4b 44 49 52 29  $(WINDOWSSDKDIR)
31a0: 5c 6c 69 62 5c 24 28 57 49 4e 44 4f 57 53 53 44  \lib\$(WINDOWSSD
31b0: 4b 4c 49 42 56 45 52 53 49 4f 4e 29 5c 75 63 72  KLIBVERSION)\ucr
31c0: 74 5c 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45  t\$(PLATFORM).!E
31d0: 4e 44 49 46 0a 0a 55 43 52 54 4c 49 42 50 41 54  NDIF..UCRTLIBPAT
31e0: 48 20 3d 20 24 28 55 43 52 54 4c 49 42 50 41 54  H = $(UCRTLIBPAT
31f0: 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 20 63 6f 6d  H:\\=\)..# C com
3200: 70 69 6c 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e  piler and option
3210: 73 20 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69  s for use in bui
3220: 6c 64 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65  lding executable
3230: 73 20 74 68 61 74 0a 23 20 77 69 6c 6c 20 72 75  s that.# will ru
3240: 6e 20 6f 6e 20 74 68 65 20 70 6c 61 74 66 6f 72  n on the platfor
3250: 6d 20 74 68 61 74 20 69 73 20 64 6f 69 6e 67 20  m that is doing 
3260: 74 68 65 20 62 75 69 6c 64 2e 0a 23 0a 21 49 46  the build..#.!IF
3270: 20 24 28 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29   $(USE_FULLWARN)
3280: 21 3d 30 0a 42 43 43 20 3d 20 24 28 4e 43 43 29  !=0.BCC = $(NCC)
3290: 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 24 28 43   -nologo -W4 $(C
32a0: 43 4f 50 54 53 29 20 24 28 42 43 43 4f 50 54 53  COPTS) $(BCCOPTS
32b0: 29 0a 21 45 4c 53 45 0a 42 43 43 20 3d 20 24 28  ).!ELSE.BCC = $(
32c0: 4e 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33  NCC) -nologo -W3
32d0: 20 24 28 43 43 4f 50 54 53 29 20 24 28 42 43 43   $(CCOPTS) $(BCC
32e0: 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20  OPTS).!ENDIF..# 
32f0: 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c  Check if assembl
3300: 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20  y code listings 
3310: 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61  should be genera
3320: 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72  ted for the sour
3330: 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20  ce.# code files 
3340: 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a  to be compiled..
3350: 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54  #.!IF $(USE_LIST
3360: 49 4e 47 53 29 21 3d 30 0a 42 43 43 20 3d 20 24  INGS)!=0.BCC = $
3370: 28 42 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44  (BCC) -FAcs.!END
3380: 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 74  IF..# Check if t
3390: 68 65 20 6e 61 74 69 76 65 20 6c 69 62 72 61 72  he native librar
33a0: 79 20 70 61 74 68 73 20 73 68 6f 75 6c 64 20 62  y paths should b
33b0: 65 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70  e used when comp
33c0: 69 6c 69 6e 67 0a 23 20 74 68 65 20 63 6f 6d 6d  iling.# the comm
33d0: 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73 20 75  and line tools u
33e0: 73 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 63  sed during the c
33f0: 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65  ompilation proce
3400: 73 73 2e 20 20 49 66 0a 23 20 73 6f 2c 20 73 65  ss.  If.# so, se
3410: 74 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20  t the necessary 
3420: 6d 61 63 72 6f 20 6e 6f 77 2e 0a 23 0a 21 49 46  macro now..#.!IF
3430: 20 24 28 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49   $(USE_NATIVE_LI
3440: 42 50 41 54 48 53 29 21 3d 30 0a 4e 4c 54 4c 49  BPATHS)!=0.NLTLI
3450: 42 50 41 54 48 53 20 3d 20 22 2f 4c 49 42 50 41  BPATHS = "/LIBPA
3460: 54 48 3a 24 28 4e 43 52 54 4c 49 42 50 41 54 48  TH:$(NCRTLIBPATH
3470: 29 22 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e  )" "/LIBPATH:$(N
3480: 53 44 4b 4c 49 42 50 41 54 48 29 22 0a 0a 21 49  SDKLIBPATH)"..!I
3490: 46 44 45 46 20 4e 55 43 52 54 4c 49 42 50 41 54  FDEF NUCRTLIBPAT
34a0: 48 0a 4e 55 43 52 54 4c 49 42 50 41 54 48 20 3d  H.NUCRTLIBPATH =
34b0: 20 24 28 4e 55 43 52 54 4c 49 42 50 41 54 48 3a   $(NUCRTLIBPATH:
34c0: 5c 5c 3d 5c 29 0a 4e 4c 54 4c 49 42 50 41 54 48  \\=\).NLTLIBPATH
34d0: 53 20 3d 20 24 28 4e 4c 54 4c 49 42 50 41 54 48  S = $(NLTLIBPATH
34e0: 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e  S) "/LIBPATH:$(N
34f0: 55 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21 45  UCRTLIBPATH)".!E
3500: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 43  NDIF.!ENDIF..# C
3510: 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70   compiler and op
3520: 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e  tions for use in
3530: 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74   building execut
3540: 61 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69 6c  ables that.# wil
3550: 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20 74 61 72  l run on the tar
3560: 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 28  get platform.  (
3570: 42 43 43 20 61 6e 64 20 54 43 43 20 61 72 65 20  BCC and TCC are 
3580: 75 73 75 61 6c 6c 79 20 74 68 65 0a 23 20 73 61  usually the.# sa
3590: 6d 65 20 75 6e 6c 65 73 73 20 79 6f 75 72 20 61  me unless your a
35a0: 72 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69  re cross-compili
35b0: 6e 67 2e 29 0a 23 0a 21 49 46 20 24 28 55 53 45  ng.).#.!IF $(USE
35c0: 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 54 43  _FULLWARN)!=0.TC
35d0: 43 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67  C = $(CC) -nolog
35e0: 6f 20 2d 57 34 20 2d 44 49 4e 43 4c 55 44 45 5f  o -W4 -DINCLUDE_
35f0: 4d 53 56 43 5f 48 3d 31 20 24 28 43 43 4f 50 54  MSVC_H=1 $(CCOPT
3600: 53 29 20 24 28 54 43 43 4f 50 54 53 29 0a 21 45  S) $(TCCOPTS).!E
3610: 4c 53 45 0a 54 43 43 20 3d 20 24 28 43 43 29 20  LSE.TCC = $(CC) 
3620: 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43  -nologo -W3 $(CC
3630: 4f 50 54 53 29 20 24 28 54 43 43 4f 50 54 53 29  OPTS) $(TCCOPTS)
3640: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b  .!ENDIF..# Check
3650: 20 69 66 20 77 61 72 6e 69 6e 67 73 20 73 68 6f   if warnings sho
3660: 75 6c 64 20 62 65 20 74 72 65 61 74 65 64 20 61  uld be treated a
3670: 73 20 65 72 72 6f 72 73 20 77 68 65 6e 20 63 6f  s errors when co
3680: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 20 24  mpiling..#.!IF $
3690: 28 55 53 45 5f 46 41 54 41 4c 5f 57 41 52 4e 29  (USE_FATAL_WARN)
36a0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC)
36b0: 20 2d 57 58 0a 21 45 4e 44 49 46 0a 0a 54 43 43   -WX.!ENDIF..TCC
36c0: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49   = $(TCC) -DSQLI
36d0: 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20  TE_OS_WIN=1 -I. 
36e0: 2d 49 24 28 54 4f 50 29 20 2d 49 24 28 54 4f 50  -I$(TOP) -I$(TOP
36f0: 29 5c 73 72 63 20 2d 66 70 3a 70 72 65 63 69 73  )\src -fp:precis
3700: 65 0a 52 43 43 20 3d 20 24 28 52 43 29 20 2d 44  e.RCC = $(RC) -D
3710: 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31 20  SQLITE_OS_WIN=1 
3720: 2d 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49 24  -I. -I$(TOP) -I$
3730: 28 54 4f 50 29 5c 73 72 63 20 24 28 52 43 4f 50  (TOP)\src $(RCOP
3740: 54 53 29 20 24 28 52 43 43 4f 50 54 53 29 0a 0a  TS) $(RCCOPTS)..
3750: 23 20 43 68 65 63 6b 20 69 66 20 77 65 20 77 61  # Check if we wa
3760: 6e 74 20 74 6f 20 75 73 65 20 74 68 65 20 22 73  nt to use the "s
3770: 74 64 63 61 6c 6c 22 20 63 61 6c 6c 69 6e 67 20  tdcall" calling 
3780: 63 6f 6e 76 65 6e 74 69 6f 6e 20 77 68 65 6e 20  convention when 
3790: 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 20 54 68 69  compiling..# Thi
37a0: 73 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74  s is not support
37b0: 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c  ed by the compil
37c0: 65 72 73 20 66 6f 72 20 6e 6f 6e 2d 78 38 36 20  ers for non-x86 
37d0: 70 6c 61 74 66 6f 72 6d 73 2e 20 20 49 74 20 73  platforms.  It s
37e0: 68 6f 75 6c 64 0a 23 20 61 6c 73 6f 20 62 65 20  hould.# also be 
37f0: 6e 6f 74 65 64 20 68 65 72 65 20 74 68 61 74 20  noted here that 
3800: 62 75 69 6c 64 69 6e 67 20 61 6e 79 20 74 61 72  building any tar
3810: 67 65 74 20 77 69 74 68 20 74 68 65 73 65 20 22  get with these "
3820: 73 74 64 63 61 6c 6c 22 20 6f 70 74 69 6f 6e 73  stdcall" options
3830: 0a 23 20 77 69 6c 6c 20 6d 6f 73 74 20 6c 69 6b  .# will most lik
3840: 65 6c 79 20 66 61 69 6c 20 69 66 20 74 68 65 20  ely fail if the 
3850: 54 63 6c 20 6c 69 62 72 61 72 79 20 69 73 20 61  Tcl library is a
3860: 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 20 20 54  lso required.  T
3870: 68 69 73 20 69 73 20 64 75 65 0a 23 20 74 6f 20  his is due.# to 
3880: 68 6f 77 20 74 68 65 20 54 63 6c 20 6c 69 62 72  how the Tcl libr
3890: 61 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 61 72  ary functions ar
38a0: 65 20 64 65 63 6c 61 72 65 64 20 61 6e 64 20 65  e declared and e
38b0: 78 70 6f 72 74 65 64 20 28 69 2e 65 2e 20 77 69  xported (i.e. wi
38c0: 74 68 6f 75 74 0a 23 20 61 6e 20 65 78 70 6c 69  thout.# an expli
38d0: 63 69 74 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76  cit calling conv
38e0: 65 6e 74 69 6f 6e 2c 20 77 68 69 63 68 20 72 65  ention, which re
38f0: 73 75 6c 74 73 20 69 6e 20 22 63 64 65 63 6c 22  sults in "cdecl"
3900: 29 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 53  )..#.!IF $(USE_S
3910: 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  TDCALL)!=0 || $(
3920: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21 49  FOR_WIN10)!=0.!I
3930: 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d  F "$(PLATFORM)"=
3940: 3d 22 78 38 36 22 0a 43 4f 52 45 5f 43 43 4f 4e  ="x86".CORE_CCON
3950: 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53  V_OPTS = -Gz -DS
3960: 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64  QLITE_CDECL=__cd
3970: 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49  ecl -DSQLITE_API
3980: 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  CALL=__stdcall -
3990: 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b  DSQLITE_CALLBACK
39a0: 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c  =__stdcall -DSQL
39b0: 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64  ITE_SYSAPI=__std
39c0: 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56  call.SHELL_CCONV
39d0: 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51  _OPTS = -Gz -DSQ
39e0: 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65  LITE_CDECL=__cde
39f0: 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43  cl -DSQLITE_APIC
3a00: 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  ALL=__stdcall -D
3a10: 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d  SQLITE_CALLBACK=
3a20: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
3a30: 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63  TE_SYSAPI=__stdc
3a40: 61 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54  all.# <<mark>>.T
3a50: 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  EST_CCONV_OPTS =
3a60: 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44   -Gz -DSQLITE_CD
3a70: 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51  ECL=__cdecl -DSQ
3a80: 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73  LITE_APICALL=__s
3a90: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f  tdcall -DSQLITE_
3aa0: 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61  CALLBACK=__stdca
3ab0: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41  ll -DSQLITE_SYSA
3ac0: 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 49  PI=__stdcall -DI
3ad0: 4e 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f 54 43  NCLUDE_SQLITE_TC
3ae0: 4c 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f 54  L_H=1 -DSQLITE_T
3af0: 43 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a 23 20  CLAPI=__cdecl.# 
3b00: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a  <</mark>>.!ELSE.
3b10: 21 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d  !IFNDEF PLATFORM
3b20: 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  .CORE_CCONV_OPTS
3b30: 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f   = -Gz -DSQLITE_
3b40: 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44  CDECL=__cdecl -D
3b50: 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f  SQLITE_APICALL=_
3b60: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
3b70: 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64  E_CALLBACK=__std
3b80: 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59  call -DSQLITE_SY
3b90: 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53  SAPI=__stdcall.S
3ba0: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20  HELL_CCONV_OPTS 
3bb0: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43  = -Gz -DSQLITE_C
3bc0: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53  DECL=__cdecl -DS
3bd0: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f  QLITE_APICALL=__
3be0: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45  stdcall -DSQLITE
3bf0: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63  _CALLBACK=__stdc
3c00: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53  all -DSQLITE_SYS
3c10: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 20  API=__stdcall.# 
3c20: 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43  <<mark>>.TEST_CC
3c30: 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d  ONV_OPTS = -Gz -
3c40: 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f  DSQLITE_CDECL=__
3c50: 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41  cdecl -DSQLITE_A
3c60: 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c  PICALL=__stdcall
3c70: 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41   -DSQLITE_CALLBA
3c80: 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  CK=__stdcall -DS
3c90: 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73  QLITE_SYSAPI=__s
3ca0: 74 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 45  tdcall -DINCLUDE
3cb0: 5f 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 20  _SQLITE_TCL_H=1 
3cc0: 2d 44 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 3d  -DSQLITE_TCLAPI=
3cd0: 5f 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72  __cdecl.# <</mar
3ce0: 6b 3e 3e 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43  k>>.!ELSE.CORE_C
3cf0: 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45 4c  CONV_OPTS =.SHEL
3d00: 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23  L_CCONV_OPTS =.#
3d10: 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43   <<mark>>.TEST_C
3d20: 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c  CONV_OPTS =.# <<
3d30: 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 21  /mark>>.!ENDIF.!
3d40: 45 4e 44 49 46 0a 21 45 4c 53 45 0a 43 4f 52 45  ENDIF.!ELSE.CORE
3d50: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48  _CCONV_OPTS =.SH
3d60: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  ELL_CCONV_OPTS =
3d70: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54  .# <<mark>>.TEST
3d80: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20  _CCONV_OPTS =.# 
3d90: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46  <</mark>>.!ENDIF
3da0: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64  ..# These are ad
3db0: 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65  ditional compile
3dc0: 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66  r options used f
3dd0: 6f 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72  or the core libr
3de0: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43  ary..#.!IFNDEF C
3df0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
3e00: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S
3e10: 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  HELL)!=0 || $(FO
3e20: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 43 4f 52 45  R_WIN10)!=0.CORE
3e30: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS = 
3e40: 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54  $(CORE_CCONV_OPT
3e50: 53 29 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d  S) -DSQLITE_API=
3e60: 5f 5f 64 65 63 6c 73 70 65 63 28 64 6c 6c 65 78  __declspec(dllex
3e70: 70 6f 72 74 29 0a 21 45 4c 53 45 0a 43 4f 52 45  port).!ELSE.CORE
3e80: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS = 
3e90: 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54  $(CORE_CCONV_OPT
3ea0: 53 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  S).!ENDIF.!ENDIF
3eb0: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68  ..# These are th
3ec0: 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 61 72  e additional tar
3ed0: 67 65 74 73 20 74 68 61 74 20 74 68 65 20 63 6f  gets that the co
3ee0: 72 65 20 6c 69 62 72 61 72 79 20 73 68 6f 75 6c  re library shoul
3ef0: 64 20 64 65 70 65 6e 64 20 6f 6e 0a 23 20 77 68  d depend on.# wh
3f00: 65 6e 20 6c 69 6e 6b 69 6e 67 2e 0a 23 0a 21 49  en linking..#.!I
3f10: 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f  FNDEF CORE_LINK_
3f20: 44 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d 49  DEP.!IF $(DYNAMI
3f30: 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52 45  C_SHELL)!=0.CORE
3f40: 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4c 53  _LINK_DEP =.!ELS
3f50: 45 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29  EIF $(FOR_WIN10)
3f60: 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f  ==0 || "$(PLATFO
3f70: 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45  RM)"=="x86".CORE
3f80: 5f 4c 49 4e 4b 5f 44 45 50 20 3d 20 73 71 6c 69  _LINK_DEP = sqli
3f90: 74 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a 43 4f  te3.def.!ELSE.CO
3fa0: 52 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45  RE_LINK_DEP =.!E
3fb0: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54  NDIF.!ENDIF..# T
3fc0: 68 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f  hese are additio
3fd0: 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f  nal linker optio
3fe0: 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20  ns used for the 
3ff0: 63 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a  core library..#.
4000: 21 49 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e  !IFNDEF CORE_LIN
4010: 4b 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e  K_OPTS.!IF $(DYN
4020: 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43  AMIC_SHELL)!=0.C
4030: 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a  ORE_LINK_OPTS =.
4040: 21 45 4c 53 45 49 46 20 24 28 46 4f 52 5f 57 49  !ELSEIF $(FOR_WI
4050: 4e 31 30 29 3d 3d 30 20 7c 7c 20 22 24 28 50 4c  N10)==0 || "$(PL
4060: 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a  ATFORM)"=="x86".
4070: 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d  CORE_LINK_OPTS =
4080: 20 2f 44 45 46 3a 73 71 6c 69 74 65 33 2e 64 65   /DEF:sqlite3.de
4090: 66 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e  f.!ELSE.CORE_LIN
40a0: 4b 5f 4f 50 54 53 20 3d 0a 21 45 4e 44 49 46 0a  K_OPTS =.!ENDIF.
40b0: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20  !ENDIF..# These 
40c0: 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 63  are additional c
40d0: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options 
40e0: 75 73 65 64 20 66 6f 72 20 74 68 65 20 73 68 65  used for the she
40f0: 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23  ll executable..#
4100: 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43  .!IFNDEF SHELL_C
4110: 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46 20  OMPILE_OPTS.!IF 
4120: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL)
4130: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e  !=0 || $(FOR_WIN
4140: 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d  10)!=0.SHELL_COM
4150: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48  PILE_OPTS = $(SH
4160: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 20  ELL_CCONV_OPTS) 
4170: 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f 64  -DSQLITE_API=__d
4180: 65 63 6c 73 70 65 63 28 64 6c 6c 69 6d 70 6f 72  eclspec(dllimpor
4190: 74 29 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43  t).!ELSE.SHELL_C
41a0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28  OMPILE_OPTS = $(
41b0: 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53  SHELL_CCONV_OPTS
41c0: 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  ).!ENDIF.!ENDIF.
41d0: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 73  .# This is the s
41e0: 6f 75 72 63 65 20 63 6f 64 65 20 74 68 61 74 20  ource code that 
41f0: 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74  the shell execut
4200: 61 62 6c 65 20 73 68 6f 75 6c 64 20 62 65 20 63  able should be c
4210: 6f 6d 70 69 6c 65 64 0a 23 20 77 69 74 68 2e 0a  ompiled.# with..
4220: 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f  #.!IFNDEF SHELL_
4230: 43 4f 52 45 5f 53 52 43 0a 21 49 46 20 24 28 44  CORE_SRC.!IF $(D
4240: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30  YNAMIC_SHELL)!=0
4250: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10)
4260: 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53  !=0.SHELL_CORE_S
4270: 52 43 20 3d 0a 21 45 4c 53 45 0a 53 48 45 4c 4c  RC =.!ELSE.SHELL
4280: 5f 43 4f 52 45 5f 53 52 43 20 3d 20 24 28 53 51  _CORE_SRC = $(SQ
4290: 4c 49 54 45 33 43 29 0a 21 45 4e 44 49 46 0a 21  LITE3C).!ENDIF.!
42a0: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73  ENDIF..# This is
42b0: 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72   the core librar
42c0: 79 20 74 68 61 74 20 74 68 65 20 73 68 65 6c 6c  y that the shell
42d0: 20 65 78 65 63 75 74 61 62 6c 65 20 73 68 6f 75   executable shou
42e0: 6c 64 20 64 65 70 65 6e 64 20 6f 6e 2e 0a 23 0a  ld depend on..#.
42f0: 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f  !IFNDEF SHELL_CO
4300: 52 45 5f 44 45 50 0a 21 49 46 20 24 28 44 59 4e  RE_DEP.!IF $(DYN
4310: 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c  AMIC_SHELL)!=0 |
4320: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
4330: 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50  0.SHELL_CORE_DEP
4340: 20 3d 20 24 28 53 51 4c 49 54 45 33 44 4c 4c 29   = $(SQLITE3DLL)
4350: 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52  .!ELSE.SHELL_COR
4360: 45 5f 44 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21  E_DEP =.!ENDIF.!
4370: 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  ENDIF..# <<mark>
4380: 3e 0a 23 20 49 66 20 7a 6c 69 62 20 73 75 70 70  >.# If zlib supp
4390: 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20  ort is enabled, 
43a0: 61 64 64 20 74 68 65 20 64 65 70 65 6e 64 65 6e  add the dependen
43b0: 63 69 65 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21  cies for it..#.!
43c0: 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d  IF $(USE_ZLIB)!=
43d0: 30 20 26 26 20 24 28 42 55 49 4c 44 5f 5a 4c 49  0 && $(BUILD_ZLI
43e0: 42 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45  B)!=0.SHELL_CORE
43f0: 5f 44 45 50 20 3d 20 7a 6c 69 62 20 24 28 53 48  _DEP = zlib $(SH
4400: 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 0a 54 45  ELL_CORE_DEP).TE
4410: 53 54 46 49 58 54 55 52 45 5f 44 45 50 20 3d 20  STFIXTURE_DEP = 
4420: 7a 6c 69 62 20 24 28 54 45 53 54 46 49 58 54 55  zlib $(TESTFIXTU
4430: 52 45 5f 44 45 50 29 0a 21 45 4e 44 49 46 0a 23  RE_DEP).!ENDIF.#
4440: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68   <</mark>>..# Th
4450: 69 73 20 69 73 20 74 68 65 20 63 6f 72 65 20 6c  is is the core l
4460: 69 62 72 61 72 79 20 74 68 61 74 20 74 68 65 20  ibrary that the 
4470: 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65  shell executable
4480: 20 73 68 6f 75 6c 64 20 6c 69 6e 6b 20 77 69 74   should link wit
4490: 68 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45  h..#.!IFNDEF SHE
44a0: 4c 4c 5f 43 4f 52 45 5f 4c 49 42 0a 21 49 46 20  LL_CORE_LIB.!IF 
44b0: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL)
44c0: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e  !=0 || $(FOR_WIN
44d0: 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52  10)!=0.SHELL_COR
44e0: 45 5f 4c 49 42 20 3d 20 24 28 53 51 4c 49 54 45  E_LIB = $(SQLITE
44f0: 33 4c 49 42 29 0a 21 45 4c 53 45 0a 53 48 45 4c  3LIB).!ELSE.SHEL
4500: 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 0a 21 45 4e  L_CORE_LIB =.!EN
4510: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  DIF.!ENDIF..# Th
4520: 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f 6e  ese are addition
4530: 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e  al linker option
4540: 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 73  s used for the s
4550: 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e  hell executable.
4560: 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c  .#.!IFNDEF SHELL
4570: 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 53 48 45 4c 4c  _LINK_OPTS.SHELL
4580: 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20 24 28 53  _LINK_OPTS = $(S
4590: 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 29 0a 21  HELL_CORE_LIB).!
45a0: 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 69  ENDIF..# Check i
45b0: 66 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65 20  f assembly code 
45c0: 6c 69 73 74 69 6e 67 73 20 73 68 6f 75 6c 64 20  listings should 
45d0: 62 65 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72  be generated for
45e0: 20 74 68 65 20 73 6f 75 72 63 65 0a 23 20 63 6f   the source.# co
45f0: 64 65 20 66 69 6c 65 73 20 74 6f 20 62 65 20 63  de files to be c
4600: 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21 49 46 20 24  ompiled..#.!IF $
4610: 28 55 53 45 5f 4c 49 53 54 49 4e 47 53 29 21 3d  (USE_LISTINGS)!=
4620: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) -
4630: 46 41 63 73 0a 21 45 4e 44 49 46 0a 0a 23 20 57  FAcs.!ENDIF..# W
4640: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68  hen compiling th
4650: 65 20 6c 69 62 72 61 72 79 20 66 6f 72 20 75 73  e library for us
4660: 65 20 69 6e 20 74 68 65 20 57 69 6e 52 54 20 65  e in the WinRT e
4670: 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0a 23 20 74 68  nvironment,.# th
4680: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 70  e following comp
4690: 69 6c 65 2d 74 69 6d 65 20 6f 70 74 69 6f 6e 73  ile-time options
46a0: 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 61 73   must be used as
46b0: 20 77 65 6c 6c 20 74 6f 0a 23 20 64 69 73 61 62   well to.# disab
46c0: 6c 65 20 75 73 65 20 6f 66 20 57 69 6e 33 32 20  le use of Win32 
46d0: 41 50 49 73 20 74 68 61 74 20 61 72 65 20 6e 6f  APIs that are no
46e0: 74 20 61 76 61 69 6c 61 62 6c 65 20 61 6e 64 20  t available and 
46f0: 74 6f 20 65 6e 61 62 6c 65 0a 23 20 75 73 65 20  to enable.# use 
4700: 6f 66 20 57 69 6e 33 32 20 41 50 49 73 20 74 68  of Win32 APIs th
4710: 61 74 20 61 72 65 20 73 70 65 63 69 66 69 63 20  at are specific 
4720: 74 6f 20 57 69 6e 64 6f 77 73 20 38 20 61 6e 64  to Windows 8 and
4730: 2f 6f 72 20 57 69 6e 52 54 2e 0a 23 0a 21 49 46  /or WinRT..#.!IF
4740: 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 21 3d 30   $(FOR_WINRT)!=0
4750: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D
4760: 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 52 54 3d  SQLITE_OS_WINRT=
4770: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) -
4780: 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 52 54  DSQLITE_OS_WINRT
4790: 3d 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =1.TCC = $(TCC) 
47a0: 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 3d  -DWINAPI_FAMILY=
47b0: 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 5f 41 50  WINAPI_FAMILY_AP
47c0: 50 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  P.RCC = $(RCC) -
47d0: 44 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 3d 57  DWINAPI_FAMILY=W
47e0: 49 4e 41 50 49 5f 46 41 4d 49 4c 59 5f 41 50 50  INAPI_FAMILY_APP
47f0: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 20 63 6f 6d  .!ENDIF..# C com
4800: 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f  piler options fo
4810: 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30  r the Windows 10
4820: 20 70 6c 61 74 66 6f 72 6d 20 28 6e 65 65 64 73   platform (needs
4830: 20 4d 53 56 43 20 32 30 31 35 29 2e 0a 23 0a 21   MSVC 2015)..#.!
4840: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  IF $(FOR_WIN10)!
4850: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
4860: 2f 64 32 67 75 61 72 64 34 20 2d 44 5f 41 52 4d  /d2guard4 -D_ARM
4870: 5f 57 49 4e 41 50 49 5f 50 41 52 54 49 54 49 4f  _WINAPI_PARTITIO
4880: 4e 5f 44 45 53 4b 54 4f 50 5f 53 44 4b 5f 41 56  N_DESKTOP_SDK_AV
4890: 41 49 4c 41 42 4c 45 0a 42 43 43 20 3d 20 24 28  AILABLE.BCC = $(
48a0: 42 43 43 29 20 2f 64 32 67 75 61 72 64 34 20 2d  BCC) /d2guard4 -
48b0: 44 5f 41 52 4d 5f 57 49 4e 41 50 49 5f 50 41 52  D_ARM_WINAPI_PAR
48c0: 54 49 54 49 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53  TITION_DESKTOP_S
48d0: 44 4b 5f 41 56 41 49 4c 41 42 4c 45 0a 21 45 4e  DK_AVAILABLE.!EN
48e0: 44 49 46 0a 0a 23 20 41 6c 73 6f 2c 20 77 65 20  DIF..# Also, we 
48f0: 6e 65 65 64 20 74 6f 20 64 79 6e 61 6d 69 63 61  need to dynamica
4900: 6c 6c 79 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20  lly link to the 
4910: 63 6f 72 72 65 63 74 20 4d 53 56 43 20 72 75 6e  correct MSVC run
4920: 74 69 6d 65 0a 23 20 77 68 65 6e 20 63 6f 6d 70  time.# when comp
4930: 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 52 54 20  iling for WinRT 
4940: 28 65 2e 67 2e 20 64 65 62 75 67 20 6f 72 20 72  (e.g. debug or r
4950: 65 6c 65 61 73 65 29 20 4f 52 20 69 66 20 74 68  elease) OR if th
4960: 65 0a 23 20 55 53 45 5f 43 52 54 5f 44 4c 4c 20  e.# USE_CRT_DLL 
4970: 6f 70 74 69 6f 6e 20 69 73 20 73 65 74 20 74 6f  option is set to
4980: 20 66 6f 72 63 65 20 64 79 6e 61 6d 69 63 61 6c   force dynamical
4990: 6c 79 20 6c 69 6e 6b 69 6e 67 20 74 6f 20 74 68  ly linking to th
49a0: 65 0a 23 20 4d 53 56 43 20 72 75 6e 74 69 6d 65  e.# MSVC runtime
49b0: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 20   library..#.!IF 
49c0: 24 28 46 4f 52 5f 57 49 4e 52 54 29 21 3d 30 20  $(FOR_WINRT)!=0 
49d0: 7c 7c 20 24 28 55 53 45 5f 43 52 54 5f 44 4c 4c  || $(USE_CRT_DLL
49e0: 29 21 3d 30 0a 21 49 46 20 24 28 44 45 42 55 47  )!=0.!IF $(DEBUG
49f0: 29 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29  )>1.TCC = $(TCC)
4a00: 20 2d 4d 44 64 0a 42 43 43 20 3d 20 24 28 42 43   -MDd.BCC = $(BC
4a10: 43 29 20 2d 4d 44 64 0a 21 45 4c 53 45 0a 54 43  C) -MDd.!ELSE.TC
4a20: 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 44 0a 42  C = $(TCC) -MD.B
4a30: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 44 0a  CC = $(BCC) -MD.
4a40: 21 45 4e 44 49 46 0a 21 45 4c 53 45 0a 21 49 46  !ENDIF.!ELSE.!IF
4a50: 20 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20   $(DEBUG)>1.TCC 
4a60: 3d 20 24 28 54 43 43 29 20 2d 4d 54 64 0a 42 43  = $(TCC) -MTd.BC
4a70: 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 54 64 0a  C = $(BCC) -MTd.
4a80: 21 45 4c 53 45 0a 54 43 43 20 3d 20 24 28 54 43  !ELSE.TCC = $(TC
4a90: 43 29 20 2d 4d 54 0a 42 43 43 20 3d 20 24 28 42  C) -MT.BCC = $(B
4aa0: 43 43 29 20 2d 4d 54 0a 21 45 4e 44 49 46 0a 21  CC) -MT.!ENDIF.!
4ab0: 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  ENDIF..# <<mark>
4ac0: 3e 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69 74 65  >.# The mksqlite
4ad0: 33 63 2e 74 63 6c 20 61 6e 64 20 6d 6b 73 71 6c  3c.tcl and mksql
4ae0: 69 74 65 33 68 2e 74 63 6c 20 73 63 72 69 70 74  ite3h.tcl script
4af0: 73 20 77 69 6c 6c 20 70 75 6c 6c 20 69 6e 0a 23  s will pull in.#
4b00: 20 61 6e 79 20 65 78 74 65 6e 73 69 6f 6e 20 68   any extension h
4b10: 65 61 64 65 72 20 66 69 6c 65 73 20 62 79 20 64  eader files by d
4b20: 65 66 61 75 6c 74 2e 20 20 46 6f 72 20 6e 6f 6e  efault.  For non
4b30: 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a 23 20  -amalgamation.# 
4b40: 62 75 69 6c 64 73 2c 20 77 65 20 6e 65 65 64 20  builds, we need 
4b50: 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65  to make sure the
4b60: 20 63 6f 6d 70 69 6c 65 72 20 63 61 6e 20 66 69   compiler can fi
4b70: 6e 64 20 74 68 65 73 65 2e 0a 23 0a 21 49 46 20  nd these..#.!IF 
4b80: 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49  $(USE_AMALGAMATI
4b90: 4f 4e 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54  ON)==0.TCC = $(T
4ba0: 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74  CC) -I$(TOP)\ext
4bb0: 5c 66 74 73 33 0a 52 43 43 20 3d 20 24 28 52 43  \fts3.RCC = $(RC
4bc0: 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c  C) -I$(TOP)\ext\
4bd0: 66 74 73 33 0a 54 43 43 20 3d 20 24 28 54 43 43  fts3.TCC = $(TCC
4be0: 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 72  ) -I$(TOP)\ext\r
4bf0: 74 72 65 65 0a 52 43 43 20 3d 20 24 28 52 43 43  tree.RCC = $(RCC
4c00: 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 72  ) -I$(TOP)\ext\r
4c10: 74 72 65 65 0a 54 43 43 20 3d 20 24 28 54 43 43  tree.TCC = $(TCC
4c20: 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 73  ) -I$(TOP)\ext\s
4c30: 65 73 73 69 6f 6e 0a 52 43 43 20 3d 20 24 28 52  ession.RCC = $(R
4c40: 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74  CC) -I$(TOP)\ext
4c50: 5c 73 65 73 73 69 6f 6e 0a 21 45 4e 44 49 46 0a  \session.!ENDIF.
4c60: 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69 74 65 33  .# The mksqlite3
4c70: 63 2e 74 63 6c 20 73 63 72 69 70 74 20 61 63 63  c.tcl script acc
4c80: 65 70 74 73 20 73 6f 6d 65 20 6f 70 74 69 6f 6e  epts some option
4c90: 73 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64  s on the command
4ca0: 0a 23 20 6c 69 6e 65 2e 20 20 57 68 65 6e 20 63  .# line.  When c
4cb0: 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68 20 64 65  ompiling with de
4cc0: 62 75 67 67 69 6e 67 20 65 6e 61 62 6c 65 64 2c  bugging enabled,
4cd0: 20 73 6f 6d 65 20 6f 66 20 74 68 65 73 65 0a 23   some of these.#
4ce0: 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 6e 65 63   options are nec
4cf0: 65 73 73 61 72 79 20 69 6e 20 6f 72 64 65 72 20  essary in order 
4d00: 74 6f 20 61 6c 6c 6f 77 20 64 65 62 75 67 67 69  to allow debuggi
4d10: 6e 67 20 73 79 6d 62 6f 6c 73 20 74 6f 0a 23 20  ng symbols to.# 
4d20: 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c 79 20 77  work correctly w
4d30: 69 74 68 20 56 69 73 75 61 6c 20 53 74 75 64 69  ith Visual Studi
4d40: 6f 20 77 68 65 6e 20 75 73 69 6e 67 20 74 68 65  o when using the
4d50: 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23   amalgamation..#
4d60: 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54  .!IFNDEF MKSQLIT
4d70: 45 33 43 5f 54 4f 4f 4c 0a 21 49 46 20 24 28 4d  E3C_TOOL.!IF $(M
4d80: 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41 54  INIMAL_AMALGAMAT
4d90: 49 4f 4e 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45  ION)!=0.MKSQLITE
4da0: 33 43 5f 54 4f 4f 4c 20 3d 20 24 28 54 4f 50 29  3C_TOOL = $(TOP)
4db0: 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 63  \tool\mksqlite3c
4dc0: 2d 6e 6f 65 78 74 2e 74 63 6c 0a 21 45 4c 53 45  -noext.tcl.!ELSE
4dd0: 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c  .MKSQLITE3C_TOOL
4de0: 20 3d 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d   = $(TOP)\tool\m
4df0: 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 21 45  ksqlite3c.tcl.!E
4e00: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 21 49 46  NDIF.!ENDIF..!IF
4e10: 4e 44 45 46 20 4d 4b 53 51 4c 49 54 45 33 43 5f  NDEF MKSQLITE3C_
4e20: 41 52 47 53 0a 21 49 46 20 24 28 44 45 42 55 47  ARGS.!IF $(DEBUG
4e30: 29 3e 31 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 41  )>1.MKSQLITE3C_A
4e40: 52 47 53 20 3d 20 2d 2d 6c 69 6e 65 6d 61 63 72  RGS = --linemacr
4e50: 6f 73 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c 49 54  os.!ELSE.MKSQLIT
4e60: 45 33 43 5f 41 52 47 53 20 3d 0a 21 45 4e 44 49  E3C_ARGS =.!ENDI
4e70: 46 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43  F.!IF $(USE_STDC
4e80: 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ALL)!=0 || $(FOR
4e90: 5f 57 49 4e 31 30 29 21 3d 30 0a 4d 4b 53 51 4c  _WIN10)!=0.MKSQL
4ea0: 49 54 45 33 43 5f 41 52 47 53 20 3d 20 24 28 4d  ITE3C_ARGS = $(M
4eb0: 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 29 20  KSQLITE3C_ARGS) 
4ec0: 2d 2d 75 73 65 61 70 69 63 61 6c 6c 0a 21 45 4e  --useapicall.!EN
4ed0: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  DIF.!ENDIF..# Th
4ee0: 65 20 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c  e mksqlite3h.tcl
4ef0: 20 73 63 72 69 70 74 20 61 63 63 65 70 74 73 20   script accepts 
4f00: 73 6f 6d 65 20 6f 70 74 69 6f 6e 73 20 6f 6e 20  some options on 
4f10: 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65  the command line
4f20: 2e 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69  ..# When compili
4f30: 6e 67 20 77 69 74 68 20 73 74 64 63 61 6c 6c 20  ng with stdcall 
4f40: 73 75 70 70 6f 72 74 2c 20 73 6f 6d 65 20 6f 66  support, some of
4f50: 20 74 68 65 73 65 20 6f 70 74 69 6f 6e 73 20 61   these options a
4f60: 72 65 0a 23 20 6e 65 63 65 73 73 61 72 79 2e 0a  re.# necessary..
4f70: 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49  #.!IFNDEF MKSQLI
4f80: 54 45 33 48 5f 41 52 47 53 0a 21 49 46 20 24 28  TE3H_ARGS.!IF $(
4f90: 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20  USE_STDCALL)!=0 
4fa0: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  || $(FOR_WIN10)!
4fb0: 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52  =0.MKSQLITE3H_AR
4fc0: 47 53 20 3d 20 2d 2d 75 73 65 61 70 69 63 61 6c  GS = --useapical
4fd0: 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c 49 54 45  l.!ELSE.MKSQLITE
4fe0: 33 48 5f 41 52 47 53 20 3d 0a 21 45 4e 44 49 46  3H_ARGS =.!ENDIF
4ff0: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
5000: 6b 3e 3e 0a 0a 23 20 44 65 66 69 6e 65 20 2d 44  k>>..# Define -D
5010: 4e 44 45 42 55 47 20 74 6f 20 63 6f 6d 70 69 6c  NDEBUG to compil
5020: 65 20 77 69 74 68 6f 75 74 20 64 65 62 75 67 67  e without debugg
5030: 69 6e 67 20 28 69 2e 65 2e 2c 20 66 6f 72 20 70  ing (i.e., for p
5040: 72 6f 64 75 63 74 69 6f 6e 20 75 73 61 67 65 29  roduction usage)
5050: 0a 23 20 4f 6d 69 74 74 69 6e 67 20 74 68 65 20  .# Omitting the 
5060: 64 65 66 69 6e 65 20 77 69 6c 6c 20 63 61 75 73  define will caus
5070: 65 20 65 78 74 72 61 20 64 65 62 75 67 67 69 6e  e extra debuggin
5080: 67 20 63 6f 64 65 20 74 6f 20 62 65 20 69 6e 73  g code to be ins
5090: 65 72 74 65 64 20 61 6e 64 0a 23 20 69 6e 63 6c  erted and.# incl
50a0: 75 64 65 73 20 65 78 74 72 61 20 63 6f 6d 6d 65  udes extra comme
50b0: 6e 74 73 20 77 68 65 6e 20 22 45 58 50 4c 41 49  nts when "EXPLAI
50c0: 4e 20 73 74 6d 74 22 20 69 73 20 75 73 65 64 2e  N stmt" is used.
50d0: 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3d  .#.!IF $(DEBUG)=
50e0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
50f0: 2d 44 4e 44 45 42 55 47 0a 42 43 43 20 3d 20 24  -DNDEBUG.BCC = $
5100: 28 42 43 43 29 20 2d 44 4e 44 45 42 55 47 0a 52  (BCC) -DNDEBUG.R
5110: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 4e 44  CC = $(RCC) -DND
5120: 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a 21 49 46  EBUG.!ENDIF..!IF
5130: 20 24 28 44 45 42 55 47 29 3e 30 20 7c 7c 20 24   $(DEBUG)>0 || $
5140: 28 41 50 49 5f 41 52 4d 4f 52 29 21 3d 30 20 7c  (API_ARMOR)!=0 |
5150: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
5160: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) -
5170: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 41  DSQLITE_ENABLE_A
5180: 50 49 5f 41 52 4d 4f 52 3d 31 0a 52 43 43 20 3d  PI_ARMOR=1.RCC =
5190: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45   $(RCC) -DSQLITE
51a0: 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41 52 4d 4f  _ENABLE_API_ARMO
51b0: 52 3d 31 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20  R=1.!ENDIF..!IF 
51c0: 24 28 44 45 42 55 47 29 3e 32 0a 54 43 43 20 3d  $(DEBUG)>2.TCC =
51d0: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE
51e0: 5f 44 45 42 55 47 3d 31 0a 52 43 43 20 3d 20 24  _DEBUG=1.RCC = $
51f0: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 44  (RCC) -DSQLITE_D
5200: 45 42 55 47 3d 31 0a 21 49 46 20 24 28 44 59 4e  EBUG=1.!IF $(DYN
5210: 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d 30 0a 54  AMIC_SHELL)==0.T
5220: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ
5230: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 57 48 45 52  LITE_ENABLE_WHER
5240: 45 54 52 41 43 45 20 2d 44 53 51 4c 49 54 45 5f  ETRACE -DSQLITE_
5250: 45 4e 41 42 4c 45 5f 53 45 4c 45 43 54 54 52 41  ENABLE_SELECTTRA
5260: 43 45 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  CE.RCC = $(RCC) 
5270: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
5280: 57 48 45 52 45 54 52 41 43 45 20 2d 44 53 51 4c  WHERETRACE -DSQL
5290: 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 4c 45 43  ITE_ENABLE_SELEC
52a0: 54 54 52 41 43 45 0a 21 45 4e 44 49 46 0a 21 45  TTRACE.!ENDIF.!E
52b0: 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55  NDIF..!IF $(DEBU
52c0: 47 29 3e 34 20 7c 7c 20 24 28 4f 53 54 52 41 43  G)>4 || $(OSTRAC
52d0: 45 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  E)!=0.TCC = $(TC
52e0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 4f 52 43  C) -DSQLITE_FORC
52f0: 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 2d 44 53  E_OS_TRACE=1 -DS
5300: 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f 54  QLITE_DEBUG_OS_T
5310: 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 28 52  RACE=1.RCC = $(R
5320: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 4f 52  CC) -DSQLITE_FOR
5330: 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 2d 44  CE_OS_TRACE=1 -D
5340: 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f  SQLITE_DEBUG_OS_
5350: 54 52 41 43 45 3d 31 0a 21 45 4e 44 49 46 0a 0a  TRACE=1.!ENDIF..
5360: 21 49 46 20 24 28 44 45 42 55 47 29 3e 35 0a 54  !IF $(DEBUG)>5.T
5370: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ
5380: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
5390: 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43  ACE=1.RCC = $(RC
53a0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  C) -DSQLITE_ENAB
53b0: 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a 21 45 4e  LE_IOTRACE=1.!EN
53c0: 44 49 46 0a 0a 23 20 50 72 65 76 65 6e 74 20 77  DIF..# Prevent w
53d0: 61 72 6e 69 6e 67 73 20 61 62 6f 75 74 20 22 69  arnings about "i
53e0: 6e 73 65 63 75 72 65 22 20 4d 53 56 43 20 72 75  nsecure" MSVC ru
53f0: 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20 66 75  ntime library fu
5400: 6e 63 74 69 6f 6e 73 0a 23 20 62 65 69 6e 67 20  nctions.# being 
5410: 75 73 65 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28  used..#.TCC = $(
5420: 54 43 43 29 20 2d 44 5f 43 52 54 5f 53 45 43 55  TCC) -D_CRT_SECU
5430: 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20  RE_NO_DEPRECATE 
5440: 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f  -D_CRT_SECURE_NO
5450: 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20  _WARNINGS.BCC = 
5460: 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 53 45  $(BCC) -D_CRT_SE
5470: 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54  CURE_NO_DEPRECAT
5480: 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f  E -D_CRT_SECURE_
5490: 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 43 20  NO_WARNINGS.RCC 
54a0: 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52 54 5f  = $(RCC) -D_CRT_
54b0: 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43  SECURE_NO_DEPREC
54c0: 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52  ATE -D_CRT_SECUR
54d0: 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a 23  E_NO_WARNINGS..#
54e0: 20 50 72 65 76 65 6e 74 20 77 61 72 6e 69 6e 67   Prevent warning
54f0: 73 20 61 62 6f 75 74 20 22 64 65 70 72 65 63 61  s about "depreca
5500: 74 65 64 22 20 50 4f 53 49 58 20 66 75 6e 63 74  ted" POSIX funct
5510: 69 6f 6e 73 20 62 65 69 6e 67 20 75 73 65 64 2e  ions being used.
5520: 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  .#.TCC = $(TCC) 
5530: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e  -D_CRT_NONSTDC_N
5540: 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f 43  O_DEPRECATE -D_C
5550: 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41  RT_NONSTDC_NO_WA
5560: 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20 24 28 42  RNINGS.BCC = $(B
5570: 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54  CC) -D_CRT_NONST
5580: 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20  DC_NO_DEPRECATE 
5590: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e  -D_CRT_NONSTDC_N
55a0: 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 43 20 3d  O_WARNINGS.RCC =
55b0: 20 24 28 52 43 43 29 20 2d 44 5f 43 52 54 5f 4e   $(RCC) -D_CRT_N
55c0: 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43  ONSTDC_NO_DEPREC
55d0: 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54  ATE -D_CRT_NONST
55e0: 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a  DC_NO_WARNINGS..
55f0: 23 20 55 73 65 20 74 68 65 20 53 51 4c 69 74 65  # Use the SQLite
5600: 20 64 65 62 75 67 67 69 6e 67 20 68 65 61 70 20   debugging heap 
5610: 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 49 46  subsystem?.#.!IF
5620: 20 24 28 4d 45 4d 44 45 42 55 47 29 21 3d 30 0a   $(MEMDEBUG)!=0.
5630: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53  TCC = $(TCC) -DS
5640: 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 47 3d 31  QLITE_MEMDEBUG=1
5650: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44  .RCC = $(RCC) -D
5660: 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 47 3d  SQLITE_MEMDEBUG=
5670: 31 0a 0a 23 20 55 73 65 20 6e 61 74 69 76 65 20  1..# Use native 
5680: 57 69 6e 33 32 20 68 65 61 70 20 73 75 62 73 79  Win32 heap subsy
5690: 73 74 65 6d 20 69 6e 73 74 65 61 64 20 6f 66 20  stem instead of 
56a0: 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f 0a 23 0a 21  malloc/free?.#.!
56b0: 45 4c 53 45 49 46 20 24 28 57 49 4e 33 32 48 45  ELSEIF $(WIN32HE
56c0: 41 50 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54  AP)!=0.TCC = $(T
56d0: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e  CC) -DSQLITE_WIN
56e0: 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 52 43 43 20  32_MALLOC=1.RCC 
56f0: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT
5700: 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31  E_WIN32_MALLOC=1
5710: 0a 0a 23 20 56 61 6c 69 64 61 74 65 20 74 68 65  ..# Validate the
5720: 20 68 65 61 70 20 6f 6e 20 65 76 65 72 79 20 63   heap on every c
5730: 61 6c 6c 20 69 6e 74 6f 20 74 68 65 20 6e 61 74  all into the nat
5740: 69 76 65 20 57 69 6e 33 32 20 68 65 61 70 20 73  ive Win32 heap s
5750: 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 49 46 20  ubsystem?.#.!IF 
5760: 24 28 44 45 42 55 47 29 3e 33 0a 54 43 43 20 3d  $(DEBUG)>3.TCC =
5770: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE
5780: 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41  _WIN32_MALLOC_VA
5790: 4c 49 44 41 54 45 3d 31 0a 52 43 43 20 3d 20 24  LIDATE=1.RCC = $
57a0: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57  (RCC) -DSQLITE_W
57b0: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
57c0: 44 41 54 45 3d 31 0a 21 45 4e 44 49 46 0a 21 45  DATE=1.!ENDIF.!E
57d0: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
57e0: 0a 23 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 73  .# The locations
57f0: 20 6f 66 20 74 68 65 20 54 63 6c 20 68 65 61 64   of the Tcl head
5800: 65 72 20 61 6e 64 20 6c 69 62 72 61 72 79 20 66  er and library f
5810: 69 6c 65 73 2e 20 20 41 6c 73 6f 2c 20 74 68 65  iles.  Also, the
5820: 20 6c 69 62 72 61 72 79 20 74 68 61 74 0a 23 20   library that.# 
5830: 6e 6f 6e 2d 73 74 75 62 73 20 65 6e 61 62 6c 65  non-stubs enable
5840: 64 20 70 72 6f 67 72 61 6d 73 20 75 73 69 6e 67  d programs using
5850: 20 54 63 6c 20 6d 75 73 74 20 6c 69 6e 6b 20 61   Tcl must link a
5860: 67 61 69 6e 73 74 2e 20 20 54 68 65 73 65 20 76  gainst.  These v
5870: 61 72 69 61 62 6c 65 73 0a 23 20 28 54 43 4c 49  ariables.# (TCLI
5880: 4e 43 44 49 52 2c 20 54 43 4c 4c 49 42 44 49 52  NCDIR, TCLLIBDIR
5890: 2c 20 61 6e 64 20 4c 49 42 54 43 4c 29 20 6d 61  , and LIBTCL) ma
58a0: 79 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20  y be overridden 
58b0: 76 69 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d  via the environm
58c0: 65 6e 74 0a 23 20 70 72 69 6f 72 20 74 6f 20 72  ent.# prior to r
58d0: 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20  unning nmake in 
58e0: 6f 72 64 65 72 20 74 6f 20 6d 61 74 63 68 20 74  order to match t
58f0: 68 65 20 61 63 74 75 61 6c 20 69 6e 73 74 61 6c  he actual instal
5900: 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20 61 6e 64  led location and
5910: 0a 23 20 76 65 72 73 69 6f 6e 20 6f 6e 20 74 68  .# version on th
5920: 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a 21 49  is machine..#.!I
5930: 46 4e 44 45 46 20 54 43 4c 44 49 52 0a 54 43 4c  FNDEF TCLDIR.TCL
5940: 44 49 52 20 3d 20 24 28 54 4f 50 29 5c 63 6f 6d  DIR = $(TOP)\com
5950: 70 61 74 5c 74 63 6c 0a 21 45 4e 44 49 46 0a 0a  pat\tcl.!ENDIF..
5960: 21 49 46 4e 44 45 46 20 54 43 4c 49 4e 43 44 49  !IFNDEF TCLINCDI
5970: 52 0a 54 43 4c 49 4e 43 44 49 52 20 3d 20 24 28  R.TCLINCDIR = $(
5980: 54 43 4c 44 49 52 29 5c 69 6e 63 6c 75 64 65 0a  TCLDIR)\include.
5990: 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20  !ENDIF..!IFNDEF 
59a0: 54 43 4c 4c 49 42 44 49 52 0a 54 43 4c 4c 49 42  TCLLIBDIR.TCLLIB
59b0: 44 49 52 20 3d 20 24 28 54 43 4c 44 49 52 29 5c  DIR = $(TCLDIR)\
59c0: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e  lib.!ENDIF..!IFN
59d0: 44 45 46 20 4c 49 42 54 43 4c 0a 4c 49 42 54 43  DEF LIBTCL.LIBTC
59e0: 4c 20 3d 20 74 63 6c 38 36 2e 6c 69 62 0a 21 45  L = tcl86.lib.!E
59f0: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49  NDIF..!IFNDEF LI
5a00: 42 54 43 4c 53 54 55 42 0a 4c 49 42 54 43 4c 53  BTCLSTUB.LIBTCLS
5a10: 54 55 42 20 3d 20 74 63 6c 73 74 75 62 38 36 2e  TUB = tclstub86.
5a20: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e  lib.!ENDIF..!IFN
5a30: 44 45 46 20 4c 49 42 54 43 4c 50 41 54 48 0a 4c  DEF LIBTCLPATH.L
5a40: 49 42 54 43 4c 50 41 54 48 20 3d 20 24 28 54 43  IBTCLPATH = $(TC
5a50: 4c 44 49 52 29 5c 62 69 6e 0a 21 45 4e 44 49 46  LDIR)\bin.!ENDIF
5a60: 0a 0a 23 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e  ..# The location
5a70: 73 20 6f 66 20 74 68 65 20 7a 6c 69 62 20 68 65  s of the zlib he
5a80: 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61 72 79  ader and library
5a90: 20 66 69 6c 65 73 2e 20 20 54 68 65 73 65 20 76   files.  These v
5aa0: 61 72 69 61 62 6c 65 73 0a 23 20 28 5a 4c 49 42  ariables.# (ZLIB
5ab0: 49 4e 43 44 49 52 2c 20 5a 4c 49 42 4c 49 42 44  INCDIR, ZLIBLIBD
5ac0: 49 52 2c 20 61 6e 64 20 5a 4c 49 42 4c 49 42 29  IR, and ZLIBLIB)
5ad0: 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64 64   may be overridd
5ae0: 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69 72  en via the envir
5af0: 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 74  onment.# prior t
5b00: 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20  o running nmake 
5b10: 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 63  in order to matc
5b20: 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e 73  h the actual ins
5b30: 74 61 6c 6c 65 64 20 28 6f 72 20 73 6f 75 72 63  talled (or sourc
5b40: 65 0a 23 20 63 6f 64 65 29 20 6c 6f 63 61 74 69  e.# code) locati
5b50: 6f 6e 20 6f 6e 20 74 68 69 73 20 6d 61 63 68 69  on on this machi
5b60: 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 5a 4c  ne..#.!IFNDEF ZL
5b70: 49 42 44 49 52 0a 5a 4c 49 42 44 49 52 20 3d 20  IBDIR.ZLIBDIR = 
5b80: 24 28 54 4f 50 29 5c 63 6f 6d 70 61 74 5c 7a 6c  $(TOP)\compat\zl
5b90: 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44  ib.!ENDIF..!IFND
5ba0: 45 46 20 5a 4c 49 42 49 4e 43 44 49 52 0a 5a 4c  EF ZLIBINCDIR.ZL
5bb0: 49 42 49 4e 43 44 49 52 20 3d 20 24 28 5a 4c 49  IBINCDIR = $(ZLI
5bc0: 42 44 49 52 29 0a 21 45 4e 44 49 46 0a 0a 21 49  BDIR).!ENDIF..!I
5bd0: 46 4e 44 45 46 20 5a 4c 49 42 4c 49 42 44 49 52  FNDEF ZLIBLIBDIR
5be0: 0a 5a 4c 49 42 4c 49 42 44 49 52 20 3d 20 24 28  .ZLIBLIBDIR = $(
5bf0: 5a 4c 49 42 44 49 52 29 0a 21 45 4e 44 49 46 0a  ZLIBDIR).!ENDIF.
5c00: 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42 4c 49 42  .!IFNDEF ZLIBLIB
5c10: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S
5c20: 48 45 4c 4c 29 21 3d 30 0a 5a 4c 49 42 4c 49 42  HELL)!=0.ZLIBLIB
5c30: 20 3d 20 7a 64 6c 6c 2e 6c 69 62 0a 21 45 4c 53   = zdll.lib.!ELS
5c40: 45 0a 5a 4c 49 42 4c 49 42 20 3d 20 7a 6c 69 62  E.ZLIBLIB = zlib
5c50: 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44  .lib.!ENDIF.!END
5c60: 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63 61 74 69  IF..# The locati
5c70: 6f 6e 73 20 6f 66 20 74 68 65 20 49 43 55 20 68  ons of the ICU h
5c80: 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61 72  eader and librar
5c90: 79 20 66 69 6c 65 73 2e 20 20 54 68 65 73 65 20  y files.  These 
5ca0: 76 61 72 69 61 62 6c 65 73 0a 23 20 28 49 43 55  variables.# (ICU
5cb0: 49 4e 43 44 49 52 2c 20 49 43 55 4c 49 42 44 49  INCDIR, ICULIBDI
5cc0: 52 2c 20 61 6e 64 20 4c 49 42 49 43 55 29 20 6d  R, and LIBICU) m
5cd0: 61 79 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e  ay be overridden
5ce0: 20 76 69 61 20 74 68 65 20 65 6e 76 69 72 6f 6e   via the environ
5cf0: 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 74 6f 20  ment.# prior to 
5d00: 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 69 6e  running nmake in
5d10: 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 63 68 20   order to match 
5d20: 74 68 65 20 61 63 74 75 61 6c 20 69 6e 73 74 61  the actual insta
5d30: 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20 6f 6e  lled location on
5d40: 0a 23 20 74 68 69 73 20 6d 61 63 68 69 6e 65 2e  .# this machine.
5d50: 0a 23 0a 21 49 46 4e 44 45 46 20 49 43 55 44 49  .#.!IFNDEF ICUDI
5d60: 52 0a 49 43 55 44 49 52 20 3d 20 24 28 54 4f 50  R.ICUDIR = $(TOP
5d70: 29 5c 63 6f 6d 70 61 74 5c 69 63 75 0a 21 45 4e  )\compat\icu.!EN
5d80: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 49 43 55  DIF..!IFNDEF ICU
5d90: 49 4e 43 44 49 52 0a 49 43 55 49 4e 43 44 49 52  INCDIR.ICUINCDIR
5da0: 20 3d 20 24 28 49 43 55 44 49 52 29 5c 69 6e 63   = $(ICUDIR)\inc
5db0: 6c 75 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46  lude.!ENDIF..!IF
5dc0: 4e 44 45 46 20 49 43 55 4c 49 42 44 49 52 0a 49  NDEF ICULIBDIR.I
5dd0: 43 55 4c 49 42 44 49 52 20 3d 20 24 28 49 43 55  CULIBDIR = $(ICU
5de0: 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a  DIR)\lib.!ENDIF.
5df0: 0a 21 49 46 4e 44 45 46 20 4c 49 42 49 43 55 0a  .!IFNDEF LIBICU.
5e00: 4c 49 42 49 43 55 20 3d 20 69 63 75 75 63 2e 6c  LIBICU = icuuc.l
5e10: 69 62 20 69 63 75 69 6e 2e 6c 69 62 0a 21 45 4e  ib icuin.lib.!EN
5e20: 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 20 74  DIF..# This is t
5e30: 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 75 73  he command to us
5e40: 65 20 66 6f 72 20 74 63 6c 73 68 20 2d 20 6e 6f  e for tclsh - no
5e50: 72 6d 61 6c 6c 79 20 6a 75 73 74 20 22 74 63 6c  rmally just "tcl
5e60: 73 68 22 2c 20 62 75 74 20 77 65 20 6d 61 79 0a  sh", but we may.
5e70: 23 20 6b 6e 6f 77 20 74 68 65 20 73 70 65 63 69  # know the speci
5e80: 66 69 63 20 76 65 72 73 69 6f 6e 20 77 65 20 77  fic version we w
5e90: 61 6e 74 20 74 6f 20 75 73 65 2e 20 20 54 68 69  ant to use.  Thi
5ea0: 73 20 76 61 72 69 61 62 6c 65 20 28 54 43 4c 53  s variable (TCLS
5eb0: 48 5f 43 4d 44 29 20 6d 61 79 20 62 65 0a 23 20  H_CMD) may be.# 
5ec0: 6f 76 65 72 72 69 64 64 65 6e 20 76 69 61 20 74  overridden via t
5ed0: 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 70  he environment p
5ee0: 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20  rior to running 
5ef0: 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65 72 20 74  nmake in order t
5f00: 6f 20 73 65 6c 65 63 74 20 61 0a 23 20 73 70 65  o select a.# spe
5f10: 63 69 66 69 63 20 54 63 6c 20 73 68 65 6c 6c 20  cific Tcl shell 
5f20: 74 6f 20 75 73 65 2e 0a 23 0a 21 49 46 4e 44 45  to use..#.!IFNDE
5f30: 46 20 54 43 4c 53 48 5f 43 4d 44 0a 21 49 46 20  F TCLSH_CMD.!IF 
5f40: 24 28 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f 50  $(USE_TCLSH_IN_P
5f50: 41 54 48 29 21 3d 30 20 7c 7c 20 21 45 58 49 53  ATH)!=0 || !EXIS
5f60: 54 28 22 24 28 54 43 4c 44 49 52 29 5c 62 69 6e  T("$(TCLDIR)\bin
5f70: 5c 74 63 6c 73 68 2e 65 78 65 22 29 0a 54 43 4c  \tclsh.exe").TCL
5f80: 53 48 5f 43 4d 44 20 3d 20 74 63 6c 73 68 0a 21  SH_CMD = tclsh.!
5f90: 45 4c 53 45 0a 54 43 4c 53 48 5f 43 4d 44 20 3d  ELSE.TCLSH_CMD =
5fa0: 20 24 28 54 43 4c 44 49 52 29 5c 62 69 6e 5c 74   $(TCLDIR)\bin\t
5fb0: 63 6c 73 68 2e 65 78 65 0a 21 45 4e 44 49 46 0a  clsh.exe.!ENDIF.
5fc0: 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b  !ENDIF.# <</mark
5fd0: 3e 3e 0a 0a 23 20 43 6f 6d 70 69 6c 65 72 20 6f  >>..# Compiler o
5fe0: 70 74 69 6f 6e 73 20 6e 65 65 64 65 64 20 66 6f  ptions needed fo
5ff0: 72 20 70 72 6f 67 72 61 6d 73 20 74 68 61 74 20  r programs that 
6000: 75 73 65 20 74 68 65 20 72 65 61 64 6c 69 6e 65  use the readline
6010: 28 29 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  () library..#.!I
6020: 46 4e 44 45 46 20 52 45 41 44 4c 49 4e 45 5f 46  FNDEF READLINE_F
6030: 4c 41 47 53 0a 52 45 41 44 4c 49 4e 45 5f 46 4c  LAGS.READLINE_FL
6040: 41 47 53 20 3d 20 2d 44 48 41 56 45 5f 52 45 41  AGS = -DHAVE_REA
6050: 44 4c 49 4e 45 3d 30 0a 21 45 4e 44 49 46 0a 0a  DLINE=0.!ENDIF..
6060: 23 20 54 68 65 20 6c 69 62 72 61 72 79 20 74 68  # The library th
6070: 61 74 20 70 72 6f 67 72 61 6d 73 20 75 73 69 6e  at programs usin
6080: 67 20 72 65 61 64 6c 69 6e 65 28 29 20 6d 75 73  g readline() mus
6090: 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 2e 0a  t link against..
60a0: 23 0a 21 49 46 4e 44 45 46 20 4c 49 42 52 45 41  #.!IFNDEF LIBREA
60b0: 44 4c 49 4e 45 0a 4c 49 42 52 45 41 44 4c 49 4e  DLINE.LIBREADLIN
60c0: 45 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68  E =.!ENDIF..# Sh
60d0: 6f 75 6c 64 20 74 68 65 20 64 61 74 61 62 61 73  ould the databas
60e0: 65 20 65 6e 67 69 6e 65 20 62 65 20 63 6f 6d 70  e engine be comp
60f0: 69 6c 65 64 20 74 68 72 65 61 64 73 61 66 65 0a  iled threadsafe.
6100: 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  #.TCC = $(TCC) -
6110: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
6120: 46 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  FE=1.RCC = $(RCC
6130: 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
6140: 44 53 41 46 45 3d 31 0a 0a 23 20 44 6f 20 74 68  DSAFE=1..# Do th
6150: 72 65 61 64 73 20 6f 76 65 72 72 69 64 65 20 65  reads override e
6160: 61 63 68 20 6f 74 68 65 72 73 20 6c 6f 63 6b 73  ach others locks
6170: 20 62 79 20 64 65 66 61 75 6c 74 20 28 31 29 2c   by default (1),
6180: 20 6f 72 20 64 6f 20 77 65 20 74 65 73 74 20 28   or do we test (
6190: 2d 31 29 0a 23 0a 54 43 43 20 3d 20 24 28 54 43  -1).#.TCC = $(TC
61a0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45  C) -DSQLITE_THRE
61b0: 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c 4f 43 4b  AD_OVERRIDE_LOCK
61c0: 3d 2d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29  =-1.RCC = $(RCC)
61d0: 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
61e0: 5f 4f 56 45 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d  _OVERRIDE_LOCK=-
61f0: 31 0a 0a 23 20 41 6e 79 20 74 61 72 67 65 74 20  1..# Any target 
6200: 6c 69 62 72 61 72 69 65 73 20 77 68 69 63 68 20  libraries which 
6210: 6c 69 62 73 71 6c 69 74 65 20 6d 75 73 74 20 62  libsqlite must b
6220: 65 20 6c 69 6e 6b 65 64 20 61 67 61 69 6e 73 74  e linked against
6230: 0a 23 0a 21 49 46 4e 44 45 46 20 54 4c 49 42 53  .#.!IFNDEF TLIBS
6240: 0a 54 4c 49 42 53 20 3d 0a 21 45 4e 44 49 46 0a  .TLIBS =.!ENDIF.
6250: 0a 23 20 46 6c 61 67 73 20 63 6f 6e 74 72 6f 6c  .# Flags control
6260: 6c 69 6e 67 20 75 73 65 20 6f 66 20 74 68 65 20  ling use of the 
6270: 69 6e 20 6d 65 6d 6f 72 79 20 62 74 72 65 65 20  in memory btree 
6280: 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 0a 23  implementation.#
6290: 0a 23 20 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53  .# SQLITE_TEMP_S
62a0: 54 4f 52 45 20 69 73 20 30 20 74 6f 20 66 6f 72  TORE is 0 to for
62b0: 63 65 20 74 65 6d 70 6f 72 61 72 79 20 74 61 62  ce temporary tab
62c0: 6c 65 73 20 74 6f 20 62 65 20 69 6e 20 61 20 66  les to be in a f
62d0: 69 6c 65 2c 20 31 20 74 6f 0a 23 20 64 65 66 61  ile, 1 to.# defa
62e0: 75 6c 74 20 74 6f 20 66 69 6c 65 2c 20 32 20 74  ult to file, 2 t
62f0: 6f 20 64 65 66 61 75 6c 74 20 74 6f 20 6d 65 6d  o default to mem
6300: 6f 72 79 2c 20 61 6e 64 20 33 20 74 6f 20 66 6f  ory, and 3 to fo
6310: 72 63 65 20 74 65 6d 70 6f 72 61 72 79 0a 23 20  rce temporary.# 
6320: 74 61 62 6c 65 73 20 74 6f 20 61 6c 77 61 79 73  tables to always
6330: 20 62 65 20 69 6e 20 6d 65 6d 6f 72 79 2e 0a 23   be in memory..#
6340: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D
6350: 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52  SQLITE_TEMP_STOR
6360: 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29  E=1.RCC = $(RCC)
6370: 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53   -DSQLITE_TEMP_S
6380: 54 4f 52 45 3d 31 0a 0a 23 20 45 6e 61 62 6c 65  TORE=1..# Enable
6390: 2f 64 69 73 61 62 6c 65 20 6c 6f 61 64 61 62 6c  /disable loadabl
63a0: 65 20 65 78 74 65 6e 73 69 6f 6e 73 2c 20 61 6e  e extensions, an
63b0: 64 20 6f 74 68 65 72 20 6f 70 74 69 6f 6e 61 6c  d other optional
63c0: 20 66 65 61 74 75 72 65 73 0a 23 20 62 61 73 65   features.# base
63d0: 64 20 6f 6e 20 63 6f 6e 66 69 67 75 72 61 74 69  d on configurati
63e0: 6f 6e 2e 20 28 2d 44 53 51 4c 49 54 45 5f 4f 4d  on. (-DSQLITE_OM
63f0: 49 54 2a 2c 20 2d 44 53 51 4c 49 54 45 5f 45 4e  IT*, -DSQLITE_EN
6400: 41 42 4c 45 2a 29 2e 0a 23 20 54 68 65 20 73 61  ABLE*)..# The sa
6410: 6d 65 20 73 65 74 20 6f 66 20 4f 4d 49 54 20 61  me set of OMIT a
6420: 6e 64 20 45 4e 41 42 4c 45 20 66 6c 61 67 73 20  nd ENABLE flags 
6430: 73 68 6f 75 6c 64 20 62 65 20 70 61 73 73 65 64  should be passed
6440: 20 74 6f 20 74 68 65 0a 23 20 4c 45 4d 4f 4e 20   to the.# LEMON 
6450: 70 61 72 73 65 72 20 67 65 6e 65 72 61 74 6f 72  parser generator
6460: 20 61 6e 64 20 74 68 65 20 6d 6b 6b 65 79 77 6f   and the mkkeywo
6470: 72 64 68 61 73 68 20 74 6f 6f 6c 20 61 73 20 77  rdhash tool as w
6480: 65 6c 6c 2e 0a 0a 23 20 54 68 65 73 65 20 61 72  ell...# These ar
6490: 65 20 74 68 65 20 72 65 71 75 69 72 65 64 20 53  e the required S
64a0: 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f  QLite compilatio
64b0: 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 77  n options used w
64c0: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f  hen compiling fo
64d0: 72 0a 23 20 74 68 65 20 57 69 6e 64 6f 77 73 20  r.# the Windows 
64e0: 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 52 45 51 5f  platform..#.REQ_
64f0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FEATURE_FLAGS = 
6500: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c  $(REQ_FEATURE_FL
6510: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 4d 41  AGS) -DSQLITE_MA
6520: 58 5f 54 52 49 47 47 45 52 5f 44 45 50 54 48 3d  X_TRIGGER_DEPTH=
6530: 31 30 30 0a 0a 23 20 49 66 20 77 65 20 61 72 65  100..# If we are
6540: 20 6c 69 6e 6b 69 6e 67 20 74 6f 20 74 68 65 20   linking to the 
6550: 52 50 43 52 54 34 20 6c 69 62 72 61 72 79 2c 20  RPCRT4 library, 
6560: 65 6e 61 62 6c 65 20 66 65 61 74 75 72 65 73 20  enable features 
6570: 74 68 61 74 20 6e 65 65 64 20 69 74 2e 0a 23 0a  that need it..#.
6580: 21 49 46 20 24 28 55 53 45 5f 52 50 43 52 54 34  !IF $(USE_RPCRT4
6590: 5f 4c 49 42 29 21 3d 30 0a 52 45 51 5f 46 45 41  _LIB)!=0.REQ_FEA
65a0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 52  TURE_FLAGS = $(R
65b0: 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  EQ_FEATURE_FLAGS
65c0: 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32  ) -DSQLITE_WIN32
65d0: 5f 55 53 45 5f 55 55 49 44 3d 31 0a 21 45 4e 44  _USE_UUID=1.!END
65e0: 49 46 0a 0a 23 20 41 64 64 20 74 68 65 20 72 65  IF..# Add the re
65f0: 71 75 69 72 65 64 20 61 6e 64 20 6f 70 74 69 6f  quired and optio
6600: 6e 61 6c 20 53 51 4c 69 74 65 20 63 6f 6d 70 69  nal SQLite compi
6610: 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 69  lation options i
6620: 6e 74 6f 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a  nto the command.
6630: 23 20 6c 69 6e 65 73 20 75 73 65 64 20 74 6f 20  # lines used to 
6640: 69 6e 76 6f 6b 65 20 74 68 65 20 4d 53 56 43 20  invoke the MSVC 
6650: 63 6f 64 65 20 61 6e 64 20 72 65 73 6f 75 72 63  code and resourc
6660: 65 20 63 6f 6d 70 69 6c 65 72 73 2e 0a 23 0a 54  e compilers..#.T
6670: 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 52 45  CC = $(TCC) $(RE
6680: 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  Q_FEATURE_FLAGS)
6690: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46   $(OPT_FEATURE_F
66a0: 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54  LAGS) $(EXT_FEAT
66b0: 55 52 45 5f 46 4c 41 47 53 29 0a 52 43 43 20 3d  URE_FLAGS).RCC =
66c0: 20 24 28 52 43 43 29 20 24 28 52 45 51 5f 46 45   $(RCC) $(REQ_FE
66d0: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f  ATURE_FLAGS) $(O
66e0: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
66f0: 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f  ) $(EXT_FEATURE_
6700: 46 4c 41 47 53 29 0a 0a 23 20 41 64 64 20 69 6e  FLAGS)..# Add in
6710: 20 61 6e 79 20 6f 70 74 69 6f 6e 61 6c 20 70 61   any optional pa
6720: 72 61 6d 65 74 65 72 73 20 73 70 65 63 69 66 69  rameters specifi
6730: 65 64 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e  ed on the comman
6740: 65 20 6c 69 6e 65 2c 20 65 2e 67 2e 0a 23 20 6e  e line, e.g..# n
6750: 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c 65  make /f Makefile
6760: 2e 6d 73 63 20 61 6c 6c 20 22 4f 50 54 53 3d 2d  .msc all "OPTS=-
6770: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46  DSQLITE_ENABLE_F
6780: 4f 4f 3d 31 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  OO=1 -DSQLITE_OM
6790: 49 54 5f 46 4f 4f 3d 31 22 0a 23 0a 54 43 43 20  IT_FOO=1".#.TCC 
67a0: 3d 20 24 28 54 43 43 29 20 24 28 4f 50 54 53 29  = $(TCC) $(OPTS)
67b0: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 24 28  .RCC = $(RCC) $(
67c0: 4f 50 54 53 29 0a 0a 23 20 49 66 20 63 6f 6d 70  OPTS)..# If comp
67d0: 69 6c 69 6e 67 20 66 6f 72 20 64 65 62 75 67 67  iling for debugg
67e0: 69 6e 67 2c 20 61 64 64 20 73 6f 6d 65 20 64 65  ing, add some de
67f0: 66 69 6e 65 73 2e 0a 23 0a 21 49 46 20 24 28 44  fines..#.!IF $(D
6800: 45 42 55 47 29 3e 31 0a 54 43 43 20 3d 20 24 28  EBUG)>1.TCC = $(
6810: 54 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 42 43  TCC) -D_DEBUG.BC
6820: 43 20 3d 20 24 28 42 43 43 29 20 2d 44 5f 44 45  C = $(BCC) -D_DE
6830: 42 55 47 0a 52 43 43 20 3d 20 24 28 52 43 43 29  BUG.RCC = $(RCC)
6840: 20 2d 44 5f 44 45 42 55 47 0a 21 45 4e 44 49 46   -D_DEBUG.!ENDIF
6850: 0a 0a 23 20 49 66 20 6f 70 74 69 6d 69 7a 61 74  ..# If optimizat
6860: 69 6f 6e 73 20 61 72 65 20 65 6e 61 62 6c 65 64  ions are enabled
6870: 20 6f 72 20 64 69 73 61 62 6c 65 64 20 28 65 69   or disabled (ei
6880: 74 68 65 72 20 69 6d 70 6c 69 63 69 74 6c 79 20  ther implicitly 
6890: 6f 72 0a 23 20 65 78 70 6c 69 63 69 74 6c 79 29  or.# explicitly)
68a0: 2c 20 61 64 64 20 74 68 65 20 6e 65 63 65 73 73  , add the necess
68b0: 61 72 79 20 66 6c 61 67 73 2e 0a 23 0a 21 49 46  ary flags..#.!IF
68c0: 20 24 28 44 45 42 55 47 29 3e 31 20 7c 7c 20 24   $(DEBUG)>1 || $
68d0: 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29 3d  (OPTIMIZATIONS)=
68e0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
68f0: 2d 4f 64 0a 42 43 43 20 3d 20 24 28 42 43 43 29  -Od.BCC = $(BCC)
6900: 20 2d 4f 64 0a 21 49 46 20 24 28 55 53 45 5f 52   -Od.!IF $(USE_R
6910: 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 29 21 3d  UNTIME_CHECKS)!=
6920: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) -
6930: 52 54 43 31 0a 42 43 43 20 3d 20 24 28 42 43 43  RTC1.BCC = $(BCC
6940: 29 20 2d 52 54 43 31 0a 21 45 4e 44 49 46 0a 21  ) -RTC1.!ENDIF.!
6950: 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a  ELSEIF $(OPTIMIZ
6960: 41 54 49 4f 4e 53 29 3e 3d 33 0a 54 43 43 20 3d  ATIONS)>=3.TCC =
6970: 20 24 28 54 43 43 29 20 2d 4f 78 0a 42 43 43 20   $(TCC) -Ox.BCC 
6980: 3d 20 24 28 42 43 43 29 20 2d 4f 78 0a 21 45 4c  = $(BCC) -Ox.!EL
6990: 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41 54  SEIF $(OPTIMIZAT
69a0: 49 4f 4e 53 29 3d 3d 32 0a 54 43 43 20 3d 20 24  IONS)==2.TCC = $
69b0: 28 54 43 43 29 20 2d 4f 32 0a 42 43 43 20 3d 20  (TCC) -O2.BCC = 
69c0: 24 28 42 43 43 29 20 2d 4f 32 0a 21 45 4c 53 45  $(BCC) -O2.!ELSE
69d0: 49 46 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f  IF $(OPTIMIZATIO
69e0: 4e 53 29 3d 3d 31 0a 54 43 43 20 3d 20 24 28 54  NS)==1.TCC = $(T
69f0: 43 43 29 20 2d 4f 31 0a 42 43 43 20 3d 20 24 28  CC) -O1.BCC = $(
6a00: 42 43 43 29 20 2d 4f 31 0a 21 45 4e 44 49 46 0a  BCC) -O1.!ENDIF.
6a10: 0a 23 20 49 66 20 73 79 6d 62 6f 6c 73 20 61 72  .# If symbols ar
6a20: 65 20 65 6e 61 62 6c 65 64 20 28 6f 72 20 63 6f  e enabled (or co
6a30: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65 62 75  mpiling for debu
6a40: 67 67 69 6e 67 29 2c 20 65 6e 61 62 6c 65 20 50  gging), enable P
6a50: 44 42 73 2e 0a 23 0a 21 49 46 20 24 28 44 45 42  DBs..#.!IF $(DEB
6a60: 55 47 29 3e 31 20 7c 7c 20 24 28 53 59 4d 42 4f  UG)>1 || $(SYMBO
6a70: 4c 53 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54  LS)!=0.TCC = $(T
6a80: 43 43 29 20 2d 5a 69 0a 42 43 43 20 3d 20 24 28  CC) -Zi.BCC = $(
6a90: 42 43 43 29 20 2d 5a 69 0a 21 45 4e 44 49 46 0a  BCC) -Zi.!ENDIF.
6aa0: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 49 66  .# <<mark>>.# If
6ab0: 20 7a 6c 69 62 20 73 75 70 70 6f 72 74 20 69 73   zlib support is
6ac0: 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68   enabled, add th
6ad0: 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f  e compiler optio
6ae0: 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46  ns for it..#.!IF
6af0: 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a   $(USE_ZLIB)!=0.
6b00: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53  TCC = $(TCC) -DS
6b10: 51 4c 49 54 45 5f 48 41 56 45 5f 5a 4c 49 42 3d  QLITE_HAVE_ZLIB=
6b20: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) -
6b30: 44 53 51 4c 49 54 45 5f 48 41 56 45 5f 5a 4c 49  DSQLITE_HAVE_ZLI
6b40: 42 3d 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29  B=1.TCC = $(TCC)
6b50: 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49 52 29   -I$(ZLIBINCDIR)
6b60: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49  .RCC = $(RCC) -I
6b70: 24 28 5a 4c 49 42 49 4e 43 44 49 52 29 0a 21 45  $(ZLIBINCDIR).!E
6b80: 4e 44 49 46 0a 0a 23 20 49 66 20 49 43 55 20 73  NDIF..# If ICU s
6b90: 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65  upport is enable
6ba0: 64 2c 20 61 64 64 20 74 68 65 20 63 6f 6d 70 69  d, add the compi
6bb0: 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20  ler options for 
6bc0: 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  it..#.!IF $(USE_
6bd0: 49 43 55 29 21 3d 30 0a 54 43 43 20 3d 20 24 28  ICU)!=0.TCC = $(
6be0: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  TCC) -DSQLITE_EN
6bf0: 41 42 4c 45 5f 49 43 55 3d 31 0a 52 43 43 20 3d  ABLE_ICU=1.RCC =
6c00: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45   $(RCC) -DSQLITE
6c10: 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 54 43  _ENABLE_ICU=1.TC
6c20: 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54  C = $(TCC) -I$(T
6c30: 4f 50 29 5c 65 78 74 5c 69 63 75 0a 52 43 43 20  OP)\ext\icu.RCC 
6c40: 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50  = $(RCC) -I$(TOP
6c50: 29 5c 65 78 74 5c 69 63 75 0a 54 43 43 20 3d 20  )\ext\icu.TCC = 
6c60: 24 28 54 43 43 29 20 2d 49 24 28 49 43 55 49 4e  $(TCC) -I$(ICUIN
6c70: 43 44 49 52 29 0a 52 43 43 20 3d 20 24 28 52 43  CDIR).RCC = $(RC
6c80: 43 29 20 2d 49 24 28 49 43 55 49 4e 43 44 49 52  C) -I$(ICUINCDIR
6c90: 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61  ).!ENDIF.# <</ma
6ca0: 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d 61 6e 64 20  rk>>..# Command 
6cb0: 6c 69 6e 65 20 70 72 65 66 69 78 65 73 20 66 6f  line prefixes fo
6cc0: 72 20 63 6f 6d 70 69 6c 69 6e 67 20 63 6f 64 65  r compiling code
6cd0: 2c 20 63 6f 6d 70 69 6c 69 6e 67 20 72 65 73 6f  , compiling reso
6ce0: 75 72 63 65 73 2c 0a 23 20 6c 69 6e 6b 69 6e 67  urces,.# linking
6cf0: 2c 20 65 74 63 2e 0a 23 0a 4c 54 43 4f 4d 50 49  , etc..#.LTCOMPI
6d00: 4c 45 20 3d 20 24 28 54 43 43 29 20 2d 46 6f 24  LE = $(TCC) -Fo$
6d10: 40 0a 4c 54 52 43 4f 4d 50 49 4c 45 20 3d 20 24  @.LTRCOMPILE = $
6d20: 28 52 43 43 29 20 2d 72 0a 4c 54 4c 49 42 20 3d  (RCC) -r.LTLIB =
6d30: 20 6c 69 62 2e 65 78 65 0a 4c 54 4c 49 4e 4b 20   lib.exe.LTLINK 
6d40: 3d 20 24 28 54 43 43 29 20 2d 46 65 24 40 0a 0a  = $(TCC) -Fe$@..
6d50: 23 20 49 66 20 72 65 71 75 65 73 74 65 64 2c 20  # If requested, 
6d60: 6c 69 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52  link to the RPCR
6d70: 54 34 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  T4 library..#.!I
6d80: 46 20 24 28 55 53 45 5f 52 50 43 52 54 34 5f 4c  F $(USE_RPCRT4_L
6d90: 49 42 29 21 3d 30 0a 4c 54 4c 49 42 53 20 3d 20  IB)!=0.LTLIBS = 
6da0: 24 28 4c 54 4c 49 42 53 29 20 72 70 63 72 74 34  $(LTLIBS) rpcrt4
6db0: 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 49  .lib.!ENDIF..# I
6dc0: 66 20 61 20 70 6c 61 74 66 6f 72 6d 20 77 61 73  f a platform was
6dd0: 20 73 65 74 2c 20 66 6f 72 63 65 20 74 68 65 20   set, force the 
6de0: 6c 69 6e 6b 65 72 20 74 6f 20 74 61 72 67 65 74  linker to target
6df0: 20 74 68 61 74 2e 0a 23 20 4e 6f 74 65 20 74 68   that..# Note th
6e00: 61 74 20 74 68 65 20 76 63 76 61 72 73 2a 2e 62  at the vcvars*.b
6e10: 61 74 20 66 61 6d 69 6c 79 20 6f 66 20 62 61 74  at family of bat
6e20: 63 68 20 66 69 6c 65 73 20 74 79 70 69 63 61 6c  ch files typical
6e30: 6c 79 0a 23 20 73 65 74 20 74 68 69 73 20 66 6f  ly.# set this fo
6e40: 72 20 79 6f 75 2e 20 20 4f 74 68 65 72 77 69 73  r you.  Otherwis
6e50: 65 2c 20 74 68 65 20 6c 69 6e 6b 65 72 20 77 69  e, the linker wi
6e60: 6c 6c 20 61 74 74 65 6d 70 74 0a 23 20 74 6f 20  ll attempt.# to 
6e70: 64 65 64 75 63 65 20 74 68 65 20 62 69 6e 61 72  deduce the binar
6e80: 79 20 74 79 70 65 20 62 61 73 65 64 20 6f 6e 20  y type based on 
6e90: 74 68 65 20 6f 62 6a 65 63 74 20 66 69 6c 65 73  the object files
6ea0: 2e 0a 21 49 46 44 45 46 20 50 4c 41 54 46 4f 52  ..!IFDEF PLATFOR
6eb0: 4d 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f  M.LTLINKOPTS = /
6ec0: 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a  NOLOGO /MACHINE:
6ed0: 24 28 50 4c 41 54 46 4f 52 4d 29 0a 4c 54 4c 49  $(PLATFORM).LTLI
6ee0: 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20  BOPTS = /NOLOGO 
6ef0: 2f 4d 41 43 48 49 4e 45 3a 24 28 50 4c 41 54 46  /MACHINE:$(PLATF
6f00: 4f 52 4d 29 0a 21 45 4c 53 45 0a 4c 54 4c 49 4e  ORM).!ELSE.LTLIN
6f10: 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 0a  KOPTS = /NOLOGO.
6f20: 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c  LTLIBOPTS = /NOL
6f30: 4f 47 4f 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68  OGO.!ENDIF..# Wh
6f40: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72  en compiling for
6f50: 20 75 73 65 20 69 6e 20 74 68 65 20 57 69 6e 52   use in the WinR
6f60: 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 74  T environment, t
6f70: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 23 20 6c  he following.# l
6f80: 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 20 6d 75 73  inker option mus
6f90: 74 20 62 65 20 75 73 65 64 20 74 6f 20 6d 61 72  t be used to mar
6fa0: 6b 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65  k the executable
6fb0: 20 61 73 20 72 75 6e 6e 61 62 6c 65 0a 23 20 6f   as runnable.# o
6fc0: 6e 6c 79 20 69 6e 20 74 68 65 20 63 6f 6e 74 65  nly in the conte
6fd0: 78 74 20 6f 66 20 61 6e 20 61 70 70 6c 69 63 61  xt of an applica
6fe0: 74 69 6f 6e 20 63 6f 6e 74 61 69 6e 65 72 2e 0a  tion container..
6ff0: 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52  #.!IF $(FOR_WINR
7000: 54 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53  T)!=0.LTLINKOPTS
7010: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS)
7020: 20 2f 41 50 50 43 4f 4e 54 41 49 4e 45 52 0a 21   /APPCONTAINER.!
7030: 49 46 20 22 24 28 56 49 53 55 41 4c 53 54 55 44  IF "$(VISUALSTUD
7040: 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d 22 31 32  IOVERSION)"=="12
7050: 2e 30 22 20 7c 7c 20 22 24 28 56 49 53 55 41 4c  .0" || "$(VISUAL
7060: 53 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d  STUDIOVERSION)"=
7070: 3d 22 31 34 2e 30 22 0a 21 49 46 4e 44 45 46 20  ="14.0".!IFNDEF 
7080: 53 54 4f 52 45 4c 49 42 50 41 54 48 0a 21 49 46  STORELIBPATH.!IF
7090: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d   "$(PLATFORM)"==
70a0: 22 78 38 36 22 0a 53 54 4f 52 45 4c 49 42 50 41  "x86".STORELIBPA
70b0: 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54  TH = $(CRTLIBPAT
70c0: 48 29 5c 73 74 6f 72 65 0a 21 45 4c 53 45 49 46  H)\store.!ELSEIF
70d0: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d   "$(PLATFORM)"==
70e0: 22 78 36 34 22 0a 53 54 4f 52 45 4c 49 42 50 41  "x64".STORELIBPA
70f0: 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54  TH = $(CRTLIBPAT
7100: 48 29 5c 73 74 6f 72 65 5c 61 6d 64 36 34 0a 21  H)\store\amd64.!
7110: 45 4c 53 45 49 46 20 22 24 28 50 4c 41 54 46 4f  ELSEIF "$(PLATFO
7120: 52 4d 29 22 3d 3d 22 41 52 4d 22 0a 53 54 4f 52  RM)"=="ARM".STOR
7130: 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54  ELIBPATH = $(CRT
7140: 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65 5c 61  LIBPATH)\store\a
7150: 72 6d 0a 21 45 4c 53 45 0a 53 54 4f 52 45 4c 49  rm.!ELSE.STORELI
7160: 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42  BPATH = $(CRTLIB
7170: 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 4e 44  PATH)\store.!END
7180: 49 46 0a 21 45 4e 44 49 46 0a 53 54 4f 52 45 4c  IF.!ENDIF.STOREL
7190: 49 42 50 41 54 48 20 3d 20 24 28 53 54 4f 52 45  IBPATH = $(STORE
71a0: 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 4c 54  LIBPATH:\\=\).LT
71b0: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL
71c0: 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 42 50 41  INKOPTS) "/LIBPA
71d0: 54 48 3a 24 28 53 54 4f 52 45 4c 49 42 50 41 54  TH:$(STORELIBPAT
71e0: 48 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  H)".!ENDIF.!ENDI
71f0: 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c  F..# When compil
7200: 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f 77 73 20  ing for Windows 
7210: 50 68 6f 6e 65 20 38 2e 31 2c 20 61 6e 20 65 78  Phone 8.1, an ex
7220: 74 72 61 20 6c 69 62 72 61 72 79 20 70 61 74 68  tra library path
7230: 20 69 73 0a 23 20 72 65 71 75 69 72 65 64 2e 0a   is.# required..
7240: 23 0a 21 49 46 20 24 28 55 53 45 5f 57 50 38 31  #.!IF $(USE_WP81
7250: 5f 4f 50 54 53 29 21 3d 30 0a 21 49 46 4e 44 45  _OPTS)!=0.!IFNDE
7260: 46 20 57 50 38 31 4c 49 42 50 41 54 48 0a 21 49  F WP81LIBPATH.!I
7270: 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d  F "$(PLATFORM)"=
7280: 3d 22 78 38 36 22 0a 57 50 38 31 4c 49 42 50 41  ="x86".WP81LIBPA
7290: 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49  TH = $(PROGRAMFI
72a0: 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73  LES_X86)\Windows
72b0: 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c   Phone Kits\8.1\
72c0: 6c 69 62 5c 78 38 36 0a 21 45 4c 53 45 49 46 20  lib\x86.!ELSEIF 
72d0: 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22  "$(PLATFORM)"=="
72e0: 41 52 4d 22 0a 57 50 38 31 4c 49 42 50 41 54 48  ARM".WP81LIBPATH
72f0: 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45   = $(PROGRAMFILE
7300: 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73 20 50  S_X86)\Windows P
7310: 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c 69  hone Kits\8.1\li
7320: 62 5c 41 52 4d 0a 21 45 4c 53 45 0a 57 50 38 31  b\ARM.!ELSE.WP81
7330: 4c 49 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47  LIBPATH = $(PROG
7340: 52 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69  RAMFILES_X86)\Wi
7350: 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73  ndows Phone Kits
7360: 5c 38 2e 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4e  \8.1\lib\x86.!EN
7370: 44 49 46 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  DIF.!ENDIF.!ENDI
7380: 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c  F..# When compil
7390: 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f 77 73 20  ing for Windows 
73a0: 50 68 6f 6e 65 20 38 2e 31 2c 20 73 6f 6d 65 20  Phone 8.1, some 
73b0: 65 78 74 72 61 20 6c 69 6e 6b 65 72 20 6f 70 74  extra linker opt
73c0: 69 6f 6e 73 0a 23 20 61 72 65 20 61 6c 73 6f 20  ions.# are also 
73d0: 72 65 71 75 69 72 65 64 2e 0a 23 0a 21 49 46 20  required..#.!IF 
73e0: 24 28 55 53 45 5f 57 50 38 31 5f 4f 50 54 53 29  $(USE_WP81_OPTS)
73f0: 21 3d 30 0a 21 49 46 44 45 46 20 57 50 38 31 4c  !=0.!IFDEF WP81L
7400: 49 42 50 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54  IBPATH.LTLINKOPT
7410: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS
7420: 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 57 50  ) "/LIBPATH:$(WP
7430: 38 31 4c 49 42 50 41 54 48 29 22 0a 21 45 4e 44  81LIBPATH)".!END
7440: 49 46 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  IF.LTLINKOPTS = 
7450: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 44  $(LTLINKOPTS) /D
7460: 59 4e 41 4d 49 43 42 41 53 45 0a 4c 54 4c 49 4e  YNAMICBASE.LTLIN
7470: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
7480: 4f 50 54 53 29 20 57 69 6e 64 6f 77 73 50 68 6f  OPTS) WindowsPho
7490: 6e 65 43 6f 72 65 2e 6c 69 62 20 52 75 6e 74 69  neCore.lib Runti
74a0: 6d 65 4f 62 6a 65 63 74 2e 6c 69 62 20 50 68 6f  meObject.lib Pho
74b0: 6e 65 41 70 70 4d 6f 64 65 6c 48 6f 73 74 2e 6c  neAppModelHost.l
74c0: 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  ib.LTLINKOPTS = 
74d0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e  $(LTLINKOPTS) /N
74e0: 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65 72 6e  ODEFAULTLIB:kern
74f0: 65 6c 33 32 2e 6c 69 62 20 2f 4e 4f 44 45 46 41  el32.lib /NODEFA
7500: 55 4c 54 4c 49 42 3a 6f 6c 65 33 32 2e 6c 69 62  ULTLIB:ole32.lib
7510: 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20  .!ENDIF..# When 
7520: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 55 57  compiling for UW
7530: 50 20 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73  P or the Windows
7540: 20 31 30 20 70 6c 61 74 66 6f 72 6d 2c 20 73 6f   10 platform, so
7550: 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b 65 72 0a  me extra linker.
7560: 23 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 61 6c  # options are al
7570: 73 6f 20 72 65 71 75 69 72 65 64 2e 0a 23 0a 21  so required..#.!
7580: 49 46 20 24 28 46 4f 52 5f 55 57 50 29 21 3d 30  IF $(FOR_UWP)!=0
7590: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10)
75a0: 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  !=0.LTLINKOPTS =
75b0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f   $(LTLINKOPTS) /
75c0: 44 59 4e 41 4d 49 43 42 41 53 45 20 2f 4e 4f 44  DYNAMICBASE /NOD
75d0: 45 46 41 55 4c 54 4c 49 42 3a 6b 65 72 6e 65 6c  EFAULTLIB:kernel
75e0: 33 32 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54  32.lib.LTLINKOPT
75f0: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS
7600: 29 20 6d 69 6e 63 6f 72 65 2e 6c 69 62 0a 21 49  ) mincore.lib.!I
7610: 46 44 45 46 20 50 53 44 4b 4c 49 42 50 41 54 48  FDEF PSDKLIBPATH
7620: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $(
7630: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49  LTLINKOPTS) "/LI
7640: 42 50 41 54 48 3a 24 28 50 53 44 4b 4c 49 42 50  BPATH:$(PSDKLIBP
7650: 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e  ATH)".!ENDIF.!EN
7660: 44 49 46 0a 0a 21 49 46 20 24 28 46 4f 52 5f 57  DIF..!IF $(FOR_W
7670: 49 4e 31 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f  IN10)!=0.LTLINKO
7680: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50  PTS = $(LTLINKOP
7690: 54 53 29 20 2f 67 75 61 72 64 3a 63 66 20 22 2f  TS) /guard:cf "/
76a0: 4c 49 42 50 41 54 48 3a 24 28 55 43 52 54 4c 49  LIBPATH:$(UCRTLI
76b0: 42 50 41 54 48 29 22 0a 21 49 46 20 24 28 44 45  BPATH)".!IF $(DE
76c0: 42 55 47 29 3e 31 0a 4c 54 4c 49 4e 4b 4f 50 54  BUG)>1.LTLINKOPT
76d0: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS
76e0: 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a  ) /NODEFAULTLIB:
76f0: 6c 69 62 75 63 72 74 64 2e 6c 69 62 20 2f 44 45  libucrtd.lib /DE
7700: 46 41 55 4c 54 4c 49 42 3a 75 63 72 74 64 2e 6c  FAULTLIB:ucrtd.l
7710: 69 62 0a 21 45 4c 53 45 0a 4c 54 4c 49 4e 4b 4f  ib.!ELSE.LTLINKO
7720: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50  PTS = $(LTLINKOP
7730: 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49  TS) /NODEFAULTLI
7740: 42 3a 6c 69 62 75 63 72 74 2e 6c 69 62 20 2f 44  B:libucrt.lib /D
7750: 45 46 41 55 4c 54 4c 49 42 3a 75 63 72 74 2e 6c  EFAULTLIB:ucrt.l
7760: 69 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  ib.!ENDIF.!ENDIF
7770: 0a 0a 23 20 49 66 20 65 69 74 68 65 72 20 64 65  ..# If either de
7780: 62 75 67 67 69 6e 67 20 6f 72 20 73 79 6d 62 6f  bugging or symbo
7790: 6c 73 20 61 72 65 20 65 6e 61 62 6c 65 64 2c 20  ls are enabled, 
77a0: 65 6e 61 62 6c 65 20 50 44 42 73 2e 0a 23 0a 21  enable PDBs..#.!
77b0: 49 46 20 24 28 44 45 42 55 47 29 3e 31 20 7c 7c  IF $(DEBUG)>1 ||
77c0: 20 24 28 53 59 4d 42 4f 4c 53 29 21 3d 30 0a 4c   $(SYMBOLS)!=0.L
77d0: 44 46 4c 41 47 53 20 3d 20 2f 44 45 42 55 47 20  DFLAGS = /DEBUG 
77e0: 24 28 4c 44 4f 50 54 53 29 0a 21 45 4c 53 45 0a  $(LDOPTS).!ELSE.
77f0: 4c 44 46 4c 41 47 53 20 3d 20 24 28 4c 44 4f 50  LDFLAGS = $(LDOP
7800: 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c  TS).!ENDIF..# <<
7810: 6d 61 72 6b 3e 3e 0a 23 20 53 74 61 72 74 20 77  mark>>.# Start w
7820: 69 74 68 20 74 68 65 20 54 63 6c 20 72 65 6c 61  ith the Tcl rela
7830: 74 65 64 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f  ted linker optio
7840: 6e 73 2e 0a 23 0a 21 49 46 20 24 28 4e 4f 5f 54  ns..#.!IF $(NO_T
7850: 43 4c 29 3d 3d 30 0a 54 43 4c 4c 49 42 50 41 54  CL)==0.TCLLIBPAT
7860: 48 53 20 3d 20 24 28 54 43 4c 4c 49 42 50 41 54  HS = $(TCLLIBPAT
7870: 48 53 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 54  HS) /LIBPATH:$(T
7880: 43 4c 4c 49 42 44 49 52 29 0a 54 43 4c 4c 49 42  CLLIBDIR).TCLLIB
7890: 53 20 3d 20 24 28 54 43 4c 4c 49 42 53 29 20 24  S = $(TCLLIBS) $
78a0: 28 4c 49 42 54 43 4c 29 0a 21 45 4e 44 49 46 0a  (LIBTCL).!ENDIF.
78b0: 0a 23 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f  .# If zlib suppo
78c0: 72 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61  rt is enabled, a
78d0: 64 64 20 74 68 65 20 6c 69 6e 6b 65 72 20 6f 70  dd the linker op
78e0: 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a  tions for it..#.
78f0: 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29 21  !IF $(USE_ZLIB)!
7900: 3d 30 0a 4c 54 4c 49 42 50 41 54 48 53 20 3d 20  =0.LTLIBPATHS = 
7910: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4c  $(LTLIBPATHS) /L
7920: 49 42 50 41 54 48 3a 24 28 5a 4c 49 42 4c 49 42  IBPATH:$(ZLIBLIB
7930: 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d 20 24 28  DIR).LTLIBS = $(
7940: 4c 54 4c 49 42 53 29 20 24 28 5a 4c 49 42 4c 49  LTLIBS) $(ZLIBLI
7950: 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20  B).!ENDIF..# If 
7960: 49 43 55 20 73 75 70 70 6f 72 74 20 69 73 20 65  ICU support is e
7970: 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20  nabled, add the 
7980: 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 20 66  linker options f
7990: 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 55  or it..#.!IF $(U
79a0: 53 45 5f 49 43 55 29 21 3d 30 0a 4c 54 4c 49 42  SE_ICU)!=0.LTLIB
79b0: 50 41 54 48 53 20 3d 20 24 28 4c 54 4c 49 42 50  PATHS = $(LTLIBP
79c0: 41 54 48 53 29 20 2f 4c 49 42 50 41 54 48 3a 24  ATHS) /LIBPATH:$
79d0: 28 49 43 55 4c 49 42 44 49 52 29 0a 4c 54 4c 49  (ICULIBDIR).LTLI
79e0: 42 53 20 3d 20 24 28 4c 54 4c 49 42 53 29 20 24  BS = $(LTLIBS) $
79f0: 28 4c 49 42 49 43 55 29 0a 21 45 4e 44 49 46 0a  (LIBICU).!ENDIF.
7a00: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 59  # <</mark>>..# Y
7a10: 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 68 61  ou should not ha
7a20: 76 65 20 74 6f 20 63 68 61 6e 67 65 20 61 6e 79  ve to change any
7a30: 74 68 69 6e 67 20 62 65 6c 6f 77 20 74 68 69 73  thing below this
7a40: 20 6c 69 6e 65 0a 23 23 23 23 23 23 23 23 23 23   line.##########
7a50: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7a60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7a70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7a80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7a90: 23 23 23 23 23 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  #####..# <<mark>
7aa0: 3e 0a 23 20 4f 62 6a 65 63 74 20 66 69 6c 65 73  >.# Object files
7ab0: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20   for the SQLite 
7ac0: 6c 69 62 72 61 72 79 20 28 6e 6f 6e 2d 61 6d 61  library (non-ama
7ad0: 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a 4c 49  lgamation)..#.LI
7ae0: 42 4f 42 4a 53 30 20 3d 20 76 64 62 65 2e 6c 6f  BOBJS0 = vdbe.lo
7af0: 20 70 61 72 73 65 2e 6c 6f 20 61 6c 74 65 72 2e   parse.lo alter.
7b00: 6c 6f 20 61 6e 61 6c 79 7a 65 2e 6c 6f 20 61 74  lo analyze.lo at
7b10: 74 61 63 68 2e 6c 6f 20 61 75 74 68 2e 6c 6f 20  tach.lo auth.lo 
7b20: 5c 0a 20 20 20 20 20 20 20 20 20 62 61 63 6b 75  \.         backu
7b30: 70 2e 6c 6f 20 62 69 74 76 65 63 2e 6c 6f 20 62  p.lo bitvec.lo b
7b40: 74 6d 75 74 65 78 2e 6c 6f 20 62 74 72 65 65 2e  tmutex.lo btree.
7b50: 6c 6f 20 62 75 69 6c 64 2e 6c 6f 20 5c 0a 20 20  lo build.lo \.  
7b60: 20 20 20 20 20 20 20 63 61 6c 6c 62 61 63 6b 2e         callback.
7b70: 6c 6f 20 63 6f 6d 70 6c 65 74 65 2e 6c 6f 20 63  lo complete.lo c
7b80: 74 69 6d 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  time.lo \.      
7b90: 20 20 20 64 61 74 65 2e 6c 6f 20 64 62 70 61 67     date.lo dbpag
7ba0: 65 2e 6c 6f 20 64 62 73 74 61 74 2e 6c 6f 20 64  e.lo dbstat.lo d
7bb0: 65 6c 65 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20  elete.lo \.     
7bc0: 20 20 20 20 65 78 70 72 2e 6c 6f 20 66 61 75 6c      expr.lo faul
7bd0: 74 2e 6c 6f 20 66 6b 65 79 2e 6c 6f 20 5c 0a 20  t.lo fkey.lo \. 
7be0: 20 20 20 20 20 20 20 20 66 74 73 33 2e 6c 6f 20          fts3.lo 
7bf0: 66 74 73 33 5f 61 75 78 2e 6c 6f 20 66 74 73 33  fts3_aux.lo fts3
7c00: 5f 65 78 70 72 2e 6c 6f 20 66 74 73 33 5f 68 61  _expr.lo fts3_ha
7c10: 73 68 2e 6c 6f 20 66 74 73 33 5f 69 63 75 2e 6c  sh.lo fts3_icu.l
7c20: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73  o \.         fts
7c30: 33 5f 70 6f 72 74 65 72 2e 6c 6f 20 66 74 73 33  3_porter.lo fts3
7c40: 5f 73 6e 69 70 70 65 74 2e 6c 6f 20 66 74 73 33  _snippet.lo fts3
7c50: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 20 66 74  _tokenizer.lo ft
7c60: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f  s3_tokenizer1.lo
7c70: 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 33   \.         fts3
7c80: 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c  _tokenize_vtab.l
7c90: 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c  o fts3_unicode.l
7ca0: 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e  o fts3_unicode2.
7cb0: 6c 6f 20 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f  lo fts3_write.lo
7cc0: 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 35   \.         fts5
7cd0: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66  .lo \.         f
7ce0: 75 6e 63 2e 6c 6f 20 67 6c 6f 62 61 6c 2e 6c 6f  unc.lo global.lo
7cf0: 20 68 61 73 68 2e 6c 6f 20 5c 0a 20 20 20 20 20   hash.lo \.     
7d00: 20 20 20 20 69 63 75 2e 6c 6f 20 69 6e 73 65 72      icu.lo inser
7d10: 74 2e 6c 6f 20 6c 65 67 61 63 79 2e 6c 6f 20 6c  t.lo legacy.lo l
7d20: 6f 61 64 65 78 74 2e 6c 6f 20 5c 0a 20 20 20 20  oadext.lo \.    
7d30: 20 20 20 20 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c       main.lo mal
7d40: 6c 6f 63 2e 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d  loc.lo mem0.lo m
7d50: 65 6d 31 2e 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d  em1.lo mem2.lo m
7d60: 65 6d 33 2e 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c  em3.lo mem5.lo \
7d70: 0a 20 20 20 20 20 20 20 20 20 6d 65 6d 64 62 2e  .         memdb.
7d80: 6c 6f 20 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f  lo memjournal.lo
7d90: 20 5c 0a 20 20 20 20 20 20 20 20 20 6d 75 74 65   \.         mute
7da0: 78 2e 6c 6f 20 6d 75 74 65 78 5f 6e 6f 6f 70 2e  x.lo mutex_noop.
7db0: 6c 6f 20 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f  lo mutex_unix.lo
7dc0: 20 6d 75 74 65 78 5f 77 33 32 2e 6c 6f 20 5c 0a   mutex_w32.lo \.
7dd0: 20 20 20 20 20 20 20 20 20 6e 6f 74 69 66 79 2e           notify.
7de0: 6c 6f 20 6f 70 63 6f 64 65 73 2e 6c 6f 20 6f 73  lo opcodes.lo os
7df0: 2e 6c 6f 20 6f 73 5f 75 6e 69 78 2e 6c 6f 20 6f  .lo os_unix.lo o
7e00: 73 5f 77 69 6e 2e 6c 6f 20 5c 0a 20 20 20 20 20  s_win.lo \.     
7e10: 20 20 20 20 70 61 67 65 72 2e 6c 6f 20 70 63 61      pager.lo pca
7e20: 63 68 65 2e 6c 6f 20 70 63 61 63 68 65 31 2e 6c  che.lo pcache1.l
7e30: 6f 20 70 72 61 67 6d 61 2e 6c 6f 20 70 72 65 70  o pragma.lo prep
7e40: 61 72 65 2e 6c 6f 20 70 72 69 6e 74 66 2e 6c 6f  are.lo printf.lo
7e50: 20 5c 0a 20 20 20 20 20 20 20 20 20 72 61 6e 64   \.         rand
7e60: 6f 6d 2e 6c 6f 20 72 65 73 6f 6c 76 65 2e 6c 6f  om.lo resolve.lo
7e70: 20 72 6f 77 73 65 74 2e 6c 6f 20 72 74 72 65 65   rowset.lo rtree
7e80: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 73  .lo \.         s
7e90: 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f  qlite3session.lo
7ea0: 20 73 65 6c 65 63 74 2e 6c 6f 20 73 71 6c 69 74   select.lo sqlit
7eb0: 65 33 72 62 75 2e 6c 6f 20 73 74 61 74 75 73 2e  e3rbu.lo status.
7ec0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 74 61  lo \.         ta
7ed0: 62 6c 65 2e 6c 6f 20 74 68 72 65 61 64 73 2e 6c  ble.lo threads.l
7ee0: 6f 20 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 20 74 72  o tokenize.lo tr
7ef0: 65 65 76 69 65 77 2e 6c 6f 20 74 72 69 67 67 65  eeview.lo trigge
7f00: 72 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  r.lo \.         
7f10: 75 70 64 61 74 65 2e 6c 6f 20 75 70 73 65 72 74  update.lo upsert
7f20: 2e 6c 6f 20 75 74 69 6c 2e 6c 6f 20 76 61 63 75  .lo util.lo vacu
7f30: 75 6d 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  um.lo \.        
7f40: 20 76 64 62 65 61 70 69 2e 6c 6f 20 76 64 62 65   vdbeapi.lo vdbe
7f50: 61 75 78 2e 6c 6f 20 76 64 62 65 62 6c 6f 62 2e  aux.lo vdbeblob.
7f60: 6c 6f 20 76 64 62 65 6d 65 6d 2e 6c 6f 20 76 64  lo vdbemem.lo vd
7f70: 62 65 73 6f 72 74 2e 6c 6f 20 5c 0a 20 20 20 20  besort.lo \.    
7f80: 20 20 20 20 20 76 64 62 65 74 72 61 63 65 2e 6c       vdbetrace.l
7f90: 6f 20 77 61 6c 2e 6c 6f 20 77 61 6c 6b 65 72 2e  o wal.lo walker.
7fa0: 6c 6f 20 77 68 65 72 65 2e 6c 6f 20 77 68 65 72  lo where.lo wher
7fb0: 65 63 6f 64 65 2e 6c 6f 20 77 68 65 72 65 65 78  ecode.lo whereex
7fc0: 70 72 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  pr.lo \.        
7fd0: 20 75 74 66 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a   utf.lo vtab.lo.
7fe0: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f  # <</mark>>..# O
7ff0: 62 6a 65 63 74 20 66 69 6c 65 73 20 66 6f 72 20  bject files for 
8000: 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  the amalgamation
8010: 2e 0a 23 0a 4c 49 42 4f 42 4a 53 31 20 3d 20 73  ..#.LIBOBJS1 = s
8020: 71 6c 69 74 65 33 2e 6c 6f 0a 0a 23 20 44 65 74  qlite3.lo..# Det
8030: 65 72 6d 69 6e 65 20 74 68 65 20 72 65 61 6c 20  ermine the real 
8040: 76 61 6c 75 65 20 6f 66 20 4c 49 42 4f 42 4a 20  value of LIBOBJ 
8050: 62 61 73 65 64 20 6f 6e 20 74 68 65 20 27 63 6f  based on the 'co
8060: 6e 66 69 67 75 72 65 27 20 73 63 72 69 70 74 0a  nfigure' script.
8070: 23 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46  #.# <<mark>>.!IF
8080: 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54   $(USE_AMALGAMAT
8090: 49 4f 4e 29 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d  ION)==0.LIBOBJ =
80a0: 20 24 28 4c 49 42 4f 42 4a 53 30 29 0a 21 45 4c   $(LIBOBJS0).!EL
80b0: 53 45 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c  SE.# <</mark>>.L
80c0: 49 42 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a  IBOBJ = $(LIBOBJ
80d0: 53 31 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21  S1).# <<mark>>.!
80e0: 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  ENDIF.# <</mark>
80f0: 3e 0a 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 69  >..# Determine i
8100: 66 20 65 6d 62 65 64 64 65 64 20 72 65 73 6f 75  f embedded resou
8110: 72 63 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20  rce compilation 
8120: 61 6e 64 20 75 73 61 67 65 20 61 72 65 20 65 6e  and usage are en
8130: 61 62 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28 55  abled..#.!IF $(U
8140: 53 45 5f 52 43 29 21 3d 30 0a 4c 49 42 52 45 53  SE_RC)!=0.LIBRES
8150: 4f 42 4a 53 20 3d 20 73 71 6c 69 74 65 33 72 65  OBJS = sqlite3re
8160: 73 2e 6c 6f 0a 21 45 4c 53 45 0a 4c 49 42 52 45  s.lo.!ELSE.LIBRE
8170: 53 4f 42 4a 53 20 3d 0a 21 45 4e 44 49 46 0a 0a  SOBJS =.!ENDIF..
8180: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 43 6f 72  # <<mark>>.# Cor
8190: 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69  e source code fi
81a0: 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53  les, part 1..#.S
81b0: 52 43 30 30 20 3d 20 5c 0a 20 20 24 28 54 4f 50  RC00 = \.  $(TOP
81c0: 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20 5c 0a  )\src\alter.c \.
81d0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61    $(TOP)\src\ana
81e0: 6c 79 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  lyze.c \.  $(TOP
81f0: 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 20 5c  )\src\attach.c \
8200: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 75  .  $(TOP)\src\au
8210: 74 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  th.c \.  $(TOP)\
8220: 73 72 63 5c 62 61 63 6b 75 70 2e 63 20 5c 0a 20  src\backup.c \. 
8230: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76   $(TOP)\src\bitv
8240: 65 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ec.c \.  $(TOP)\
8250: 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 20 5c 0a  src\btmutex.c \.
8260: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72    $(TOP)\src\btr
8270: 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ee.c \.  $(TOP)\
8280: 73 72 63 5c 62 75 69 6c 64 2e 63 20 5c 0a 20 20  src\build.c \.  
8290: 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62  $(TOP)\src\callb
82a0: 61 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ack.c \.  $(TOP)
82b0: 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20  \src\complete.c 
82c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63  \.  $(TOP)\src\c
82d0: 74 69 6d 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  time.c \.  $(TOP
82e0: 29 5c 73 72 63 5c 64 61 74 65 2e 63 20 5c 0a 20  )\src\date.c \. 
82f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61   $(TOP)\src\dbpa
8300: 67 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ge.c \.  $(TOP)\
8310: 73 72 63 5c 64 62 73 74 61 74 2e 63 20 5c 0a 20  src\dbstat.c \. 
8320: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65   $(TOP)\src\dele
8330: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\
8340: 73 72 63 5c 65 78 70 72 2e 63 20 5c 0a 20 20 24  src\expr.c \.  $
8350: 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e  (TOP)\src\fault.
8360: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8370: 5c 66 6b 65 79 2e 63 20 5c 0a 20 20 24 28 54 4f  \fkey.c \.  $(TO
8380: 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63 20 5c 0a  P)\src\func.c \.
8390: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f    $(TOP)\src\glo
83a0: 62 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  bal.c \.  $(TOP)
83b0: 5c 73 72 63 5c 68 61 73 68 2e 63 20 5c 0a 20 20  \src\hash.c \.  
83c0: 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72  $(TOP)\src\inser
83d0: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s
83e0: 72 63 5c 6c 65 67 61 63 79 2e 63 20 5c 0a 20 20  rc\legacy.c \.  
83f0: 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65  $(TOP)\src\loade
8400: 78 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  xt.c \.  $(TOP)\
8410: 73 72 63 5c 6d 61 69 6e 2e 63 20 5c 0a 20 20 24  src\main.c \.  $
8420: 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63  (TOP)\src\malloc
8430: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8440: 63 5c 6d 65 6d 30 2e 63 20 5c 0a 20 20 24 28 54  c\mem0.c \.  $(T
8450: 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 5c  OP)\src\mem1.c \
8460: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  .  $(TOP)\src\me
8470: 6d 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  m2.c \.  $(TOP)\
8480: 73 72 63 5c 6d 65 6d 33 2e 63 20 5c 0a 20 20 24  src\mem3.c \.  $
8490: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63  (TOP)\src\mem5.c
84a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
84b0: 6d 65 6d 64 62 2e 63 20 5c 0a 20 20 24 28 54 4f  memdb.c \.  $(TO
84c0: 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61  P)\src\memjourna
84d0: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  l.c \.  $(TOP)\s
84e0: 72 63 5c 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24  rc\mutex.c \.  $
84f0: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
8500: 6e 6f 6f 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50  noop.c \.  $(TOP
8510: 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78  )\src\mutex_unix
8520: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8530: 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 20 5c 0a  c\mutex_w32.c \.
8540: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74    $(TOP)\src\not
8550: 69 66 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ify.c \.  $(TOP)
8560: 5c 73 72 63 5c 6f 73 2e 63 20 5c 0a 20 20 24 28  \src\os.c \.  $(
8570: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78  TOP)\src\os_unix
8580: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8590: 63 5c 6f 73 5f 77 69 6e 2e 63 0a 0a 23 20 43 6f  c\os_win.c..# Co
85a0: 72 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  re source code f
85b0: 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a  iles, part 2..#.
85c0: 53 52 43 30 31 20 3d 20 5c 0a 20 20 24 28 54 4f  SRC01 = \.  $(TO
85d0: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 20 5c  P)\src\pager.c \
85e0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  .  $(TOP)\src\pc
85f0: 61 63 68 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ache.c \.  $(TOP
8600: 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20  )\src\pcache1.c 
8610: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  \.  $(TOP)\src\p
8620: 72 61 67 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f  ragma.c \.  $(TO
8630: 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63  P)\src\prepare.c
8640: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8650: 70 72 69 6e 74 66 2e 63 20 5c 0a 20 20 24 28 54  printf.c \.  $(T
8660: 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63  OP)\src\random.c
8670: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8680: 72 65 73 6f 6c 76 65 2e 63 20 5c 0a 20 20 24 28  resolve.c \.  $(
8690: 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e  TOP)\src\rowset.
86a0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
86b0: 5c 73 65 6c 65 63 74 2e 63 20 5c 0a 20 20 24 28  \select.c \.  $(
86c0: 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e  TOP)\src\status.
86d0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
86e0: 5c 74 61 62 6c 65 2e 63 20 5c 0a 20 20 24 28 54  \table.c \.  $(T
86f0: 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e  OP)\src\threads.
8700: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8710: 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20  \tclsqlite.c \. 
8720: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65   $(TOP)\src\toke
8730: 6e 69 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  nize.c \.  $(TOP
8740: 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63  )\src\treeview.c
8750: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8760: 74 72 69 67 67 65 72 2e 63 20 5c 0a 20 20 24 28  trigger.c \.  $(
8770: 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 5c  TOP)\src\utf.c \
8780: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70  .  $(TOP)\src\up
8790: 64 61 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  date.c \.  $(TOP
87a0: 29 5c 73 72 63 5c 75 70 73 65 72 74 2e 63 20 5c  )\src\upsert.c \
87b0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74  .  $(TOP)\src\ut
87c0: 69 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  il.c \.  $(TOP)\
87d0: 73 72 63 5c 76 61 63 75 75 6d 2e 63 20 5c 0a 20  src\vacuum.c \. 
87e0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
87f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8800: 63 5c 76 64 62 65 61 70 69 2e 63 20 5c 0a 20 20  c\vdbeapi.c \.  
8810: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61  $(TOP)\src\vdbea
8820: 75 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ux.c \.  $(TOP)\
8830: 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 5c  src\vdbeblob.c \
8840: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  .  $(TOP)\src\vd
8850: 62 65 6d 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f  bemem.c \.  $(TO
8860: 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e  P)\src\vdbesort.
8870: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8880: 5c 76 64 62 65 74 72 61 63 65 2e 63 20 5c 0a 20  \vdbetrace.c \. 
8890: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62   $(TOP)\src\vtab
88a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
88b0: 63 5c 77 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f  c\wal.c \.  $(TO
88c0: 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20  P)\src\walker.c 
88d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77  \.  $(TOP)\src\w
88e0: 68 65 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  here.c \.  $(TOP
88f0: 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e  )\src\wherecode.
8900: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8910: 5c 77 68 65 72 65 65 78 70 72 2e 63 0a 0a 23 20  \whereexpr.c..# 
8920: 43 6f 72 65 20 6d 69 73 63 65 6c 6c 61 6e 65 6f  Core miscellaneo
8930: 75 73 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43 30  us files..#.SRC0
8940: 33 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  3 = \.  $(TOP)\s
8950: 72 63 5c 70 61 72 73 65 2e 79 0a 0a 23 20 43 6f  rc\parse.y..# Co
8960: 72 65 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c  re header files,
8970: 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 30 34   part 1..#.SRC04
8980: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72   = \.  $(TOP)\sr
8990: 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 24 28  c\btree.h \.  $(
89a0: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 49 6e  TOP)\src\btreeIn
89b0: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.h \.  $(TOP)\s
89c0: 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  rc\hash.h \.  $(
89d0: 54 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e  TOP)\src\hwtime.
89e0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
89f0: 5c 6d 73 76 63 2e 68 20 5c 0a 20 20 24 28 54 4f  \msvc.h \.  $(TO
8a00: 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 68 20 5c  P)\src\mutex.h \
8a10: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  .  $(TOP)\src\os
8a20: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
8a30: 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a  c\os_common.h \.
8a40: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f    $(TOP)\src\os_
8a50: 73 65 74 75 70 2e 68 20 5c 0a 20 20 24 28 54 4f  setup.h \.  $(TO
8a60: 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 0a  P)\src\os_win.h.
8a70: 0a 23 20 43 6f 72 65 20 68 65 61 64 65 72 20 66  .# Core header f
8a80: 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a  iles, part 2..#.
8a90: 53 52 43 30 35 20 3d 20 5c 0a 20 20 24 28 54 4f  SRC05 = \.  $(TO
8aa0: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 20 5c  P)\src\pager.h \
8ab0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  .  $(TOP)\src\pc
8ac0: 61 63 68 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50  ache.h \.  $(TOP
8ad0: 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68 20 5c  )\src\pragma.h \
8ae0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71  .  $(TOP)\src\sq
8af0: 6c 69 74 65 2e 68 2e 69 6e 20 5c 0a 20 20 24 28  lite.h.in \.  $(
8b00: 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33  TOP)\src\sqlite3
8b10: 65 78 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ext.h \.  $(TOP)
8b20: 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68  \src\sqliteInt.h
8b30: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8b40: 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a  sqliteLimit.h \.
8b50: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62    $(TOP)\src\vdb
8b60: 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.h \.  $(TOP)\s
8b70: 72 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20  rc\vdbeInt.h \. 
8b80: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 78 77 6f   $(TOP)\src\vxwo
8b90: 72 6b 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  rks.h \.  $(TOP)
8ba0: 5c 73 72 63 5c 77 61 6c 2e 68 20 5c 0a 20 20 24  \src\wal.h \.  $
8bb0: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49  (TOP)\src\whereI
8bc0: 6e 74 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f  nt.h..# Extensio
8bd0: 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69  n source code fi
8be0: 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53  les, part 1..#.S
8bf0: 52 43 30 36 20 3d 20 5c 0a 20 20 24 28 54 4f 50  RC06 = \.  $(TOP
8c00: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e  )\ext\fts1\fts1.
8c10: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
8c20: 5c 66 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e  \fts1\fts1_hash.
8c30: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
8c40: 5c 66 74 73 31 5c 66 74 73 31 5f 70 6f 72 74 65  \fts1\fts1_porte
8c50: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e
8c60: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b  xt\fts1\fts1_tok
8c70: 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24 28  enizer1.c \.  $(
8c80: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
8c90: 73 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  s2.c \.  $(TOP)\
8ca0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61  ext\fts2\fts2_ha
8cb0: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.c \.  $(TOP)\
8cc0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63  ext\fts2\fts2_ic
8cd0: 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  u.c \.  $(TOP)\e
8ce0: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72  xt\fts2\fts2_por
8cf0: 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ter.c \.  $(TOP)
8d00: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74  \ext\fts2\fts2_t
8d10: 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24  okenizer.c \.  $
8d20: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
8d30: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63  ts2_tokenizer1.c
8d40: 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 73 6f  ..# Extension so
8d50: 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2c  urce code files,
8d60: 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 37   part 2..#.SRC07
8d70: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78   = \.  $(TOP)\ex
8d80: 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 20 5c 0a  t\fts3\fts3.c \.
8d90: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8da0: 33 5c 66 74 73 33 5f 61 75 78 2e 63 20 5c 0a 20  3\fts3_aux.c \. 
8db0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
8dc0: 5c 66 74 73 33 5f 65 78 70 72 2e 63 20 5c 0a 20  \fts3_expr.c \. 
8dd0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
8de0: 5c 66 74 73 33 5f 68 61 73 68 2e 63 20 5c 0a 20  \fts3_hash.c \. 
8df0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
8e00: 5c 66 74 73 33 5f 69 63 75 2e 63 20 5c 0a 20 20  \fts3_icu.c \.  
8e10: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
8e20: 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 20 5c 0a  fts3_porter.c \.
8e30: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8e40: 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63  3\fts3_snippet.c
8e50: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8e60: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69  fts3\fts3_tokeni
8e70: 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  zer.c \.  $(TOP)
8e80: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
8e90: 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20  okenizer1.c \.  
8ea0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
8eb0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74  fts3_tokenize_vt
8ec0: 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ab.c \.  $(TOP)\
8ed0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e  ext\fts3\fts3_un
8ee0: 69 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f  icode.c \.  $(TO
8ef0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
8f00: 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20  _unicode2.c \.  
8f10: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
8f20: 66 74 73 33 5f 77 72 69 74 65 2e 63 20 5c 0a 20  fts3_write.c \. 
8f30: 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c   $(TOP)\ext\icu\
8f40: 69 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  icu.c \.  $(TOP)
8f50: 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65  \ext\rtree\rtree
8f60: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8f70: 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65  t\session\sqlite
8f80: 33 73 65 73 73 69 6f 6e 2e 63 20 5c 0a 20 20 24  3session.c \.  $
8f90: 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71  (TOP)\ext\rbu\sq
8fa0: 6c 69 74 65 33 72 62 75 2e 63 20 5c 0a 20 20 24  lite3rbu.c \.  $
8fb0: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a  (TOP)\ext\misc\j
8fc0: 73 6f 6e 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50  son1.c \.  $(TOP
8fd0: 29 5c 65 78 74 5c 6d 69 73 63 5c 73 74 6d 74 2e  )\ext\misc\stmt.
8fe0: 63 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 68  c..# Extension h
8ff0: 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72  eader files, par
9000: 74 20 31 2e 0a 23 0a 53 52 43 30 38 20 3d 20 5c  t 1..#.SRC08 = \
9010: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
9020: 73 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28  s1\fts1.h \.  $(
9030: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
9040: 73 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s1_hash.h \.  $(
9050: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
9060: 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c  s1_tokenizer.h \
9070: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
9080: 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28  s2\fts2.h \.  $(
9090: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
90a0: 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s2_hash.h \.  $(
90b0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
90c0: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 0a  s2_tokenizer.h..
90d0: 23 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 61 64  # Extension head
90e0: 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32  er files, part 2
90f0: 2e 0a 23 0a 53 52 43 30 39 20 3d 20 5c 0a 20 20  ..#.SRC09 = \.  
9100: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
9110: 66 74 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50  fts3.h \.  $(TOP
9120: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49  )\ext\fts3\fts3I
9130: 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  nt.h \.  $(TOP)\
9140: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61  ext\fts3\fts3_ha
9150: 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.h \.  $(TOP)\
9160: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
9170: 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28  kenizer.h \.  $(
9180: 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73 71 6c  TOP)\ext\icu\sql
9190: 69 74 65 69 63 75 2e 68 20 5c 0a 20 20 24 28 54  iteicu.h \.  $(T
91a0: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74  OP)\ext\rtree\rt
91b0: 72 65 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ree.h \.  $(TOP)
91c0: 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33  \ext\rbu\sqlite3
91d0: 72 62 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  rbu.h \.  $(TOP)
91e0: 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c  \ext\session\sql
91f0: 69 74 65 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23  ite3session.h..#
9200: 20 47 65 6e 65 72 61 74 65 64 20 73 6f 75 72 63   Generated sourc
9210: 65 20 63 6f 64 65 20 66 69 6c 65 73 0a 23 0a 53  e code files.#.S
9220: 52 43 31 30 20 3d 20 5c 0a 20 20 6f 70 63 6f 64  RC10 = \.  opcod
9230: 65 73 2e 63 20 5c 0a 20 20 70 61 72 73 65 2e 63  es.c \.  parse.c
9240: 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20 68 65  ..# Generated he
9250: 61 64 65 72 20 66 69 6c 65 73 0a 23 0a 53 52 43  ader files.#.SRC
9260: 31 31 20 3d 20 5c 0a 20 20 6b 65 79 77 6f 72 64  11 = \.  keyword
9270: 68 61 73 68 2e 68 20 5c 0a 20 20 6f 70 63 6f 64  hash.h \.  opcod
9280: 65 73 2e 68 20 5c 0a 20 20 70 61 72 73 65 2e 68  es.h \.  parse.h
9290: 20 5c 0a 20 20 73 68 65 6c 6c 2e 63 20 5c 0a 20   \.  shell.c \. 
92a0: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 0a 23 20   $(SQLITE3H)..# 
92b0: 47 65 6e 65 72 61 74 65 64 20 54 63 6c 20 68 65  Generated Tcl he
92c0: 61 64 65 72 20 66 69 6c 65 73 0a 23 0a 21 49 46  ader files.#.!IF
92d0: 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21   $(USE_STDCALL)!
92e0: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1
92f0: 30 29 21 3d 30 0a 53 52 43 31 32 20 3d 20 5c 0a  0)!=0.SRC12 = \.
9300: 20 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29 20    $(SQLITETCLH) 
9310: 5c 0a 20 20 24 28 53 51 4c 49 54 45 54 43 4c 44  \.  $(SQLITETCLD
9320: 45 43 4c 53 48 29 0a 21 45 4c 53 45 0a 53 52 43  ECLSH).!ELSE.SRC
9330: 31 32 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 41  12 =.!ENDIF..# A
9340: 6c 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  ll source code f
9350: 69 6c 65 73 2e 0a 23 0a 53 52 43 20 3d 20 24 28  iles..#.SRC = $(
9360: 53 52 43 30 30 29 20 24 28 53 52 43 30 31 29 20  SRC00) $(SRC01) 
9370: 24 28 53 52 43 30 33 29 20 24 28 53 52 43 30 34  $(SRC03) $(SRC04
9380: 29 20 24 28 53 52 43 30 35 29 20 24 28 53 52 43  ) $(SRC05) $(SRC
9390: 30 36 29 20 24 28 53 52 43 30 37 29 20 24 28 53  06) $(SRC07) $(S
93a0: 52 43 30 38 29 20 24 28 53 52 43 30 39 29 20 24  RC08) $(SRC09) $
93b0: 28 53 52 43 31 30 29 20 24 28 53 52 43 31 31 29  (SRC10) $(SRC11)
93c0: 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f 64 65 20  ..# Source code 
93d0: 74 6f 20 74 68 65 20 74 65 73 74 20 66 69 6c 65  to the test file
93e0: 73 2e 0a 23 0a 54 45 53 54 53 52 43 20 3d 20 5c  s..#.TESTSRC = \
93f0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9400: 73 74 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  st1.c \.  $(TOP)
9410: 5c 73 72 63 5c 74 65 73 74 32 2e 63 20 5c 0a 20  \src\test2.c \. 
9420: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
9430: 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  3.c \.  $(TOP)\s
9440: 72 63 5c 74 65 73 74 34 2e 63 20 5c 0a 20 20 24  rc\test4.c \.  $
9450: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 35 2e  (TOP)\src\test5.
9460: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9470: 5c 74 65 73 74 36 2e 63 20 5c 0a 20 20 24 28 54  \test6.c \.  $(T
9480: 4f 50 29 5c 73 72 63 5c 74 65 73 74 37 2e 63 20  OP)\src\test7.c 
9490: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
94a0: 65 73 74 38 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est8.c \.  $(TOP
94b0: 29 5c 73 72 63 5c 74 65 73 74 39 2e 63 20 5c 0a  )\src\test9.c \.
94c0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
94d0: 74 5f 61 75 74 6f 65 78 74 2e 63 20 5c 0a 20 20  t_autoext.c \.  
94e0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
94f0: 61 73 79 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f  async.c \.  $(TO
9500: 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 61 63 6b  P)\src\test_back
9510: 75 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  up.c \.  $(TOP)\
9520: 73 72 63 5c 74 65 73 74 5f 62 65 73 74 69 6e 64  src\test_bestind
9530: 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ex.c \.  $(TOP)\
9540: 73 72 63 5c 74 65 73 74 5f 62 6c 6f 62 2e 63 20  src\test_blob.c 
9550: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9560: 65 73 74 5f 62 74 72 65 65 2e 63 20 5c 0a 20 20  est_btree.c \.  
9570: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9580: 63 6f 6e 66 69 67 2e 63 20 5c 0a 20 20 24 28 54  config.c \.  $(T
9590: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 6c  OP)\src\test_del
95a0: 65 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ete.c \.  $(TOP)
95b0: 5c 73 72 63 5c 74 65 73 74 5f 64 65 6d 6f 76 66  \src\test_demovf
95c0: 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  s.c \.  $(TOP)\s
95d0: 72 63 5c 74 65 73 74 5f 64 65 76 73 79 6d 2e 63  rc\test_devsym.c
95e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
95f0: 74 65 73 74 5f 66 73 2e 63 20 5c 0a 20 20 24 28  test_fs.c \.  $(
9600: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 75  TOP)\src\test_fu
9610: 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  nc.c \.  $(TOP)\
9620: 73 72 63 5c 74 65 73 74 5f 68 65 78 69 6f 2e 63  src\test_hexio.c
9630: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9640: 74 65 73 74 5f 69 6e 69 74 2e 63 20 5c 0a 20 20  test_init.c \.  
9650: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9660: 69 6e 74 61 72 72 61 79 2e 63 20 5c 0a 20 20 24  intarray.c \.  $
9670: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6a  (TOP)\src\test_j
9680: 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54  ournal.c \.  $(T
9690: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6d 61 6c  OP)\src\test_mal
96a0: 6c 6f 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  loc.c \.  $(TOP)
96b0: 5c 73 72 63 5c 74 65 73 74 5f 6d 64 35 2e 63 20  \src\test_md5.c 
96c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
96d0: 65 73 74 5f 6d 75 6c 74 69 70 6c 65 78 2e 63 20  est_multiplex.c 
96e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
96f0: 65 73 74 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20  est_mutex.c \.  
9700: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9710: 6f 6e 65 66 69 6c 65 2e 63 20 5c 0a 20 20 24 28  onefile.c \.  $(
9720: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 73  TOP)\src\test_os
9730: 69 6e 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  inst.c \.  $(TOP
9740: 29 5c 73 72 63 5c 74 65 73 74 5f 70 63 61 63 68  )\src\test_pcach
9750: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
9760: 72 63 5c 74 65 73 74 5f 71 75 6f 74 61 2e 63 20  rc\test_quota.c 
9770: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9780: 65 73 74 5f 72 74 72 65 65 2e 63 20 5c 0a 20 20  est_rtree.c \.  
9790: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
97a0: 73 63 68 65 6d 61 2e 63 20 5c 0a 20 20 24 28 54  schema.c \.  $(T
97b0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 65 72  OP)\src\test_ser
97c0: 76 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ver.c \.  $(TOP)
97d0: 5c 73 72 63 5c 74 65 73 74 5f 73 75 70 65 72 6c  \src\test_superl
97e0: 6f 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ock.c \.  $(TOP)
97f0: 5c 73 72 63 5c 74 65 73 74 5f 73 79 73 63 61 6c  \src\test_syscal
9800: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  l.c \.  $(TOP)\s
9810: 72 63 5c 74 65 73 74 5f 74 63 6c 73 68 2e 63 20  rc\test_tclsh.c 
9820: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9830: 65 73 74 5f 74 63 6c 76 61 72 2e 63 20 5c 0a 20  est_tclvar.c \. 
9840: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
9850: 5f 74 68 72 65 61 64 2e 63 20 5c 0a 20 20 24 28  _thread.c \.  $(
9860: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 76 66  TOP)\src\test_vf
9870: 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  s.c \.  $(TOP)\s
9880: 72 63 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 6e  rc\test_windiren
9890: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s
98a0: 72 63 5c 74 65 73 74 5f 77 73 64 2e 63 20 5c 0a  rc\test_wsd.c \.
98b0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
98c0: 33 5c 66 74 73 33 5f 74 65 72 6d 2e 63 20 5c 0a  3\fts3_term.c \.
98d0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
98e0: 33 5c 66 74 73 33 5f 74 65 73 74 2e 63 20 5c 0a  3\fts3_test.c \.
98f0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75    $(TOP)\ext\rbu
9900: 5c 74 65 73 74 5f 72 62 75 2e 63 20 5c 0a 20 20  \test_rbu.c \.  
9910: 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69  $(TOP)\ext\sessi
9920: 6f 6e 5c 74 65 73 74 5f 73 65 73 73 69 6f 6e 2e  on\test_session.
9930: 63 0a 0a 23 20 53 74 61 74 69 63 61 6c 6c 79 20  c..# Statically 
9940: 6c 69 6e 6b 65 64 20 65 78 74 65 6e 73 69 6f 6e  linked extension
9950: 73 2e 0a 23 0a 54 45 53 54 45 58 54 20 3d 20 5c  s..#.TESTEXT = \
9960: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78  .  $(TOP)\ext\ex
9970: 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65  pert\sqlite3expe
9980: 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  rt.c \.  $(TOP)\
9990: 65 78 74 5c 65 78 70 65 72 74 5c 74 65 73 74 5f  ext\expert\test_
99a0: 65 78 70 65 72 74 2e 63 20 5c 0a 20 20 24 28 54  expert.c \.  $(T
99b0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61 6d 61  OP)\ext\misc\ama
99c0: 74 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tch.c \.  $(TOP)
99d0: 5c 65 78 74 5c 6d 69 73 63 5c 63 61 72 72 61 79  \ext\misc\carray
99e0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
99f0: 74 5c 6d 69 73 63 5c 63 6c 6f 73 75 72 65 2e 63  t\misc\closure.c
9a00: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9a10: 6d 69 73 63 5c 63 73 76 2e 63 20 5c 0a 20 20 24  misc\csv.c \.  $
9a20: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 65  (TOP)\ext\misc\e
9a30: 76 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  val.c \.  $(TOP)
9a40: 5c 65 78 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f  \ext\misc\fileio
9a50: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9a60: 74 5c 6d 69 73 63 5c 66 75 7a 7a 65 72 2e 63 20  t\misc\fuzzer.c 
9a70: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9a80: 74 73 35 5c 66 74 73 35 5f 74 63 6c 2e 63 20 5c  ts5\fts5_tcl.c \
9a90: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
9aa0: 73 35 5c 66 74 73 35 5f 74 65 73 74 5f 6d 69 2e  s5\fts5_test_mi.
9ab0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9ac0: 5c 66 74 73 35 5c 66 74 73 35 5f 74 65 73 74 5f  \fts5\fts5_test_
9ad0: 74 6f 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tok.c \.  $(TOP)
9ae0: 5c 65 78 74 5c 6d 69 73 63 5c 69 65 65 65 37 35  \ext\misc\ieee75
9af0: 34 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  4.c \.  $(TOP)\e
9b00: 78 74 5c 6d 69 73 63 5c 6d 6d 61 70 77 61 72 6d  xt\misc\mmapwarm
9b10: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9b20: 74 5c 6d 69 73 63 5c 6e 65 78 74 63 68 61 72 2e  t\misc\nextchar.
9b30: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9b40: 5c 6d 69 73 63 5c 6e 6f 72 6d 61 6c 69 7a 65 2e  \misc\normalize.
9b50: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9b60: 5c 6d 69 73 63 5c 70 65 72 63 65 6e 74 69 6c 65  \misc\percentile
9b70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9b80: 74 5c 6d 69 73 63 5c 72 65 67 65 78 70 2e 63 20  t\misc\regexp.c 
9b90: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
9ba0: 69 73 63 5c 72 65 6d 65 6d 62 65 72 2e 63 20 5c  isc\remember.c \
9bb0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
9bc0: 73 63 5c 73 65 72 69 65 73 2e 63 20 5c 0a 20 20  sc\series.c \.  
9bd0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
9be0: 73 70 65 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24  spellfix.c \.  $
9bf0: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 74  (TOP)\ext\misc\t
9c00: 6f 74 79 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f  otype.c \.  $(TO
9c10: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 75 6e 69 6f  P)\ext\misc\unio
9c20: 6e 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f  nvtab.c \.  $(TO
9c30: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 77 68 6f 6c  P)\ext\misc\whol
9c40: 65 6e 75 6d 62 65 72 2e 63 0a 0a 23 20 49 66 20  enumber.c..# If 
9c50: 75 73 65 20 6f 66 20 7a 6c 69 62 20 69 73 20 65  use of zlib is e
9c60: 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20  nabled, add the 
9c70: 22 7a 69 70 66 69 6c 65 2e 63 22 20 73 6f 75 72  "zipfile.c" sour
9c80: 63 65 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24  ce file..#.!IF $
9c90: 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a 54 45  (USE_ZLIB)!=0.TE
9ca0: 53 54 45 58 54 20 3d 20 24 28 54 45 53 54 45 58  STEXT = $(TESTEX
9cb0: 54 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  T) $(TOP)\ext\mi
9cc0: 73 63 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e  sc\zipfile.c.!EN
9cd0: 44 49 46 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f  DIF..# Source co
9ce0: 64 65 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72  de to the librar
9cf0: 79 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20 62  y files needed b
9d00: 79 20 74 68 65 20 74 65 73 74 20 66 69 78 74 75  y the test fixtu
9d10: 72 65 0a 23 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61  re.# (non-amalga
9d20: 6d 61 74 69 6f 6e 29 0a 23 0a 54 45 53 54 53 52  mation).#.TESTSR
9d30: 43 32 20 3d 20 5c 0a 20 20 24 28 53 52 43 30 30  C2 = \.  $(SRC00
9d40: 29 20 5c 0a 20 20 24 28 53 52 43 30 31 29 20 5c  ) \.  $(SRC01) \
9d50: 0a 20 20 24 28 53 52 43 30 36 29 20 5c 0a 20 20  .  $(SRC06) \.  
9d60: 24 28 53 52 43 30 37 29 20 5c 0a 20 20 24 28 53  $(SRC07) \.  $(S
9d70: 52 43 31 30 29 20 5c 0a 20 20 24 28 54 4f 50 29  RC10) \.  $(TOP)
9d80: 5c 65 78 74 5c 61 73 79 6e 63 5c 73 71 6c 69 74  \ext\async\sqlit
9d90: 65 33 61 73 79 6e 63 2e 63 0a 0a 23 20 48 65 61  e3async.c..# Hea
9da0: 64 65 72 20 66 69 6c 65 73 20 75 73 65 64 20 62  der files used b
9db0: 79 20 61 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f  y all library so
9dc0: 75 72 63 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44  urce files..#.HD
9dd0: 52 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  R = \.   $(TOP)\
9de0: 73 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20  src\btree.h \.  
9df0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65   $(TOP)\src\btre
9e00: 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f  eInt.h \.   $(TO
9e10: 50 29 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a  P)\src\hash.h \.
9e20: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 77     $(TOP)\src\hw
9e30: 74 69 6d 65 2e 68 20 5c 0a 20 20 20 6b 65 79 77  time.h \.   keyw
9e40: 6f 72 64 68 61 73 68 2e 68 20 5c 0a 20 20 20 24  ordhash.h \.   $
9e50: 28 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68  (TOP)\src\msvc.h
9e60: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
9e70: 5c 6d 75 74 65 78 2e 68 20 5c 0a 20 20 20 6f 70  \mutex.h \.   op
9e80: 63 6f 64 65 73 2e 68 20 5c 0a 20 20 20 24 28 54  codes.h \.   $(T
9e90: 4f 50 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20  OP)\src\os.h \. 
9ea0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f    $(TOP)\src\os_
9eb0: 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 28  common.h \.   $(
9ec0: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75  TOP)\src\os_setu
9ed0: 70 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  p.h \.   $(TOP)\
9ee0: 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20  src\os_win.h \. 
9ef0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67    $(TOP)\src\pag
9f00: 65 72 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  er.h \.   $(TOP)
9f10: 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a  \src\pcache.h \.
9f20: 20 20 20 70 61 72 73 65 2e 68 20 5c 0a 20 20 20     parse.h \.   
9f30: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d  $(TOP)\src\pragm
9f40: 61 2e 68 20 5c 0a 20 20 20 24 28 53 51 4c 49 54  a.h \.   $(SQLIT
9f50: 45 33 48 29 20 5c 0a 20 20 20 73 71 6c 69 74 65  E3H) \.   sqlite
9f60: 33 65 78 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f  3ext.h \.   $(TO
9f70: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74  P)\src\sqliteInt
9f80: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
9f90: 72 63 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68  rc\sqliteLimit.h
9fa0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
9fb0: 5c 76 64 62 65 2e 68 20 5c 0a 20 20 20 24 28 54  \vdbe.h \.   $(T
9fc0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e  OP)\src\vdbeInt.
9fd0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
9fe0: 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20  c\vxworks.h \.  
9ff0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72   $(TOP)\src\wher
a000: 65 49 6e 74 2e 68 0a 0a 23 20 48 65 61 64 65 72  eInt.h..# Header
a010: 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 65   files used by e
a020: 78 74 65 6e 73 69 6f 6e 73 0a 23 0a 45 58 54 48  xtensions.#.EXTH
a030: 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c  DR = $(EXTHDR) \
a040: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
a050: 73 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28  s1\fts1.h \.  $(
a060: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
a070: 73 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s1_hash.h \.  $(
a080: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
a090: 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45  s1_tokenizer.h.E
a0a0: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52  XTHDR = $(EXTHDR
a0b0: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext
a0c0: 5c 66 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20  \fts2\fts2.h \. 
a0d0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
a0e0: 5c 66 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20  \fts2_hash.h \. 
a0f0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
a100: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts2_tokenizer.
a110: 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54  h.EXTHDR = $(EXT
a120: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\
a130: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20  ext\fts3\fts3.h 
a140: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
a150: 74 73 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a  ts3\fts3Int.h \.
a160: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
a170: 33 5c 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a  3\fts3_hash.h \.
a180: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
a190: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3\fts3_tokenizer
a1a0: 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58  .h.EXTHDR = $(EX
a1b0: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29  THDR) \.  $(TOP)
a1c0: 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65  \ext\rtree\rtree
a1d0: 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58  .h.EXTHDR = $(EX
a1e0: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29  THDR) \.  $(TOP)
a1f0: 5c 65 78 74 5c 69 63 75 5c 73 71 6c 69 74 65 69  \ext\icu\sqlitei
a200: 63 75 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28  cu.h.EXTHDR = $(
a210: 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f  EXTHDR) \.  $(TO
a220: 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 73 71 6c  P)\ext\rtree\sql
a230: 69 74 65 33 72 74 72 65 65 2e 68 0a 45 58 54 48  ite3rtree.h.EXTH
a240: 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c  DR = $(EXTHDR) \
a250: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65  .  $(TOP)\ext\se
a260: 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73  ssion\sqlite3ses
a270: 73 69 6f 6e 2e 68 0a 0a 23 20 65 78 65 63 75 74  sion.h..# execut
a280: 61 62 6c 65 73 20 6e 65 65 64 65 64 20 66 6f 72  ables needed for
a290: 20 74 65 73 74 69 6e 67 0a 23 0a 54 45 53 54 50   testing.#.TESTP
a2a0: 52 4f 47 53 20 3d 20 5c 0a 20 20 74 65 73 74 66  ROGS = \.  testf
a2b0: 69 78 74 75 72 65 2e 65 78 65 20 5c 0a 20 20 24  ixture.exe \.  $
a2c0: 28 53 51 4c 49 54 45 33 45 58 45 29 20 5c 0a 20  (SQLITE3EXE) \. 
a2d0: 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65   sqlite3_analyze
a2e0: 72 2e 65 78 65 20 5c 0a 20 20 73 71 6c 69 74 65  r.exe \.  sqlite
a2f0: 33 5f 63 68 65 63 6b 65 72 2e 65 78 65 20 5c 0a  3_checker.exe \.
a300: 20 20 73 71 6c 64 69 66 66 2e 65 78 65 20 5c 0a    sqldiff.exe \.
a310: 20 20 64 62 68 61 73 68 2e 65 78 65 20 5c 0a 20    dbhash.exe \. 
a320: 20 73 71 6c 74 63 6c 73 68 2e 65 78 65 0a 0a 23   sqltclsh.exe..#
a330: 20 44 61 74 61 62 61 73 65 73 20 63 6f 6e 74 61   Databases conta
a340: 69 6e 69 6e 67 20 66 75 7a 7a 65 72 20 74 65 73  ining fuzzer tes
a350: 74 20 63 61 73 65 73 0a 23 0a 46 55 5a 5a 44 41  t cases.#.FUZZDA
a360: 54 41 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c  TA = \.  $(TOP)\
a370: 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 31 2e 64  test\fuzzdata1.d
a380: 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73  b \.  $(TOP)\tes
a390: 74 5c 66 75 7a 7a 64 61 74 61 32 2e 64 62 20 5c  t\fuzzdata2.db \
a3a0: 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66  .  $(TOP)\test\f
a3b0: 75 7a 7a 64 61 74 61 33 2e 64 62 20 5c 0a 20 20  uzzdata3.db \.  
a3c0: 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a  $(TOP)\test\fuzz
a3d0: 64 61 74 61 34 2e 64 62 20 5c 0a 20 20 24 28 54  data4.db \.  $(T
a3e0: 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74  OP)\test\fuzzdat
a3f0: 61 35 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29  a5.db \.  $(TOP)
a400: 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 36 2e  \test\fuzzdata6.
a410: 64 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  db.# <</mark>>..
a420: 23 20 41 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d  # Additional com
a430: 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f  piler options fo
a440: 72 20 74 68 65 20 73 68 65 6c 6c 2e 20 20 54 68  r the shell.  Th
a450: 65 73 65 20 61 72 65 20 6f 6e 6c 79 20 65 66 66  ese are only eff
a460: 65 63 74 69 76 65 0a 23 20 77 68 65 6e 20 74 68  ective.# when th
a470: 65 20 73 68 65 6c 6c 20 69 73 20 6e 6f 74 20 62  e shell is not b
a480: 65 69 6e 67 20 64 79 6e 61 6d 69 63 61 6c 6c 79  eing dynamically
a490: 20 6c 69 6e 6b 65 64 2e 0a 23 0a 21 49 46 20 24   linked..#.!IF $
a4a0: 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d  (DYNAMIC_SHELL)=
a4b0: 3d 30 20 26 26 20 24 28 46 4f 52 5f 57 49 4e 31  =0 && $(FOR_WIN1
a4c0: 30 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50  0)==0.SHELL_COMP
a4d0: 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45  ILE_OPTS = $(SHE
a4e0: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  LL_COMPILE_OPTS)
a4f0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
a500: 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f  _JSON1 -DSQLITE_
a510: 45 4e 41 42 4c 45 5f 46 54 53 34 20 2d 44 53 51  ENABLE_FTS4 -DSQ
a520: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 45 58 50 4c  LITE_ENABLE_EXPL
a530: 41 49 4e 5f 43 4f 4d 4d 45 4e 54 53 20 2d 44 53  AIN_COMMENTS -DS
a540: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 4d  QLITE_ENABLE_STM
a550: 54 56 54 41 42 0a 53 48 45 4c 4c 5f 43 4f 4d 50  TVTAB.SHELL_COMP
a560: 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45  ILE_OPTS = $(SHE
a570: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  LL_COMPILE_OPTS)
a580: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
a590: 5f 44 42 50 41 47 45 5f 56 54 41 42 20 2d 44 53  _DBPAGE_VTAB -DS
a5a0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42 53  QLITE_ENABLE_DBS
a5b0: 54 41 54 5f 56 54 41 42 0a 53 48 45 4c 4c 5f 43  TAT_VTAB.SHELL_C
a5c0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28  OMPILE_OPTS = $(
a5d0: 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50  SHELL_COMPILE_OP
a5e0: 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  TS) -DSQLITE_ENA
a5f0: 42 4c 45 5f 4f 46 46 53 45 54 5f 53 51 4c 5f 46  BLE_OFFSET_SQL_F
a600: 55 4e 43 20 2d 44 53 51 4c 49 54 45 5f 49 4e 54  UNC -DSQLITE_INT
a610: 52 4f 53 50 45 43 54 49 4f 4e 5f 50 52 41 47 4d  ROSPECTION_PRAGM
a620: 41 53 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45  AS.SHELL_COMPILE
a630: 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f  _OPTS = $(SHELL_
a640: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44  COMPILE_OPTS) -D
a650: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52 54  SQLITE_ENABLE_RT
a660: 52 45 45 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c  REE.!ENDIF..# <<
a670: 6d 61 72 6b 3e 3e 0a 23 20 45 78 74 72 61 20 63  mark>>.# Extra c
a680: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options 
a690: 66 6f 72 20 76 61 72 69 6f 75 73 20 74 65 73 74  for various test
a6a0: 20 74 6f 6f 6c 73 2e 0a 23 0a 4d 50 54 45 53 54   tools..#.MPTEST
a6b0: 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20  ER_COMPILE_OPTS 
a6c0: 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  = -DSQLITE_ENABL
a6d0: 45 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45  E_JSON1 -DSQLITE
a6e0: 5f 45 4e 41 42 4c 45 5f 46 54 53 35 0a 46 55 5a  _ENABLE_FTS5.FUZ
a6f0: 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45  ZERSHELL_COMPILE
a700: 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45  _OPTS = -DSQLITE
a710: 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a 46 55  _ENABLE_JSON1.FU
a720: 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f  ZZCHECK_COMPILE_
a730: 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f  OPTS = -DSQLITE_
a740: 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53  ENABLE_JSON1 -DS
a750: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4d 45 4d  QLITE_ENABLE_MEM
a760: 53 59 53 35 20 2d 44 53 51 4c 49 54 45 5f 4f 53  SYS5 -DSQLITE_OS
a770: 53 5f 46 55 5a 5a 20 2d 44 53 51 4c 49 54 45 5f  S_FUZZ -DSQLITE_
a780: 4d 41 58 5f 4d 45 4d 4f 52 59 3d 35 30 30 30 30  MAX_MEMORY=50000
a790: 30 30 30 20 2d 44 53 51 4c 49 54 45 5f 50 52 49  000 -DSQLITE_PRI
a7a0: 4e 54 46 5f 50 52 45 43 49 53 49 4f 4e 5f 4c 49  NTF_PRECISION_LI
a7b0: 4d 49 54 3d 31 30 30 30 0a 46 55 5a 5a 43 48 45  MIT=1000.FUZZCHE
a7c0: 43 4b 5f 53 52 43 20 3d 20 24 28 54 4f 50 29 5c  CK_SRC = $(TOP)\
a7d0: 74 65 73 74 5c 66 75 7a 7a 63 68 65 63 6b 2e 63  test\fuzzcheck.c
a7e0: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73   $(TOP)\test\oss
a7f0: 66 75 7a 7a 2e 63 0a 4f 53 53 53 48 45 4c 4c 5f  fuzz.c.OSSSHELL_
a800: 53 52 43 20 3d 20 24 28 54 4f 50 29 5c 74 65 73  SRC = $(TOP)\tes
a810: 74 5c 6f 73 73 73 68 65 6c 6c 2e 63 20 24 28 54  t\ossshell.c $(T
a820: 4f 50 29 5c 74 65 73 74 5c 6f 73 73 66 75 7a 7a  OP)\test\ossfuzz
a830: 2e 63 0a 44 42 46 55 5a 5a 5f 43 4f 4d 50 49 4c  .c.DBFUZZ_COMPIL
a840: 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54  E_OPTS = -DSQLIT
a850: 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d  E_THREADSAFE=0 -
a860: 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41  DSQLITE_OMIT_LOA
a870: 44 5f 45 58 54 45 4e 53 49 4f 4e 0a 4b 56 5f 43  D_EXTENSION.KV_C
a880: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44  OMPILE_OPTS = -D
a890: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
a8a0: 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 44 49 52  E=0 -DSQLITE_DIR
a8b0: 45 43 54 5f 4f 56 45 52 46 4c 4f 57 5f 52 45 41  ECT_OVERFLOW_REA
a8c0: 44 0a 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  D.ST_COMPILE_OPT
a8d0: 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  S = -DSQLITE_THR
a8e0: 45 41 44 53 41 46 45 3d 30 0a 0a 23 20 53 74 61  EADSAFE=0..# Sta
a8f0: 6e 64 61 72 64 20 6f 70 74 69 6f 6e 73 20 74 6f  ndard options to
a900: 20 74 65 73 74 66 69 78 74 75 72 65 2e 0a 23 0a   testfixture..#.
a910: 54 45 53 54 4f 50 54 53 20 3d 20 2d 2d 76 65 72  TESTOPTS = --ver
a920: 62 6f 73 65 3d 66 69 6c 65 20 2d 2d 6f 75 74 70  bose=file --outp
a930: 75 74 3d 74 65 73 74 2d 6f 75 74 2e 74 78 74 0a  ut=test-out.txt.
a940: 0a 23 20 45 78 74 72 61 20 74 61 72 67 65 74 73  .# Extra targets
a950: 20 66 6f 72 20 74 68 65 20 22 61 6c 6c 22 20 74   for the "all" t
a960: 61 72 67 65 74 20 74 68 61 74 20 72 65 71 75 69  arget that requi
a970: 72 65 20 54 63 6c 2e 0a 23 0a 21 49 46 20 24 28  re Tcl..#.!IF $(
a980: 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 41 4c 4c 5f 54  NO_TCL)==0.ALL_T
a990: 43 4c 5f 54 41 52 47 45 54 53 20 3d 20 6c 69 62  CL_TARGETS = lib
a9a0: 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 0a 21  tclsqlite3.lib.!
a9b0: 45 4c 53 45 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52  ELSE.ALL_TCL_TAR
a9c0: 47 45 54 53 20 3d 0a 21 45 4e 44 49 46 0a 23 20  GETS =.!ENDIF.# 
a9d0: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69  <</mark>>..# Thi
a9e0: 73 20 69 73 20 74 68 65 20 64 65 66 61 75 6c 74  s is the default
a9f0: 20 4d 61 6b 65 66 69 6c 65 20 74 61 72 67 65 74   Makefile target
aa00: 2e 20 20 54 68 65 20 6f 62 6a 65 63 74 73 20 6c  .  The objects l
aa10: 69 73 74 65 64 20 68 65 72 65 0a 23 20 61 72 65  isted here.# are
aa20: 20 77 68 61 74 20 67 65 74 20 62 75 69 6c 64 20   what get build 
aa30: 77 68 65 6e 20 79 6f 75 20 74 79 70 65 20 6a 75  when you type ju
aa40: 73 74 20 22 6d 61 6b 65 22 20 77 69 74 68 20 6e  st "make" with n
aa50: 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a 23 0a 63  o arguments..#.c
aa60: 6f 72 65 3a 09 64 6c 6c 20 6c 69 62 73 71 6c 69  ore:.dll libsqli
aa70: 74 65 33 2e 6c 69 62 20 73 68 65 6c 6c 0a 0a 23  te3.lib shell..#
aa80: 20 54 61 72 67 65 74 73 20 74 68 61 74 20 72 65   Targets that re
aa90: 71 75 69 72 65 20 74 68 65 20 54 63 6c 20 6c 69  quire the Tcl li
aaa0: 62 72 61 72 79 2e 0a 23 0a 74 63 6c 3a 09 24 28  brary..#.tcl:.$(
aab0: 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 29  ALL_TCL_TARGETS)
aac0: 0a 0a 23 20 54 68 69 73 20 4d 61 6b 65 66 69 6c  ..# This Makefil
aad0: 65 20 74 61 72 67 65 74 20 62 75 69 6c 64 73 20  e target builds 
aae0: 61 6c 6c 20 6f 66 20 74 68 65 20 73 74 61 6e 64  all of the stand
aaf0: 61 72 64 20 62 69 6e 61 72 69 65 73 2e 0a 23 0a  ard binaries..#.
ab00: 61 6c 6c 3a 09 63 6f 72 65 20 74 63 6c 0a 0a 23  all:.core tcl..#
ab10: 20 44 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69   Dynamic link li
ab20: 62 72 61 72 79 20 73 65 63 74 69 6f 6e 2e 0a 23  brary section..#
ab30: 0a 64 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33 44  .dll:.$(SQLITE3D
ab40: 4c 4c 29 0a 0a 23 20 53 68 65 6c 6c 20 65 78 65  LL)..# Shell exe
ab50: 63 75 74 61 62 6c 65 2e 0a 23 0a 73 68 65 6c 6c  cutable..#.shell
ab60: 3a 09 24 28 53 51 4c 49 54 45 33 45 58 45 29 0a  :.$(SQLITE3EXE).
ab70: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 6c 69 62 73  .# <<mark>>.libs
ab80: 71 6c 69 74 65 33 2e 6c 69 62 3a 09 24 28 4c 49  qlite3.lib:.$(LI
ab90: 42 4f 42 4a 29 0a 09 24 28 4c 54 4c 49 42 29 20  BOBJ)..$(LTLIB) 
aba0: 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 2f 4f 55  $(LTLIBOPTS) /OU
abb0: 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 24  T:$@ $(LIBOBJ) $
abc0: 28 54 4c 49 42 53 29 0a 0a 6c 69 62 74 63 6c 73  (TLIBS)..libtcls
abd0: 71 6c 69 74 65 33 2e 6c 69 62 3a 09 74 63 6c 73  qlite3.lib:.tcls
abe0: 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c 69  qlite.lo libsqli
abf0: 74 65 33 2e 6c 69 62 0a 09 24 28 4c 54 4c 49 42  te3.lib..$(LTLIB
ac00: 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 24  ) $(LTLIBOPTS) $
ac10: 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f 55  (LTLIBPATHS) /OU
ac20: 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2e 6c  T:$@ tclsqlite.l
ac30: 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62  o libsqlite3.lib
ac40: 20 24 28 4c 49 42 54 43 4c 53 54 55 42 29 20 24   $(LIBTCLSTUB) $
ac50: 28 54 4c 49 42 53 29 0a 23 20 3c 3c 2f 6d 61 72  (TLIBS).# <</mar
ac60: 6b 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 33 44 4c  k>>..$(SQLITE3DL
ac70: 4c 29 3a 09 24 28 4c 49 42 4f 42 4a 29 20 24 28  L):.$(LIBOBJ) $(
ac80: 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 43 4f  LIBRESOBJS) $(CO
ac90: 52 45 5f 4c 49 4e 4b 5f 44 45 50 29 0a 09 24 28  RE_LINK_DEP)..$(
aca0: 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24  LD) $(LDFLAGS) $
acb0: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c  (LTLINKOPTS) $(L
acc0: 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20  TLIBPATHS) /DLL 
acd0: 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53  $(CORE_LINK_OPTS
ace0: 29 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42 4f  ) /OUT:$@ $(LIBO
acf0: 42 4a 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  BJ) $(LIBRESOBJS
ad00: 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c  ) $(LTLIBS) $(TL
ad10: 49 42 53 29 0a 0a 23 20 3c 3c 62 6c 6f 63 6b 32  IBS)..# <<block2
ad20: 3e 3e 0a 73 71 6c 69 74 65 33 2e 64 65 66 3a 09  >>.sqlite3.def:.
ad30: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 09  libsqlite3.lib..
ad40: 65 63 68 6f 20 45 58 50 4f 52 54 53 20 3e 20 73  echo EXPORTS > s
ad50: 71 6c 69 74 65 33 2e 64 65 66 0a 09 64 75 6d 70  qlite3.def..dump
ad60: 62 69 6e 20 2f 61 6c 6c 20 6c 69 62 73 71 6c 69  bin /all libsqli
ad70: 74 65 33 2e 6c 69 62 20 5c 0a 09 09 7c 20 24 28  te3.lib \...| $(
ad80: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
ad90: 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
ada0: 63 6c 20 69 6e 63 6c 75 64 65 20 22 5e 5c 73 2b  cl include "^\s+
adb0: 31 20 5f 3f 28 73 71 6c 69 74 65 33 28 3f 3a 73  1 _?(sqlite3(?:s
adc0: 65 73 73 69 6f 6e 7c 63 68 61 6e 67 65 73 65 74  ession|changeset
add0: 7c 63 68 61 6e 67 65 67 72 6f 75 70 7c 72 65 62  |changegroup|reb
ade0: 61 73 65 72 29 3f 5f 5b 5e 40 5d 2a 29 28 3f 3a  aser)?_[^@]*)(?:
adf0: 40 5c 64 2b 29 3f 24 24 22 20 5c 31 20 5c 0a 09  @\d+)?$$" \1 \..
ae00: 09 7c 20 73 6f 72 74 20 3e 3e 20 73 71 6c 69 74  .| sort >> sqlit
ae10: 65 33 2e 64 65 66 0a 23 20 3c 3c 2f 62 6c 6f 63  e3.def.# <</bloc
ae20: 6b 32 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 33 45  k2>>..$(SQLITE3E
ae30: 58 45 29 3a 09 73 68 65 6c 6c 2e 63 20 24 28 53  XE):.shell.c $(S
ae40: 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 20 24  HELL_CORE_DEP) $
ae50: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 53  (LIBRESOBJS) $(S
ae60: 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29 20 24  HELL_CORE_SRC) $
ae70: 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
ae80: 4c 49 4e 4b 29 20 24 28 53 48 45 4c 4c 5f 43 4f  LINK) $(SHELL_CO
ae90: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 52 45  MPILE_OPTS) $(RE
aea0: 41 44 4c 49 4e 45 5f 46 4c 41 47 53 29 20 73 68  ADLINE_FLAGS) sh
aeb0: 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f  ell.c $(SHELL_CO
aec0: 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e  RE_SRC) \.../lin
aed0: 6b 20 24 28 53 51 4c 49 54 45 33 45 58 45 50 44  k $(SQLITE3EXEPD
aee0: 42 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  B) $(LDFLAGS) $(
aef0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 53 48  LTLINKOPTS) $(SH
af00: 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20 24  ELL_LINK_OPTS) $
af10: 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c  (LTLIBPATHS) $(L
af20: 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 49 42  IBRESOBJS) $(LIB
af30: 52 45 41 44 4c 49 4e 45 29 20 24 28 4c 54 4c 49  READLINE) $(LTLI
af40: 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 23 20  BS) $(TLIBS)..# 
af50: 3c 3c 6d 61 72 6b 3e 3e 0a 73 71 6c 64 69 66 66  <<mark>>.sqldiff
af60: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
af70: 6c 5c 73 71 6c 64 69 66 66 2e 63 20 24 28 53 51  l\sqldiff.c $(SQ
af80: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
af90: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
afa0: 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50 29  (NO_WARN) $(TOP)
afb0: 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e 63 20  \tool\sqldiff.c 
afc0: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
afd0: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
afe0: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 64 62 68 61  TLINKOPTS)..dbha
aff0: 73 68 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  sh.exe:.$(TOP)\t
b000: 6f 6f 6c 5c 64 62 68 61 73 68 2e 63 20 24 28 53  ool\dbhash.c $(S
b010: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
b020: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
b030: 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50  $(NO_WARN) $(TOP
b040: 29 5c 74 6f 6f 6c 5c 64 62 68 61 73 68 2e 63 20  )\tool\dbhash.c 
b050: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
b060: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
b070: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 63 72 75  TLINKOPTS)..scru
b080: 62 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78  b.exe:.$(TOP)\ex
b090: 74 5c 6d 69 73 63 5c 73 63 72 75 62 2e 63 20 24  t\misc\scrub.c $
b0a0: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
b0b0: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
b0c0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
b0d0: 43 52 55 42 5f 53 54 41 4e 44 41 4c 4f 4e 45 3d  CRUB_STANDALONE=
b0e0: 31 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  1 $(TOP)\ext\mis
b0f0: 63 5c 73 63 72 75 62 2e 63 20 24 28 53 51 4c 49  c\scrub.c $(SQLI
b100: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
b110: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
b120: 50 54 53 29 0a 0a 73 72 63 63 6b 31 2e 65 78 65  PTS)..srcck1.exe
b130: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 72  :.$(TOP)\tool\sr
b140: 63 63 6b 31 2e 63 0a 09 24 28 42 43 43 29 20 24  cck1.c..$(BCC) $
b150: 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 24 40 20  (NO_WARN) -Fe$@ 
b160: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 72 63 63  $(TOP)\tool\srcc
b170: 6b 31 2e 63 0a 0a 73 6f 75 72 63 65 74 65 73 74  k1.c..sourcetest
b180: 3a 09 73 72 63 63 6b 31 2e 65 78 65 20 73 71 6c  :.srcck1.exe sql
b190: 69 74 65 33 2e 63 0a 09 73 72 63 63 6b 31 2e 65  ite3.c..srcck1.e
b1a0: 78 65 20 73 71 6c 69 74 65 33 2e 63 0a 0a 66 75  xe sqlite3.c..fu
b1b0: 7a 7a 65 72 73 68 65 6c 6c 2e 65 78 65 3a 09 24  zzershell.exe:.$
b1c0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65  (TOP)\tool\fuzze
b1d0: 72 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54  rshell.c $(SQLIT
b1e0: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
b1f0: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
b200: 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 45 52 53  _WARN) $(FUZZERS
b210: 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  HELL_COMPILE_OPT
b220: 53 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66  S) $(TOP)\tool\f
b230: 75 7a 7a 65 72 73 68 65 6c 6c 2e 63 20 24 28 53  uzzershell.c $(S
b240: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
b250: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
b260: 4e 4b 4f 50 54 53 29 0a 0a 64 62 66 75 7a 7a 2e  NKOPTS)..dbfuzz.
b270: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74  exe:.$(TOP)\test
b280: 5c 64 62 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49  \dbfuzz.c $(SQLI
b290: 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
b2a0: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
b2b0: 4f 5f 57 41 52 4e 29 20 24 28 44 42 46 55 5a 5a  O_WARN) $(DBFUZZ
b2c0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
b2d0: 28 54 4f 50 29 5c 74 65 73 74 5c 64 62 66 75 7a  (TOP)\test\dbfuz
b2e0: 7a 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  z.c $(SQLITE3C) 
b2f0: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
b300: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
b310: 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 3a 09 24  fuzzcheck.exe:.$
b320: 28 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43 29 20  (FUZZCHECK_SRC) 
b330: 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
b340: 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
b350: 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28  K) $(NO_WARN) $(
b360: 46 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c  FUZZCHECK_COMPIL
b370: 45 5f 4f 50 54 53 29 20 24 28 46 55 5a 5a 43 48  E_OPTS) $(FUZZCH
b380: 45 43 4b 5f 53 52 43 29 20 24 28 53 51 4c 49 54  ECK_SRC) $(SQLIT
b390: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
b3a0: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
b3b0: 54 53 29 0a 0a 6f 73 73 73 68 65 6c 6c 2e 65 78  TS)..ossshell.ex
b3c0: 65 3a 09 24 28 4f 53 53 53 48 45 4c 4c 5f 53 52  e:.$(OSSSHELL_SR
b3d0: 43 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  C) $(SQLITE3C) $
b3e0: 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
b3f0: 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
b400: 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d   $(FUZZCHECK_COM
b410: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4f 53 53  PILE_OPTS) $(OSS
b420: 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 53 51 4c  SHELL_SRC) $(SQL
b430: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
b440: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
b450: 4f 50 54 53 29 0a 0a 73 65 73 73 69 6f 6e 66 75  OPTS)..sessionfu
b460: 7a 7a 2e 65 78 65 3a 09 7a 6c 69 62 20 24 28 54  zz.exe:.zlib $(T
b470: 4f 50 29 5c 74 65 73 74 5c 73 65 73 73 69 6f 6e  OP)\test\session
b480: 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45 33  fuzz.c $(SQLITE3
b490: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
b4a0: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
b4b0: 41 52 4e 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43  ARN) -I$(ZLIBINC
b4c0: 44 49 52 29 20 24 28 54 4f 50 29 5c 74 65 73 74  DIR) $(TOP)\test
b4d0: 5c 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 63 20 2f  \sessionfuzz.c /
b4e0: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
b4f0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4c  $(LTLINKOPTS) /L
b500: 49 42 50 41 54 48 3a 24 28 5a 4c 49 42 4c 49 42  IBPATH:$(ZLIBLIB
b510: 44 49 52 29 20 24 28 5a 4c 49 42 4c 49 42 29 0a  DIR) $(ZLIBLIB).
b520: 0a 6d 70 74 65 73 74 65 72 2e 65 78 65 3a 09 24  .mptester.exe:.$
b530: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74  (TOP)\mptest\mpt
b540: 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  est.c $(SQLITE3C
b550: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
b560: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
b570: 52 4e 29 20 24 28 4d 50 54 45 53 54 45 52 5f 43  RN) $(MPTESTER_C
b580: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54  OMPILE_OPTS) $(T
b590: 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73  OP)\mptest\mptes
b5a0: 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
b5b0: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
b5c0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
b5d0: 4d 50 54 45 53 54 31 20 3d 20 6d 70 74 65 73 74  MPTEST1 = mptest
b5e0: 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24 28 54  er mptest.db $(T
b5f0: 4f 50 29 5c 6d 70 74 65 73 74 5c 63 72 61 73 68  OP)\mptest\crash
b600: 30 31 2e 74 65 73 74 20 2d 2d 72 65 70 65 61 74  01.test --repeat
b610: 20 32 30 0a 4d 50 54 45 53 54 32 20 3d 20 6d 70   20.MPTEST2 = mp
b620: 74 65 73 74 65 72 20 6d 70 74 65 73 74 2e 64 62  tester mptest.db
b630: 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d   $(TOP)\mptest\m
b640: 75 6c 74 69 77 72 69 74 65 30 31 2e 74 65 73 74  ultiwrite01.test
b650: 20 2d 2d 72 65 70 65 61 74 20 32 30 0a 0a 6d 70   --repeat 20..mp
b660: 74 65 73 74 3a 09 6d 70 74 65 73 74 65 72 2e 65  test:.mptester.e
b670: 78 65 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 73  xe..del /Q mptes
b680: 74 2e 64 62 20 32 3e 4e 55 4c 0a 09 24 28 4d 50  t.db 2>NUL..$(MP
b690: 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c  TEST1) --journal
b6a0: 6d 6f 64 65 20 44 45 4c 45 54 45 0a 09 24 28 4d  mode DELETE..$(M
b6b0: 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61  PTEST2) --journa
b6c0: 6c 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54  lmode WAL..$(MPT
b6d0: 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST1) --journalm
b6e0: 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53  ode WAL..$(MPTES
b6f0: 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T2) --journalmod
b700: 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54  e PERSIST..$(MPT
b710: 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST1) --journalm
b720: 6f 64 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d  ode PERSIST..$(M
b730: 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61  PTEST2) --journa
b740: 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45 0a 09  lmode TRUNCATE..
b750: 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75  $(MPTEST1) --jou
b760: 72 6e 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54  rnalmode TRUNCAT
b770: 45 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d  E..$(MPTEST2) --
b780: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c 45  journalmode DELE
b790: 54 45 0a 0a 23 20 54 68 69 73 20 74 61 72 67 65  TE..# This targe
b7a0: 74 20 63 72 65 61 74 65 73 20 61 20 64 69 72 65  t creates a dire
b7b0: 63 74 6f 72 79 20 6e 61 6d 65 64 20 22 74 73 72  ctory named "tsr
b7c0: 63 22 20 61 6e 64 20 66 69 6c 6c 73 20 69 74 20  c" and fills it 
b7d0: 77 69 74 68 0a 23 20 63 6f 70 69 65 73 20 6f 66  with.# copies of
b7e0: 20 61 6c 6c 20 6f 66 20 74 68 65 20 43 20 73 6f   all of the C so
b7f0: 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20 68 65  urce code and he
b800: 61 64 65 72 20 66 69 6c 65 73 20 6e 65 65 64 65  ader files neede
b810: 64 20 74 6f 0a 23 20 62 75 69 6c 64 20 6f 6e 20  d to.# build on 
b820: 74 68 65 20 74 61 72 67 65 74 20 73 79 73 74 65  the target syste
b830: 6d 2e 20 20 53 6f 6d 65 20 6f 66 20 74 68 65 20  m.  Some of the 
b840: 43 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e  C source code an
b850: 64 20 68 65 61 64 65 72 0a 23 20 66 69 6c 65 73  d header.# files
b860: 20 61 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c   are automatical
b870: 6c 79 20 67 65 6e 65 72 61 74 65 64 2e 20 20 54  ly generated.  T
b880: 68 69 73 20 74 61 72 67 65 74 20 74 61 6b 65 73  his target takes
b890: 20 63 61 72 65 20 6f 66 0a 23 20 61 6c 6c 20 74   care of.# all t
b8a0: 68 61 74 20 61 75 74 6f 6d 61 74 69 63 20 67 65  hat automatic ge
b8b0: 6e 65 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74 61 72  neration..#..tar
b8c0: 67 65 74 5f 73 6f 75 72 63 65 3a 09 24 28 53 52  get_source:.$(SR
b8d0: 43 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76  C) $(TOP)\tool\v
b8e0: 64 62 65 2d 63 6f 6d 70 72 65 73 73 2e 74 63 6c  dbe-compress.tcl
b8f0: 20 66 74 73 35 2e 63 20 24 28 53 51 4c 49 54 45   fts5.c $(SQLITE
b900: 5f 54 43 4c 5f 44 45 50 29 0a 09 2d 72 6d 64 69  _TCL_DEP)..-rmdi
b910: 72 20 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e 55  r /Q/S tsrc 2>NU
b920: 4c 0a 09 2d 6d 6b 64 69 72 20 74 73 72 63 0a 09  L..-mkdir tsrc..
b930: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC
b940: 30 30 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  00)) do copy /Y 
b950: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i 
b960: 69 6e 20 28 24 28 53 52 43 30 31 29 29 20 64 6f  in ($(SRC01)) do
b970: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
b980: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S
b990: 52 43 30 33 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC03)) do copy /
b9a0: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
b9b0: 69 20 69 6e 20 28 24 28 53 52 43 30 34 29 29 20  i in ($(SRC04)) 
b9c0: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
b9d0: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($
b9e0: 28 53 52 43 30 35 29 29 20 64 6f 20 63 6f 70 79  (SRC05)) do copy
b9f0: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
ba00: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 36 29   %i in ($(SRC06)
ba10: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i 
ba20: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in 
ba30: 28 24 28 53 52 43 30 37 29 29 20 64 6f 20 63 6f  ($(SRC07)) do co
ba40: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
ba50: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30  or %i in ($(SRC0
ba60: 38 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  8)) do copy /Y %
ba70: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
ba80: 6e 20 28 24 28 53 52 43 30 39 29 29 20 64 6f 20  n ($(SRC09)) do 
ba90: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
baa0: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR
bab0: 43 31 30 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C10)) do copy /Y
bac0: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69   %i tsrc..for %i
bad0: 20 69 6e 20 28 24 28 53 52 43 31 31 29 29 20 64   in ($(SRC11)) d
bae0: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
baf0: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($(
bb00: 53 52 43 31 32 29 29 20 64 6f 20 63 6f 70 79 20  SRC12)) do copy 
bb10: 2f 59 20 25 69 20 74 73 72 63 0a 09 63 6f 70 79  /Y %i tsrc..copy
bb20: 20 2f 59 20 66 74 73 35 2e 63 20 74 73 72 63 0a   /Y fts5.c tsrc.
bb30: 09 63 6f 70 79 20 2f 59 20 66 74 73 35 2e 68 20  .copy /Y fts5.h 
bb40: 74 73 72 63 0a 09 64 65 6c 20 2f 51 20 74 73 72  tsrc..del /Q tsr
bb50: 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20 74 73  c\sqlite.h.in ts
bb60: 72 63 5c 70 61 72 73 65 2e 79 20 32 3e 4e 55 4c  rc\parse.y 2>NUL
bb70: 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  ..$(TCLSH_CMD) $
bb80: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d  (TOP)\tool\vdbe-
bb90: 63 6f 6d 70 72 65 73 73 2e 74 63 6c 20 24 28 4f  compress.tcl $(O
bba0: 50 54 53 29 20 3c 20 74 73 72 63 5c 76 64 62 65  PTS) < tsrc\vdbe
bbb0: 2e 63 20 3e 20 76 64 62 65 2e 6e 65 77 0a 09 6d  .c > vdbe.new..m
bbc0: 6f 76 65 20 76 64 62 65 2e 6e 65 77 20 74 73 72  ove vdbe.new tsr
bbd0: 63 5c 76 64 62 65 2e 63 0a 09 65 63 68 6f 20 3e  c\vdbe.c..echo >
bbe0: 20 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 0a   .target_source.
bbf0: 0a 73 71 6c 69 74 65 33 2e 63 3a 09 2e 74 61 72  .sqlite3.c:..tar
bc00: 67 65 74 5f 73 6f 75 72 63 65 20 73 71 6c 69 74  get_source sqlit
bc10: 65 33 65 78 74 2e 68 20 24 28 4d 4b 53 51 4c 49  e3ext.h $(MKSQLI
bc20: 54 45 33 43 5f 54 4f 4f 4c 29 0a 09 24 28 54 43  TE3C_TOOL)..$(TC
bc30: 4c 53 48 5f 43 4d 44 29 20 24 28 4d 4b 53 51 4c  LSH_CMD) $(MKSQL
bc40: 49 54 45 33 43 5f 54 4f 4f 4c 29 20 24 28 4d 4b  ITE3C_TOOL) $(MK
bc50: 53 51 4c 49 54 45 33 43 5f 41 52 47 53 29 0a 09  SQLITE3C_ARGS)..
bc60: 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c  copy $(TOP)\ext\
bc70: 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73  session\sqlite3s
bc80: 65 73 73 69 6f 6e 2e 68 20 2e 0a 0a 73 71 6c 69  ession.h ...sqli
bc90: 74 65 33 2d 61 6c 6c 2e 63 3a 09 73 71 6c 69 74  te3-all.c:.sqlit
bca0: 65 33 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  e3.c $(TOP)\tool
bcb0: 5c 73 70 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e  \split-sqlite3c.
bcc0: 74 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44  tcl..$(TCLSH_CMD
bcd0: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70  ) $(TOP)\tool\sp
bce0: 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c  lit-sqlite3c.tcl
bcf0: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20  .# <</mark>>..# 
bd00: 52 75 6c 65 20 74 6f 20 62 75 69 6c 64 20 74 68  Rule to build th
bd10: 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a 23  e amalgamation.#
bd20: 0a 73 71 6c 69 74 65 33 2e 6c 6f 3a 09 24 28 53  .sqlite3.lo:.$(S
bd30: 51 4c 49 54 45 33 43 29 0a 09 24 28 4c 54 43 4f  QLITE3C)..$(LTCO
bd40: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
bd50: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
bd60: 28 53 51 4c 49 54 45 33 43 29 0a 0a 23 20 3c 3c  (SQLITE3C)..# <<
bd70: 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74  mark>>.# Rules t
bd80: 6f 20 62 75 69 6c 64 20 74 68 65 20 4c 45 4d 4f  o build the LEMO
bd90: 4e 20 63 6f 6d 70 69 6c 65 72 20 67 65 6e 65 72  N compiler gener
bda0: 61 74 6f 72 0a 23 0a 6c 65 6d 70 61 72 2e 63 3a  ator.#.lempar.c:
bdb0: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d  .$(TOP)\tool\lem
bdc0: 70 61 72 2e 63 0a 09 63 6f 70 79 20 24 28 54 4f  par.c..copy $(TO
bdd0: 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63  P)\tool\lempar.c
bde0: 20 2e 0a 0a 6c 65 6d 6f 6e 2e 65 78 65 3a 09 24   ...lemon.exe:.$
bdf0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e  (TOP)\tool\lemon
be00: 2e 63 20 6c 65 6d 70 61 72 2e 63 0a 09 24 28 42  .c lempar.c..$(B
be10: 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  CC) $(NO_WARN) -
be20: 44 61 63 63 65 73 73 3d 5f 61 63 63 65 73 73 20  Daccess=_access 
be30: 5c 0a 09 09 2d 46 65 24 40 20 24 28 54 4f 50 29  \...-Fe$@ $(TOP)
be40: 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 2f 6c  \tool\lemon.c /l
be50: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
be60: 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  (NLTLINKOPTS) $(
be70: 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 20  NLTLIBPATHS)..# 
be80: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73  <<mark>>.# Rules
be90: 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 73 6f   to build the so
bea0: 75 72 63 65 2d 69 64 20 67 65 6e 65 72 61 74 6f  urce-id generato
beb0: 72 20 74 6f 6f 6c 0a 23 0a 6d 6b 73 6f 75 72 63  r tool.#.mksourc
bec0: 65 69 64 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  eid.exe:.$(TOP)\
bed0: 74 6f 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 64 2e  tool\mksourceid.
bee0: 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57  c..$(BCC) $(NO_W
bef0: 41 52 4e 29 20 2d 46 65 24 40 20 24 28 54 4f 50  ARN) -Fe$@ $(TOP
bf00: 29 5c 74 6f 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69  )\tool\mksourcei
bf10: 64 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  d.c /link $(LDFL
bf20: 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50  AGS) $(NLTLINKOP
bf30: 54 53 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48  TS) $(NLTLIBPATH
bf40: 53 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62  S)..# Rules to b
bf50: 75 69 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20  uild individual 
bf60: 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20  *.lo files from 
bf70: 67 65 6e 65 72 61 74 65 64 20 2a 2e 63 20 66 69  generated *.c fi
bf80: 6c 65 73 2e 20 54 68 69 73 0a 23 20 61 70 70 6c  les. This.# appl
bf90: 69 65 73 20 74 6f 3a 0a 23 0a 23 20 20 20 20 20  ies to:.#.#     
bfa0: 70 61 72 73 65 2e 6c 6f 0a 23 20 20 20 20 20 6f  parse.lo.#     o
bfb0: 70 63 6f 64 65 73 2e 6c 6f 0a 23 0a 70 61 72 73  pcodes.lo.#.pars
bfc0: 65 2e 6c 6f 3a 09 70 61 72 73 65 2e 63 20 24 28  e.lo:.parse.c $(
bfd0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
bfe0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
bff0: 45 5f 4f 50 54 53 29 20 2d 63 20 70 61 72 73 65  E_OPTS) -c parse
c000: 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e 6c 6f 3a 09  .c..opcodes.lo:.
c010: 6f 70 63 6f 64 65 73 2e 63 0a 09 24 28 4c 54 43  opcodes.c..$(LTC
c020: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
c030: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
c040: 6f 70 63 6f 64 65 73 2e 63 0a 23 20 3c 3c 2f 6d  opcodes.c.# <</m
c050: 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f  ark>>..# Rule to
c060: 20 62 75 69 6c 64 20 74 68 65 20 57 69 6e 33 32   build the Win32
c070: 20 72 65 73 6f 75 72 63 65 73 20 6f 62 6a 65 63   resources objec
c080: 74 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28  t file..#.!IF $(
c090: 55 53 45 5f 52 43 29 21 3d 30 0a 23 20 3c 3c 62  USE_RC)!=0.# <<b
c0a0: 6c 6f 63 6b 31 3e 3e 0a 24 28 4c 49 42 52 45 53  lock1>>.$(LIBRES
c0b0: 4f 42 4a 53 29 3a 09 24 28 54 4f 50 29 5c 73 72  OBJS):.$(TOP)\sr
c0c0: 63 5c 73 71 6c 69 74 65 33 2e 72 63 20 24 28 53  c\sqlite3.rc $(S
c0d0: 51 4c 49 54 45 33 48 29 0a 09 65 63 68 6f 20 23  QLITE3H)..echo #
c0e0: 69 66 6e 64 65 66 20 53 51 4c 49 54 45 5f 52 45  ifndef SQLITE_RE
c0f0: 53 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 3e  SOURCE_VERSION >
c100: 20 73 71 6c 69 74 65 33 72 63 2e 68 0a 09 66 6f   sqlite3rc.h..fo
c110: 72 20 2f 46 20 25 25 56 20 69 6e 20 28 27 74 79  r /F %%V in ('ty
c120: 70 65 20 22 24 28 54 4f 50 29 5c 56 45 52 53 49  pe "$(TOP)\VERSI
c130: 4f 4e 22 27 29 20 64 6f 20 28 20 5c 0a 09 09 65  ON"') do ( \...e
c140: 63 68 6f 20 23 64 65 66 69 6e 65 20 53 51 4c 49  cho #define SQLI
c150: 54 45 5f 52 45 53 4f 55 52 43 45 5f 56 45 52 53  TE_RESOURCE_VERS
c160: 49 4f 4e 20 25 25 56 20 5c 0a 09 09 09 7c 20 24  ION %%V \....| $
c170: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
c180: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
c190: 74 63 6c 20 65 78 61 63 74 20 2e 20 5e 2c 20 3e  tcl exact . ^, >
c1a0: 3e 20 73 71 6c 69 74 65 33 72 63 2e 68 20 5c 0a  > sqlite3rc.h \.
c1b0: 09 29 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 20  .)..echo #endif 
c1c0: 3e 3e 20 73 71 6c 69 74 65 33 72 63 2e 68 0a 09  >> sqlite3rc.h..
c1d0: 24 28 4c 54 52 43 4f 4d 50 49 4c 45 29 20 2d 66  $(LTRCOMPILE) -f
c1e0: 6f 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20  o $(LIBRESOBJS) 
c1f0: 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74  $(TOP)\src\sqlit
c200: 65 33 2e 72 63 0a 23 20 3c 3c 2f 62 6c 6f 63 6b  e3.rc.# <</block
c210: 31 3e 3e 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c  1>>.!ENDIF..# <<
c220: 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74  mark>>.# Rules t
c230: 6f 20 62 75 69 6c 64 20 69 6e 64 69 76 69 64 75  o build individu
c240: 61 6c 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72  al *.lo files fr
c250: 6f 6d 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20  om files in the 
c260: 73 72 63 20 64 69 72 65 63 74 6f 72 79 2e 0a 23  src directory..#
c270: 0a 61 6c 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50  .alter.lo:.$(TOP
c280: 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20 24 28  )\src\alter.c $(
c290: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
c2a0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
c2b0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
c2c0: 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63 0a 0a 61  )\src\alter.c..a
c2d0: 6e 61 6c 79 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50  nalyze.lo:.$(TOP
c2e0: 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20  )\src\analyze.c 
c2f0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c300: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c310: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c320: 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e  OP)\src\analyze.
c330: 63 0a 0a 61 74 74 61 63 68 2e 6c 6f 3a 09 24 28  c..attach.lo:.$(
c340: 54 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e  TOP)\src\attach.
c350: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c360: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c370: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c380: 28 54 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68  (TOP)\src\attach
c390: 2e 63 0a 0a 61 75 74 68 2e 6c 6f 3a 09 24 28 54  .c..auth.lo:.$(T
c3a0: 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 20 24  OP)\src\auth.c $
c3b0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
c3c0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
c3d0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
c3e0: 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 0a 0a 62  P)\src\auth.c..b
c3f0: 61 63 6b 75 70 2e 6c 6f 3a 09 24 28 54 4f 50 29  ackup.lo:.$(TOP)
c400: 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63 20 24 28  \src\backup.c $(
c410: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
c420: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
c430: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
c440: 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63 0a 0a  )\src\backup.c..
c450: 62 69 74 76 65 63 2e 6c 6f 3a 09 24 28 54 4f 50  bitvec.lo:.$(TOP
c460: 29 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 20 24  )\src\bitvec.c $
c470: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
c480: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
c490: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
c4a0: 50 29 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 0a  P)\src\bitvec.c.
c4b0: 0a 62 74 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54  .btmutex.lo:.$(T
c4c0: 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e  OP)\src\btmutex.
c4d0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c4e0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c4f0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c500: 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65  (TOP)\src\btmute
c510: 78 2e 63 0a 0a 62 74 72 65 65 2e 6c 6f 3a 09 24  x.c..btree.lo:.$
c520: 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e  (TOP)\src\btree.
c530: 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c  c $(HDR) $(TOP)\
c540: 73 72 63 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c  src\pager.h..$(L
c550: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c560: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c570: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72  c $(TOP)\src\btr
c580: 65 65 2e 63 0a 0a 62 75 69 6c 64 2e 6c 6f 3a 09  ee.c..build.lo:.
c590: 24 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64  $(TOP)\src\build
c5a0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c5b0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
c5c0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
c5d0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64  $(TOP)\src\build
c5e0: 2e 63 0a 0a 63 61 6c 6c 62 61 63 6b 2e 6c 6f 3a  .c..callback.lo:
c5f0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c  .$(TOP)\src\call
c600: 62 61 63 6b 2e 63 20 24 28 48 44 52 29 0a 09 24  back.c $(HDR)..$
c610: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c620: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c630: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63   -c $(TOP)\src\c
c640: 61 6c 6c 62 61 63 6b 2e 63 0a 0a 63 6f 6d 70 6c  allback.c..compl
c650: 65 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ete.lo:.$(TOP)\s
c660: 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 24 28  rc\complete.c $(
c670: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
c680: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
c690: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
c6a0: 29 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63  )\src\complete.c
c6b0: 0a 0a 63 74 69 6d 65 2e 6c 6f 3a 09 24 28 54 4f  ..ctime.lo:.$(TO
c6c0: 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20 24  P)\src\ctime.c $
c6d0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
c6e0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
c6f0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
c700: 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 0a 0a  P)\src\ctime.c..
c710: 64 61 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  date.lo:.$(TOP)\
c720: 73 72 63 5c 64 61 74 65 2e 63 20 24 28 48 44 52  src\date.c $(HDR
c730: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
c740: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
c750: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
c760: 72 63 5c 64 61 74 65 2e 63 0a 0a 64 62 70 61 67  rc\date.c..dbpag
c770: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
c780: 5c 64 62 70 61 67 65 2e 63 20 24 28 48 44 52 29  \dbpage.c $(HDR)
c790: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c7a0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c7b0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c7c0: 63 5c 64 62 70 61 67 65 2e 63 0a 0a 64 62 73 74  c\dbpage.c..dbst
c7d0: 61 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  at.lo:.$(TOP)\sr
c7e0: 63 5c 64 62 73 74 61 74 2e 63 20 24 28 48 44 52  c\dbstat.c $(HDR
c7f0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
c800: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
c810: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
c820: 72 63 5c 64 62 73 74 61 74 2e 63 0a 0a 64 65 6c  rc\dbstat.c..del
c830: 65 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ete.lo:.$(TOP)\s
c840: 72 63 5c 64 65 6c 65 74 65 2e 63 20 24 28 48 44  rc\delete.c $(HD
c850: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c860: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c870: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c880: 73 72 63 5c 64 65 6c 65 74 65 2e 63 0a 0a 65 78  src\delete.c..ex
c890: 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  pr.lo:.$(TOP)\sr
c8a0: 63 5c 65 78 70 72 2e 63 20 24 28 48 44 52 29 0a  c\expr.c $(HDR).
c8b0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c8c0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c8d0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c8e0: 5c 65 78 70 72 2e 63 0a 0a 66 61 75 6c 74 2e 6c  \expr.c..fault.l
c8f0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 61  o:.$(TOP)\src\fa
c900: 75 6c 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ult.c $(HDR)..$(
c910: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c920: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c930: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 61  -c $(TOP)\src\fa
c940: 75 6c 74 2e 63 0a 0a 66 6b 65 79 2e 6c 6f 3a 09  ult.c..fkey.lo:.
c950: 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e  $(TOP)\src\fkey.
c960: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c970: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c980: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c990: 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63  (TOP)\src\fkey.c
c9a0: 0a 0a 66 75 6e 63 2e 6c 6f 3a 09 24 28 54 4f 50  ..func.lo:.$(TOP
c9b0: 29 5c 73 72 63 5c 66 75 6e 63 2e 63 20 24 28 48  )\src\func.c $(H
c9c0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c9d0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c9e0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c9f0: 5c 73 72 63 5c 66 75 6e 63 2e 63 0a 0a 67 6c 6f  \src\func.c..glo
ca00: 62 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  bal.lo:.$(TOP)\s
ca10: 72 63 5c 67 6c 6f 62 61 6c 2e 63 20 24 28 48 44  rc\global.c $(HD
ca20: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
ca30: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
ca40: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
ca50: 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 0a 0a 68 61  src\global.c..ha
ca60: 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  sh.lo:.$(TOP)\sr
ca70: 63 5c 68 61 73 68 2e 63 20 24 28 48 44 52 29 0a  c\hash.c $(HDR).
ca80: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
ca90: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
caa0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
cab0: 5c 68 61 73 68 2e 63 0a 0a 69 6e 73 65 72 74 2e  \hash.c..insert.
cac0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 69  lo:.$(TOP)\src\i
cad0: 6e 73 65 72 74 2e 63 20 24 28 48 44 52 29 0a 09  nsert.c $(HDR)..
cae0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
caf0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
cb00: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
cb10: 69 6e 73 65 72 74 2e 63 0a 0a 6c 65 67 61 63 79  insert.c..legacy
cb20: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
cb30: 6c 65 67 61 63 79 2e 63 20 24 28 48 44 52 29 0a  legacy.c $(HDR).
cb40: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
cb50: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
cb60: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
cb70: 5c 6c 65 67 61 63 79 2e 63 0a 0a 6c 6f 61 64 65  \legacy.c..loade
cb80: 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  xt.lo:.$(TOP)\sr
cb90: 63 5c 6c 6f 61 64 65 78 74 2e 63 20 24 28 48 44  c\loadext.c $(HD
cba0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
cbb0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
cbc0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
cbd0: 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 0a 0a 6d  src\loadext.c..m
cbe0: 61 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ain.lo:.$(TOP)\s
cbf0: 72 63 5c 6d 61 69 6e 2e 63 20 24 28 48 44 52 29  rc\main.c $(HDR)
cc00: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cc10: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cc20: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cc30: 63 5c 6d 61 69 6e 2e 63 0a 0a 6d 61 6c 6c 6f 63  c\main.c..malloc
cc40: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
cc50: 6d 61 6c 6c 6f 63 2e 63 20 24 28 48 44 52 29 0a  malloc.c $(HDR).
cc60: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
cc70: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
cc80: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
cc90: 5c 6d 61 6c 6c 6f 63 2e 63 0a 0a 6d 65 6d 30 2e  \malloc.c..mem0.
cca0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m
ccb0: 65 6d 30 2e 63 20 24 28 48 44 52 29 0a 09 24 28  em0.c $(HDR)..$(
ccc0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
ccd0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
cce0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  -c $(TOP)\src\me
ccf0: 6d 30 2e 63 0a 0a 6d 65 6d 31 2e 6c 6f 3a 09 24  m0.c..mem1.lo:.$
cd00: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63  (TOP)\src\mem1.c
cd10: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
cd20: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
cd30: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
cd40: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 0a  TOP)\src\mem1.c.
cd50: 0a 6d 65 6d 32 2e 6c 6f 3a 09 24 28 54 4f 50 29  .mem2.lo:.$(TOP)
cd60: 5c 73 72 63 5c 6d 65 6d 32 2e 63 20 24 28 48 44  \src\mem2.c $(HD
cd70: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
cd80: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
cd90: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
cda0: 73 72 63 5c 6d 65 6d 32 2e 63 0a 0a 6d 65 6d 33  src\mem2.c..mem3
cdb0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
cdc0: 6d 65 6d 33 2e 63 20 24 28 48 44 52 29 0a 09 24  mem3.c $(HDR)..$
cdd0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
cde0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
cdf0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
ce00: 65 6d 33 2e 63 0a 0a 6d 65 6d 35 2e 6c 6f 3a 09  em3.c..mem5.lo:.
ce10: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e  $(TOP)\src\mem5.
ce20: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
ce30: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
ce40: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
ce50: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63  (TOP)\src\mem5.c
ce60: 0a 0a 6d 65 6d 64 62 2e 6c 6f 3a 09 24 28 54 4f  ..memdb.lo:.$(TO
ce70: 50 29 5c 73 72 63 5c 6d 65 6d 64 62 2e 63 20 24  P)\src\memdb.c $
ce80: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
ce90: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
cea0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
ceb0: 50 29 5c 73 72 63 5c 6d 65 6d 64 62 2e 63 0a 0a  P)\src\memdb.c..
cec0: 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 3a 09 24  memjournal.lo:.$
ced0: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75  (TOP)\src\memjou
cee0: 72 6e 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24  rnal.c $(HDR)..$
cef0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
cf00: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
cf10: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
cf20: 65 6d 6a 6f 75 72 6e 61 6c 2e 63 0a 0a 6d 75 74  emjournal.c..mut
cf30: 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ex.lo:.$(TOP)\sr
cf40: 63 5c 6d 75 74 65 78 2e 63 20 24 28 48 44 52 29  c\mutex.c $(HDR)
cf50: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cf60: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cf70: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cf80: 63 5c 6d 75 74 65 78 2e 63 0a 0a 6d 75 74 65 78  c\mutex.c..mutex
cf90: 5f 6e 6f 6f 70 2e 6c 6f 3a 09 24 28 54 4f 50 29  _noop.lo:.$(TOP)
cfa0: 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e  \src\mutex_noop.
cfb0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
cfc0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
cfd0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
cfe0: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
cff0: 6e 6f 6f 70 2e 63 0a 0a 6d 75 74 65 78 5f 75 6e  noop.c..mutex_un
d000: 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ix.lo:.$(TOP)\sr
d010: 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63 20 24  c\mutex_unix.c $
d020: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d030: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d040: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d050: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69  P)\src\mutex_uni
d060: 78 2e 63 0a 0a 6d 75 74 65 78 5f 77 33 32 2e 6c  x.c..mutex_w32.l
d070: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  o:.$(TOP)\src\mu
d080: 74 65 78 5f 77 33 32 2e 63 20 24 28 48 44 52 29  tex_w32.c $(HDR)
d090: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d0a0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d0b0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d0c0: 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 0a 0a 6e  c\mutex_w32.c..n
d0d0: 6f 74 69 66 79 2e 6c 6f 3a 09 24 28 54 4f 50 29  otify.lo:.$(TOP)
d0e0: 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63 20 24 28  \src\notify.c $(
d0f0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d100: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d110: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d120: 29 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63 0a 0a  )\src\notify.c..
d130: 70 61 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29  pager.lo:.$(TOP)
d140: 5c 73 72 63 5c 70 61 67 65 72 2e 63 20 24 28 48  \src\pager.c $(H
d150: 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  DR) $(TOP)\src\p
d160: 61 67 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50  ager.h..$(LTCOMP
d170: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d180: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d190: 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 0a  OP)\src\pager.c.
d1a0: 0a 70 63 61 63 68 65 2e 6c 6f 3a 09 24 28 54 4f  .pcache.lo:.$(TO
d1b0: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 20  P)\src\pcache.c 
d1c0: 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72  $(HDR) $(TOP)\sr
d1d0: 63 5c 70 63 61 63 68 65 2e 68 0a 09 24 28 4c 54  c\pcache.h..$(LT
d1e0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d1f0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d200: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63   $(TOP)\src\pcac
d210: 68 65 2e 63 0a 0a 70 63 61 63 68 65 31 2e 6c 6f  he.c..pcache1.lo
d220: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61  :.$(TOP)\src\pca
d230: 63 68 65 31 2e 63 20 24 28 48 44 52 29 20 24 28  che1.c $(HDR) $(
d240: 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e  TOP)\src\pcache.
d250: 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  h..$(LTCOMPILE) 
d260: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
d270: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
d280: 72 63 5c 70 63 61 63 68 65 31 2e 63 0a 0a 6f 73  rc\pcache1.c..os
d290: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d2a0: 6f 73 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  os.c $(HDR)..$(L
d2b0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d2c0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d2d0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e  c $(TOP)\src\os.
d2e0: 63 0a 0a 6f 73 5f 75 6e 69 78 2e 6c 6f 3a 09 24  c..os_unix.lo:.$
d2f0: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69  (TOP)\src\os_uni
d300: 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  x.c $(HDR)..$(LT
d310: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d320: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d330: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75   $(TOP)\src\os_u
d340: 6e 69 78 2e 63 0a 0a 6f 73 5f 77 69 6e 2e 6c 6f  nix.c..os_win.lo
d350: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f  :.$(TOP)\src\os_
d360: 77 69 6e 2e 63 20 24 28 48 44 52 29 0a 09 24 28  win.c $(HDR)..$(
d370: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d380: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d390: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  -c $(TOP)\src\os
d3a0: 5f 77 69 6e 2e 63 0a 0a 70 72 61 67 6d 61 2e 6c  _win.c..pragma.l
d3b0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  o:.$(TOP)\src\pr
d3c0: 61 67 6d 61 2e 63 20 24 28 48 44 52 29 0a 09 24  agma.c $(HDR)..$
d3d0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d3e0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d3f0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70   -c $(TOP)\src\p
d400: 72 61 67 6d 61 2e 63 0a 0a 70 72 65 70 61 72 65  ragma.c..prepare
d410: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d420: 70 72 65 70 61 72 65 2e 63 20 24 28 48 44 52 29  prepare.c $(HDR)
d430: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d440: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d450: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d460: 63 5c 70 72 65 70 61 72 65 2e 63 0a 0a 70 72 69  c\prepare.c..pri
d470: 6e 74 66 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ntf.lo:.$(TOP)\s
d480: 72 63 5c 70 72 69 6e 74 66 2e 63 20 24 28 48 44  rc\printf.c $(HD
d490: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d4a0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d4b0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d4c0: 73 72 63 5c 70 72 69 6e 74 66 2e 63 0a 0a 72 61  src\printf.c..ra
d4d0: 6e 64 6f 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  ndom.lo:.$(TOP)\
d4e0: 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 24 28 48  src\random.c $(H
d4f0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d500: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d510: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d520: 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 0a 0a 72  \src\random.c..r
d530: 65 73 6f 6c 76 65 2e 6c 6f 3a 09 24 28 54 4f 50  esolve.lo:.$(TOP
d540: 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 20  )\src\resolve.c 
d550: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d560: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d570: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d580: 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e  OP)\src\resolve.
d590: 63 0a 0a 72 6f 77 73 65 74 2e 6c 6f 3a 09 24 28  c..rowset.lo:.$(
d5a0: 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e  TOP)\src\rowset.
d5b0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d5c0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d5d0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d5e0: 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65 74  (TOP)\src\rowset
d5f0: 2e 63 0a 0a 73 65 6c 65 63 74 2e 6c 6f 3a 09 24  .c..select.lo:.$
d600: 28 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74  (TOP)\src\select
d610: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d620: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d630: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d640: 24 28 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63  $(TOP)\src\selec
d650: 74 2e 63 0a 0a 73 74 61 74 75 73 2e 6c 6f 3a 09  t.c..status.lo:.
d660: 24 28 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75  $(TOP)\src\statu
d670: 73 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  s.c $(HDR)..$(LT
d680: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d690: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d6a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 74 61 74   $(TOP)\src\stat
d6b0: 75 73 2e 63 0a 0a 74 61 62 6c 65 2e 6c 6f 3a 09  us.c..table.lo:.
d6c0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65  $(TOP)\src\table
d6d0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d6e0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d6f0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d700: 24 28 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65  $(TOP)\src\table
d710: 2e 63 0a 0a 74 68 72 65 61 64 73 2e 6c 6f 3a 09  .c..threads.lo:.
d720: 24 28 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61  $(TOP)\src\threa
d730: 64 73 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ds.c $(HDR)..$(L
d740: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d750: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d760: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 68 72  c $(TOP)\src\thr
d770: 65 61 64 73 2e 63 0a 0a 74 6f 6b 65 6e 69 7a 65  eads.c..tokenize
d780: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d790: 74 6f 6b 65 6e 69 7a 65 2e 63 20 6b 65 79 77 6f  tokenize.c keywo
d7a0: 72 64 68 61 73 68 2e 68 20 24 28 48 44 52 29 0a  rdhash.h $(HDR).
d7b0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d7c0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d7d0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d7e0: 5c 74 6f 6b 65 6e 69 7a 65 2e 63 0a 0a 74 72 65  \tokenize.c..tre
d7f0: 65 76 69 65 77 2e 6c 6f 3a 09 24 28 54 4f 50 29  eview.lo:.$(TOP)
d800: 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63 20  \src\treeview.c 
d810: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d820: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d830: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d840: 4f 50 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77  OP)\src\treeview
d850: 2e 63 0a 0a 74 72 69 67 67 65 72 2e 6c 6f 3a 09  .c..trigger.lo:.
d860: 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67  $(TOP)\src\trigg
d870: 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  er.c $(HDR)..$(L
d880: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d890: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d8a0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 69  c $(TOP)\src\tri
d8b0: 67 67 65 72 2e 63 0a 0a 75 70 64 61 74 65 2e 6c  gger.c..update.l
d8c0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 70  o:.$(TOP)\src\up
d8d0: 64 61 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24  date.c $(HDR)..$
d8e0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d8f0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d900: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75   -c $(TOP)\src\u
d910: 70 64 61 74 65 2e 63 0a 0a 75 70 73 65 72 74 2e  pdate.c..upsert.
d920: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75  lo:.$(TOP)\src\u
d930: 70 73 65 72 74 2e 63 20 24 28 48 44 52 29 0a 09  psert.c $(HDR)..
d940: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d950: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d960: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d970: 75 70 73 65 72 74 2e 63 0a 0a 75 74 66 2e 6c 6f  upsert.c..utf.lo
d980: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 66  :.$(TOP)\src\utf
d990: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d9a0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d9b0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d9c0: 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63  $(TOP)\src\utf.c
d9d0: 0a 0a 75 74 69 6c 2e 6c 6f 3a 09 24 28 54 4f 50  ..util.lo:.$(TOP
d9e0: 29 5c 73 72 63 5c 75 74 69 6c 2e 63 20 24 28 48  )\src\util.c $(H
d9f0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
da00: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
da10: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
da20: 5c 73 72 63 5c 75 74 69 6c 2e 63 0a 0a 76 61 63  \src\util.c..vac
da30: 75 75 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  uum.lo:.$(TOP)\s
da40: 72 63 5c 76 61 63 75 75 6d 2e 63 20 24 28 48 44  rc\vacuum.c $(HD
da50: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
da60: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
da70: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
da80: 73 72 63 5c 76 61 63 75 75 6d 2e 63 0a 0a 76 64  src\vacuum.c..vd
da90: 62 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  be.lo:.$(TOP)\sr
daa0: 63 5c 76 64 62 65 2e 63 20 24 28 48 44 52 29 0a  c\vdbe.c $(HDR).
dab0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
dac0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
dad0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
dae0: 5c 76 64 62 65 2e 63 0a 0a 76 64 62 65 61 70 69  \vdbe.c..vdbeapi
daf0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
db00: 76 64 62 65 61 70 69 2e 63 20 24 28 48 44 52 29  vdbeapi.c $(HDR)
db10: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
db20: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
db30: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
db40: 63 5c 76 64 62 65 61 70 69 2e 63 0a 0a 76 64 62  c\vdbeapi.c..vdb
db50: 65 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  eaux.lo:.$(TOP)\
db60: 73 72 63 5c 76 64 62 65 61 75 78 2e 63 20 24 28  src\vdbeaux.c $(
db70: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
db80: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
db90: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
dba0: 29 5c 73 72 63 5c 76 64 62 65 61 75 78 2e 63 0a  )\src\vdbeaux.c.
dbb0: 0a 76 64 62 65 62 6c 6f 62 2e 6c 6f 3a 09 24 28  .vdbeblob.lo:.$(
dbc0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f  TOP)\src\vdbeblo
dbd0: 62 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  b.c $(HDR)..$(LT
dbe0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
dbf0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
dc00: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
dc10: 62 6c 6f 62 2e 63 0a 0a 76 64 62 65 6d 65 6d 2e  blob.c..vdbemem.
dc20: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76  lo:.$(TOP)\src\v
dc30: 64 62 65 6d 65 6d 2e 63 20 24 28 48 44 52 29 0a  dbemem.c $(HDR).
dc40: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
dc50: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
dc60: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
dc70: 5c 76 64 62 65 6d 65 6d 2e 63 0a 0a 76 64 62 65  \vdbemem.c..vdbe
dc80: 73 6f 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  sort.lo:.$(TOP)\
dc90: 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 20 24  src\vdbesort.c $
dca0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
dcb0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
dcc0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
dcd0: 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e  P)\src\vdbesort.
dce0: 63 0a 0a 76 64 62 65 74 72 61 63 65 2e 6c 6f 3a  c..vdbetrace.lo:
dcf0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65  .$(TOP)\src\vdbe
dd00: 74 72 61 63 65 2e 63 20 24 28 48 44 52 29 0a 09  trace.c $(HDR)..
dd10: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
dd20: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
dd30: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
dd40: 76 64 62 65 74 72 61 63 65 2e 63 0a 0a 76 74 61  vdbetrace.c..vta
dd50: 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  b.lo:.$(TOP)\src
dd60: 5c 76 74 61 62 2e 63 20 24 28 48 44 52 29 0a 09  \vtab.c $(HDR)..
dd70: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
dd80: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
dd90: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
dda0: 76 74 61 62 2e 63 0a 0a 77 61 6c 2e 6c 6f 3a 09  vtab.c..wal.lo:.
ddb0: 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63  $(TOP)\src\wal.c
ddc0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
ddd0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
dde0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
ddf0: 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63 0a 0a  TOP)\src\wal.c..
de00: 77 61 6c 6b 65 72 2e 6c 6f 3a 09 24 28 54 4f 50  walker.lo:.$(TOP
de10: 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20 24  )\src\walker.c $
de20: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
de30: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
de40: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
de50: 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 0a  P)\src\walker.c.
de60: 0a 77 68 65 72 65 2e 6c 6f 3a 09 24 28 54 4f 50  .where.lo:.$(TOP
de70: 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 20 24 28  )\src\where.c $(
de80: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
de90: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
dea0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
deb0: 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 0a 0a 77  )\src\where.c..w
dec0: 68 65 72 65 63 6f 64 65 2e 6c 6f 3a 09 24 28 54  herecode.lo:.$(T
ded0: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64  OP)\src\wherecod
dee0: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
def0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
df00: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
df10: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72   $(TOP)\src\wher
df20: 65 63 6f 64 65 2e 63 0a 0a 77 68 65 72 65 65 78  ecode.c..whereex
df30: 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  pr.lo:.$(TOP)\sr
df40: 63 5c 77 68 65 72 65 65 78 70 72 2e 63 20 24 28  c\whereexpr.c $(
df50: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
df60: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
df70: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
df80: 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70 72 2e  )\src\whereexpr.
df90: 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 3a  c..tclsqlite.lo:
dfa0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73  .$(TOP)\src\tcls
dfb0: 71 6c 69 74 65 2e 63 20 24 28 48 44 52 29 20 24  qlite.c $(HDR) $
dfc0: 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29  (SQLITE_TCL_DEP)
dfd0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
dfe0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 55 53 45 5f  (NO_WARN) -DUSE_
dff0: 54 43 4c 5f 53 54 55 42 53 3d 31 20 2d 44 42 55  TCL_STUBS=1 -DBU
e000: 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54  ILD_sqlite -I$(T
e010: 43 4c 49 4e 43 44 49 52 29 20 2d 63 20 24 28 54  CLINCDIR) -c $(T
e020: 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74  OP)\src\tclsqlit
e030: 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2d 73  e.c..tclsqlite-s
e040: 68 65 6c 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  hell.lo:.$(TOP)\
e050: 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20  src\tclsqlite.c 
e060: 24 28 48 44 52 29 20 24 28 53 51 4c 49 54 45 5f  $(HDR) $(SQLITE_
e070: 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 43 4f  TCL_DEP)..$(LTCO
e080: 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e  MPILE) $(NO_WARN
e090: 29 20 2d 44 54 43 4c 53 48 20 2d 44 42 55 49 4c  ) -DTCLSH -DBUIL
e0a0: 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c  D_sqlite -I$(TCL
e0b0: 49 4e 43 44 49 52 29 20 2d 63 20 24 28 54 4f 50  INCDIR) -c $(TOP
e0c0: 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e  )\src\tclsqlite.
e0d0: 63 0a 0a 74 63 6c 73 71 6c 69 74 65 33 2e 65 78  c..tclsqlite3.ex
e0e0: 65 3a 09 74 63 6c 73 71 6c 69 74 65 2d 73 68 65  e:.tclsqlite-she
e0f0: 6c 6c 2e 6c 6f 20 24 28 53 51 4c 49 54 45 33 43  ll.lo $(SQLITE3C
e100: 29 20 24 28 53 51 4c 49 54 45 33 48 29 20 24 28  ) $(SQLITE3H) $(
e110: 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c  LIBRESOBJS)..$(L
e120: 54 4c 49 4e 4b 29 20 24 28 53 51 4c 49 54 45 33  TLINK) $(SQLITE3
e130: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
e140: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
e150: 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29  ) $(TCLLIBPATHS)
e160: 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f   $(LTLIBPATHS) /
e170: 4f 55 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65  OUT:$@ tclsqlite
e180: 2d 73 68 65 6c 6c 2e 6c 6f 20 24 28 4c 49 42 52  -shell.lo $(LIBR
e190: 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42  ESOBJS) $(TCLLIB
e1a0: 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54  S) $(LTLIBS) $(T
e1b0: 4c 49 42 53 29 0a 0a 23 20 52 75 6c 65 73 20 74  LIBS)..# Rules t
e1c0: 6f 20 62 75 69 6c 64 20 6f 70 63 6f 64 65 73 2e  o build opcodes.
e1d0: 63 20 61 6e 64 20 6f 70 63 6f 64 65 73 2e 68 0a  c and opcodes.h.
e1e0: 23 0a 6f 70 63 6f 64 65 73 2e 63 3a 09 6f 70 63  #.opcodes.c:.opc
e1f0: 6f 64 65 73 2e 68 20 24 28 54 4f 50 29 5c 74 6f  odes.h $(TOP)\to
e200: 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 6c  ol\mkopcodec.tcl
e210: 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  ..$(TCLSH_CMD) $
e220: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63  (TOP)\tool\mkopc
e230: 6f 64 65 63 2e 74 63 6c 20 6f 70 63 6f 64 65 73  odec.tcl opcodes
e240: 2e 68 20 3e 20 6f 70 63 6f 64 65 73 2e 63 0a 0a  .h > opcodes.c..
e250: 6f 70 63 6f 64 65 73 2e 68 3a 09 70 61 72 73 65  opcodes.h:.parse
e260: 2e 68 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  .h $(TOP)\src\vd
e270: 62 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  be.c $(TOP)\tool
e280: 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 0a 09  \mkopcodeh.tcl..
e290: 74 79 70 65 20 70 61 72 73 65 2e 68 20 24 28 54  type parse.h $(T
e2a0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 7c  OP)\src\vdbe.c |
e2b0: 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD) $(
e2c0: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f  TOP)\tool\mkopco
e2d0: 64 65 68 2e 74 63 6c 20 3e 20 6f 70 63 6f 64 65  deh.tcl > opcode
e2e0: 73 2e 68 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20  s.h..# Rules to 
e2f0: 62 75 69 6c 64 20 70 61 72 73 65 2e 63 20 61 6e  build parse.c an
e300: 64 20 70 61 72 73 65 2e 68 20 2d 20 74 68 65 20  d parse.h - the 
e310: 6f 75 74 70 75 74 73 20 6f 66 20 6c 65 6d 6f 6e  outputs of lemon
e320: 2e 0a 23 0a 70 61 72 73 65 2e 68 3a 09 70 61 72  ..#.parse.h:.par
e330: 73 65 2e 63 0a 0a 70 61 72 73 65 2e 63 3a 09 24  se.c..parse.c:.$
e340: 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e  (TOP)\src\parse.
e350: 79 20 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 54 4f  y lemon.exe $(TO
e360: 50 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64  P)\tool\addopcod
e370: 65 73 2e 74 63 6c 0a 09 64 65 6c 20 2f 51 20 70  es.tcl..del /Q p
e380: 61 72 73 65 2e 79 20 70 61 72 73 65 2e 68 20 70  arse.y parse.h p
e390: 61 72 73 65 2e 68 2e 74 65 6d 70 20 32 3e 4e 55  arse.h.temp 2>NU
e3a0: 4c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 73  L..copy $(TOP)\s
e3b0: 72 63 5c 70 61 72 73 65 2e 79 20 2e 0a 09 2e 5c  rc\parse.y ....\
e3c0: 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f  lemon.exe $(REQ_
e3d0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $
e3e0: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
e3f0: 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52  GS) $(EXT_FEATUR
e400: 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29  E_FLAGS) $(OPTS)
e410: 20 70 61 72 73 65 2e 79 0a 09 6d 6f 76 65 20 70   parse.y..move p
e420: 61 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e 74  arse.h parse.h.t
e430: 65 6d 70 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44  emp..$(TCLSH_CMD
e440: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64  ) $(TOP)\tool\ad
e450: 64 6f 70 63 6f 64 65 73 2e 74 63 6c 20 70 61 72  dopcodes.tcl par
e460: 73 65 2e 68 2e 74 65 6d 70 20 3e 20 70 61 72 73  se.h.temp > pars
e470: 65 2e 68 0a 0a 24 28 53 51 4c 49 54 45 33 48 29  e.h..$(SQLITE3H)
e480: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c  :.$(TOP)\src\sql
e490: 69 74 65 2e 68 2e 69 6e 20 24 28 54 4f 50 29 5c  ite.h.in $(TOP)\
e4a0: 6d 61 6e 69 66 65 73 74 20 6d 6b 73 6f 75 72 63  manifest mksourc
e4b0: 65 69 64 2e 65 78 65 20 24 28 54 4f 50 29 5c 56  eid.exe $(TOP)\V
e4c0: 45 52 53 49 4f 4e 0a 09 24 28 54 43 4c 53 48 5f  ERSION..$(TCLSH_
e4d0: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
e4e0: 5c 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c 20  \mksqlite3h.tcl 
e4f0: 24 28 54 4f 50 3a 5c 3d 2f 29 20 3e 20 24 28 53  $(TOP:\=/) > $(S
e500: 51 4c 49 54 45 33 48 29 20 24 28 4d 4b 53 51 4c  QLITE3H) $(MKSQL
e510: 49 54 45 33 48 5f 41 52 47 53 29 0a 0a 73 71 6c  ITE3H_ARGS)..sql
e520: 69 74 65 33 65 78 74 2e 68 3a 09 2e 74 61 72 67  ite3ext.h:..targ
e530: 65 74 5f 73 6f 75 72 63 65 0a 21 49 46 20 24 28  et_source.!IF $(
e540: 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20  USE_STDCALL)!=0 
e550: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  || $(FOR_WIN10)!
e560: 3d 30 0a 09 74 79 70 65 20 74 73 72 63 5c 73 71  =0..type tsrc\sq
e570: 6c 69 74 65 33 65 78 74 2e 68 20 7c 20 24 28 54  lite3ext.h | $(T
e580: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
e590: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
e5a0: 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 5c 29  l regsub "\(\*\)
e5b0: 22 20 22 28 53 51 4c 49 54 45 5f 43 41 4c 4c 42  " "(SQLITE_CALLB
e5c0: 41 43 4b 20 2a 29 22 20 5c 0a 09 09 7c 20 24 28  ACK *)" \...| $(
e5d0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
e5e0: 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
e5f0: 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 22  cl regsub "\(\*"
e600: 20 22 28 53 51 4c 49 54 45 5f 41 50 49 43 41 4c   "(SQLITE_APICAL
e610: 4c 20 2a 22 20 3e 20 73 71 6c 69 74 65 33 65 78  L *" > sqlite3ex
e620: 74 2e 68 0a 09 63 6f 70 79 20 2f 59 20 73 71 6c  t.h..copy /Y sql
e630: 69 74 65 33 65 78 74 2e 68 20 74 73 72 63 5c 73  ite3ext.h tsrc\s
e640: 71 6c 69 74 65 33 65 78 74 2e 68 0a 21 45 4c 53  qlite3ext.h.!ELS
e650: 45 0a 09 63 6f 70 79 20 2f 59 20 74 73 72 63 5c  E..copy /Y tsrc\
e660: 73 71 6c 69 74 65 33 65 78 74 2e 68 20 73 71 6c  sqlite3ext.h sql
e670: 69 74 65 33 65 78 74 2e 68 0a 21 45 4e 44 49 46  ite3ext.h.!ENDIF
e680: 0a 0a 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e  ..mkkeywordhash.
e690: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool
e6a0: 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63  \mkkeywordhash.c
e6b0: 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41  ..$(BCC) $(NO_WA
e6c0: 52 4e 29 20 2d 46 65 24 40 20 24 28 52 45 51 5f  RN) -Fe$@ $(REQ_
e6d0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $
e6e0: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
e6f0: 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52  GS) $(EXT_FEATUR
e700: 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29  E_FLAGS) $(OPTS)
e710: 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c   \...$(TOP)\tool
e720: 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63  \mkkeywordhash.c
e730: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
e740: 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29  ) $(NLTLINKOPTS)
e750: 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a   $(NLTLIBPATHS).
e760: 0a 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 3a 09  .keywordhash.h:.
e770: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65  $(TOP)\tool\mkke
e780: 79 77 6f 72 64 68 61 73 68 2e 63 20 6d 6b 6b 65  ywordhash.c mkke
e790: 79 77 6f 72 64 68 61 73 68 2e 65 78 65 0a 09 2e  ywordhash.exe...
e7a0: 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65  \mkkeywordhash.e
e7b0: 78 65 20 3e 20 6b 65 79 77 6f 72 64 68 61 73 68  xe > keywordhash
e7c0: 2e 68 0a 0a 23 20 53 6f 75 72 63 65 20 66 69 6c  .h..# Source fil
e7d0: 65 73 20 74 68 61 74 20 67 6f 20 69 6e 74 6f 20  es that go into 
e7e0: 6d 61 6b 69 6e 67 20 73 68 65 6c 6c 2e 63 0a 53  making shell.c.S
e7f0: 48 45 4c 4c 5f 53 52 43 20 3d 20 5c 0a 09 24 28  HELL_SRC = \..$(
e800: 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63  TOP)\src\shell.c
e810: 2e 69 6e 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78  .in \..$(TOP)\ex
e820: 74 5c 6d 69 73 63 5c 61 70 70 65 6e 64 76 66 73  t\misc\appendvfs
e830: 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74  .c \..$(TOP)\ext
e840: 5c 6d 69 73 63 5c 73 68 61 74 68 72 65 65 2e 63  \misc\shathree.c
e850: 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d   \..$(TOP)\ext\m
e860: 69 73 63 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a 09  isc\fileio.c \..
e870: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
e880: 63 6f 6d 70 6c 65 74 69 6f 6e 2e 63 20 5c 0a 09  completion.c \..
e890: 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72  $(TOP)\ext\exper
e8a0: 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e  t\sqlite3expert.
e8b0: 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c  c \..$(TOP)\ext\
e8c0: 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78  expert\sqlite3ex
e8d0: 70 65 72 74 2e 68 20 5c 0a 09 24 28 54 4f 50 29  pert.h \..$(TOP)
e8e0: 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e 64 69 72  \src\test_windir
e8f0: 65 6e 74 2e 63 0a 0a 23 20 49 66 20 75 73 65 20  ent.c..# If use 
e900: 6f 66 20 7a 6c 69 62 20 69 73 20 65 6e 61 62 6c  of zlib is enabl
e910: 65 64 2c 20 61 64 64 20 74 68 65 20 22 7a 69 70  ed, add the "zip
e920: 66 69 6c 65 2e 63 22 20 73 6f 75 72 63 65 20 66  file.c" source f
e930: 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 45  ile..#.!IF $(USE
e940: 5f 5a 4c 49 42 29 21 3d 30 0a 53 48 45 4c 4c 5f  _ZLIB)!=0.SHELL_
e950: 53 52 43 20 3d 20 24 28 53 48 45 4c 4c 5f 53 52  SRC = $(SHELL_SR
e960: 43 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  C) $(TOP)\ext\mi
e970: 73 63 5c 73 71 6c 61 72 2e 63 0a 53 48 45 4c 4c  sc\sqlar.c.SHELL
e980: 5f 53 52 43 20 3d 20 24 28 53 48 45 4c 4c 5f 53  _SRC = $(SHELL_S
e990: 52 43 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  RC) $(TOP)\ext\m
e9a0: 69 73 63 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45  isc\zipfile.c.!E
e9b0: 4e 44 49 46 0a 0a 73 68 65 6c 6c 2e 63 3a 09 24  NDIF..shell.c:.$
e9c0: 28 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 54 4f  (SHELL_SRC) $(TO
e9d0: 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 68 65 6c 6c 63  P)\tool\mkshellc
e9e0: 2e 74 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d  .tcl..$(TCLSH_CM
e9f0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  D) $(TOP)\tool\m
ea00: 6b 73 68 65 6c 6c 63 2e 74 63 6c 20 3e 20 73 68  kshellc.tcl > sh
ea10: 65 6c 6c 2e 63 0a 0a 7a 6c 69 62 3a 0a 09 70 75  ell.c..zlib:..pu
ea20: 73 68 64 20 24 28 5a 4c 49 42 44 49 52 29 20 26  shd $(ZLIBDIR) &
ea30: 26 20 24 28 4d 41 4b 45 29 20 2f 66 20 77 69 6e  & $(MAKE) /f win
ea40: 33 32 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20  32\Makefile.msc 
ea50: 63 6c 65 61 6e 20 24 28 5a 4c 49 42 4c 49 42 29  clean $(ZLIBLIB)
ea60: 20 26 26 20 70 6f 70 64 0a 0a 23 20 52 75 6c 65   && popd..# Rule
ea70: 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 65  s to build the e
ea80: 78 74 65 6e 73 69 6f 6e 20 6f 62 6a 65 63 74 73  xtension objects
ea90: 2e 0a 23 0a 69 63 75 2e 6c 6f 3a 09 24 28 54 4f  ..#.icu.lo:.$(TO
eaa0: 50 29 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e 63  P)\ext\icu\icu.c
eab0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
eac0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
ead0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
eae0: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
eaf0: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
eb00: 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c   $(TOP)\ext\icu\
eb10: 69 63 75 2e 63 0a 0a 66 74 73 32 2e 6c 6f 3a 09  icu.c..fts2.lo:.
eb20: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
eb30: 66 74 73 32 2e 63 20 24 28 48 44 52 29 20 24 28  fts2.c $(HDR) $(
eb40: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
eb50: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
eb60: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
eb70: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
eb80: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
eb90: 74 5c 66 74 73 32 5c 66 74 73 32 2e 63 0a 0a 66  t\fts2\fts2.c..f
eba0: 74 73 32 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54  ts2_hash.lo:.$(T
ebb0: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
ebc0: 32 5f 68 61 73 68 2e 63 20 24 28 48 44 52 29 20  2_hash.c $(HDR) 
ebd0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
ebe0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
ebf0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
ec00: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
ec10: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
ec20: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61  ext\fts2\fts2_ha
ec30: 73 68 2e 63 0a 0a 66 74 73 32 5f 69 63 75 2e 6c  sh.c..fts2_icu.l
ec40: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
ec50: 73 32 5c 66 74 73 32 5f 69 63 75 2e 63 20 24 28  s2\fts2_icu.c $(
ec60: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
ec70: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
ec80: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
ec90: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
eca0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
ecb0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
ecc0: 73 32 5f 69 63 75 2e 63 0a 0a 66 74 73 32 5f 70  s2_icu.c..fts2_p
ecd0: 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29  orter.lo:.$(TOP)
ece0: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70  \ext\fts2\fts2_p
ecf0: 6f 72 74 65 72 2e 63 20 24 28 48 44 52 29 20 24  orter.c $(HDR) $
ed00: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
ed10: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
ed20: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
ed30: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
ed40: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
ed50: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72  xt\fts2\fts2_por
ed60: 74 65 72 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65  ter.c..fts2_toke
ed70: 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29  nizer.lo:.$(TOP)
ed80: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74  \ext\fts2\fts2_t
ed90: 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 28 48 44 52  okenizer.c $(HDR
eda0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
edb0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
edc0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
edd0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
ede0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
edf0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
ee00: 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73  tokenizer.c..fts
ee10: 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a  2_tokenizer1.lo:
ee20: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32  .$(TOP)\ext\fts2
ee30: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31  \fts2_tokenizer1
ee40: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
ee50: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
ee60: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
ee70: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
ee80: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
ee90: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
eea0: 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65  s2\fts2_tokenize
eeb0: 72 31 2e 63 0a 0a 66 74 73 33 2e 6c 6f 3a 09 24  r1.c..fts3.lo:.$
eec0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
eed0: 74 73 33 2e 63 20 24 28 48 44 52 29 20 24 28 45  ts3.c $(HDR) $(E
eee0: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
eef0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
ef00: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
ef10: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
ef20: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
ef30: 5c 66 74 73 33 5c 66 74 73 33 2e 63 0a 0a 66 74  \fts3\fts3.c..ft
ef40: 73 33 5f 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50  s3_aux.lo:.$(TOP
ef50: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
ef60: 61 75 78 2e 63 20 24 28 48 44 52 29 20 24 28 45  aux.c $(HDR) $(E
ef70: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
ef80: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
ef90: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
efa0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
efb0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
efc0: 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63  \fts3\fts3_aux.c
efd0: 0a 0a 66 74 73 33 5f 65 78 70 72 2e 6c 6f 3a 09  ..fts3_expr.lo:.
efe0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
eff0: 66 74 73 33 5f 65 78 70 72 2e 63 20 24 28 48 44  fts3_expr.c $(HD
f000: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
f010: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
f020: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
f030: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
f040: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
f050: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
f060: 5f 65 78 70 72 2e 63 0a 0a 66 74 73 33 5f 68 61  _expr.c..fts3_ha
f070: 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  sh.lo:.$(TOP)\ex
f080: 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68  t\fts3\fts3_hash
f090: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
f0a0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
f0b0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
f0c0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
f0d0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
f0e0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
f0f0: 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 63 0a 0a  s3\fts3_hash.c..
f100: 66 74 73 33 5f 69 63 75 2e 6c 6f 3a 09 24 28 54  fts3_icu.lo:.$(T
f110: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f120: 33 5f 69 63 75 2e 63 20 24 28 48 44 52 29 20 24  3_icu.c $(HDR) $
f130: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
f140: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
f150: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
f160: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
f170: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
f180: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75  xt\fts3\fts3_icu
f190: 2e 63 0a 0a 66 74 73 33 5f 73 6e 69 70 70 65 74  .c..fts3_snippet
f1a0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
f1b0: 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65  fts3\fts3_snippe
f1c0: 74 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  t.c $(HDR) $(EXT
f1d0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
f1e0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
f1f0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
f200: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
f210: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
f220: 74 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74  ts3\fts3_snippet
f230: 2e 63 0a 0a 66 74 73 33 5f 70 6f 72 74 65 72 2e  .c..fts3_porter.
f240: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
f250: 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e  ts3\fts3_porter.
f260: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
f270: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
f280: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
f290: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
f2a0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
f2b0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
f2c0: 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 0a  3\fts3_porter.c.
f2d0: 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e  .fts3_tokenizer.
f2e0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
f2f0: 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  ts3\fts3_tokeniz
f300: 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  er.c $(HDR) $(EX
f310: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
f320: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
f330: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
f340: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
f350: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
f360: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69  fts3\fts3_tokeni
f370: 7a 65 72 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65  zer.c..fts3_toke
f380: 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50  nizer1.lo:.$(TOP
f390: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
f3a0: 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 24 28 48  tokenizer1.c $(H
f3b0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
f3c0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
f3d0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
f3e0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
f3f0: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
f400: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f410: 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a  3_tokenizer1.c..
f420: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74  fts3_tokenize_vt
f430: 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  ab.lo:.$(TOP)\ex
f440: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
f450: 6e 69 7a 65 5f 76 74 61 62 2e 63 20 24 28 48 44  nize_vtab.c $(HD
f460: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
f470: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
f480: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
f490: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
f4a0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
f4b0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
f4c0: 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63  _tokenize_vtab.c
f4d0: 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c  ..fts3_unicode.l
f4e0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
f4f0: 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e  s3\fts3_unicode.
f500: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
f510: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
f520: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
f530: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
f540: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
f550: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
f560: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63  3\fts3_unicode.c
f570: 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e  ..fts3_unicode2.
f580: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
f590: 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65  ts3\fts3_unicode
f5a0: 32 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  2.c $(HDR) $(EXT
f5b0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
f5c0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
f5d0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
f5e0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
f5f0: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
f600: 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65  ts3\fts3_unicode
f610: 32 2e 63 0a 0a 66 74 73 33 5f 77 72 69 74 65 2e  2.c..fts3_write.
f620: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
f630: 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63  ts3\fts3_write.c
f640: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
f650: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
f660: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
f670: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
f680: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
f690: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
f6a0: 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 0a 0a 72  \fts3_write.c..r
f6b0: 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  tree.lo:.$(TOP)\
f6c0: 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e  ext\rtree\rtree.
f6d0: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
f6e0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
f6f0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
f700: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
f710: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
f720: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72  c $(TOP)\ext\rtr
f730: 65 65 5c 72 74 72 65 65 2e 63 0a 0a 73 71 6c 69  ee\rtree.c..sqli
f740: 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 3a 09 24  te3session.lo:.$
f750: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
f760: 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  n\sqlite3session
f770: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
f780: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
f790: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
f7a0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
f7b0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
f7c0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65  -c $(TOP)\ext\se
f7d0: 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73  ssion\sqlite3ses
f7e0: 73 69 6f 6e 2e 63 0a 0a 23 20 46 54 53 35 20 74  sion.c..# FTS5 t
f7f0: 68 69 6e 67 73 0a 23 0a 46 54 53 35 5f 53 52 43  hings.#.FTS5_SRC
f800: 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65   = \.   $(TOP)\e
f810: 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 5c  xt\fts5\fts5.h \
f820: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f
f830: 74 73 35 5c 66 74 73 35 49 6e 74 2e 68 20 5c 0a  ts5\fts5Int.h \.
f840: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
f850: 73 35 5c 66 74 73 35 5f 61 75 78 2e 63 20 5c 0a  s5\fts5_aux.c \.
f860: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
f870: 73 35 5c 66 74 73 35 5f 62 75 66 66 65 72 2e 63  s5\fts5_buffer.c
f880: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
f890: 5c 66 74 73 35 5c 66 74 73 35 5f 6d 61 69 6e 2e  \fts5\fts5_main.
f8a0: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex
f8b0: 74 5c 66 74 73 35 5c 66 74 73 35 5f 63 6f 6e 66  t\fts5\fts5_conf
f8c0: 69 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  ig.c \.   $(TOP)
f8d0: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 65  \ext\fts5\fts5_e
f8e0: 78 70 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  xpr.c \.   $(TOP
f8f0: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
f900: 68 61 73 68 2e 63 20 5c 0a 20 20 20 24 28 54 4f  hash.c \.   $(TO
f910: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
f920: 5f 69 6e 64 65 78 2e 63 20 5c 0a 20 20 20 66 74  _index.c \.   ft
f930: 73 35 70 61 72 73 65 2e 63 20 66 74 73 35 70 61  s5parse.c fts5pa
f940: 72 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  rse.h \.   $(TOP
f950: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
f960: 73 74 6f 72 61 67 65 2e 63 20 5c 0a 20 20 20 24  storage.c \.   $
f970: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
f980: 74 73 35 5f 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c  ts5_tokenize.c \
f990: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f
f9a0: 74 73 35 5c 66 74 73 35 5f 75 6e 69 63 6f 64 65  ts5\fts5_unicode
f9b0: 32 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  2.c \.   $(TOP)\
f9c0: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 76 61  ext\fts5\fts5_va
f9d0: 72 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f  rint.c \.   $(TO
f9e0: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
f9f0: 5f 76 6f 63 61 62 2e 63 0a 0a 4c 53 4d 31 5f 53  _vocab.c..LSM1_S
fa00: 52 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29  RC = \.   $(TOP)
fa10: 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e 68 20  \ext\lsm1\lsm.h 
fa20: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
fa30: 6c 73 6d 31 5c 6c 73 6d 49 6e 74 2e 68 20 5c 0a  lsm1\lsmInt.h \.
fa40: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls
fa50: 6d 31 5c 6c 73 6d 5f 63 6b 70 74 2e 63 20 5c 0a  m1\lsm_ckpt.c \.
fa60: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls
fa70: 6d 31 5c 6c 73 6d 5f 66 69 6c 65 2e 63 20 5c 0a  m1\lsm_file.c \.
fa80: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls
fa90: 6d 31 5c 6c 73 6d 5f 6c 6f 67 2e 63 20 5c 0a 20  m1\lsm_log.c \. 
faa0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
fab0: 31 5c 6c 73 6d 5f 6d 61 69 6e 2e 63 20 5c 0a 20  1\lsm_main.c \. 
fac0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
fad0: 31 5c 6c 73 6d 5f 6d 65 6d 2e 63 20 5c 0a 20 20  1\lsm_mem.c \.  
fae0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
faf0: 5c 6c 73 6d 5f 6d 75 74 65 78 2e 63 20 5c 0a 20  \lsm_mutex.c \. 
fb00: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
fb10: 31 5c 6c 73 6d 5f 73 68 61 72 65 64 2e 63 20 5c  1\lsm_shared.c \
fb20: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
fb30: 73 6d 31 5c 6c 73 6d 5f 73 6f 72 74 65 64 2e 63  sm1\lsm_sorted.c
fb40: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
fb50: 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 74 72 2e 63 20  \lsm1\lsm_str.c 
fb60: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
fb70: 6c 73 6d 31 5c 6c 73 6d 5f 74 72 65 65 2e 63 20  lsm1\lsm_tree.c 
fb80: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
fb90: 6c 73 6d 31 5c 6c 73 6d 5f 75 6e 69 78 2e 63 20  lsm1\lsm_unix.c 
fba0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
fbb0: 6c 73 6d 31 5c 6c 73 6d 5f 76 61 72 69 6e 74 2e  lsm1\lsm_varint.
fbc0: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex
fbd0: 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 76 74 61 62 2e  t\lsm1\lsm_vtab.
fbe0: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex
fbf0: 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 77 69 6e 33 32  t\lsm1\lsm_win32
fc00: 2e 63 0a 0a 66 74 73 35 70 61 72 73 65 2e 63 3a  .c..fts5parse.c:
fc10: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35  .$(TOP)\ext\fts5
fc20: 5c 66 74 73 35 70 61 72 73 65 2e 79 20 6c 65 6d  \fts5parse.y lem
fc30: 6f 6e 2e 65 78 65 0a 09 63 6f 70 79 20 24 28 54  on.exe..copy $(T
fc40: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
fc50: 35 70 61 72 73 65 2e 79 20 2e 0a 09 64 65 6c 20  5parse.y ...del 
fc60: 2f 51 20 66 74 73 35 70 61 72 73 65 2e 68 20 32  /Q fts5parse.h 2
fc70: 3e 4e 55 4c 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78  >NUL...\lemon.ex
fc80: 65 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f  e $(REQ_FEATURE_
fc90: 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41  FLAGS) $(OPT_FEA
fca0: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58  TURE_FLAGS) $(EX
fcb0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
fcc0: 20 24 28 4f 50 54 53 29 20 66 74 73 35 70 61 72   $(OPTS) fts5par
fcd0: 73 65 2e 79 0a 0a 66 74 73 35 70 61 72 73 65 2e  se.y..fts5parse.
fce0: 68 3a 09 66 74 73 35 70 61 72 73 65 2e 63 0a 0a  h:.fts5parse.c..
fcf0: 66 74 73 35 2e 63 3a 09 24 28 46 54 53 35 5f 53  fts5.c:.$(FTS5_S
fd00: 52 43 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44  RC)..$(TCLSH_CMD
fd10: 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  ) $(TOP)\ext\fts
fd20: 35 5c 74 6f 6f 6c 5c 6d 6b 66 74 73 35 63 2e 74  5\tool\mkfts5c.t
fd30: 63 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c  cl..copy $(TOP)\
fd40: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20  ext\fts5\fts5.h 
fd50: 2e 0a 0a 6c 73 6d 31 2e 63 3a 09 24 28 4c 53 4d  ...lsm1.c:.$(LSM
fd60: 31 5f 53 52 43 29 0a 09 24 28 54 43 4c 53 48 5f  1_SRC)..$(TCLSH_
fd70: 43 4d 44 29 20 24 28 54 4f 50 29 5c 65 78 74 5c  CMD) $(TOP)\ext\
fd80: 6c 73 6d 31 5c 74 6f 6f 6c 5c 6d 6b 6c 73 6d 31  lsm1\tool\mklsm1
fd90: 63 2e 74 63 6c 0a 09 63 6f 70 79 20 24 28 54 4f  c.tcl..copy $(TO
fda0: 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e  P)\ext\lsm1\lsm.
fdb0: 68 20 2e 0a 0a 66 74 73 35 2e 6c 6f 3a 09 66 74  h ...fts5.lo:.ft
fdc0: 73 35 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  s5.c $(HDR) $(EX
fdd0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
fde0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
fdf0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
fe00: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
fe10: 45 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 73  E -c fts5.c..fts
fe20: 35 5f 65 78 74 2e 6c 6f 3a 09 66 74 73 35 2e 63  5_ext.lo:.fts5.c
fe30: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
fe40: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
fe50: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 66 74  $(NO_WARN) -c ft
fe60: 73 35 2e 63 0a 0a 66 74 73 35 2e 64 6c 6c 3a 09  s5.c..fts5.dll:.
fe70: 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 09 24 28 4c  fts5_ext.lo..$(L
fe80: 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  D) $(LDFLAGS) $(
fe90: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54  LTLINKOPTS) $(LT
fea0: 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f  LIBPATHS) /DLL /
feb0: 4f 55 54 3a 24 40 20 66 74 73 35 5f 65 78 74 2e  OUT:$@ fts5_ext.
fec0: 6c 6f 0a 0a 73 71 6c 69 74 65 33 72 62 75 2e 6c  lo..sqlite3rbu.l
fed0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 62  o:.$(TOP)\ext\rb
fee0: 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20 24  u\sqlite3rbu.c $
fef0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
ff00: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44  .$(LTCOMPILE) -D
ff10: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
ff20: 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71  (TOP)\ext\rbu\sq
ff30: 6c 69 74 65 33 72 62 75 2e 63 0a 0a 23 20 52 75  lite3rbu.c..# Ru
ff40: 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65  les to build the
ff50: 20 27 74 65 73 74 66 69 78 74 75 72 65 27 20 61   'testfixture' a
ff60: 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 23 0a 23 20  pplication..#.# 
ff70: 49 66 20 75 73 69 6e 67 20 74 68 65 20 61 6d 61  If using the ama
ff80: 6c 67 61 6d 61 74 69 6f 6e 2c 20 75 73 65 20 73  lgamation, use s
ff90: 71 6c 69 74 65 33 2e 63 20 64 69 72 65 63 74 6c  qlite3.c directl
ffa0: 79 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 74  y to build the t
ffb0: 65 73 74 0a 23 20 66 69 78 74 75 72 65 2e 20 20  est.# fixture.  
ffc0: 4f 74 68 65 72 77 69 73 65 20 6c 69 6e 6b 20 61  Otherwise link a
ffd0: 67 61 69 6e 73 74 20 6c 69 62 73 71 6c 69 74 65  gainst libsqlite
ffe0: 33 2e 6c 69 62 2e 20 20 28 54 68 69 73 20 64 69  3.lib.  (This di
fff0: 73 74 69 6e 63 74 69 6f 6e 20 69 73 0a 23 20 6e  stinction is.# n
10000 65 63 65 73 73 61 72 79 20 62 65 63 61 75 73 65  ecessary because
10010 20 74 68 65 20 74 65 73 74 20 66 69 78 74 75 72   the test fixtur
10020 65 20 72 65 71 75 69 72 65 73 20 6e 6f 6e 2d 41  e requires non-A
10030 50 49 20 73 79 6d 62 6f 6c 73 20 77 68 69 63 68  PI symbols which
10040 20 61 72 65 0a 23 20 68 69 64 64 65 6e 20 77 68   are.# hidden wh
10050 65 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 69  en the library i
10060 73 20 62 75 69 6c 74 20 76 69 61 20 74 68 65 20  s built via the 
10070 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23  amalgamation)..#
10080 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  .TESTFIXTURE_FLA
10090 47 53 20 3d 20 2d 44 54 43 4c 53 48 5f 49 4e 49  GS = -DTCLSH_INI
100a0 54 5f 50 52 4f 43 3d 73 71 6c 69 74 65 33 54 65  T_PROC=sqlite3Te
100b0 73 74 49 6e 69 74 20 2d 44 53 51 4c 49 54 45 5f  stInit -DSQLITE_
100c0 54 45 53 54 3d 31 20 2d 44 53 51 4c 49 54 45 5f  TEST=1 -DSQLITE_
100d0 43 52 41 53 48 5f 54 45 53 54 3d 31 0a 54 45 53  CRASH_TEST=1.TES
100e0 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d  TFIXTURE_FLAGS =
100f0 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46   $(TESTFIXTURE_F
10100 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53  LAGS) -DSQLITE_S
10110 45 52 56 45 52 3d 31 20 2d 44 53 51 4c 49 54 45  ERVER=1 -DSQLITE
10120 5f 50 52 49 56 41 54 45 3d 22 22 0a 54 45 53 54  _PRIVATE="".TEST
10130 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FIXTURE_FLAGS = 
10140 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  $(TESTFIXTURE_FL
10150 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  AGS) -DSQLITE_CO
10160 52 45 20 24 28 4e 4f 5f 57 41 52 4e 29 0a 54 45  RE $(NO_WARN).TE
10170 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20  STFIXTURE_FLAGS 
10180 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  = $(TESTFIXTURE_
10190 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
101a0 53 45 52 49 45 53 5f 43 4f 4e 53 54 52 41 49 4e  SERIES_CONSTRAIN
101b0 54 5f 56 45 52 49 46 59 3d 31 0a 54 45 53 54 46  T_VERIFY=1.TESTF
101c0 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  IXTURE_FLAGS = $
101d0 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  (TESTFIXTURE_FLA
101e0 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 44 45 46  GS) -DSQLITE_DEF
101f0 41 55 4c 54 5f 50 41 47 45 5f 53 49 5a 45 3d 31  AULT_PAGE_SIZE=1
10200 30 32 34 0a 54 45 53 54 46 49 58 54 55 52 45 5f  024.TESTFIXTURE_
10210 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49  FLAGS = $(TESTFI
10220 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  XTURE_FLAGS) -DS
10230 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 4d  QLITE_ENABLE_STM
10240 54 56 54 41 42 0a 54 45 53 54 46 49 58 54 55 52  TVTAB.TESTFIXTUR
10250 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54  E_FLAGS = $(TEST
10260 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FIXTURE_FLAGS) -
10270 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44  DSQLITE_ENABLE_D
10280 42 50 41 47 45 5f 56 54 41 42 0a 54 45 53 54 46  BPAGE_VTAB.TESTF
10290 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  IXTURE_FLAGS = $
102a0 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  (TESTFIXTURE_FLA
102b0 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  GS) -DSQLITE_ENA
102c0 42 4c 45 5f 4a 53 4f 4e 31 0a 54 45 53 54 46 49  BLE_JSON1.TESTFI
102d0 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  XTURE_FLAGS = $(
102e0 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
102f0 53 29 20 24 28 54 45 53 54 5f 43 43 4f 4e 56 5f  S) $(TEST_CCONV_
10300 4f 50 54 53 29 0a 0a 54 45 53 54 46 49 58 54 55  OPTS)..TESTFIXTU
10310 52 45 5f 53 52 43 30 20 3d 20 24 28 54 45 53 54  RE_SRC0 = $(TEST
10320 45 58 54 29 20 24 28 54 45 53 54 53 52 43 32 29  EXT) $(TESTSRC2)
10330 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43  .TESTFIXTURE_SRC
10340 31 20 3d 20 24 28 54 45 53 54 45 58 54 29 20 24  1 = $(TESTEXT) $
10350 28 53 51 4c 49 54 45 33 43 29 0a 21 49 46 20 24  (SQLITE3C).!IF $
10360 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f  (USE_AMALGAMATIO
10370 4e 29 3d 3d 30 0a 54 45 53 54 46 49 58 54 55 52  N)==0.TESTFIXTUR
10380 45 5f 53 52 43 20 3d 20 24 28 54 45 53 54 53 52  E_SRC = $(TESTSR
10390 43 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63  C) $(TOP)\src\tc
103a0 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 45 53 54  lsqlite.c $(TEST
103b0 46 49 58 54 55 52 45 5f 53 52 43 30 29 0a 21 45  FIXTURE_SRC0).!E
103c0 4c 53 45 0a 54 45 53 54 46 49 58 54 55 52 45 5f  LSE.TESTFIXTURE_
103d0 53 52 43 20 3d 20 24 28 54 45 53 54 53 52 43 29  SRC = $(TESTSRC)
103e0 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73   $(TOP)\src\tcls
103f0 71 6c 69 74 65 2e 63 20 24 28 54 45 53 54 46 49  qlite.c $(TESTFI
10400 58 54 55 52 45 5f 53 52 43 31 29 0a 21 45 4e 44  XTURE_SRC1).!END
10410 49 46 0a 0a 21 49 46 20 24 28 55 53 45 5f 53 54  IF..!IF $(USE_ST
10420 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46  DCALL)!=0 || $(F
10430 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 73 71 6c  OR_WIN10)!=0.sql
10440 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e 68 3a 0a  ite_tclDecls.h:.
10450 09 65 63 68 6f 20 23 69 66 6e 64 65 66 20 53 51  .echo #ifndef SQ
10460 4c 49 54 45 5f 54 43 4c 41 50 49 20 3e 20 24 28  LITE_TCLAPI > $(
10470 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29  SQLITETCLDECLSH)
10480 0a 09 65 63 68 6f 20 23 20 20 64 65 66 69 6e 65  ..echo #  define
10490 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 3e   SQLITE_TCLAPI >
104a0 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43  > $(SQLITETCLDEC
104b0 4c 53 48 29 0a 09 65 63 68 6f 20 23 65 6e 64 69  LSH)..echo #endi
104c0 66 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c  f >> $(SQLITETCL
104d0 44 45 43 4c 53 48 29 0a 09 74 79 70 65 20 22 24  DECLSH)..type "$
104e0 28 54 43 4c 49 4e 43 44 49 52 29 5c 74 63 6c 44  (TCLINCDIR)\tclD
104f0 65 63 6c 73 2e 68 22 20 5c 0a 09 09 7c 20 24 28  ecls.h" \...| $(
10500 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
10510 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
10520 63 6c 20 72 65 67 73 75 62 20 22 5e 28 45 58 54  cl regsub "^(EXT
10530 45 52 4e 28 3f 3a 20 43 4f 4e 53 54 5c 64 2b 3f  ERN(?: CONST\d+?
10540 29 3f 5c 73 2b 3f 5b 5e 5c 28 5d 2a 3f 5c 73 2b  )?\s+?[^\(]*?\s+
10550 3f 29 54 63 6c 5f 22 20 22 5c 31 20 53 51 4c 49  ?)Tcl_" "\1 SQLI
10560 54 45 5f 54 43 4c 41 50 49 20 54 63 6c 5f 22 20  TE_TCLAPI Tcl_" 
10570 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM
10580 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r
10590 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75  eplace.tcl regsu
105a0 62 20 22 5e 28 45 58 54 45 52 4e 5c 73 2b 3f 28  b "^(EXTERN\s+?(
105b0 3f 3a 76 6f 69 64 7c 56 4f 49 44 29 5c 73 2b 3f  ?:void|VOID)\s+?
105c0 29 54 63 6c 46 72 65 65 4f 62 6a 22 20 22 5c 31  )TclFreeObj" "\1
105d0 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54   SQLITE_TCLAPI T
105e0 63 6c 46 72 65 65 4f 62 6a 22 20 5c 0a 09 09 7c  clFreeObj" \...|
105f0 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD) $(
10600 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
10610 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28  e.tcl regsub "\(
10620 5c 2a 74 63 6c 5f 22 20 22 28 53 51 4c 49 54 45  \*tcl_" "(SQLITE
10630 5f 54 43 4c 41 50 49 20 2a 74 63 6c 5f 22 20 5c  _TCLAPI *tcl_" \
10640 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  ...| $(TCLSH_CMD
10650 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re
10660 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62  place.tcl regsub
10670 20 22 5c 28 5c 2a 74 63 6c 46 72 65 65 4f 62 6a   "\(\*tclFreeObj
10680 22 20 22 28 53 51 4c 49 54 45 5f 54 43 4c 41 50  " "(SQLITE_TCLAP
10690 49 20 2a 74 63 6c 46 72 65 65 4f 62 6a 22 20 5c  I *tclFreeObj" \
106a0 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  ...| $(TCLSH_CMD
106b0 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re
106c0 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62  place.tcl regsub
106d0 20 22 5c 28 5c 2a 22 20 22 28 53 51 4c 49 54 45   "\(\*" "(SQLITE
106e0 5f 54 43 4c 41 50 49 20 2a 22 20 3e 3e 20 24 28  _TCLAPI *" >> $(
106f0 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29  SQLITETCLDECLSH)
10700 0a 0a 73 71 6c 69 74 65 5f 74 63 6c 2e 68 3a 0a  ..sqlite_tcl.h:.
10710 09 74 79 70 65 20 22 24 28 54 43 4c 49 4e 43 44  .type "$(TCLINCD
10720 49 52 29 5c 74 63 6c 2e 68 22 20 7c 20 24 28 54  IR)\tcl.h" | $(T
10730 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
10740 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
10750 6c 20 65 78 61 63 74 20 74 63 6c 44 65 63 6c 73  l exact tclDecls
10760 2e 68 20 73 71 6c 69 74 65 5f 74 63 6c 44 65 63  .h sqlite_tclDec
10770 6c 73 2e 68 20 5c 0a 09 09 7c 20 24 28 54 43 4c  ls.h \...| $(TCL
10780 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
10790 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20  ool\replace.tcl 
107a0 72 65 67 73 75 62 20 22 74 79 70 65 64 65 66 20  regsub "typedef 
107b0 28 2e 2a 3f 29 5c 28 54 63 6c 5f 22 20 22 74 79  (.*?)\(Tcl_" "ty
107c0 70 65 64 65 66 20 5c 31 20 28 53 51 4c 49 54 45  pedef \1 (SQLITE
107d0 5f 54 43 4c 41 50 49 20 54 63 6c 5f 22 20 5c 0a  _TCLAPI Tcl_" \.
107e0 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29  ..| $(TCLSH_CMD)
107f0 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep
10800 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 22  lace.tcl exact "
10810 76 6f 69 64 20 28 2a 66 72 65 65 50 72 6f 63 29  void (*freeProc)
10820 22 20 22 76 6f 69 64 20 28 53 51 4c 49 54 45 5f  " "void (SQLITE_
10830 54 43 4c 41 50 49 20 2a 66 72 65 65 50 72 6f 63  TCLAPI *freeProc
10840 29 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48  )" \...| $(TCLSH
10850 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
10860 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78  l\replace.tcl ex
10870 61 63 74 20 22 54 63 6c 5f 48 61 73 68 45 6e 74  act "Tcl_HashEnt
10880 72 79 20 2a 28 2a 66 69 6e 64 50 72 6f 63 29 22  ry *(*findProc)"
10890 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20   "Tcl_HashEntry 
108a0 2a 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20  *(SQLITE_TCLAPI 
108b0 2a 66 69 6e 64 50 72 6f 63 29 22 20 5c 0a 09 09  *findProc)" \...
108c0 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
108d0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
108e0 63 65 2e 74 63 6c 20 65 78 61 63 74 20 22 54 63  ce.tcl exact "Tc
108f0 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 2a 63  l_HashEntry *(*c
10900 72 65 61 74 65 50 72 6f 63 29 22 20 22 54 63 6c  reateProc)" "Tcl
10910 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 53 51 4c  _HashEntry *(SQL
10920 49 54 45 5f 54 43 4c 41 50 49 20 2a 63 72 65 61  ITE_TCLAPI *crea
10930 74 65 50 72 6f 63 29 22 20 3e 3e 20 24 28 53 51  teProc)" >> $(SQ
10940 4c 49 54 45 54 43 4c 48 29 0a 21 45 4e 44 49 46  LITETCLH).!ENDIF
10950 0a 0a 74 65 73 74 66 69 78 74 75 72 65 2e 65 78  ..testfixture.ex
10960 65 3a 09 24 28 54 45 53 54 46 49 58 54 55 52 45  e:.$(TESTFIXTURE
10970 5f 53 52 43 29 20 24 28 54 45 53 54 46 49 58 54  _SRC) $(TESTFIXT
10980 55 52 45 5f 44 45 50 29 20 24 28 53 51 4c 49 54  URE_DEP) $(SQLIT
10990 45 33 48 29 20 24 28 4c 49 42 52 45 53 4f 42 4a  E3H) $(LIBRESOBJ
109a0 53 29 20 24 28 48 44 52 29 20 24 28 53 51 4c 49  S) $(HDR) $(SQLI
109b0 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c  TE_TCL_DEP)..$(L
109c0 54 4c 49 4e 4b 29 20 2d 44 53 51 4c 49 54 45 5f  TLINK) -DSQLITE_
109d0 4e 4f 5f 53 59 4e 43 3d 31 20 24 28 54 45 53 54  NO_SYNC=1 $(TEST
109e0 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 5c  FIXTURE_FLAGS) \
109f0 0a 09 09 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74  ...-DBUILD_sqlit
10a00 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29  e -I$(TCLINCDIR)
10a10 20 5c 0a 09 09 24 28 54 45 53 54 46 49 58 54 55   \...$(TESTFIXTU
10a20 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e  RE_SRC) \.../lin
10a30 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
10a40 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c  TLINKOPTS) $(TCL
10a50 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49  LIBPATHS) $(LTLI
10a60 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53  BPATHS) $(LIBRES
10a70 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29  OBJS) $(TCLLIBS)
10a80 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49   $(LTLIBS) $(TLI
10a90 42 53 29 0a 0a 65 78 74 65 6e 73 69 6f 6e 74 65  BS)..extensionte
10aa0 73 74 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e  st:.testfixture.
10ab0 65 78 65 20 74 65 73 74 6c 6f 61 64 65 78 74 2e  exe testloadext.
10ac0 64 6c 6c 0a 09 40 73 65 74 20 50 41 54 48 3d 24  dll..@set PATH=$
10ad0 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50  (LIBTCLPATH);$(P
10ae0 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74  ATH)...\testfixt
10af0 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74  ure.exe $(TOP)\t
10b00 65 73 74 5c 6c 6f 61 64 65 78 74 2e 74 65 73 74  est\loadext.test
10b10 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75   $(TESTOPTS)..fu
10b20 6c 6c 74 65 73 74 3a 09 24 28 54 45 53 54 50 52  lltest:.$(TESTPR
10b30 4f 47 53 29 20 66 75 7a 7a 74 65 73 74 0a 09 40  OGS) fuzztest..@
10b40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43  set PATH=$(LIBTC
10b50 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09  LPATH);$(PATH)..
10b60 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78  .\testfixture.ex
10b70 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 6c  e $(TOP)\test\al
10b80 6c 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54  l.test $(TESTOPT
10b90 53 29 0a 0a 73 6f 61 6b 74 65 73 74 3a 09 24 28  S)..soaktest:.$(
10ba0 54 45 53 54 50 52 4f 47 53 29 0a 09 40 73 65 74  TESTPROGS)..@set
10bb0 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41   PATH=$(LIBTCLPA
10bc0 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74  TH);$(PATH)...\t
10bd0 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24  estfixture.exe $
10be0 28 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74  (TOP)\test\all.t
10bf0 65 73 74 20 2d 73 6f 61 6b 3d 31 20 24 28 54 45  est -soak=1 $(TE
10c00 53 54 4f 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73  STOPTS)..fulltes
10c10 74 6f 6e 6c 79 3a 09 24 28 54 45 53 54 50 52 4f  tonly:.$(TESTPRO
10c20 47 53 29 20 66 75 7a 7a 74 65 73 74 0a 09 40 73  GS) fuzztest..@s
10c30 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL
10c40 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)...
10c50 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
10c60 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 6c   $(TOP)\test\ful
10c70 6c 2e 74 65 73 74 0a 0a 71 75 65 72 79 70 6c 61  l.test..querypla
10c80 6e 74 65 73 74 3a 09 74 65 73 74 66 69 78 74 75  ntest:.testfixtu
10c90 72 65 2e 65 78 65 20 73 68 65 6c 6c 0a 09 40 73  re.exe shell..@s
10ca0 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL
10cb0 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)...
10cc0 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
10cd0 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 70 65 72   $(TOP)\test\per
10ce0 6d 75 74 61 74 69 6f 6e 73 2e 74 65 73 74 20 71  mutations.test q
10cf0 75 65 72 79 70 6c 61 6e 6e 65 72 20 24 28 54 45  ueryplanner $(TE
10d00 53 54 4f 50 54 53 29 0a 0a 66 75 7a 7a 74 65 73  STOPTS)..fuzztes
10d10 74 3a 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65  t:.fuzzcheck.exe
10d20 0a 09 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78  ...\fuzzcheck.ex
10d30 65 20 24 28 46 55 5a 5a 44 41 54 41 29 0a 0a 66  e $(FUZZDATA)..f
10d40 61 73 74 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a  astfuzztest:.fuz
10d50 7a 63 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75  zcheck.exe...\fu
10d60 7a 7a 63 68 65 63 6b 2e 65 78 65 20 2d 2d 6c 69  zzcheck.exe --li
10d70 6d 69 74 2d 6d 65 6d 20 31 30 30 4d 20 24 28 46  mit-mem 100M $(F
10d80 55 5a 5a 44 41 54 41 29 0a 0a 23 20 4d 69 6e 69  UZZDATA)..# Mini
10d90 6d 61 6c 20 74 65 73 74 69 6e 67 20 74 68 61 74  mal testing that
10da0 20 72 75 6e 73 20 69 6e 20 6c 65 73 73 20 74 68   runs in less th
10db0 61 6e 20 33 20 6d 69 6e 75 74 65 73 20 28 6f 6e  an 3 minutes (on
10dc0 20 61 20 66 61 73 74 20 6d 61 63 68 69 6e 65 29   a fast machine)
10dd0 0a 23 0a 71 75 69 63 6b 74 65 73 74 3a 09 74 65  .#.quicktest:.te
10de0 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 73 6f  stfixture.exe so
10df0 75 72 63 65 74 65 73 74 0a 09 40 73 65 74 20 50  urcetest..@set P
10e00 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48  ATH=$(LIBTCLPATH
10e10 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73  );$(PATH)...\tes
10e20 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54  tfixture.exe $(T
10e30 4f 50 29 5c 74 65 73 74 5c 65 78 74 72 61 71 75  OP)\test\extraqu
10e40 69 63 6b 2e 74 65 73 74 20 24 28 54 45 53 54 4f  ick.test $(TESTO
10e50 50 54 53 29 0a 0a 23 20 54 68 69 73 20 69 73 20  PTS)..# This is 
10e60 74 68 65 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 2e  the common case.
10e70 20 20 52 75 6e 20 6d 61 6e 79 20 74 65 73 74 73    Run many tests
10e80 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 74 61 6b   that do not tak
10e90 65 20 74 6f 6f 20 6c 6f 6e 67 2c 0a 23 20 69 6e  e too long,.# in
10ea0 63 6c 75 64 69 6e 67 20 66 75 7a 7a 63 68 65 63  cluding fuzzchec
10eb0 6b 2c 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79  k, sqlite3_analy
10ec0 7a 65 72 2c 20 61 6e 64 20 73 71 6c 64 69 66 66  zer, and sqldiff
10ed0 20 74 65 73 74 73 2e 0a 23 0a 74 65 73 74 3a 09   tests..#.test:.
10ee0 24 28 54 45 53 54 50 52 4f 47 53 29 20 73 6f 75  $(TESTPROGS) sou
10ef0 72 63 65 74 65 73 74 20 66 61 73 74 66 75 7a 7a  rcetest fastfuzz
10f00 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d  test..@set PATH=
10f10 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28  $(LIBTCLPATH);$(
10f20 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78  PATH)...\testfix
10f30 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c  ture.exe $(TOP)\
10f40 74 65 73 74 5c 76 65 72 79 71 75 69 63 6b 2e 74  test\veryquick.t
10f50 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a  est $(TESTOPTS).
10f60 0a 73 6d 6f 6b 65 74 65 73 74 3a 09 24 28 54 45  .smoketest:.$(TE
10f70 53 54 50 52 4f 47 53 29 0a 09 40 73 65 74 20 50  STPROGS)..@set P
10f80 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48  ATH=$(LIBTCLPATH
10f90 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73  );$(PATH)...\tes
10fa0 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54  tfixture.exe $(T
10fb0 4f 50 29 5c 74 65 73 74 5c 6d 61 69 6e 2e 74 65  OP)\test\main.te
10fc0 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a  st $(TESTOPTS)..
10fd0 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
10fe0 2e 63 3a 09 24 28 53 51 4c 49 54 45 33 43 29 20  .c:.$(SQLITE3C) 
10ff0 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 54 4f  $(SQLITE3H) $(TO
11000 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65  P)\src\tclsqlite
11010 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  .c $(TOP)\tool\s
11020 70 61 63 65 61 6e 61 6c 2e 74 63 6c 20 24 28 54  paceanal.tcl $(T
11030 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65  OP)\tool\mkccode
11040 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  .tcl $(TOP)\tool
11050 5c 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65  \sqlite3_analyze
11060 72 2e 63 2e 69 6e 20 24 28 53 51 4c 49 54 45 5f  r.c.in $(SQLITE_
11070 54 43 4c 5f 44 45 50 29 0a 09 24 28 54 43 4c 53  TCL_DEP)..$(TCLS
11080 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
11090 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24  ol\mkccode.tcl $
110a0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 69 74  (TOP)\tool\sqlit
110b0 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 2e 69 6e  e3_analyzer.c.in
110c0 20 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f 61   > $@..sqlite3_a
110d0 6e 61 6c 79 7a 65 72 2e 65 78 65 3a 09 73 71 6c  nalyzer.exe:.sql
110e0 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20  ite3_analyzer.c 
110f0 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24  $(LIBRESOBJS)..$
11100 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
11110 52 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69  RN) -DBUILD_sqli
11120 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52  te -I$(TCLINCDIR
11130 29 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a  ) sqlite3_analyz
11140 65 72 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24  er.c \.../link $
11150 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
11160 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 42  NKOPTS) $(TCLLIB
11170 50 41 54 48 53 29 20 24 28 4c 54 4c 49 42 50 41  PATHS) $(LTLIBPA
11180 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a  THS) $(LIBRESOBJ
11190 53 29 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28  S) $(TCLLIBS) $(
111a0 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29  LTLIBS) $(TLIBS)
111b0 0a 0a 73 71 6c 74 63 6c 73 68 2e 63 3a 20 73 71  ..sqltclsh.c: sq
111c0 6c 69 74 65 33 2e 63 20 24 28 54 4f 50 29 5c 73  lite3.c $(TOP)\s
111d0 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24  rc\tclsqlite.c $
111e0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63  (TOP)\tool\sqltc
111f0 6c 73 68 2e 74 63 6c 20 24 28 54 4f 50 29 5c 65  lsh.tcl $(TOP)\e
11200 78 74 5c 6d 69 73 63 5c 61 70 70 65 6e 64 76 66  xt\misc\appendvf
11210 73 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  s.c $(TOP)\tool\
11220 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f  mkccode.tcl $(TO
11230 50 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68  P)\tool\sqltclsh
11240 2e 63 2e 69 6e 0a 09 24 28 54 43 4c 53 48 5f 43  .c.in..$(TCLSH_C
11250 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
11260 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f  mkccode.tcl $(TO
11270 50 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68  P)\tool\sqltclsh
11280 2e 63 2e 69 6e 20 3e 73 71 6c 74 63 6c 73 68 2e  .c.in >sqltclsh.
11290 63 0a 0a 73 71 6c 74 63 6c 73 68 2e 65 78 65 3a  c..sqltclsh.exe:
112a0 20 73 71 6c 74 63 6c 73 68 2e 63 20 20 24 28 53   sqltclsh.c  $(S
112b0 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 20 24  HELL_CORE_DEP) $
112c0 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28  (LIBRESOBJS)..$(
112d0 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
112e0 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74  N) -DBUILD_sqlit
112f0 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29  e -I$(TCLINCDIR)
11300 20 73 71 6c 74 63 6c 73 68 2e 63 20 5c 0a 09 09   sqltclsh.c \...
11310 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
11320 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24   $(LTLINKOPTS) $
11330 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28  (TCLLIBPATHS) $(
11340 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49  LTLIBPATHS) $(LI
11350 42 52 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c  BRESOBJS) $(TCLL
11360 49 42 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24  IBS) $(LTLIBS) $
11370 28 54 4c 49 42 53 29 0a 0a 73 71 6c 69 74 65 33  (TLIBS)..sqlite3
11380 5f 65 78 70 65 72 74 2e 65 78 65 3a 20 24 28 53  _expert.exe: $(S
11390 51 4c 49 54 45 33 43 29 20 24 28 54 4f 50 29 5c  QLITE3C) $(TOP)\
113a0 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74  ext\expert\sqlit
113b0 65 33 65 78 70 65 72 74 2e 68 20 24 28 54 4f 50  e3expert.h $(TOP
113c0 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c  )\ext\expert\sql
113d0 69 74 65 33 65 78 70 65 72 74 2e 63 20 24 28 54  ite3expert.c $(T
113e0 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 65  OP)\ext\expert\e
113f0 78 70 65 72 74 2e 63 0a 09 24 28 4c 54 4c 49 4e  xpert.c..$(LTLIN
11400 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 09 24 28  K) $(NO_WARN).$(
11410 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c  TOP)\ext\expert\
11420 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 63 20  sqlite3expert.c 
11430 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72  $(TOP)\ext\exper
11440 74 5c 65 78 70 65 72 74 2e 63 20 24 28 53 51 4c  t\expert.c $(SQL
11450 49 54 45 33 43 29 20 24 28 54 4c 49 42 53 29 0a  ITE3C) $(TLIBS).
11460 0a 43 48 45 43 4b 45 52 5f 44 45 50 53 20 3d 5c  .CHECKER_DEPS =\
11470 0a 20 20 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6d  .  $(TOP)/tool/m
11480 6b 63 63 6f 64 65 2e 74 63 6c 20 5c 0a 20 20 73  kccode.tcl \.  s
11490 71 6c 69 74 65 33 2e 63 20 5c 0a 20 20 24 28 54  qlite3.c \.  $(T
114a0 4f 50 29 2f 73 72 63 2f 74 63 6c 73 71 6c 69 74  OP)/src/tclsqlit
114b0 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65  e.c \.  $(TOP)/e
114c0 78 74 2f 72 65 70 61 69 72 2f 73 71 6c 69 74 65  xt/repair/sqlite
114d0 33 5f 63 68 65 63 6b 65 72 2e 74 63 6c 20 5c 0a  3_checker.tcl \.
114e0 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70    $(TOP)/ext/rep
114f0 61 69 72 2f 63 68 65 63 6b 69 6e 64 65 78 2e 63  air/checkindex.c
11500 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f   \.  $(TOP)/ext/
11510 72 65 70 61 69 72 2f 63 68 65 63 6b 66 72 65 65  repair/checkfree
11520 6c 69 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  list.c \.  $(TOP
11530 29 2f 65 78 74 2f 6d 69 73 63 2f 62 74 72 65 65  )/ext/misc/btree
11540 69 6e 66 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50  info.c \.  $(TOP
11550 29 2f 65 78 74 2f 72 65 70 61 69 72 2f 73 71 6c  )/ext/repair/sql
11560 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69  ite3_checker.c.i
11570 6e 0a 0a 73 71 6c 69 74 65 33 5f 63 68 65 63 6b  n..sqlite3_check
11580 65 72 2e 63 3a 09 24 28 43 48 45 43 4b 45 52 5f  er.c:.$(CHECKER_
11590 44 45 50 53 29 0a 09 24 28 54 43 4c 53 48 5f 43  DEPS)..$(TCLSH_C
115a0 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
115b0 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f  mkccode.tcl $(TO
115c0 50 29 5c 65 78 74 5c 72 65 70 61 69 72 5c 73 71  P)\ext\repair\sq
115d0 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 2e  lite3_checker.c.
115e0 69 6e 20 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33  in > $@..sqlite3
115f0 5f 63 68 65 63 6b 65 72 2e 65 78 65 3a 09 73 71  _checker.exe:.sq
11600 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 20  lite3_checker.c 
11610 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24  $(LIBRESOBJS)..$
11620 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
11630 52 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69  RN) -DBUILD_sqli
11640 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52  te -I$(TCLINCDIR
11650 29 20 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65  ) sqlite3_checke
11660 72 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28  r.c \.../link $(
11670 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
11680 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50  KOPTS) $(TCLLIBP
11690 41 54 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54  ATHS) $(LTLIBPAT
116a0 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  HS) $(LIBRESOBJS
116b0 29 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c  ) $(TCLLIBS) $(L
116c0 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a  TLIBS) $(TLIBS).
116d0 0a 64 62 64 75 6d 70 2e 65 78 65 3a 09 24 28 54  .dbdump.exe:.$(T
116e0 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64  OP)\ext\misc\dbd
116f0 75 6d 70 2e 63 20 24 28 53 51 4c 49 54 45 33 43  ump.c $(SQLITE3C
11700 29 20 24 28 53 51 4c 49 54 45 33 48 29 20 24 28  ) $(SQLITE3H) $(
11710 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c  LIBRESOBJS)..$(L
11720 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
11730 29 20 2d 44 44 42 44 55 4d 50 5f 53 54 41 4e 44  ) -DDBDUMP_STAND
11740 41 4c 4f 4e 45 20 24 28 54 4f 50 29 5c 65 78 74  ALONE $(TOP)\ext
11750 5c 6d 69 73 63 5c 64 62 64 75 6d 70 2e 63 20 24  \misc\dbdump.c $
11760 28 53 51 4c 49 54 45 33 43 29 20 5c 0a 09 09 2f  (SQLITE3C) \.../
11770 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
11780 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS) $(
11790 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49  LTLIBPATHS) $(LI
117a0 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49  BRESOBJS) $(LTLI
117b0 42 53 29 0a 0a 74 65 73 74 6c 6f 61 64 65 78 74  BS)..testloadext
117c0 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
117d0 74 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63 20 24  test_loadext.c $
117e0 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
117f0 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41  COMPILE) $(NO_WA
11800 52 4e 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  RN) -c $(TOP)\sr
11810 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63  c\test_loadext.c
11820 0a 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c  ..testloadext.dl
11830 6c 3a 09 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c  l:.testloadext.l
11840 6f 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41  o..$(LD) $(LDFLA
11850 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
11860 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  ) $(LTLIBPATHS) 
11870 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40 20 74 65 73  /DLL /OUT:$@ tes
11880 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a 0a 73 68 6f  tloadext.lo..sho
11890 77 64 62 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  wdb.exe:.$(TOP)\
118a0 74 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28  tool\showdb.c $(
118b0 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
118c0 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
118d0 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
118e0 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
118f0 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  0 -DSQLITE_OMIT_
11900 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c  LOAD_EXTENSION \
11910 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  ...$(TOP)\tool\s
11920 68 6f 77 64 62 2e 63 20 24 28 53 51 4c 49 54 45  howdb.c $(SQLITE
11930 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
11940 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
11950 53 29 0a 0a 73 68 6f 77 73 74 61 74 34 2e 65 78  S)..showstat4.ex
11960 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  e:.$(TOP)\tool\s
11970 68 6f 77 73 74 61 74 34 2e 63 20 24 28 53 51 4c  howstat4.c $(SQL
11980 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
11990 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
119a0 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
119b0 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d  E_THREADSAFE=0 -
119c0 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41  DSQLITE_OMIT_LOA
119d0 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09  D_EXTENSION \...
119e0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show
119f0 73 74 61 74 34 2e 63 20 24 28 53 51 4c 49 54 45  stat4.c $(SQLITE
11a00 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
11a10 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
11a20 53 29 0a 0a 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e  S)..showjournal.
11a30 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool
11a40 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20 24  \showjournal.c $
11a50 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
11a60 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
11a70 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
11a80 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
11a90 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  =0 -DSQLITE_OMIT
11aa0 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20  _LOAD_EXTENSION 
11ab0 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  \...$(TOP)\tool\
11ac0 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28  showjournal.c $(
11ad0 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
11ae0 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
11af0 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 77 61  INKOPTS)..showwa
11b00 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  l.exe:.$(TOP)\to
11b10 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24 28 53  ol\showwal.c $(S
11b20 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
11b30 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
11b40 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
11b50 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
11b60 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
11b70 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
11b80 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  ..$(TOP)\tool\sh
11b90 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c 49 54 45  owwal.c $(SQLITE
11ba0 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
11bb0 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
11bc0 53 29 0a 0a 73 68 6f 77 73 68 6d 2e 65 78 65 3a  S)..showshm.exe:
11bd0 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f  .$(TOP)\tool\sho
11be0 77 73 68 6d 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b  wshm.c..$(LTLINK
11bf0 29 20 24 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54  ) $(NO_WARN).$(T
11c00 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 68 6d  OP)\tool\showshm
11c10 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  .c /link $(LDFLA
11c20 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
11c30 29 0a 0a 63 68 61 6e 67 65 73 65 74 2e 65 78 65  )..changeset.exe
11c40 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73  :.$(TOP)\ext\ses
11c50 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74 2e 63  sion\changeset.c
11c60 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
11c70 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
11c80 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) -
11c90 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
11ca0 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  FE=0 -DSQLITE_OM
11cb0 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
11cc0 4e 20 5c 0a 09 09 2d 44 53 51 4c 49 54 45 5f 45  N \...-DSQLITE_E
11cd0 4e 41 42 4c 45 5f 53 45 53 53 49 4f 4e 3d 31 20  NABLE_SESSION=1 
11ce0 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
11cf0 50 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b 3d 31  PREUPDATE_HOOK=1
11d00 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74 5c   \...$(TOP)\ext\
11d10 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65  session\changese
11d20 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
11d30 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
11d40 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
11d50 66 74 73 33 76 69 65 77 2e 65 78 65 3a 09 24 28  fts3view.exe:.$(
11d60 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f  TOP)\ext\fts3\to
11d70 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63 20 24 28  ol\fts3view.c $(
11d80 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
11d90 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
11da0 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
11db0 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
11dc0 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  0 -DSQLITE_OMIT_
11dd0 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c  LOAD_EXTENSION \
11de0 0a 09 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  ...$(TOP)\ext\ft
11df0 73 33 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77  s3\tool\fts3view
11e00 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
11e10 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
11e20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 72  $(LTLINKOPTS)..r
11e30 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 65 78 65  ollback-test.exe
11e40 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f  :.$(TOP)\tool\ro
11e50 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63 20 24 28  llback-test.c $(
11e60 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
11e70 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
11e80 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
11e90 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
11ea0 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  0 -DSQLITE_OMIT_
11eb0 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c  LOAD_EXTENSION \
11ec0 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  ...$(TOP)\tool\r
11ed0 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63 20 24  ollback-test.c $
11ee0 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
11ef0 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
11f00 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4c 6f 67 45 73  LINKOPTS)..LogEs
11f10 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  t.exe:.$(TOP)\to
11f20 6f 6c 5c 6c 6f 67 65 73 74 2e 63 20 24 28 53 51  ol\logest.c $(SQ
11f30 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
11f40 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28  K) $(NO_WARN) $(
11f50 54 4f 50 29 5c 74 6f 6f 6c 5c 4c 6f 67 45 73 74  TOP)\tool\LogEst
11f60 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  .c /link $(LDFLA
11f70 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
11f80 29 0a 0a 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65  )..wordcount.exe
11f90 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 77 6f  :.$(TOP)\test\wo
11fa0 72 64 63 6f 75 6e 74 2e 63 20 24 28 53 51 4c 49  rdcount.c $(SQLI
11fb0 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
11fc0 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
11fd0 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
11fe0 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
11ff0 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
12000 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$
12010 28 54 4f 50 29 5c 74 65 73 74 5c 77 6f 72 64 63  (TOP)\test\wordc
12020 6f 75 6e 74 2e 63 20 24 28 53 51 4c 49 54 45 33  ount.c $(SQLITE3
12030 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
12040 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
12050 29 0a 0a 73 70 65 65 64 74 65 73 74 31 2e 65 78  )..speedtest1.ex
12060 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 73  e:.$(TOP)\test\s
12070 70 65 65 64 74 65 73 74 31 2e 63 20 24 28 53 51  peedtest1.c $(SQ
12080 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
12090 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
120a0 28 4e 4f 5f 57 41 52 4e 29 20 24 28 53 54 5f 43  (NO_WARN) $(ST_C
120b0 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53  OMPILE_OPTS) -DS
120c0 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
120d0 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28  EXTENSION \...$(
120e0 54 4f 50 29 5c 74 65 73 74 5c 73 70 65 65 64 74  TOP)\test\speedt
120f0 65 73 74 31 2e 63 20 24 28 53 51 4c 49 54 45 33  est1.c $(SQLITE3
12100 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
12110 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
12120 29 0a 0a 6b 76 74 65 73 74 2e 65 78 65 3a 09 24  )..kvtest.exe:.$
12130 28 54 4f 50 29 5c 74 65 73 74 5c 6b 76 74 65 73  (TOP)\test\kvtes
12140 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
12150 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
12160 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
12170 29 20 24 28 4b 56 5f 43 4f 4d 50 49 4c 45 5f 4f  ) $(KV_COMPILE_O
12180 50 54 53 29 20 5c 0a 09 09 24 28 54 4f 50 29 5c  PTS) \...$(TOP)\
12190 74 65 73 74 5c 6b 76 74 65 73 74 2e 63 20 24 28  test\kvtest.c $(
121a0 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
121b0 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
121c0 49 4e 4b 4f 50 54 53 29 0a 0a 72 62 75 2e 65 78  INKOPTS)..rbu.ex
121d0 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 62  e:.$(TOP)\ext\rb
121e0 75 5c 72 62 75 2e 63 20 24 28 54 4f 50 29 5c 65  u\rbu.c $(TOP)\e
121f0 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62  xt\rbu\sqlite3rb
12200 75 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  u.c $(SQLITE3C) 
12210 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
12220 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
12230 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
12240 45 5f 52 42 55 20 5c 0a 09 09 24 28 54 4f 50 29  E_RBU \...$(TOP)
12250 5c 65 78 74 5c 72 62 75 5c 72 62 75 2e 63 20 24  \ext\rbu\rbu.c $
12260 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
12270 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
12280 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4c 53 4d 44 49  LINKOPTS)..LSMDI
12290 52 3d 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d  R=$(TOP)\ext\lsm
122a0 31 0a 21 49 4e 43 4c 55 44 45 20 24 28 4c 53 4d  1.!INCLUDE $(LSM
122b0 44 49 52 29 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73  DIR)\Makefile.ms
122c0 63 0a 0a 6d 6f 72 65 63 6c 65 61 6e 3a 09 63 6c  c..moreclean:.cl
122d0 65 61 6e 0a 09 64 65 6c 20 2f 51 20 24 28 53 51  ean..del /Q $(SQ
122e0 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
122f0 33 48 29 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d  3H) 2>NUL.# <</m
12300 61 72 6b 3e 3e 0a 0a 63 6c 65 61 6e 3a 0a 09 64  ark>>..clean:..d
12310 65 6c 20 2f 51 20 2a 2e 65 78 70 20 2a 2e 6c 6f  el /Q *.exp *.lo
12320 20 2a 2e 69 6c 6b 20 2a 2e 6c 69 62 20 2a 2e 6f   *.ilk *.lib *.o
12330 62 6a 20 2a 2e 6e 63 62 20 2a 2e 70 64 62 20 2a  bj *.ncb *.pdb *
12340 2e 73 64 66 20 2a 2e 73 75 6f 20 32 3e 4e 55 4c  .sdf *.suo 2>NUL
12350 0a 09 64 65 6c 20 2f 51 20 2a 2e 62 73 63 20 2a  ..del /Q *.bsc *
12360 2e 64 65 66 20 2a 2e 63 6f 64 20 2a 2e 64 61 20  .def *.cod *.da 
12370 2a 2e 62 62 20 2a 2e 62 62 67 20 2a 2e 76 63 20  *.bb *.bbg *.vc 
12380 67 6d 6f 6e 2e 6f 75 74 20 32 3e 4e 55 4c 0a 09  gmon.out 2>NUL..
12390 64 65 6c 20 2f 51 20 24 28 53 51 4c 49 54 45 33  del /Q $(SQLITE3
123a0 45 58 45 29 20 24 28 53 51 4c 49 54 45 33 44 4c  EXE) $(SQLITE3DL
123b0 4c 29 20 52 65 70 6c 61 63 65 2e 65 78 65 20 32  L) Replace.exe 2
123c0 3e 4e 55 4c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  >NUL.# <<mark>>.
123d0 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 2e  .del /Q sqlite3.
123e0 63 20 73 71 6c 69 74 65 33 2e 68 20 32 3e 4e 55  c sqlite3.h 2>NU
123f0 4c 0a 09 64 65 6c 20 2f 51 20 6f 70 63 6f 64 65  L..del /Q opcode
12400 73 2e 63 20 6f 70 63 6f 64 65 73 2e 68 20 32 3e  s.c opcodes.h 2>
12410 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 65 6d 6f  NUL..del /Q lemo
12420 6e 2e 2a 20 6c 65 6d 70 61 72 2e 63 20 70 61 72  n.* lempar.c par
12430 73 65 2e 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  se.* 2>NUL..del 
12440 2f 51 20 6d 6b 73 6f 75 72 63 65 69 64 2e 2a 20  /Q mksourceid.* 
12450 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 2a 20  mkkeywordhash.* 
12460 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 32 3e  keywordhash.h 2>
12470 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6e 6f 74 61  NUL..del /Q nota
12480 73 68 61 72 65 64 6c 69 62 2e 2a 20 32 3e 4e 55  sharedlib.* 2>NU
12490 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e  L..-rmdir /Q/S .
124a0 64 65 70 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64  deps 2>NUL..-rmd
124b0 69 72 20 2f 51 2f 53 20 2e 6c 69 62 73 20 32 3e  ir /Q/S .libs 2>
124c0 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53  NUL..-rmdir /Q/S
124d0 20 74 73 72 63 20 32 3e 4e 55 4c 0a 09 64 65 6c   tsrc 2>NUL..del
124e0 20 2f 51 20 2e 74 61 72 67 65 74 5f 73 6f 75 72   /Q .target_sour
124f0 63 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  ce 2>NUL..del /Q
12500 20 74 63 6c 73 71 6c 69 74 65 33 2e 65 78 65 20   tclsqlite3.exe 
12510 24 28 53 51 4c 49 54 45 54 43 4c 48 29 20 24 28  $(SQLITETCLH) $(
12520 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29  SQLITETCLDECLSH)
12530 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c   2>NUL..del /Q l
12540 73 6d 2e 64 6c 6c 20 6c 73 6d 74 65 73 74 2e 65  sm.dll lsmtest.e
12550 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  xe 2>NUL..del /Q
12560 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c   testloadext.dll
12570 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74   2>NUL..del /Q t
12580 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 74  estfixture.exe t
12590 65 73 74 2e 64 62 20 32 3e 4e 55 4c 0a 09 64 65  est.db 2>NUL..de
125a0 6c 20 2f 51 20 4c 6f 67 45 73 74 2e 65 78 65 20  l /Q LogEst.exe 
125b0 66 74 73 33 76 69 65 77 2e 65 78 65 20 72 6f 6c  fts3view.exe rol
125c0 6c 62 61 63 6b 2d 74 65 73 74 2e 65 78 65 20 73  lback-test.exe s
125d0 68 6f 77 64 62 2e 65 78 65 20 64 62 64 75 6d 70  howdb.exe dbdump
125e0 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del 
125f0 2f 51 20 63 68 61 6e 67 65 73 65 74 2e 65 78 65  /Q changeset.exe
12600 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73   2>NUL..del /Q s
12610 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 20 73  howjournal.exe s
12620 68 6f 77 73 74 61 74 34 2e 65 78 65 20 73 68 6f  howstat4.exe sho
12630 77 77 61 6c 2e 65 78 65 20 73 70 65 65 64 74 65  wwal.exe speedte
12640 73 74 31 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  st1.exe 2>NUL..d
12650 65 6c 20 2f 51 20 6d 70 74 65 73 74 65 72 2e 65  el /Q mptester.e
12660 78 65 20 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65  xe wordcount.exe
12670 20 72 62 75 2e 65 78 65 20 73 72 63 63 6b 31 2e   rbu.exe srcck1.
12680 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  exe 2>NUL..del /
12690 51 20 73 71 6c 69 74 65 33 2e 63 20 73 71 6c 69  Q sqlite3.c sqli
126a0 74 65 33 2d 2a 2e 63 20 32 3e 4e 55 4c 0a 09 64  te3-*.c 2>NUL..d
126b0 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 72 63 2e  el /Q sqlite3rc.
126c0 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  h 2>NUL..del /Q 
126d0 73 68 65 6c 6c 2e 63 20 73 71 6c 69 74 65 33 65  shell.c sqlite3e
126e0 78 74 2e 68 20 73 71 6c 69 74 65 33 73 65 73 73  xt.h sqlite3sess
126f0 69 6f 6e 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c  ion.h 2>NUL..del
12700 20 2f 51 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c   /Q sqlite3_anal
12710 79 7a 65 72 2e 65 78 65 20 73 71 6c 69 74 65 33  yzer.exe sqlite3
12720 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 32 3e 4e 55  _analyzer.c 2>NU
12730 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65  L..del /Q sqlite
12740 2d 2a 2d 6f 75 74 70 75 74 2e 76 73 69 78 20 32  -*-output.vsix 2
12750 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 66 75 7a  >NUL..del /Q fuz
12760 7a 65 72 73 68 65 6c 6c 2e 65 78 65 20 66 75 7a  zershell.exe fuz
12770 7a 63 68 65 63 6b 2e 65 78 65 20 73 71 6c 64 69  zcheck.exe sqldi
12780 66 66 2e 65 78 65 20 64 62 68 61 73 68 2e 65 78  ff.exe dbhash.ex
12790 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q 
127a0 73 71 6c 74 63 6c 73 68 2e 2a 20 32 3e 4e 55 4c  sqltclsh.* 2>NUL
127b0 0a 09 64 65 6c 20 2f 51 20 64 62 66 75 7a 7a 2e  ..del /Q dbfuzz.
127c0 65 78 65 20 73 65 73 73 69 6f 6e 66 75 7a 7a 2e  exe sessionfuzz.
127d0 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  exe 2>NUL..del /
127e0 51 20 6b 76 74 65 73 74 2e 65 78 65 20 6f 73 73  Q kvtest.exe oss
127f0 73 68 65 6c 6c 2e 65 78 65 20 73 63 72 75 62 2e  shell.exe scrub.
12800 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  exe 2>NUL..del /
12810 51 20 73 68 6f 77 73 68 6d 2e 65 78 65 20 73 71  Q showshm.exe sq
12820 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 2a 20  lite3_checker.* 
12830 73 71 6c 69 74 65 33 5f 65 78 70 65 72 74 2e 65  sqlite3_expert.e
12840 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  xe 2>NUL..del /Q
12850 20 66 74 73 35 2e 2a 20 66 74 73 35 70 61 72 73   fts5.* fts5pars
12860 65 2e 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  e.* 2>NUL..del /
12870 51 20 6c 73 6d 2e 68 20 6c 73 6d 31 2e 63 20 32  Q lsm.h lsm1.c 2
12880 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  >NUL.# <</mark>>
12890 0a                                               .