/ Hex Artifact Content
Login

Artifact 8a6727b41a4626a5552016f4b0088b43fb14a32f53db1f47e83a0fefcb63c49a:


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 74 69 6c 2e 6c  update.lo util.l
7f20: 6f 20 76 61 63 75 75 6d 2e 6c 6f 20 5c 0a 20 20  o vacuum.lo \.  
7f30: 20 20 20 20 20 20 20 76 64 62 65 61 70 69 2e 6c         vdbeapi.l
7f40: 6f 20 76 64 62 65 61 75 78 2e 6c 6f 20 76 64 62  o vdbeaux.lo vdb
7f50: 65 62 6c 6f 62 2e 6c 6f 20 76 64 62 65 6d 65 6d  eblob.lo vdbemem
7f60: 2e 6c 6f 20 76 64 62 65 73 6f 72 74 2e 6c 6f 20  .lo vdbesort.lo 
7f70: 5c 0a 20 20 20 20 20 20 20 20 20 76 64 62 65 74  \.         vdbet
7f80: 72 61 63 65 2e 6c 6f 20 77 61 6c 2e 6c 6f 20 77  race.lo wal.lo w
7f90: 61 6c 6b 65 72 2e 6c 6f 20 77 68 65 72 65 2e 6c  alker.lo where.l
7fa0: 6f 20 77 68 65 72 65 63 6f 64 65 2e 6c 6f 20 77  o wherecode.lo w
7fb0: 68 65 72 65 65 78 70 72 2e 6c 6f 20 5c 0a 20 20  hereexpr.lo \.  
7fc0: 20 20 20 20 20 20 20 75 74 66 2e 6c 6f 20 76 74         utf.lo vt
7fd0: 61 62 2e 6c 6f 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  ab.lo.# <</mark>
7fe0: 3e 0a 0a 23 20 4f 62 6a 65 63 74 20 66 69 6c 65  >..# Object file
7ff0: 73 20 66 6f 72 20 74 68 65 20 61 6d 61 6c 67 61  s for the amalga
8000: 6d 61 74 69 6f 6e 2e 0a 23 0a 4c 49 42 4f 42 4a  mation..#.LIBOBJ
8010: 53 31 20 3d 20 73 71 6c 69 74 65 33 2e 6c 6f 0a  S1 = sqlite3.lo.
8020: 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 74 68 65  .# Determine the
8030: 20 72 65 61 6c 20 76 61 6c 75 65 20 6f 66 20 4c   real value of L
8040: 49 42 4f 42 4a 20 62 61 73 65 64 20 6f 6e 20 74  IBOBJ based on t
8050: 68 65 20 27 63 6f 6e 66 69 67 75 72 65 27 20 73  he 'configure' s
8060: 63 72 69 70 74 0a 23 0a 23 20 3c 3c 6d 61 72 6b  cript.#.# <<mark
8070: 3e 3e 0a 21 49 46 20 24 28 55 53 45 5f 41 4d 41  >>.!IF $(USE_AMA
8080: 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 4c 49  LGAMATION)==0.LI
8090: 42 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53  BOBJ = $(LIBOBJS
80a0: 30 29 0a 21 45 4c 53 45 0a 23 20 3c 3c 2f 6d 61  0).!ELSE.# <</ma
80b0: 72 6b 3e 3e 0a 4c 49 42 4f 42 4a 20 3d 20 24 28  rk>>.LIBOBJ = $(
80c0: 4c 49 42 4f 42 4a 53 31 29 0a 23 20 3c 3c 6d 61  LIBOBJS1).# <<ma
80d0: 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 23 20 3c 3c  rk>>.!ENDIF.# <<
80e0: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65 74 65 72  /mark>>..# Deter
80f0: 6d 69 6e 65 20 69 66 20 65 6d 62 65 64 64 65 64  mine if embedded
8100: 20 72 65 73 6f 75 72 63 65 20 63 6f 6d 70 69 6c   resource compil
8110: 61 74 69 6f 6e 20 61 6e 64 20 75 73 61 67 65 20  ation and usage 
8120: 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a 21  are enabled..#.!
8130: 49 46 20 24 28 55 53 45 5f 52 43 29 21 3d 30 0a  IF $(USE_RC)!=0.
8140: 4c 49 42 52 45 53 4f 42 4a 53 20 3d 20 73 71 6c  LIBRESOBJS = sql
8150: 69 74 65 33 72 65 73 2e 6c 6f 0a 21 45 4c 53 45  ite3res.lo.!ELSE
8160: 0a 4c 49 42 52 45 53 4f 42 4a 53 20 3d 0a 21 45  .LIBRESOBJS =.!E
8170: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
8180: 0a 23 20 43 6f 72 65 20 73 6f 75 72 63 65 20 63  .# Core source c
8190: 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20  ode files, part 
81a0: 31 2e 0a 23 0a 53 52 43 30 30 20 3d 20 5c 0a 20  1..#.SRC00 = \. 
81b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c 74 65   $(TOP)\src\alte
81c0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  r.c \.  $(TOP)\s
81d0: 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20 5c 0a 20  rc\analyze.c \. 
81e0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 74 74 61   $(TOP)\src\atta
81f0: 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ch.c \.  $(TOP)\
8200: 73 72 63 5c 61 75 74 68 2e 63 20 5c 0a 20 20 24  src\auth.c \.  $
8210: 28 54 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75 70  (TOP)\src\backup
8220: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8230: 63 5c 62 69 74 76 65 63 2e 63 20 5c 0a 20 20 24  c\bitvec.c \.  $
8240: 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65  (TOP)\src\btmute
8250: 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  x.c \.  $(TOP)\s
8260: 72 63 5c 62 74 72 65 65 2e 63 20 5c 0a 20 20 24  rc\btree.c \.  $
8270: 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e  (TOP)\src\build.
8280: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8290: 5c 63 61 6c 6c 62 61 63 6b 2e 63 20 5c 0a 20 20  \callback.c \.  
82a0: 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c  $(TOP)\src\compl
82b0: 65 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ete.c \.  $(TOP)
82c0: 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20 5c 0a 20  \src\ctime.c \. 
82d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65   $(TOP)\src\date
82e0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
82f0: 63 5c 64 62 70 61 67 65 2e 63 20 5c 0a 20 20 24  c\dbpage.c \.  $
8300: 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 61 74  (TOP)\src\dbstat
8310: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8320: 63 5c 64 65 6c 65 74 65 2e 63 20 5c 0a 20 20 24  c\delete.c \.  $
8330: 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63  (TOP)\src\expr.c
8340: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8350: 66 61 75 6c 74 2e 63 20 5c 0a 20 20 24 28 54 4f  fault.c \.  $(TO
8360: 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20 5c 0a  P)\src\fkey.c \.
8370: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e    $(TOP)\src\fun
8380: 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  c.c \.  $(TOP)\s
8390: 72 63 5c 67 6c 6f 62 61 6c 2e 63 20 5c 0a 20 20  rc\global.c \.  
83a0: 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e  $(TOP)\src\hash.
83b0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
83c0: 5c 69 6e 73 65 72 74 2e 63 20 5c 0a 20 20 24 28  \insert.c \.  $(
83d0: 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e  TOP)\src\legacy.
83e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
83f0: 5c 6c 6f 61 64 65 78 74 2e 63 20 5c 0a 20 20 24  \loadext.c \.  $
8400: 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63  (TOP)\src\main.c
8410: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8420: 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24 28 54  malloc.c \.  $(T
8430: 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 5c  OP)\src\mem0.c \
8440: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  .  $(TOP)\src\me
8450: 6d 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  m1.c \.  $(TOP)\
8460: 73 72 63 5c 6d 65 6d 32 2e 63 20 5c 0a 20 20 24  src\mem2.c \.  $
8470: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63  (TOP)\src\mem3.c
8480: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8490: 6d 65 6d 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50  mem5.c \.  $(TOP
84a0: 29 5c 73 72 63 5c 6d 65 6d 64 62 2e 63 20 5c 0a  )\src\memdb.c \.
84b0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d    $(TOP)\src\mem
84c0: 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28  journal.c \.  $(
84d0: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63  TOP)\src\mutex.c
84e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
84f0: 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 5c 0a 20  mutex_noop.c \. 
8500: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65   $(TOP)\src\mute
8510: 78 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28 54  x_unix.c \.  $(T
8520: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33  OP)\src\mutex_w3
8530: 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  2.c \.  $(TOP)\s
8540: 72 63 5c 6e 6f 74 69 66 79 2e 63 20 5c 0a 20 20  rc\notify.c \.  
8550: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20  $(TOP)\src\os.c 
8560: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f  \.  $(TOP)\src\o
8570: 73 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28 54  s_unix.c \.  $(T
8580: 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63  OP)\src\os_win.c
8590: 0a 0a 23 20 43 6f 72 65 20 73 6f 75 72 63 65 20  ..# Core source 
85a0: 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74  code files, part
85b0: 20 32 2e 0a 23 0a 53 52 43 30 31 20 3d 20 5c 0a   2..#.SRC01 = \.
85c0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67    $(TOP)\src\pag
85d0: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\
85e0: 73 72 63 5c 70 63 61 63 68 65 2e 63 20 5c 0a 20  src\pcache.c \. 
85f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63   $(TOP)\src\pcac
8600: 68 65 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  he1.c \.  $(TOP)
8610: 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 20 5c 0a  \src\pragma.c \.
8620: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65    $(TOP)\src\pre
8630: 70 61 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  pare.c \.  $(TOP
8640: 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 20 5c  )\src\printf.c \
8650: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 61  .  $(TOP)\src\ra
8660: 6e 64 6f 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ndom.c \.  $(TOP
8670: 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 20  )\src\resolve.c 
8680: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72  \.  $(TOP)\src\r
8690: 6f 77 73 65 74 2e 63 20 5c 0a 20 20 24 28 54 4f  owset.c \.  $(TO
86a0: 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 20  P)\src\select.c 
86b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s
86c0: 74 61 74 75 73 2e 63 20 5c 0a 20 20 24 28 54 4f  tatus.c \.  $(TO
86d0: 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20 5c  P)\src\table.c \
86e0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 68  .  $(TOP)\src\th
86f0: 72 65 61 64 73 2e 63 20 5c 0a 20 20 24 28 54 4f  reads.c \.  $(TO
8700: 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65  P)\src\tclsqlite
8710: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8720: 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20  c\tokenize.c \. 
8730: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65   $(TOP)\src\tree
8740: 76 69 65 77 2e 63 20 5c 0a 20 20 24 28 54 4f 50  view.c \.  $(TOP
8750: 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 20  )\src\trigger.c 
8760: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75  \.  $(TOP)\src\u
8770: 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  tf.c \.  $(TOP)\
8780: 73 72 63 5c 75 70 64 61 74 65 2e 63 20 5c 0a 20  src\update.c \. 
8790: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c   $(TOP)\src\util
87a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
87b0: 63 5c 76 61 63 75 75 6d 2e 63 20 5c 0a 20 20 24  c\vacuum.c \.  $
87c0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
87d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
87e0: 76 64 62 65 61 70 69 2e 63 20 5c 0a 20 20 24 28  vdbeapi.c \.  $(
87f0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78  TOP)\src\vdbeaux
8800: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8810: 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 5c 0a 20  c\vdbeblob.c \. 
8820: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
8830: 6d 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  mem.c \.  $(TOP)
8840: 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 20  \src\vdbesort.c 
8850: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  \.  $(TOP)\src\v
8860: 64 62 65 74 72 61 63 65 2e 63 20 5c 0a 20 20 24  dbetrace.c \.  $
8870: 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63  (TOP)\src\vtab.c
8880: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8890: 77 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  wal.c \.  $(TOP)
88a0: 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20 5c 0a  \src\walker.c \.
88b0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65    $(TOP)\src\whe
88c0: 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  re.c \.  $(TOP)\
88d0: 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 20  src\wherecode.c 
88e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77  \.  $(TOP)\src\w
88f0: 68 65 72 65 65 78 70 72 2e 63 0a 0a 23 20 43 6f  hereexpr.c..# Co
8900: 72 65 20 6d 69 73 63 65 6c 6c 61 6e 65 6f 75 73  re miscellaneous
8910: 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43 30 33 20   files..#.SRC03 
8920: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  = \.  $(TOP)\src
8930: 5c 70 61 72 73 65 2e 79 0a 0a 23 20 43 6f 72 65  \parse.y..# Core
8940: 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70   header files, p
8950: 61 72 74 20 31 2e 0a 23 0a 53 52 43 30 34 20 3d  art 1..#.SRC04 =
8960: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8970: 62 74 72 65 65 2e 68 20 5c 0a 20 20 24 28 54 4f  btree.h \.  $(TO
8980: 50 29 5c 73 72 63 5c 62 74 72 65 65 49 6e 74 2e  P)\src\btreeInt.
8990: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
89a0: 5c 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  \hash.h \.  $(TO
89b0: 50 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e 68 20  P)\src\hwtime.h 
89c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
89d0: 73 76 63 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  svc.h \.  $(TOP)
89e0: 5c 73 72 63 5c 6d 75 74 65 78 2e 68 20 5c 0a 20  \src\mutex.h \. 
89f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 68   $(TOP)\src\os.h
8a00: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8a10: 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20  os_common.h \.  
8a20: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 73 65  $(TOP)\src\os_se
8a30: 74 75 70 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  tup.h \.  $(TOP)
8a40: 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 0a 0a 23  \src\os_win.h..#
8a50: 20 43 6f 72 65 20 68 65 61 64 65 72 20 66 69 6c   Core header fil
8a60: 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52  es, part 2..#.SR
8a70: 43 30 35 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C05 = \.  $(TOP)
8a80: 5c 73 72 63 5c 70 61 67 65 72 2e 68 20 5c 0a 20  \src\pager.h \. 
8a90: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63   $(TOP)\src\pcac
8aa0: 68 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  he.h \.  $(TOP)\
8ab0: 73 72 63 5c 70 72 61 67 6d 61 2e 68 20 5c 0a 20  src\pragma.h \. 
8ac0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69   $(TOP)\src\sqli
8ad0: 74 65 2e 68 2e 69 6e 20 5c 0a 20 20 24 28 54 4f  te.h.in \.  $(TO
8ae0: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 65 78  P)\src\sqlite3ex
8af0: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.h \.  $(TOP)\s
8b00: 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68 20 5c  rc\sqliteInt.h \
8b10: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71  .  $(TOP)\src\sq
8b20: 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a 20 20  liteLimit.h \.  
8b30: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e  $(TOP)\src\vdbe.
8b40: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
8b50: 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20 20 24  \vdbeInt.h \.  $
8b60: 28 54 4f 50 29 5c 73 72 63 5c 76 78 77 6f 72 6b  (TOP)\src\vxwork
8b70: 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  s.h \.  $(TOP)\s
8b80: 72 63 5c 77 61 6c 2e 68 20 5c 0a 20 20 24 28 54  rc\wal.h \.  $(T
8b90: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49 6e 74  OP)\src\whereInt
8ba0: 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20  .h..# Extension 
8bb0: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65  source code file
8bc0: 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43  s, part 1..#.SRC
8bd0: 30 36 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c  06 = \.  $(TOP)\
8be0: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 63 20  ext\fts1\fts1.c 
8bf0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
8c00: 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 63 20  ts1\fts1_hash.c 
8c10: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
8c20: 74 73 31 5c 66 74 73 31 5f 70 6f 72 74 65 72 2e  ts1\fts1_porter.
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 74 6f 6b 65 6e  \fts1\fts1_token
8c50: 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24 28 54 4f  izer1.c \.  $(TO
8c60: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
8c70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8c80: 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68  t\fts2\fts2_hash
8c90: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8ca0: 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e  t\fts2\fts2_icu.
8cb0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
8cc0: 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74 65  \fts2\fts2_porte
8cd0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e
8ce0: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b  xt\fts2\fts2_tok
8cf0: 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54  enizer.c \.  $(T
8d00: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
8d10: 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a  2_tokenizer1.c..
8d20: 23 20 45 78 74 65 6e 73 69 6f 6e 20 73 6f 75 72  # Extension sour
8d30: 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70  ce code files, p
8d40: 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 37 20 3d  art 2..#.SRC07 =
8d50: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8d60: 66 74 73 33 5c 66 74 73 33 2e 63 20 5c 0a 20 20  fts3\fts3.c \.  
8d70: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
8d80: 66 74 73 33 5f 61 75 78 2e 63 20 5c 0a 20 20 24  fts3_aux.c \.  $
8d90: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
8da0: 74 73 33 5f 65 78 70 72 2e 63 20 5c 0a 20 20 24  ts3_expr.c \.  $
8db0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
8dc0: 74 73 33 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24  ts3_hash.c \.  $
8dd0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
8de0: 74 73 33 5f 69 63 75 2e 63 20 5c 0a 20 20 24 28  ts3_icu.c \.  $(
8df0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
8e00: 73 33 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20  s3_porter.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 73 6e 69 70 70 65 74 2e 63 20 5c  fts3_snippet.c \
8e30: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
8e40: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
8e50: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e
8e60: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
8e70: 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24 28  enizer1.c \.  $(
8e80: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
8e90: 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62  s3_tokenize_vtab
8ea0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8eb0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63  t\fts3\fts3_unic
8ec0: 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ode.c \.  $(TOP)
8ed0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75  \ext\fts3\fts3_u
8ee0: 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20 24 28  nicode2.c \.  $(
8ef0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
8f00: 73 33 5f 77 72 69 74 65 2e 63 20 5c 0a 20 20 24  s3_write.c \.  $
8f10: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63  (TOP)\ext\icu\ic
8f20: 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  u.c \.  $(TOP)\e
8f30: 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 63  xt\rtree\rtree.c
8f40: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8f50: 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73  session\sqlite3s
8f60: 65 73 73 69 6f 6e 2e 63 20 5c 0a 20 20 24 28 54  ession.c \.  $(T
8f70: 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69  OP)\ext\rbu\sqli
8f80: 74 65 33 72 62 75 2e 63 20 5c 0a 20 20 24 28 54  te3rbu.c \.  $(T
8f90: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a 73 6f  OP)\ext\misc\jso
8fa0: 6e 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  n1.c \.  $(TOP)\
8fb0: 65 78 74 5c 6d 69 73 63 5c 73 74 6d 74 2e 63 0a  ext\misc\stmt.c.
8fc0: 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 61  .# Extension hea
8fd0: 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20  der files, part 
8fe0: 31 2e 0a 23 0a 53 52 43 30 38 20 3d 20 5c 0a 20  1..#.SRC08 = \. 
8ff0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31   $(TOP)\ext\fts1
9000: 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f  \fts1.h \.  $(TO
9010: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
9020: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  _hash.h \.  $(TO
9030: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
9040: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a 20  _tokenizer.h \. 
9050: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
9060: 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 54 4f  \fts2.h \.  $(TO
9070: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
9080: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  _hash.h \.  $(TO
9090: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
90a0: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 0a 23 20  _tokenizer.h..# 
90b0: 45 78 74 65 6e 73 69 6f 6e 20 68 65 61 64 65 72  Extension header
90c0: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a   files, part 2..
90d0: 23 0a 53 52 43 30 39 20 3d 20 5c 0a 20 20 24 28  #.SRC09 = \.  $(
90e0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
90f0: 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  s3.h \.  $(TOP)\
9100: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49 6e 74  ext\fts3\fts3Int
9110: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex
9120: 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68  t\fts3\fts3_hash
9130: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex
9140: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
9150: 6e 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f  nizer.h \.  $(TO
9160: 50 29 5c 65 78 74 5c 69 63 75 5c 73 71 6c 69 74  P)\ext\icu\sqlit
9170: 65 69 63 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50  eicu.h \.  $(TOP
9180: 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65  )\ext\rtree\rtre
9190: 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  e.h \.  $(TOP)\e
91a0: 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62  xt\rbu\sqlite3rb
91b0: 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  u.h \.  $(TOP)\e
91c0: 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74  xt\session\sqlit
91d0: 65 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20 47  e3session.h..# G
91e0: 65 6e 65 72 61 74 65 64 20 73 6f 75 72 63 65 20  enerated source 
91f0: 63 6f 64 65 20 66 69 6c 65 73 0a 23 0a 53 52 43  code files.#.SRC
9200: 31 30 20 3d 20 5c 0a 20 20 6f 70 63 6f 64 65 73  10 = \.  opcodes
9210: 2e 63 20 5c 0a 20 20 70 61 72 73 65 2e 63 0a 0a  .c \.  parse.c..
9220: 23 20 47 65 6e 65 72 61 74 65 64 20 68 65 61 64  # Generated head
9230: 65 72 20 66 69 6c 65 73 0a 23 0a 53 52 43 31 31  er files.#.SRC11
9240: 20 3d 20 5c 0a 20 20 6b 65 79 77 6f 72 64 68 61   = \.  keywordha
9250: 73 68 2e 68 20 5c 0a 20 20 6f 70 63 6f 64 65 73  sh.h \.  opcodes
9260: 2e 68 20 5c 0a 20 20 70 61 72 73 65 2e 68 20 5c  .h \.  parse.h \
9270: 0a 20 20 73 68 65 6c 6c 2e 63 20 5c 0a 20 20 24  .  shell.c \.  $
9280: 28 53 51 4c 49 54 45 33 48 29 0a 0a 23 20 47 65  (SQLITE3H)..# Ge
9290: 6e 65 72 61 74 65 64 20 54 63 6c 20 68 65 61 64  nerated Tcl head
92a0: 65 72 20 66 69 6c 65 73 0a 23 0a 21 49 46 20 24  er files.#.!IF $
92b0: 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30  (USE_STDCALL)!=0
92c0: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10)
92d0: 21 3d 30 0a 53 52 43 31 32 20 3d 20 5c 0a 20 20  !=0.SRC12 = \.  
92e0: 24 28 53 51 4c 49 54 45 54 43 4c 48 29 20 5c 0a  $(SQLITETCLH) \.
92f0: 20 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43    $(SQLITETCLDEC
9300: 4c 53 48 29 0a 21 45 4c 53 45 0a 53 52 43 31 32  LSH).!ELSE.SRC12
9310: 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 41 6c 6c   =.!ENDIF..# All
9320: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c   source code fil
9330: 65 73 2e 0a 23 0a 53 52 43 20 3d 20 24 28 53 52  es..#.SRC = $(SR
9340: 43 30 30 29 20 24 28 53 52 43 30 31 29 20 24 28  C00) $(SRC01) $(
9350: 53 52 43 30 33 29 20 24 28 53 52 43 30 34 29 20  SRC03) $(SRC04) 
9360: 24 28 53 52 43 30 35 29 20 24 28 53 52 43 30 36  $(SRC05) $(SRC06
9370: 29 20 24 28 53 52 43 30 37 29 20 24 28 53 52 43  ) $(SRC07) $(SRC
9380: 30 38 29 20 24 28 53 52 43 30 39 29 20 24 28 53  08) $(SRC09) $(S
9390: 52 43 31 30 29 20 24 28 53 52 43 31 31 29 0a 0a  RC10) $(SRC11)..
93a0: 23 20 53 6f 75 72 63 65 20 63 6f 64 65 20 74 6f  # Source code to
93b0: 20 74 68 65 20 74 65 73 74 20 66 69 6c 65 73 2e   the test files.
93c0: 0a 23 0a 54 45 53 54 53 52 43 20 3d 20 5c 0a 20  .#.TESTSRC = \. 
93d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
93e0: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  1.c \.  $(TOP)\s
93f0: 72 63 5c 74 65 73 74 32 2e 63 20 5c 0a 20 20 24  rc\test2.c \.  $
9400: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 33 2e  (TOP)\src\test3.
9410: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9420: 5c 74 65 73 74 34 2e 63 20 5c 0a 20 20 24 28 54  \test4.c \.  $(T
9430: 4f 50 29 5c 73 72 63 5c 74 65 73 74 35 2e 63 20  OP)\src\test5.c 
9440: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9450: 65 73 74 36 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est6.c \.  $(TOP
9460: 29 5c 73 72 63 5c 74 65 73 74 37 2e 63 20 5c 0a  )\src\test7.c \.
9470: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9480: 74 38 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  t8.c \.  $(TOP)\
9490: 73 72 63 5c 74 65 73 74 39 2e 63 20 5c 0a 20 20  src\test9.c \.  
94a0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
94b0: 61 75 74 6f 65 78 74 2e 63 20 5c 0a 20 20 24 28  autoext.c \.  $(
94c0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 61 73  TOP)\src\test_as
94d0: 79 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ync.c \.  $(TOP)
94e0: 5c 73 72 63 5c 74 65 73 74 5f 62 61 63 6b 75 70  \src\test_backup
94f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
9500: 63 5c 74 65 73 74 5f 62 65 73 74 69 6e 64 65 78  c\test_bestindex
9510: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
9520: 63 5c 74 65 73 74 5f 62 6c 6f 62 2e 63 20 5c 0a  c\test_blob.c \.
9530: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9540: 74 5f 62 74 72 65 65 2e 63 20 5c 0a 20 20 24 28  t_btree.c \.  $(
9550: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 63 6f  TOP)\src\test_co
9560: 6e 66 69 67 2e 63 20 5c 0a 20 20 24 28 54 4f 50  nfig.c \.  $(TOP
9570: 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 6c 65 74  )\src\test_delet
9580: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
9590: 72 63 5c 74 65 73 74 5f 64 65 6d 6f 76 66 73 2e  rc\test_demovfs.
95a0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
95b0: 5c 74 65 73 74 5f 64 65 76 73 79 6d 2e 63 20 5c  \test_devsym.c \
95c0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
95d0: 73 74 5f 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f  st_fs.c \.  $(TO
95e0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 75 6e 63  P)\src\test_func
95f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
9600: 63 5c 74 65 73 74 5f 68 65 78 69 6f 2e 63 20 5c  c\test_hexio.c \
9610: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9620: 73 74 5f 69 6e 69 74 2e 63 20 5c 0a 20 20 24 28  st_init.c \.  $(
9630: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e  TOP)\src\test_in
9640: 74 61 72 72 61 79 2e 63 20 5c 0a 20 20 24 28 54  tarray.c \.  $(T
9650: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6a 6f 75  OP)\src\test_jou
9660: 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50  rnal.c \.  $(TOP
9670: 29 5c 73 72 63 5c 74 65 73 74 5f 6d 61 6c 6c 6f  )\src\test_mallo
9680: 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  c.c \.  $(TOP)\s
9690: 72 63 5c 74 65 73 74 5f 6d 64 35 2e 63 20 5c 0a  rc\test_md5.c \.
96a0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
96b0: 74 5f 6d 75 6c 74 69 70 6c 65 78 2e 63 20 5c 0a  t_multiplex.c \.
96c0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
96d0: 74 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28  t_mutex.c \.  $(
96e0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 6e  TOP)\src\test_on
96f0: 65 66 69 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f  efile.c \.  $(TO
9700: 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 73 69 6e  P)\src\test_osin
9710: 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  st.c \.  $(TOP)\
9720: 73 72 63 5c 74 65 73 74 5f 70 63 61 63 68 65 2e  src\test_pcache.
9730: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9740: 5c 74 65 73 74 5f 71 75 6f 74 61 2e 63 20 5c 0a  \test_quota.c \.
9750: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9760: 74 5f 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28  t_rtree.c \.  $(
9770: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 63  TOP)\src\test_sc
9780: 68 65 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50  hema.c \.  $(TOP
9790: 29 5c 73 72 63 5c 74 65 73 74 5f 73 65 72 76 65  )\src\test_serve
97a0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  r.c \.  $(TOP)\s
97b0: 72 63 5c 74 65 73 74 5f 73 75 70 65 72 6c 6f 63  rc\test_superloc
97c0: 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  k.c \.  $(TOP)\s
97d0: 72 63 5c 74 65 73 74 5f 73 79 73 63 61 6c 6c 2e  rc\test_syscall.
97e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
97f0: 5c 74 65 73 74 5f 74 63 6c 73 68 2e 63 20 5c 0a  \test_tclsh.c \.
9800: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9810: 74 5f 74 63 6c 76 61 72 2e 63 20 5c 0a 20 20 24  t_tclvar.c \.  $
9820: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 74  (TOP)\src\test_t
9830: 68 72 65 61 64 2e 63 20 5c 0a 20 20 24 28 54 4f  hread.c \.  $(TO
9840: 50 29 5c 73 72 63 5c 74 65 73 74 5f 76 66 73 2e  P)\src\test_vfs.
9850: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9860: 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 6e 74 2e  \test_windirent.
9870: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9880: 5c 74 65 73 74 5f 77 73 64 2e 63 20 5c 0a 20 20  \test_wsd.c \.  
9890: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
98a0: 66 74 73 33 5f 74 65 72 6d 2e 63 20 5c 0a 20 20  fts3_term.c \.  
98b0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
98c0: 66 74 73 33 5f 74 65 73 74 2e 63 20 5c 0a 20 20  fts3_test.c \.  
98d0: 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 74  $(TOP)\ext\rbu\t
98e0: 65 73 74 5f 72 62 75 2e 63 20 5c 0a 20 20 24 28  est_rbu.c \.  $(
98f0: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
9900: 5c 74 65 73 74 5f 73 65 73 73 69 6f 6e 2e 63 0a  \test_session.c.
9910: 0a 23 20 53 74 61 74 69 63 61 6c 6c 79 20 6c 69  .# Statically li
9920: 6e 6b 65 64 20 65 78 74 65 6e 73 69 6f 6e 73 2e  nked extensions.
9930: 0a 23 0a 54 45 53 54 45 58 54 20 3d 20 5c 0a 20  .#.TESTEXT = \. 
9940: 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65   $(TOP)\ext\expe
9950: 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74  rt\sqlite3expert
9960: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9970: 74 5c 65 78 70 65 72 74 5c 74 65 73 74 5f 65 78  t\expert\test_ex
9980: 70 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  pert.c \.  $(TOP
9990: 29 5c 65 78 74 5c 6d 69 73 63 5c 61 6d 61 74 63  )\ext\misc\amatc
99a0: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  h.c \.  $(TOP)\e
99b0: 78 74 5c 6d 69 73 63 5c 63 61 72 72 61 79 2e 63  xt\misc\carray.c
99c0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
99d0: 6d 69 73 63 5c 63 6c 6f 73 75 72 65 2e 63 20 5c  misc\closure.c \
99e0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
99f0: 73 63 5c 63 73 76 2e 63 20 5c 0a 20 20 24 28 54  sc\csv.c \.  $(T
9a00: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 65 76 61  OP)\ext\misc\eva
9a10: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  l.c \.  $(TOP)\e
9a20: 78 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f 2e 63  xt\misc\fileio.c
9a30: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9a40: 6d 69 73 63 5c 66 75 7a 7a 65 72 2e 63 20 5c 0a  misc\fuzzer.c \.
9a50: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
9a60: 35 5c 66 74 73 35 5f 74 63 6c 2e 63 20 5c 0a 20  5\fts5_tcl.c \. 
9a70: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
9a80: 5c 66 74 73 35 5f 74 65 73 74 5f 6d 69 2e 63 20  \fts5_test_mi.c 
9a90: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9aa0: 74 73 35 5c 66 74 73 35 5f 74 65 73 74 5f 74 6f  ts5\fts5_test_to
9ab0: 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  k.c \.  $(TOP)\e
9ac0: 78 74 5c 6d 69 73 63 5c 69 65 65 65 37 35 34 2e  xt\misc\ieee754.
9ad0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9ae0: 5c 6d 69 73 63 5c 6d 6d 61 70 77 61 72 6d 2e 63  \misc\mmapwarm.c
9af0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9b00: 6d 69 73 63 5c 6e 65 78 74 63 68 61 72 2e 63 20  misc\nextchar.c 
9b10: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
9b20: 69 73 63 5c 6e 6f 72 6d 61 6c 69 7a 65 2e 63 20  isc\normalize.c 
9b30: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
9b40: 69 73 63 5c 70 65 72 63 65 6e 74 69 6c 65 2e 63  isc\percentile.c
9b50: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9b60: 6d 69 73 63 5c 72 65 67 65 78 70 2e 63 20 5c 0a  misc\regexp.c \.
9b70: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
9b80: 63 5c 72 65 6d 65 6d 62 65 72 2e 63 20 5c 0a 20  c\remember.c \. 
9b90: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
9ba0: 5c 73 65 72 69 65 73 2e 63 20 5c 0a 20 20 24 28  \series.c \.  $(
9bb0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 70  TOP)\ext\misc\sp
9bc0: 65 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24 28 54  ellfix.c \.  $(T
9bd0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 74 6f 74  OP)\ext\misc\tot
9be0: 79 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ype.c \.  $(TOP)
9bf0: 5c 65 78 74 5c 6d 69 73 63 5c 75 6e 69 6f 6e 76  \ext\misc\unionv
9c00: 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tab.c \.  $(TOP)
9c10: 5c 65 78 74 5c 6d 69 73 63 5c 77 68 6f 6c 65 6e  \ext\misc\wholen
9c20: 75 6d 62 65 72 2e 63 0a 0a 23 20 49 66 20 75 73  umber.c..# If us
9c30: 65 20 6f 66 20 7a 6c 69 62 20 69 73 20 65 6e 61  e of zlib is ena
9c40: 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 22 7a  bled, add the "z
9c50: 69 70 66 69 6c 65 2e 63 22 20 73 6f 75 72 63 65  ipfile.c" source
9c60: 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55   file..#.!IF $(U
9c70: 53 45 5f 5a 4c 49 42 29 21 3d 30 0a 54 45 53 54  SE_ZLIB)!=0.TEST
9c80: 45 58 54 20 3d 20 24 28 54 45 53 54 45 58 54 29  EXT = $(TESTEXT)
9c90: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
9ca0: 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e 44 49  \zipfile.c.!ENDI
9cb0: 46 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f 64 65  F..# Source code
9cc0: 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72 79 20   to the library 
9cd0: 66 69 6c 65 73 20 6e 65 65 64 65 64 20 62 79 20  files needed by 
9ce0: 74 68 65 20 74 65 73 74 20 66 69 78 74 75 72 65  the test fixture
9cf0: 0a 23 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61  .# (non-amalgama
9d00: 74 69 6f 6e 29 0a 23 0a 54 45 53 54 53 52 43 32  tion).#.TESTSRC2
9d10: 20 3d 20 5c 0a 20 20 24 28 53 52 43 30 30 29 20   = \.  $(SRC00) 
9d20: 5c 0a 20 20 24 28 53 52 43 30 31 29 20 5c 0a 20  \.  $(SRC01) \. 
9d30: 20 24 28 53 52 43 30 36 29 20 5c 0a 20 20 24 28   $(SRC06) \.  $(
9d40: 53 52 43 30 37 29 20 5c 0a 20 20 24 28 53 52 43  SRC07) \.  $(SRC
9d50: 31 30 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  10) \.  $(TOP)\e
9d60: 78 74 5c 61 73 79 6e 63 5c 73 71 6c 69 74 65 33  xt\async\sqlite3
9d70: 61 73 79 6e 63 2e 63 0a 0a 23 20 48 65 61 64 65  async.c..# Heade
9d80: 72 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 20  r files used by 
9d90: 61 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f 75 72  all library sour
9da0: 63 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44 52 20  ce files..#.HDR 
9db0: 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  = \.   $(TOP)\sr
9dc0: 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 20 24  c\btree.h \.   $
9dd0: 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 49  (TOP)\src\btreeI
9de0: 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  nt.h \.   $(TOP)
9df0: 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20  \src\hash.h \.  
9e00: 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 77 74 69   $(TOP)\src\hwti
9e10: 6d 65 2e 68 20 5c 0a 20 20 20 6b 65 79 77 6f 72  me.h \.   keywor
9e20: 64 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 28 54  dhash.h \.   $(T
9e30: 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c  OP)\src\msvc.h \
9e40: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  .   $(TOP)\src\m
9e50: 75 74 65 78 2e 68 20 5c 0a 20 20 20 6f 70 63 6f  utex.h \.   opco
9e60: 64 65 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  des.h \.   $(TOP
9e70: 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 20  )\src\os.h \.   
9e80: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f  $(TOP)\src\os_co
9e90: 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 28 54 4f  mmon.h \.   $(TO
9ea0: 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e  P)\src\os_setup.
9eb0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
9ec0: 63 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20 20 20  c\os_win.h \.   
9ed0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72  $(TOP)\src\pager
9ee0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
9ef0: 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20 20  rc\pcache.h \.  
9f00: 20 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 24 28   parse.h \.   $(
9f10: 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e  TOP)\src\pragma.
9f20: 68 20 5c 0a 20 20 20 24 28 53 51 4c 49 54 45 33  h \.   $(SQLITE3
9f30: 48 29 20 5c 0a 20 20 20 73 71 6c 69 74 65 33 65  H) \.   sqlite3e
9f40: 78 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  xt.h \.   $(TOP)
9f50: 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68  \src\sqliteInt.h
9f60: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
9f70: 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c  \sqliteLimit.h \
9f80: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  .   $(TOP)\src\v
9f90: 64 62 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  dbe.h \.   $(TOP
9fa0: 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e 68 20  )\src\vdbeInt.h 
9fb0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\
9fc0: 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20 20 24  vxworks.h \.   $
9fd0: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49  (TOP)\src\whereI
9fe0: 6e 74 2e 68 0a 0a 23 20 48 65 61 64 65 72 20 66  nt.h..# Header f
9ff0: 69 6c 65 73 20 75 73 65 64 20 62 79 20 65 78 74  iles used by ext
a000: 65 6e 73 69 6f 6e 73 0a 23 0a 45 58 54 48 44 52  ensions.#.EXTHDR
a010: 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20   = $(EXTHDR) \. 
a020: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31   $(TOP)\ext\fts1
a030: 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f  \fts1.h \.  $(TO
a040: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
a050: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  _hash.h \.  $(TO
a060: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
a070: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54  _tokenizer.h.EXT
a080: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20  HDR = $(EXTHDR) 
a090: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
a0a0: 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24  ts2\fts2.h \.  $
a0b0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
a0c0: 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24  ts2_hash.h \.  $
a0d0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
a0e0: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a  ts2_tokenizer.h.
a0f0: 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44  EXTHDR = $(EXTHD
a100: 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  R) \.  $(TOP)\ex
a110: 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a  t\fts3\fts3.h \.
a120: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
a130: 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20  3\fts3Int.h \.  
a140: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
a150: 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20  fts3_hash.h \.  
a160: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
a170: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68  fts3_tokenizer.h
a180: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48  .EXTHDR = $(EXTH
a190: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  DR) \.  $(TOP)\e
a1a0: 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 68  xt\rtree\rtree.h
a1b0: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48  .EXTHDR = $(EXTH
a1c0: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  DR) \.  $(TOP)\e
a1d0: 78 74 5c 69 63 75 5c 73 71 6c 69 74 65 69 63 75  xt\icu\sqliteicu
a1e0: 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58  .h.EXTHDR = $(EX
a1f0: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29  THDR) \.  $(TOP)
a200: 5c 65 78 74 5c 72 74 72 65 65 5c 73 71 6c 69 74  \ext\rtree\sqlit
a210: 65 33 72 74 72 65 65 2e 68 0a 45 58 54 48 44 52  e3rtree.h.EXTHDR
a220: 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20   = $(EXTHDR) \. 
a230: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73   $(TOP)\ext\sess
a240: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69  ion\sqlite3sessi
a250: 6f 6e 2e 68 0a 0a 23 20 65 78 65 63 75 74 61 62  on.h..# executab
a260: 6c 65 73 20 6e 65 65 64 65 64 20 66 6f 72 20 74  les needed for t
a270: 65 73 74 69 6e 67 0a 23 0a 54 45 53 54 50 52 4f  esting.#.TESTPRO
a280: 47 53 20 3d 20 5c 0a 20 20 74 65 73 74 66 69 78  GS = \.  testfix
a290: 74 75 72 65 2e 65 78 65 20 5c 0a 20 20 24 28 53  ture.exe \.  $(S
a2a0: 51 4c 49 54 45 33 45 58 45 29 20 5c 0a 20 20 73  QLITE3EXE) \.  s
a2b0: 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
a2c0: 65 78 65 20 5c 0a 20 20 73 71 6c 69 74 65 33 5f  exe \.  sqlite3_
a2d0: 63 68 65 63 6b 65 72 2e 65 78 65 20 5c 0a 20 20  checker.exe \.  
a2e0: 73 71 6c 64 69 66 66 2e 65 78 65 20 5c 0a 20 20  sqldiff.exe \.  
a2f0: 64 62 68 61 73 68 2e 65 78 65 20 5c 0a 20 20 73  dbhash.exe \.  s
a300: 71 6c 74 63 6c 73 68 2e 65 78 65 0a 0a 23 20 44  qltclsh.exe..# D
a310: 61 74 61 62 61 73 65 73 20 63 6f 6e 74 61 69 6e  atabases contain
a320: 69 6e 67 20 66 75 7a 7a 65 72 20 74 65 73 74 20  ing fuzzer test 
a330: 63 61 73 65 73 0a 23 0a 46 55 5a 5a 44 41 54 41  cases.#.FUZZDATA
a340: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65   = \.  $(TOP)\te
a350: 73 74 5c 66 75 7a 7a 64 61 74 61 31 2e 64 62 20  st\fuzzdata1.db 
a360: 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  \.  $(TOP)\test\
a370: 66 75 7a 7a 64 61 74 61 32 2e 64 62 20 5c 0a 20  fuzzdata2.db \. 
a380: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a   $(TOP)\test\fuz
a390: 7a 64 61 74 61 33 2e 64 62 20 5c 0a 20 20 24 28  zdata3.db \.  $(
a3a0: 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61  TOP)\test\fuzzda
a3b0: 74 61 34 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50  ta4.db \.  $(TOP
a3c0: 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 35  )\test\fuzzdata5
a3d0: 2e 64 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  .db.# <</mark>>.
a3e0: 0a 23 20 41 64 64 69 74 69 6f 6e 61 6c 20 63 6f  .# Additional co
a3f0: 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66  mpiler options f
a400: 6f 72 20 74 68 65 20 73 68 65 6c 6c 2e 20 20 54  or the shell.  T
a410: 68 65 73 65 20 61 72 65 20 6f 6e 6c 79 20 65 66  hese are only ef
a420: 66 65 63 74 69 76 65 0a 23 20 77 68 65 6e 20 74  fective.# when t
a430: 68 65 20 73 68 65 6c 6c 20 69 73 20 6e 6f 74 20  he shell is not 
a440: 62 65 69 6e 67 20 64 79 6e 61 6d 69 63 61 6c 6c  being dynamicall
a450: 79 20 6c 69 6e 6b 65 64 2e 0a 23 0a 21 49 46 20  y linked..#.!IF 
a460: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL)
a470: 3d 3d 30 20 26 26 20 24 28 46 4f 52 5f 57 49 4e  ==0 && $(FOR_WIN
a480: 31 30 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d  10)==0.SHELL_COM
a490: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48  PILE_OPTS = $(SH
a4a0: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
a4b0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
a4c0: 45 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45  E_JSON1 -DSQLITE
a4d0: 5f 45 4e 41 42 4c 45 5f 46 54 53 34 20 2d 44 53  _ENABLE_FTS4 -DS
a4e0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 45 58 50  QLITE_ENABLE_EXP
a4f0: 4c 41 49 4e 5f 43 4f 4d 4d 45 4e 54 53 20 2d 44  LAIN_COMMENTS -D
a500: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54  SQLITE_ENABLE_ST
a510: 4d 54 56 54 41 42 0a 53 48 45 4c 4c 5f 43 4f 4d  MTVTAB.SHELL_COM
a520: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48  PILE_OPTS = $(SH
a530: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
a540: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
a550: 45 5f 44 42 50 41 47 45 5f 56 54 41 42 20 2d 44  E_DBPAGE_VTAB -D
a560: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42  SQLITE_ENABLE_DB
a570: 53 54 41 54 5f 56 54 41 42 0a 53 48 45 4c 4c 5f  STAT_VTAB.SHELL_
a580: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24  COMPILE_OPTS = $
a590: 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f  (SHELL_COMPILE_O
a5a0: 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  PTS) -DSQLITE_EN
a5b0: 41 42 4c 45 5f 4f 46 46 53 45 54 5f 53 51 4c 5f  ABLE_OFFSET_SQL_
a5c0: 46 55 4e 43 20 2d 44 53 51 4c 49 54 45 5f 49 4e  FUNC -DSQLITE_IN
a5d0: 54 52 4f 53 50 45 43 54 49 4f 4e 5f 50 52 41 47  TROSPECTION_PRAG
a5e0: 4d 41 53 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c  MAS.SHELL_COMPIL
a5f0: 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c  E_OPTS = $(SHELL
a600: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
a610: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52  DSQLITE_ENABLE_R
a620: 54 52 45 45 0a 21 45 4e 44 49 46 0a 0a 23 20 3c  TREE.!ENDIF..# <
a630: 3c 6d 61 72 6b 3e 3e 0a 23 20 45 78 74 72 61 20  <mark>>.# Extra 
a640: 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73  compiler options
a650: 20 66 6f 72 20 76 61 72 69 6f 75 73 20 74 65 73   for various tes
a660: 74 20 74 6f 6f 6c 73 2e 0a 23 0a 4d 50 54 45 53  t tools..#.MPTES
a670: 54 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  TER_COMPILE_OPTS
a680: 20 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42   = -DSQLITE_ENAB
a690: 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54  LE_JSON1 -DSQLIT
a6a0: 45 5f 45 4e 41 42 4c 45 5f 46 54 53 35 0a 46 55  E_ENABLE_FTS5.FU
a6b0: 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c  ZZERSHELL_COMPIL
a6c0: 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54  E_OPTS = -DSQLIT
a6d0: 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a 46  E_ENABLE_JSON1.F
a6e0: 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45  UZZCHECK_COMPILE
a6f0: 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45  _OPTS = -DSQLITE
a700: 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d 44  _ENABLE_JSON1 -D
a710: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4d 45  SQLITE_ENABLE_ME
a720: 4d 53 59 53 35 20 2d 44 53 51 4c 49 54 45 5f 4f  MSYS5 -DSQLITE_O
a730: 53 53 5f 46 55 5a 5a 20 2d 44 53 51 4c 49 54 45  SS_FUZZ -DSQLITE
a740: 5f 4d 41 58 5f 4d 45 4d 4f 52 59 3d 35 30 30 30  _MAX_MEMORY=5000
a750: 30 30 30 30 20 2d 44 53 51 4c 49 54 45 5f 50 52  0000 -DSQLITE_PR
a760: 49 4e 54 46 5f 50 52 45 43 49 53 49 4f 4e 5f 4c  INTF_PRECISION_L
a770: 49 4d 49 54 3d 31 30 30 30 0a 46 55 5a 5a 43 48  IMIT=1000.FUZZCH
a780: 45 43 4b 5f 53 52 43 20 3d 20 24 28 54 4f 50 29  ECK_SRC = $(TOP)
a790: 5c 74 65 73 74 5c 66 75 7a 7a 63 68 65 63 6b 2e  \test\fuzzcheck.
a7a0: 63 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73  c $(TOP)\test\os
a7b0: 73 66 75 7a 7a 2e 63 0a 4f 53 53 53 48 45 4c 4c  sfuzz.c.OSSSHELL
a7c0: 5f 53 52 43 20 3d 20 24 28 54 4f 50 29 5c 74 65  _SRC = $(TOP)\te
a7d0: 73 74 5c 6f 73 73 73 68 65 6c 6c 2e 63 20 24 28  st\ossshell.c $(
a7e0: 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73 66 75 7a  TOP)\test\ossfuz
a7f0: 7a 2e 63 0a 44 42 46 55 5a 5a 5f 43 4f 4d 50 49  z.c.DBFUZZ_COMPI
a800: 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49  LE_OPTS = -DSQLI
a810: 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20  TE_THREADSAFE=0 
a820: 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f  -DSQLITE_OMIT_LO
a830: 41 44 5f 45 58 54 45 4e 53 49 4f 4e 0a 4b 56 5f  AD_EXTENSION.KV_
a840: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d  COMPILE_OPTS = -
a850: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
a860: 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 44 49  FE=0 -DSQLITE_DI
a870: 52 45 43 54 5f 4f 56 45 52 46 4c 4f 57 5f 52 45  RECT_OVERFLOW_RE
a880: 41 44 0a 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50  AD.ST_COMPILE_OP
a890: 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48  TS = -DSQLITE_TH
a8a0: 52 45 41 44 53 41 46 45 3d 30 0a 0a 23 20 53 74  READSAFE=0..# St
a8b0: 61 6e 64 61 72 64 20 6f 70 74 69 6f 6e 73 20 74  andard options t
a8c0: 6f 20 74 65 73 74 66 69 78 74 75 72 65 2e 0a 23  o testfixture..#
a8d0: 0a 54 45 53 54 4f 50 54 53 20 3d 20 2d 2d 76 65  .TESTOPTS = --ve
a8e0: 72 62 6f 73 65 3d 66 69 6c 65 20 2d 2d 6f 75 74  rbose=file --out
a8f0: 70 75 74 3d 74 65 73 74 2d 6f 75 74 2e 74 78 74  put=test-out.txt
a900: 0a 0a 23 20 45 78 74 72 61 20 74 61 72 67 65 74  ..# Extra target
a910: 73 20 66 6f 72 20 74 68 65 20 22 61 6c 6c 22 20  s for the "all" 
a920: 74 61 72 67 65 74 20 74 68 61 74 20 72 65 71 75  target that requ
a930: 69 72 65 20 54 63 6c 2e 0a 23 0a 21 49 46 20 24  ire Tcl..#.!IF $
a940: 28 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 41 4c 4c 5f  (NO_TCL)==0.ALL_
a950: 54 43 4c 5f 54 41 52 47 45 54 53 20 3d 20 6c 69  TCL_TARGETS = li
a960: 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 0a  btclsqlite3.lib.
a970: 21 45 4c 53 45 0a 41 4c 4c 5f 54 43 4c 5f 54 41  !ELSE.ALL_TCL_TA
a980: 52 47 45 54 53 20 3d 0a 21 45 4e 44 49 46 0a 23  RGETS =.!ENDIF.#
a990: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68   <</mark>>..# Th
a9a0: 69 73 20 69 73 20 74 68 65 20 64 65 66 61 75 6c  is is the defaul
a9b0: 74 20 4d 61 6b 65 66 69 6c 65 20 74 61 72 67 65  t Makefile targe
a9c0: 74 2e 20 20 54 68 65 20 6f 62 6a 65 63 74 73 20  t.  The objects 
a9d0: 6c 69 73 74 65 64 20 68 65 72 65 0a 23 20 61 72  listed here.# ar
a9e0: 65 20 77 68 61 74 20 67 65 74 20 62 75 69 6c 64  e what get build
a9f0: 20 77 68 65 6e 20 79 6f 75 20 74 79 70 65 20 6a   when you type j
aa00: 75 73 74 20 22 6d 61 6b 65 22 20 77 69 74 68 20  ust "make" with 
aa10: 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a 23 0a  no arguments..#.
aa20: 63 6f 72 65 3a 09 64 6c 6c 20 6c 69 62 73 71 6c  core:.dll libsql
aa30: 69 74 65 33 2e 6c 69 62 20 73 68 65 6c 6c 0a 0a  ite3.lib shell..
aa40: 23 20 54 61 72 67 65 74 73 20 74 68 61 74 20 72  # Targets that r
aa50: 65 71 75 69 72 65 20 74 68 65 20 54 63 6c 20 6c  equire the Tcl l
aa60: 69 62 72 61 72 79 2e 0a 23 0a 74 63 6c 3a 09 24  ibrary..#.tcl:.$
aa70: 28 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53  (ALL_TCL_TARGETS
aa80: 29 0a 0a 23 20 54 68 69 73 20 4d 61 6b 65 66 69  )..# This Makefi
aa90: 6c 65 20 74 61 72 67 65 74 20 62 75 69 6c 64 73  le target builds
aaa0: 20 61 6c 6c 20 6f 66 20 74 68 65 20 73 74 61 6e   all of the stan
aab0: 64 61 72 64 20 62 69 6e 61 72 69 65 73 2e 0a 23  dard binaries..#
aac0: 0a 61 6c 6c 3a 09 63 6f 72 65 20 74 63 6c 0a 0a  .all:.core tcl..
aad0: 23 20 44 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c  # Dynamic link l
aae0: 69 62 72 61 72 79 20 73 65 63 74 69 6f 6e 2e 0a  ibrary section..
aaf0: 23 0a 64 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33  #.dll:.$(SQLITE3
ab00: 44 4c 4c 29 0a 0a 23 20 53 68 65 6c 6c 20 65 78  DLL)..# Shell ex
ab10: 65 63 75 74 61 62 6c 65 2e 0a 23 0a 73 68 65 6c  ecutable..#.shel
ab20: 6c 3a 09 24 28 53 51 4c 49 54 45 33 45 58 45 29  l:.$(SQLITE3EXE)
ab30: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 6c 69 62  ..# <<mark>>.lib
ab40: 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 24 28 4c  sqlite3.lib:.$(L
ab50: 49 42 4f 42 4a 29 0a 09 24 28 4c 54 4c 49 42 29  IBOBJ)..$(LTLIB)
ab60: 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 2f 4f   $(LTLIBOPTS) /O
ab70: 55 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20  UT:$@ $(LIBOBJ) 
ab80: 24 28 54 4c 49 42 53 29 0a 0a 6c 69 62 74 63 6c  $(TLIBS)..libtcl
ab90: 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 74 63 6c  sqlite3.lib:.tcl
aba0: 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c  sqlite.lo libsql
abb0: 69 74 65 33 2e 6c 69 62 0a 09 24 28 4c 54 4c 49  ite3.lib..$(LTLI
abc0: 42 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20  B) $(LTLIBOPTS) 
abd0: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f  $(LTLIBPATHS) /O
abe0: 55 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2e  UT:$@ tclsqlite.
abf0: 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  lo libsqlite3.li
ac00: 62 20 24 28 4c 49 42 54 43 4c 53 54 55 42 29 20  b $(LIBTCLSTUB) 
ac10: 24 28 54 4c 49 42 53 29 0a 23 20 3c 3c 2f 6d 61  $(TLIBS).# <</ma
ac20: 72 6b 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 33 44  rk>>..$(SQLITE3D
ac30: 4c 4c 29 3a 09 24 28 4c 49 42 4f 42 4a 29 20 24  LL):.$(LIBOBJ) $
ac40: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 43  (LIBRESOBJS) $(C
ac50: 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 29 0a 09 24  ORE_LINK_DEP)..$
ac60: 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20  (LD) $(LDFLAGS) 
ac70: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS) $(
ac80: 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c  LTLIBPATHS) /DLL
ac90: 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54   $(CORE_LINK_OPT
aca0: 53 29 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42  S) /OUT:$@ $(LIB
acb0: 4f 42 4a 29 20 24 28 4c 49 42 52 45 53 4f 42 4a  OBJ) $(LIBRESOBJ
acc0: 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54  S) $(LTLIBS) $(T
acd0: 4c 49 42 53 29 0a 0a 23 20 3c 3c 62 6c 6f 63 6b  LIBS)..# <<block
ace0: 32 3e 3e 0a 73 71 6c 69 74 65 33 2e 64 65 66 3a  2>>.sqlite3.def:
acf0: 09 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a  .libsqlite3.lib.
ad00: 09 65 63 68 6f 20 45 58 50 4f 52 54 53 20 3e 20  .echo EXPORTS > 
ad10: 73 71 6c 69 74 65 33 2e 64 65 66 0a 09 64 75 6d  sqlite3.def..dum
ad20: 70 62 69 6e 20 2f 61 6c 6c 20 6c 69 62 73 71 6c  pbin /all libsql
ad30: 69 74 65 33 2e 6c 69 62 20 5c 0a 09 09 7c 20 24  ite3.lib \...| $
ad40: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
ad50: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
ad60: 74 63 6c 20 69 6e 63 6c 75 64 65 20 22 5e 5c 73  tcl include "^\s
ad70: 2b 31 20 5f 3f 28 73 71 6c 69 74 65 33 28 3f 3a  +1 _?(sqlite3(?:
ad80: 73 65 73 73 69 6f 6e 7c 63 68 61 6e 67 65 73 65  session|changese
ad90: 74 7c 63 68 61 6e 67 65 67 72 6f 75 70 29 3f 5f  t|changegroup)?_
ada0: 5b 5e 40 5d 2a 29 28 3f 3a 40 5c 64 2b 29 3f 24  [^@]*)(?:@\d+)?$
adb0: 24 22 20 5c 31 20 5c 0a 09 09 7c 20 73 6f 72 74  $" \1 \...| sort
adc0: 20 3e 3e 20 73 71 6c 69 74 65 33 2e 64 65 66 0a   >> sqlite3.def.
add0: 23 20 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a 0a 24  # <</block2>>..$
ade0: 28 53 51 4c 49 54 45 33 45 58 45 29 3a 09 73 68  (SQLITE3EXE):.sh
adf0: 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f  ell.c $(SHELL_CO
ae00: 52 45 5f 44 45 50 29 20 24 28 4c 49 42 52 45 53  RE_DEP) $(LIBRES
ae10: 4f 42 4a 53 29 20 24 28 53 48 45 4c 4c 5f 43 4f  OBJS) $(SHELL_CO
ae20: 52 45 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45  RE_SRC) $(SQLITE
ae30: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
ae40: 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f  (SHELL_COMPILE_O
ae50: 50 54 53 29 20 24 28 52 45 41 44 4c 49 4e 45 5f  PTS) $(READLINE_
ae60: 46 4c 41 47 53 29 20 73 68 65 6c 6c 2e 63 20 24  FLAGS) shell.c $
ae70: 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29  (SHELL_CORE_SRC)
ae80: 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 53 51 4c   \.../link $(SQL
ae90: 49 54 45 33 45 58 45 50 44 42 29 20 24 28 4c 44  ITE3EXEPDB) $(LD
aea0: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
aeb0: 50 54 53 29 20 24 28 53 48 45 4c 4c 5f 4c 49 4e  PTS) $(SHELL_LIN
aec0: 4b 5f 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50  K_OPTS) $(LTLIBP
aed0: 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42  ATHS) $(LIBRESOB
aee0: 4a 53 29 20 24 28 4c 49 42 52 45 41 44 4c 49 4e  JS) $(LIBREADLIN
aef0: 45 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54  E) $(LTLIBS) $(T
af00: 4c 49 42 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  LIBS)..# <<mark>
af10: 3e 0a 73 71 6c 64 69 66 66 2e 65 78 65 3a 09 24  >.sqldiff.exe:.$
af20: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69  (TOP)\tool\sqldi
af30: 66 66 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  ff.c $(SQLITE3C)
af40: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
af50: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
af60: 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  N) $(TOP)\tool\s
af70: 71 6c 64 69 66 66 2e 63 20 24 28 53 51 4c 49 54  qldiff.c $(SQLIT
af80: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
af90: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
afa0: 54 53 29 0a 0a 64 62 68 61 73 68 2e 65 78 65 3a  TS)..dbhash.exe:
afb0: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62 68  .$(TOP)\tool\dbh
afc0: 61 73 68 2e 63 20 24 28 53 51 4c 49 54 45 33 43  ash.c $(SQLITE3C
afd0: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
afe0: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
aff0: 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  RN) $(TOP)\tool\
b000: 64 62 68 61 73 68 2e 63 20 24 28 53 51 4c 49 54  dbhash.c $(SQLIT
b010: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
b020: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
b030: 54 53 29 0a 0a 73 63 72 75 62 2e 65 78 65 3a 09  TS)..scrub.exe:.
b040: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
b050: 73 63 72 75 62 2e 63 20 24 28 53 51 4c 49 54 45  scrub.c $(SQLITE
b060: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
b070: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
b080: 57 41 52 4e 29 20 2d 44 53 43 52 55 42 5f 53 54  WARN) -DSCRUB_ST
b090: 41 4e 44 41 4c 4f 4e 45 3d 31 20 24 28 54 4f 50  ANDALONE=1 $(TOP
b0a0: 29 5c 65 78 74 5c 6d 69 73 63 5c 73 63 72 75 62  )\ext\misc\scrub
b0b0: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
b0c0: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
b0d0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73  $(LTLINKOPTS)..s
b0e0: 72 63 63 6b 31 2e 65 78 65 3a 09 24 28 54 4f 50  rcck1.exe:.$(TOP
b0f0: 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a  )\tool\srcck1.c.
b100: 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52  .$(BCC) $(NO_WAR
b110: 4e 29 20 2d 46 65 24 40 20 24 28 54 4f 50 29 5c  N) -Fe$@ $(TOP)\
b120: 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 0a 73  tool\srcck1.c..s
b130: 6f 75 72 63 65 74 65 73 74 3a 09 73 72 63 63 6b  ourcetest:.srcck
b140: 31 2e 65 78 65 20 73 71 6c 69 74 65 33 2e 63 0a  1.exe sqlite3.c.
b150: 09 73 72 63 63 6b 31 2e 65 78 65 20 73 71 6c 69  .srcck1.exe sqli
b160: 74 65 33 2e 63 0a 0a 66 75 7a 7a 65 72 73 68 65  te3.c..fuzzershe
b170: 6c 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  ll.exe:.$(TOP)\t
b180: 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 6c 6c 2e  ool\fuzzershell.
b190: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
b1a0: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
b1b0: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
b1c0: 24 28 46 55 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f  $(FUZZERSHELL_CO
b1d0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f  MPILE_OPTS) $(TO
b1e0: 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68  P)\tool\fuzzersh
b1f0: 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43  ell.c $(SQLITE3C
b200: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
b210: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
b220: 0a 0a 64 62 66 75 7a 7a 2e 65 78 65 3a 09 24 28  ..dbfuzz.exe:.$(
b230: 54 4f 50 29 5c 74 65 73 74 5c 64 62 66 75 7a 7a  TOP)\test\dbfuzz
b240: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
b250: 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
b260: 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
b270: 20 24 28 44 42 46 55 5a 5a 5f 43 4f 4d 50 49 4c   $(DBFUZZ_COMPIL
b280: 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 74  E_OPTS) $(TOP)\t
b290: 65 73 74 5c 64 62 66 75 7a 7a 2e 63 20 24 28 53  est\dbfuzz.c $(S
b2a0: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
b2b0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
b2c0: 4e 4b 4f 50 54 53 29 0a 0a 66 75 7a 7a 63 68 65  NKOPTS)..fuzzche
b2d0: 63 6b 2e 65 78 65 3a 09 24 28 46 55 5a 5a 43 48  ck.exe:.$(FUZZCH
b2e0: 45 43 4b 5f 53 52 43 29 20 24 28 53 51 4c 49 54  ECK_SRC) $(SQLIT
b2f0: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
b300: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
b310: 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 43 48 45  _WARN) $(FUZZCHE
b320: 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  CK_COMPILE_OPTS)
b330: 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43   $(FUZZCHECK_SRC
b340: 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  ) $(SQLITE3C) /l
b350: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
b360: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6f 73  (LTLINKOPTS)..os
b370: 73 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28 4f 53  sshell.exe:.$(OS
b380: 53 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 53 51  SSHELL_SRC) $(SQ
b390: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
b3a0: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
b3b0: 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a  (NO_WARN) $(FUZZ
b3c0: 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50  CHECK_COMPILE_OP
b3d0: 54 53 29 20 24 28 4f 53 53 53 48 45 4c 4c 5f 53  TS) $(OSSSHELL_S
b3e0: 52 43 29 20 24 28 53 51 4c 49 54 45 33 43 29 20  RC) $(SQLITE3C) 
b3f0: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
b400: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
b410: 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 65 78 65 3a  sessionfuzz.exe:
b420: 09 7a 6c 69 62 20 24 28 54 4f 50 29 5c 74 65 73  .zlib $(TOP)\tes
b430: 74 5c 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 63 20  t\sessionfuzz.c 
b440: 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
b450: 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
b460: 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 49  K) $(NO_WARN) -I
b470: 24 28 5a 4c 49 42 49 4e 43 44 49 52 29 20 24 28  $(ZLIBINCDIR) $(
b480: 54 4f 50 29 5c 74 65 73 74 5c 73 65 73 73 69 6f  TOP)\test\sessio
b490: 6e 66 75 7a 7a 2e 63 20 2f 6c 69 6e 6b 20 24 28  nfuzz.c /link $(
b4a0: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
b4b0: 4b 4f 50 54 53 29 20 2f 4c 49 42 50 41 54 48 3a  KOPTS) /LIBPATH:
b4c0: 24 28 5a 4c 49 42 4c 49 42 44 49 52 29 20 24 28  $(ZLIBLIBDIR) $(
b4d0: 5a 4c 49 42 4c 49 42 29 0a 0a 6d 70 74 65 73 74  ZLIBLIB)..mptest
b4e0: 65 72 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 6d  er.exe:.$(TOP)\m
b4f0: 70 74 65 73 74 5c 6d 70 74 65 73 74 2e 63 20 24  ptest\mptest.c $
b500: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
b510: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
b520: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 4d  ) $(NO_WARN) $(M
b530: 50 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f  PTESTER_COMPILE_
b540: 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 6d 70 74  OPTS) $(TOP)\mpt
b550: 65 73 74 5c 6d 70 74 65 73 74 2e 63 20 24 28 53  est\mptest.c $(S
b560: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
b570: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
b580: 4e 4b 4f 50 54 53 29 0a 0a 4d 50 54 45 53 54 31  NKOPTS)..MPTEST1
b590: 20 3d 20 6d 70 74 65 73 74 65 72 20 6d 70 74 65   = mptester mpte
b5a0: 73 74 2e 64 62 20 24 28 54 4f 50 29 5c 6d 70 74  st.db $(TOP)\mpt
b5b0: 65 73 74 5c 63 72 61 73 68 30 31 2e 74 65 73 74  est\crash01.test
b5c0: 20 2d 2d 72 65 70 65 61 74 20 32 30 0a 4d 50 54   --repeat 20.MPT
b5d0: 45 53 54 32 20 3d 20 6d 70 74 65 73 74 65 72 20  EST2 = mptester 
b5e0: 6d 70 74 65 73 74 2e 64 62 20 24 28 54 4f 50 29  mptest.db $(TOP)
b5f0: 5c 6d 70 74 65 73 74 5c 6d 75 6c 74 69 77 72 69  \mptest\multiwri
b600: 74 65 30 31 2e 74 65 73 74 20 2d 2d 72 65 70 65  te01.test --repe
b610: 61 74 20 32 30 0a 0a 6d 70 74 65 73 74 3a 09 6d  at 20..mptest:.m
b620: 70 74 65 73 74 65 72 2e 65 78 65 0a 09 64 65 6c  ptester.exe..del
b630: 20 2f 51 20 6d 70 74 65 73 74 2e 64 62 20 32 3e   /Q mptest.db 2>
b640: 4e 55 4c 0a 09 24 28 4d 50 54 45 53 54 31 29 20  NUL..$(MPTEST1) 
b650: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45  --journalmode DE
b660: 4c 45 54 45 0a 09 24 28 4d 50 54 45 53 54 32 29  LETE..$(MPTEST2)
b670: 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57   --journalmode W
b680: 41 4c 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d  AL..$(MPTEST1) -
b690: 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57 41 4c  -journalmode WAL
b6a0: 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a  ..$(MPTEST2) --j
b6b0: 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52 53 49  ournalmode PERSI
b6c0: 53 54 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d  ST..$(MPTEST1) -
b6d0: 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52  -journalmode PER
b6e0: 53 49 53 54 0a 09 24 28 4d 50 54 45 53 54 32 29  SIST..$(MPTEST2)
b6f0: 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 54   --journalmode T
b700: 52 55 4e 43 41 54 45 0a 09 24 28 4d 50 54 45 53  RUNCATE..$(MPTES
b710: 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T1) --journalmod
b720: 65 20 54 52 55 4e 43 41 54 45 0a 09 24 28 4d 50  e TRUNCATE..$(MP
b730: 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c  TEST2) --journal
b740: 6d 6f 64 65 20 44 45 4c 45 54 45 0a 0a 23 20 54  mode DELETE..# T
b750: 68 69 73 20 74 61 72 67 65 74 20 63 72 65 61 74  his target creat
b760: 65 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 6e  es a directory n
b770: 61 6d 65 64 20 22 74 73 72 63 22 20 61 6e 64 20  amed "tsrc" and 
b780: 66 69 6c 6c 73 20 69 74 20 77 69 74 68 0a 23 20  fills it with.# 
b790: 63 6f 70 69 65 73 20 6f 66 20 61 6c 6c 20 6f 66  copies of all of
b7a0: 20 74 68 65 20 43 20 73 6f 75 72 63 65 20 63 6f   the C source co
b7b0: 64 65 20 61 6e 64 20 68 65 61 64 65 72 20 66 69  de and header fi
b7c0: 6c 65 73 20 6e 65 65 64 65 64 20 74 6f 0a 23 20  les needed to.# 
b7d0: 62 75 69 6c 64 20 6f 6e 20 74 68 65 20 74 61 72  build on the tar
b7e0: 67 65 74 20 73 79 73 74 65 6d 2e 20 20 53 6f 6d  get system.  Som
b7f0: 65 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72 63  e of the C sourc
b800: 65 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64 65  e code and heade
b810: 72 0a 23 20 66 69 6c 65 73 20 61 72 65 20 61 75  r.# files are au
b820: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65  tomatically gene
b830: 72 61 74 65 64 2e 20 20 54 68 69 73 20 74 61 72  rated.  This tar
b840: 67 65 74 20 74 61 6b 65 73 20 63 61 72 65 20 6f  get takes care o
b850: 66 0a 23 20 61 6c 6c 20 74 68 61 74 20 61 75 74  f.# all that aut
b860: 6f 6d 61 74 69 63 20 67 65 6e 65 72 61 74 69 6f  omatic generatio
b870: 6e 2e 0a 23 0a 2e 74 61 72 67 65 74 5f 73 6f 75  n..#..target_sou
b880: 72 63 65 3a 09 24 28 53 52 43 29 20 24 28 54 4f  rce:.$(SRC) $(TO
b890: 50 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d  P)\tool\vdbe-com
b8a0: 70 72 65 73 73 2e 74 63 6c 20 66 74 73 35 2e 63  press.tcl fts5.c
b8b0: 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45   $(SQLITE_TCL_DE
b8c0: 50 29 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20  P)..-rmdir /Q/S 
b8d0: 74 73 72 63 20 32 3e 4e 55 4c 0a 09 2d 6d 6b 64  tsrc 2>NUL..-mkd
b8e0: 69 72 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  ir tsrc..for %i 
b8f0: 69 6e 20 28 24 28 53 52 43 30 30 29 29 20 64 6f  in ($(SRC00)) do
b900: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
b910: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S
b920: 52 43 30 31 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC01)) do copy /
b930: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
b940: 69 20 69 6e 20 28 24 28 53 52 43 30 33 29 29 20  i in ($(SRC03)) 
b950: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
b960: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($
b970: 28 53 52 43 30 34 29 29 20 64 6f 20 63 6f 70 79  (SRC04)) do copy
b980: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
b990: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 35 29   %i in ($(SRC05)
b9a0: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i 
b9b0: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in 
b9c0: 28 24 28 53 52 43 30 36 29 29 20 64 6f 20 63 6f  ($(SRC06)) do co
b9d0: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
b9e0: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30  or %i in ($(SRC0
b9f0: 37 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  7)) do copy /Y %
ba00: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
ba10: 6e 20 28 24 28 53 52 43 30 38 29 29 20 64 6f 20  n ($(SRC08)) do 
ba20: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
ba30: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR
ba40: 43 30 39 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C09)) do copy /Y
ba50: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69   %i tsrc..for %i
ba60: 20 69 6e 20 28 24 28 53 52 43 31 30 29 29 20 64   in ($(SRC10)) d
ba70: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
ba80: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($(
ba90: 53 52 43 31 31 29 29 20 64 6f 20 63 6f 70 79 20  SRC11)) do copy 
baa0: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for 
bab0: 25 69 20 69 6e 20 28 24 28 53 52 43 31 32 29 29  %i in ($(SRC12))
bac0: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
bad0: 73 72 63 0a 09 63 6f 70 79 20 2f 59 20 66 74 73  src..copy /Y fts
bae0: 35 2e 63 20 74 73 72 63 0a 09 63 6f 70 79 20 2f  5.c tsrc..copy /
baf0: 59 20 66 74 73 35 2e 68 20 74 73 72 63 0a 09 64  Y fts5.h tsrc..d
bb00: 65 6c 20 2f 51 20 74 73 72 63 5c 73 71 6c 69 74  el /Q tsrc\sqlit
bb10: 65 2e 68 2e 69 6e 20 74 73 72 63 5c 70 61 72 73  e.h.in tsrc\pars
bb20: 65 2e 79 20 32 3e 4e 55 4c 0a 09 24 28 54 43 4c  e.y 2>NUL..$(TCL
bb30: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
bb40: 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72 65 73  ool\vdbe-compres
bb50: 73 2e 74 63 6c 20 24 28 4f 50 54 53 29 20 3c 20  s.tcl $(OPTS) < 
bb60: 74 73 72 63 5c 76 64 62 65 2e 63 20 3e 20 76 64  tsrc\vdbe.c > vd
bb70: 62 65 2e 6e 65 77 0a 09 6d 6f 76 65 20 76 64 62  be.new..move vdb
bb80: 65 2e 6e 65 77 20 74 73 72 63 5c 76 64 62 65 2e  e.new tsrc\vdbe.
bb90: 63 0a 09 65 63 68 6f 20 3e 20 2e 74 61 72 67 65  c..echo > .targe
bba0: 74 5f 73 6f 75 72 63 65 0a 0a 73 71 6c 69 74 65  t_source..sqlite
bbb0: 33 2e 63 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75  3.c:..target_sou
bbc0: 72 63 65 20 73 71 6c 69 74 65 33 65 78 74 2e 68  rce sqlite3ext.h
bbd0: 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f   $(MKSQLITE3C_TO
bbe0: 4f 4c 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44  OL)..$(TCLSH_CMD
bbf0: 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54  ) $(MKSQLITE3C_T
bc00: 4f 4f 4c 29 20 24 28 4d 4b 53 51 4c 49 54 45 33  OOL) $(MKSQLITE3
bc10: 43 5f 41 52 47 53 29 0a 09 63 6f 70 79 20 24 28  C_ARGS)..copy $(
bc20: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
bc30: 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e  \sqlite3session.
bc40: 68 20 2e 0a 0a 73 71 6c 69 74 65 33 2d 61 6c 6c  h ...sqlite3-all
bc50: 2e 63 3a 09 73 71 6c 69 74 65 33 2e 63 20 24 28  .c:.sqlite3.c $(
bc60: 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d  TOP)\tool\split-
bc70: 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 09 24 28  sqlite3c.tcl..$(
bc80: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
bc90: 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c  )\tool\split-sql
bca0: 69 74 65 33 63 2e 74 63 6c 0a 23 20 3c 3c 2f 6d  ite3c.tcl.# <</m
bcb0: 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f  ark>>..# Rule to
bcc0: 20 62 75 69 6c 64 20 74 68 65 20 61 6d 61 6c 67   build the amalg
bcd0: 61 6d 61 74 69 6f 6e 0a 23 0a 73 71 6c 69 74 65  amation.#.sqlite
bce0: 33 2e 6c 6f 3a 09 24 28 53 51 4c 49 54 45 33 43  3.lo:.$(SQLITE3C
bcf0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
bd00: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
bd10: 50 54 53 29 20 2d 63 20 24 28 53 51 4c 49 54 45  PTS) -c $(SQLITE
bd20: 33 43 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  3C)..# <<mark>>.
bd30: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64  # Rules to build
bd40: 20 74 68 65 20 4c 45 4d 4f 4e 20 63 6f 6d 70 69   the LEMON compi
bd50: 6c 65 72 20 67 65 6e 65 72 61 74 6f 72 0a 23 0a  ler generator.#.
bd60: 6c 65 6d 70 61 72 2e 63 3a 09 24 28 54 4f 50 29  lempar.c:.$(TOP)
bd70: 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 0a 09  \tool\lempar.c..
bd80: 63 6f 70 79 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  copy $(TOP)\tool
bd90: 5c 6c 65 6d 70 61 72 2e 63 20 2e 0a 0a 6c 65 6d  \lempar.c ...lem
bda0: 6f 6e 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  on.exe:.$(TOP)\t
bdb0: 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 6c 65 6d 70  ool\lemon.c lemp
bdc0: 61 72 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e  ar.c..$(BCC) $(N
bdd0: 4f 5f 57 41 52 4e 29 20 2d 44 61 63 63 65 73 73  O_WARN) -Daccess
bde0: 3d 5f 61 63 63 65 73 73 20 5c 0a 09 09 2d 46 65  =_access \...-Fe
bdf0: 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c  $@ $(TOP)\tool\l
be00: 65 6d 6f 6e 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c  emon.c /link $(L
be10: 44 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e  DFLAGS) $(NLTLIN
be20: 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49 42 50  KOPTS) $(NLTLIBP
be30: 41 54 48 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  ATHS)..# <<mark>
be40: 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69  >.# Rules to bui
be50: 6c 64 20 74 68 65 20 73 6f 75 72 63 65 2d 69 64  ld the source-id
be60: 20 67 65 6e 65 72 61 74 6f 72 20 74 6f 6f 6c 0a   generator tool.
be70: 23 0a 6d 6b 73 6f 75 72 63 65 69 64 2e 65 78 65  #.mksourceid.exe
be80: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  :.$(TOP)\tool\mk
be90: 73 6f 75 72 63 65 69 64 2e 63 0a 09 24 28 42 43  sourceid.c..$(BC
bea0: 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46  C) $(NO_WARN) -F
beb0: 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  e$@ $(TOP)\tool\
bec0: 6d 6b 73 6f 75 72 63 65 69 64 2e 63 20 2f 6c 69  mksourceid.c /li
bed0: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
bee0: 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e  NLTLINKOPTS) $(N
bef0: 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 20 52  LTLIBPATHS)..# R
bf00: 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 69 6e  ules to build in
bf10: 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20 66 69  dividual *.lo fi
bf20: 6c 65 73 20 66 72 6f 6d 20 67 65 6e 65 72 61 74  les from generat
bf30: 65 64 20 2a 2e 63 20 66 69 6c 65 73 2e 20 54 68  ed *.c files. Th
bf40: 69 73 0a 23 20 61 70 70 6c 69 65 73 20 74 6f 3a  is.# applies to:
bf50: 0a 23 0a 23 20 20 20 20 20 70 61 72 73 65 2e 6c  .#.#     parse.l
bf60: 6f 0a 23 20 20 20 20 20 6f 70 63 6f 64 65 73 2e  o.#     opcodes.
bf70: 6c 6f 0a 23 0a 70 61 72 73 65 2e 6c 6f 3a 09 70  lo.#.parse.lo:.p
bf80: 61 72 73 65 2e 63 20 24 28 48 44 52 29 0a 09 24  arse.c $(HDR)..$
bf90: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
bfa0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
bfb0: 20 2d 63 20 70 61 72 73 65 2e 63 0a 0a 6f 70 63   -c parse.c..opc
bfc0: 6f 64 65 73 2e 6c 6f 3a 09 6f 70 63 6f 64 65 73  odes.lo:.opcodes
bfd0: 2e 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  .c..$(LTCOMPILE)
bfe0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
bff0: 4f 50 54 53 29 20 2d 63 20 6f 70 63 6f 64 65 73  OPTS) -c opcodes
c000: 2e 63 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  .c.# <</mark>>..
c010: 23 20 52 75 6c 65 20 74 6f 20 62 75 69 6c 64 20  # Rule to build 
c020: 74 68 65 20 57 69 6e 33 32 20 72 65 73 6f 75 72  the Win32 resour
c030: 63 65 73 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e  ces object file.
c040: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 43 29  .#.!IF $(USE_RC)
c050: 21 3d 30 0a 23 20 3c 3c 62 6c 6f 63 6b 31 3e 3e  !=0.# <<block1>>
c060: 0a 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 3a 09  .$(LIBRESOBJS):.
c070: 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74  $(TOP)\src\sqlit
c080: 65 33 2e 72 63 20 24 28 53 51 4c 49 54 45 33 48  e3.rc $(SQLITE3H
c090: 29 0a 09 65 63 68 6f 20 23 69 66 6e 64 65 66 20  )..echo #ifndef 
c0a0: 53 51 4c 49 54 45 5f 52 45 53 4f 55 52 43 45 5f  SQLITE_RESOURCE_
c0b0: 56 45 52 53 49 4f 4e 20 3e 20 73 71 6c 69 74 65  VERSION > sqlite
c0c0: 33 72 63 2e 68 0a 09 66 6f 72 20 2f 46 20 25 25  3rc.h..for /F %%
c0d0: 56 20 69 6e 20 28 27 74 79 70 65 20 22 24 28 54  V in ('type "$(T
c0e0: 4f 50 29 5c 56 45 52 53 49 4f 4e 22 27 29 20 64  OP)\VERSION"') d
c0f0: 6f 20 28 20 5c 0a 09 09 65 63 68 6f 20 23 64 65  o ( \...echo #de
c100: 66 69 6e 65 20 53 51 4c 49 54 45 5f 52 45 53 4f  fine SQLITE_RESO
c110: 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 25 25 56  URCE_VERSION %%V
c120: 20 5c 0a 09 09 09 7c 20 24 28 54 43 4c 53 48 5f   \....| $(TCLSH_
c130: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
c140: 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61  \replace.tcl exa
c150: 63 74 20 2e 20 5e 2c 20 3e 3e 20 73 71 6c 69 74  ct . ^, >> sqlit
c160: 65 33 72 63 2e 68 20 5c 0a 09 29 0a 09 65 63 68  e3rc.h \..)..ech
c170: 6f 20 23 65 6e 64 69 66 20 3e 3e 20 73 71 6c 69  o #endif >> sqli
c180: 74 65 33 72 63 2e 68 0a 09 24 28 4c 54 52 43 4f  te3rc.h..$(LTRCO
c190: 4d 50 49 4c 45 29 20 2d 66 6f 20 24 28 4c 49 42  MPILE) -fo $(LIB
c1a0: 52 45 53 4f 42 4a 53 29 20 24 28 54 4f 50 29 5c  RESOBJS) $(TOP)\
c1b0: 73 72 63 5c 73 71 6c 69 74 65 33 2e 72 63 0a 23  src\sqlite3.rc.#
c1c0: 20 3c 3c 2f 62 6c 6f 63 6b 31 3e 3e 0a 21 45 4e   <</block1>>.!EN
c1d0: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  DIF..# <<mark>>.
c1e0: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64  # Rules to build
c1f0: 20 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f   individual *.lo
c200: 20 66 69 6c 65 73 20 66 72 6f 6d 20 66 69 6c 65   files from file
c210: 73 20 69 6e 20 74 68 65 20 73 72 63 20 64 69 72  s in the src dir
c220: 65 63 74 6f 72 79 2e 0a 23 0a 61 6c 74 65 72 2e  ectory..#.alter.
c230: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61  lo:.$(TOP)\src\a
c240: 6c 74 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24  lter.c $(HDR)..$
c250: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c260: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c270: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61   -c $(TOP)\src\a
c280: 6c 74 65 72 2e 63 0a 0a 61 6e 61 6c 79 7a 65 2e  lter.c..analyze.
c290: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61  lo:.$(TOP)\src\a
c2a0: 6e 61 6c 79 7a 65 2e 63 20 24 28 48 44 52 29 0a  nalyze.c $(HDR).
c2b0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c2c0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c2d0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c2e0: 5c 61 6e 61 6c 79 7a 65 2e 63 0a 0a 61 74 74 61  \analyze.c..atta
c2f0: 63 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ch.lo:.$(TOP)\sr
c300: 63 5c 61 74 74 61 63 68 2e 63 20 24 28 48 44 52  c\attach.c $(HDR
c310: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
c320: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
c330: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
c340: 72 63 5c 61 74 74 61 63 68 2e 63 0a 0a 61 75 74  rc\attach.c..aut
c350: 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  h.lo:.$(TOP)\src
c360: 5c 61 75 74 68 2e 63 20 24 28 48 44 52 29 0a 09  \auth.c $(HDR)..
c370: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
c380: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c390: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
c3a0: 61 75 74 68 2e 63 0a 0a 62 61 63 6b 75 70 2e 6c  auth.c..backup.l
c3b0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 61  o:.$(TOP)\src\ba
c3c0: 63 6b 75 70 2e 63 20 24 28 48 44 52 29 0a 09 24  ckup.c $(HDR)..$
c3d0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c3e0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c3f0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62   -c $(TOP)\src\b
c400: 61 63 6b 75 70 2e 63 0a 0a 62 69 74 76 65 63 2e  ackup.c..bitvec.
c410: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62  lo:.$(TOP)\src\b
c420: 69 74 76 65 63 2e 63 20 24 28 48 44 52 29 0a 09  itvec.c $(HDR)..
c430: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
c440: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c450: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
c460: 62 69 74 76 65 63 2e 63 0a 0a 62 74 6d 75 74 65  bitvec.c..btmute
c470: 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  x.lo:.$(TOP)\src
c480: 5c 62 74 6d 75 74 65 78 2e 63 20 24 28 48 44 52  \btmutex.c $(HDR
c490: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
c4a0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
c4b0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
c4c0: 72 63 5c 62 74 6d 75 74 65 78 2e 63 0a 0a 62 74  rc\btmutex.c..bt
c4d0: 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ree.lo:.$(TOP)\s
c4e0: 72 63 5c 62 74 72 65 65 2e 63 20 24 28 48 44 52  rc\btree.c $(HDR
c4f0: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67  ) $(TOP)\src\pag
c500: 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  er.h..$(LTCOMPIL
c510: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
c520: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
c530: 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 0a 0a 62  )\src\btree.c..b
c540: 75 69 6c 64 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  uild.lo:.$(TOP)\
c550: 73 72 63 5c 62 75 69 6c 64 2e 63 20 24 28 48 44  src\build.c $(HD
c560: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c570: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c580: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c590: 73 72 63 5c 62 75 69 6c 64 2e 63 0a 0a 63 61 6c  src\build.c..cal
c5a0: 6c 62 61 63 6b 2e 6c 6f 3a 09 24 28 54 4f 50 29  lback.lo:.$(TOP)
c5b0: 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 20  \src\callback.c 
c5c0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c5d0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c5e0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c5f0: 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b  OP)\src\callback
c600: 2e 63 0a 0a 63 6f 6d 70 6c 65 74 65 2e 6c 6f 3a  .c..complete.lo:
c610: 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70  .$(TOP)\src\comp
c620: 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24  lete.c $(HDR)..$
c630: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c640: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c650: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63   -c $(TOP)\src\c
c660: 6f 6d 70 6c 65 74 65 2e 63 0a 0a 63 74 69 6d 65  omplete.c..ctime
c670: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c680: 63 74 69 6d 65 2e 63 20 24 28 48 44 52 29 0a 09  ctime.c $(HDR)..
c690: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
c6a0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c6b0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
c6c0: 63 74 69 6d 65 2e 63 0a 0a 64 61 74 65 2e 6c 6f  ctime.c..date.lo
c6d0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74  :.$(TOP)\src\dat
c6e0: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
c6f0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
c700: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c710: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65   $(TOP)\src\date
c720: 2e 63 0a 0a 64 62 70 61 67 65 2e 6c 6f 3a 09 24  .c..dbpage.lo:.$
c730: 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67 65  (TOP)\src\dbpage
c740: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c750: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
c760: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
c770: 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67  $(TOP)\src\dbpag
c780: 65 2e 63 0a 0a 64 62 73 74 61 74 2e 6c 6f 3a 09  e.c..dbstat.lo:.
c790: 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 61  $(TOP)\src\dbsta
c7a0: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  t.c $(HDR)..$(LT
c7b0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
c7c0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c7d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74   $(TOP)\src\dbst
c7e0: 61 74 2e 63 0a 0a 64 65 6c 65 74 65 2e 6c 6f 3a  at.c..delete.lo:
c7f0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65  .$(TOP)\src\dele
c800: 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  te.c $(HDR)..$(L
c810: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c820: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c830: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c  c $(TOP)\src\del
c840: 65 74 65 2e 63 0a 0a 65 78 70 72 2e 6c 6f 3a 09  ete.c..expr.lo:.
c850: 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e  $(TOP)\src\expr.
c860: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c870: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c880: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c890: 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63  (TOP)\src\expr.c
c8a0: 0a 0a 66 61 75 6c 74 2e 6c 6f 3a 09 24 28 54 4f  ..fault.lo:.$(TO
c8b0: 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20 24  P)\src\fault.c $
c8c0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
c8d0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
c8e0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
c8f0: 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 0a 0a  P)\src\fault.c..
c900: 66 6b 65 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  fkey.lo:.$(TOP)\
c910: 73 72 63 5c 66 6b 65 79 2e 63 20 24 28 48 44 52  src\fkey.c $(HDR
c920: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
c930: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
c940: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
c950: 72 63 5c 66 6b 65 79 2e 63 0a 0a 66 75 6e 63 2e  rc\fkey.c..func.
c960: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66  lo:.$(TOP)\src\f
c970: 75 6e 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28  unc.c $(HDR)..$(
c980: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c990: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c9a0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 75  -c $(TOP)\src\fu
c9b0: 6e 63 2e 63 0a 0a 67 6c 6f 62 61 6c 2e 6c 6f 3a  nc.c..global.lo:
c9c0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62  .$(TOP)\src\glob
c9d0: 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  al.c $(HDR)..$(L
c9e0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c9f0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
ca00: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f  c $(TOP)\src\glo
ca10: 62 61 6c 2e 63 0a 0a 68 61 73 68 2e 6c 6f 3a 09  bal.c..hash.lo:.
ca20: 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e  $(TOP)\src\hash.
ca30: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
ca40: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
ca50: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
ca60: 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63  (TOP)\src\hash.c
ca70: 0a 0a 69 6e 73 65 72 74 2e 6c 6f 3a 09 24 28 54  ..insert.lo:.$(T
ca80: 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63  OP)\src\insert.c
ca90: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
caa0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
cab0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
cac0: 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e  TOP)\src\insert.
cad0: 63 0a 0a 6c 65 67 61 63 79 2e 6c 6f 3a 09 24 28  c..legacy.lo:.$(
cae0: 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e  TOP)\src\legacy.
caf0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
cb00: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
cb10: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
cb20: 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79  (TOP)\src\legacy
cb30: 2e 63 0a 0a 6c 6f 61 64 65 78 74 2e 6c 6f 3a 09  .c..loadext.lo:.
cb40: 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65  $(TOP)\src\loade
cb50: 78 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  xt.c $(HDR)..$(L
cb60: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
cb70: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
cb80: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61  c $(TOP)\src\loa
cb90: 64 65 78 74 2e 63 0a 0a 6d 61 69 6e 2e 6c 6f 3a  dext.c..main.lo:
cba0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e  .$(TOP)\src\main
cbb0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
cbc0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
cbd0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
cbe0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e  $(TOP)\src\main.
cbf0: 63 0a 0a 6d 61 6c 6c 6f 63 2e 6c 6f 3a 09 24 28  c..malloc.lo:.$(
cc00: 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e  TOP)\src\malloc.
cc10: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
cc20: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
cc30: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
cc40: 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63  (TOP)\src\malloc
cc50: 2e 63 0a 0a 6d 65 6d 30 2e 6c 6f 3a 09 24 28 54  .c..mem0.lo:.$(T
cc60: 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 24  OP)\src\mem0.c $
cc70: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
cc80: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
cc90: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
cca0: 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 0a 0a 6d  P)\src\mem0.c..m
ccb0: 65 6d 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  em1.lo:.$(TOP)\s
ccc0: 72 63 5c 6d 65 6d 31 2e 63 20 24 28 48 44 52 29  rc\mem1.c $(HDR)
ccd0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cce0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ccf0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cd00: 63 5c 6d 65 6d 31 2e 63 0a 0a 6d 65 6d 32 2e 6c  c\mem1.c..mem2.l
cd10: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  o:.$(TOP)\src\me
cd20: 6d 32 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  m2.c $(HDR)..$(L
cd30: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
cd40: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
cd50: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  c $(TOP)\src\mem
cd60: 32 2e 63 0a 0a 6d 65 6d 33 2e 6c 6f 3a 09 24 28  2.c..mem3.lo:.$(
cd70: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 20  TOP)\src\mem3.c 
cd80: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
cd90: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
cda0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
cdb0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 0a 0a  OP)\src\mem3.c..
cdc0: 6d 65 6d 35 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  mem5.lo:.$(TOP)\
cdd0: 73 72 63 5c 6d 65 6d 35 2e 63 20 24 28 48 44 52  src\mem5.c $(HDR
cde0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
cdf0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
ce00: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
ce10: 72 63 5c 6d 65 6d 35 2e 63 0a 0a 6d 65 6d 64 62  rc\mem5.c..memdb
ce20: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
ce30: 6d 65 6d 64 62 2e 63 20 24 28 48 44 52 29 0a 09  memdb.c $(HDR)..
ce40: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
ce50: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
ce60: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
ce70: 6d 65 6d 64 62 2e 63 0a 0a 6d 65 6d 6a 6f 75 72  memdb.c..memjour
ce80: 6e 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  nal.lo:.$(TOP)\s
ce90: 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20  rc\memjournal.c 
cea0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
ceb0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
cec0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
ced0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e  OP)\src\memjourn
cee0: 61 6c 2e 63 0a 0a 6d 75 74 65 78 2e 6c 6f 3a 09  al.c..mutex.lo:.
cef0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex
cf00: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
cf10: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
cf20: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
cf30: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex
cf40: 2e 63 0a 0a 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c  .c..mutex_noop.l
cf50: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  o:.$(TOP)\src\mu
cf60: 74 65 78 5f 6e 6f 6f 70 2e 63 20 24 28 48 44 52  tex_noop.c $(HDR
cf70: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
cf80: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
cf90: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
cfa0: 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 0a  rc\mutex_noop.c.
cfb0: 0a 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 3a 09  .mutex_unix.lo:.
cfc0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex
cfd0: 5f 75 6e 69 78 2e 63 20 24 28 48 44 52 29 0a 09  _unix.c $(HDR)..
cfe0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
cff0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d000: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d010: 6d 75 74 65 78 5f 75 6e 69 78 2e 63 0a 0a 6d 75  mutex_unix.c..mu
d020: 74 65 78 5f 77 33 32 2e 6c 6f 3a 09 24 28 54 4f  tex_w32.lo:.$(TO
d030: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33 32  P)\src\mutex_w32
d040: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d050: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d060: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d070: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex
d080: 5f 77 33 32 2e 63 0a 0a 6e 6f 74 69 66 79 2e 6c  _w32.c..notify.l
d090: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f  o:.$(TOP)\src\no
d0a0: 74 69 66 79 2e 63 20 24 28 48 44 52 29 0a 09 24  tify.c $(HDR)..$
d0b0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d0c0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d0d0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6e   -c $(TOP)\src\n
d0e0: 6f 74 69 66 79 2e 63 0a 0a 70 61 67 65 72 2e 6c  otify.c..pager.l
d0f0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 61  o:.$(TOP)\src\pa
d100: 67 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 54  ger.c $(HDR) $(T
d110: 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 0a  OP)\src\pager.h.
d120: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d130: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d140: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d150: 5c 70 61 67 65 72 2e 63 0a 0a 70 63 61 63 68 65  \pager.c..pcache
d160: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d170: 70 63 61 63 68 65 2e 63 20 24 28 48 44 52 29 20  pcache.c $(HDR) 
d180: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach
d190: 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  e.h..$(LTCOMPILE
d1a0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d1b0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d1c0: 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 0a 0a 70  \src\pcache.c..p
d1d0: 63 61 63 68 65 31 2e 6c 6f 3a 09 24 28 54 4f 50  cache1.lo:.$(TOP
d1e0: 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20  )\src\pcache1.c 
d1f0: 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72  $(HDR) $(TOP)\sr
d200: 63 5c 70 63 61 63 68 65 2e 68 0a 09 24 28 4c 54  c\pcache.h..$(LT
d210: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d220: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d230: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63   $(TOP)\src\pcac
d240: 68 65 31 2e 63 0a 0a 6f 73 2e 6c 6f 3a 09 24 28  he1.c..os.lo:.$(
d250: 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20 24 28  TOP)\src\os.c $(
d260: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d270: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d280: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d290: 29 5c 73 72 63 5c 6f 73 2e 63 0a 0a 6f 73 5f 75  )\src\os.c..os_u
d2a0: 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  nix.lo:.$(TOP)\s
d2b0: 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 24 28 48  rc\os_unix.c $(H
d2c0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d2d0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d2e0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d2f0: 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 0a 0a  \src\os_unix.c..
d300: 6f 73 5f 77 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50  os_win.lo:.$(TOP
d310: 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 20 24  )\src\os_win.c $
d320: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d330: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d340: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d350: 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a  P)\src\os_win.c.
d360: 0a 70 72 61 67 6d 61 2e 6c 6f 3a 09 24 28 54 4f  .pragma.lo:.$(TO
d370: 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 20  P)\src\pragma.c 
d380: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d390: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d3a0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d3b0: 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63  OP)\src\pragma.c
d3c0: 0a 0a 70 72 65 70 61 72 65 2e 6c 6f 3a 09 24 28  ..prepare.lo:.$(
d3d0: 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65  TOP)\src\prepare
d3e0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d3f0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d400: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d410: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61  $(TOP)\src\prepa
d420: 72 65 2e 63 0a 0a 70 72 69 6e 74 66 2e 6c 6f 3a  re.c..printf.lo:
d430: 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e  .$(TOP)\src\prin
d440: 74 66 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  tf.c $(HDR)..$(L
d450: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d460: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d470: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69  c $(TOP)\src\pri
d480: 6e 74 66 2e 63 0a 0a 72 61 6e 64 6f 6d 2e 6c 6f  ntf.c..random.lo
d490: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e  :.$(TOP)\src\ran
d4a0: 64 6f 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28  dom.c $(HDR)..$(
d4b0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d4c0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d4d0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 61  -c $(TOP)\src\ra
d4e0: 6e 64 6f 6d 2e 63 0a 0a 72 65 73 6f 6c 76 65 2e  ndom.c..resolve.
d4f0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72  lo:.$(TOP)\src\r
d500: 65 73 6f 6c 76 65 2e 63 20 24 28 48 44 52 29 0a  esolve.c $(HDR).
d510: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d520: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d530: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d540: 5c 72 65 73 6f 6c 76 65 2e 63 0a 0a 72 6f 77 73  \resolve.c..rows
d550: 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  et.lo:.$(TOP)\sr
d560: 63 5c 72 6f 77 73 65 74 2e 63 20 24 28 48 44 52  c\rowset.c $(HDR
d570: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
d580: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
d590: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
d5a0: 72 63 5c 72 6f 77 73 65 74 2e 63 0a 0a 73 65 6c  rc\rowset.c..sel
d5b0: 65 63 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ect.lo:.$(TOP)\s
d5c0: 72 63 5c 73 65 6c 65 63 74 2e 63 20 24 28 48 44  rc\select.c $(HD
d5d0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d5e0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d5f0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d600: 73 72 63 5c 73 65 6c 65 63 74 2e 63 0a 0a 73 74  src\select.c..st
d610: 61 74 75 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  atus.lo:.$(TOP)\
d620: 73 72 63 5c 73 74 61 74 75 73 2e 63 20 24 28 48  src\status.c $(H
d630: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d640: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d650: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d660: 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 0a 0a 74  \src\status.c..t
d670: 61 62 6c 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  able.lo:.$(TOP)\
d680: 73 72 63 5c 74 61 62 6c 65 2e 63 20 24 28 48 44  src\table.c $(HD
d690: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d6a0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d6b0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d6c0: 73 72 63 5c 74 61 62 6c 65 2e 63 0a 0a 74 68 72  src\table.c..thr
d6d0: 65 61 64 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  eads.lo:.$(TOP)\
d6e0: 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20 24 28  src\threads.c $(
d6f0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d700: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d710: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d720: 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 0a  )\src\threads.c.
d730: 0a 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 3a 09 24 28  .tokenize.lo:.$(
d740: 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a  TOP)\src\tokeniz
d750: 65 2e 63 20 6b 65 79 77 6f 72 64 68 61 73 68 2e  e.c keywordhash.
d760: 68 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  h $(HDR)..$(LTCO
d770: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d780: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d790: 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69  (TOP)\src\tokeni
d7a0: 7a 65 2e 63 0a 0a 74 72 65 65 76 69 65 77 2e 6c  ze.c..treeview.l
d7b0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 72  o:.$(TOP)\src\tr
d7c0: 65 65 76 69 65 77 2e 63 20 24 28 48 44 52 29 0a  eeview.c $(HDR).
d7d0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d7e0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d7f0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d800: 5c 74 72 65 65 76 69 65 77 2e 63 0a 0a 74 72 69  \treeview.c..tri
d810: 67 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  gger.lo:.$(TOP)\
d820: 73 72 63 5c 74 72 69 67 67 65 72 2e 63 20 24 28  src\trigger.c $(
d830: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d840: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d850: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d860: 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 0a  )\src\trigger.c.
d870: 0a 75 70 64 61 74 65 2e 6c 6f 3a 09 24 28 54 4f  .update.lo:.$(TO
d880: 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 20  P)\src\update.c 
d890: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d8a0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d8b0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d8c0: 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63  OP)\src\update.c
d8d0: 0a 0a 75 74 66 2e 6c 6f 3a 09 24 28 54 4f 50 29  ..utf.lo:.$(TOP)
d8e0: 5c 73 72 63 5c 75 74 66 2e 63 20 24 28 48 44 52  \src\utf.c $(HDR
d8f0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
d900: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
d910: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
d920: 72 63 5c 75 74 66 2e 63 0a 0a 75 74 69 6c 2e 6c  rc\utf.c..util.l
d930: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 74  o:.$(TOP)\src\ut
d940: 69 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  il.c $(HDR)..$(L
d950: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d960: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d970: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69  c $(TOP)\src\uti
d980: 6c 2e 63 0a 0a 76 61 63 75 75 6d 2e 6c 6f 3a 09  l.c..vacuum.lo:.
d990: 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75  $(TOP)\src\vacuu
d9a0: 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  m.c $(HDR)..$(LT
d9b0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d9c0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d9d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75   $(TOP)\src\vacu
d9e0: 75 6d 2e 63 0a 0a 76 64 62 65 2e 6c 6f 3a 09 24  um.c..vdbe.lo:.$
d9f0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
da00: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
da10: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
da20: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
da30: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 0a  TOP)\src\vdbe.c.
da40: 0a 76 64 62 65 61 70 69 2e 6c 6f 3a 09 24 28 54  .vdbeapi.lo:.$(T
da50: 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69 2e  OP)\src\vdbeapi.
da60: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
da70: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
da80: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
da90: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70  (TOP)\src\vdbeap
daa0: 69 2e 63 0a 0a 76 64 62 65 61 75 78 2e 6c 6f 3a  i.c..vdbeaux.lo:
dab0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65  .$(TOP)\src\vdbe
dac0: 61 75 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28  aux.c $(HDR)..$(
dad0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
dae0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
daf0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  -c $(TOP)\src\vd
db00: 62 65 61 75 78 2e 63 0a 0a 76 64 62 65 62 6c 6f  beaux.c..vdbeblo
db10: 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  b.lo:.$(TOP)\src
db20: 5c 76 64 62 65 62 6c 6f 62 2e 63 20 24 28 48 44  \vdbeblob.c $(HD
db30: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
db40: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
db50: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
db60: 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 0a 0a  src\vdbeblob.c..
db70: 76 64 62 65 6d 65 6d 2e 6c 6f 3a 09 24 28 54 4f  vdbemem.lo:.$(TO
db80: 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63  P)\src\vdbemem.c
db90: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
dba0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
dbb0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
dbc0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d  TOP)\src\vdbemem
dbd0: 2e 63 0a 0a 76 64 62 65 73 6f 72 74 2e 6c 6f 3a  .c..vdbesort.lo:
dbe0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65  .$(TOP)\src\vdbe
dbf0: 73 6f 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24  sort.c $(HDR)..$
dc00: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
dc10: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
dc20: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v
dc30: 64 62 65 73 6f 72 74 2e 63 0a 0a 76 64 62 65 74  dbesort.c..vdbet
dc40: 72 61 63 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  race.lo:.$(TOP)\
dc50: 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63 20  src\vdbetrace.c 
dc60: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
dc70: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
dc80: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
dc90: 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63  OP)\src\vdbetrac
dca0: 65 2e 63 0a 0a 76 74 61 62 2e 6c 6f 3a 09 24 28  e.c..vtab.lo:.$(
dcb0: 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 20  TOP)\src\vtab.c 
dcc0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
dcd0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
dce0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
dcf0: 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 0a 0a  OP)\src\vtab.c..
dd00: 77 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  wal.lo:.$(TOP)\s
dd10: 72 63 5c 77 61 6c 2e 63 20 24 28 48 44 52 29 0a  rc\wal.c $(HDR).
dd20: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
dd30: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
dd40: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
dd50: 5c 77 61 6c 2e 63 0a 0a 77 61 6c 6b 65 72 2e 6c  \wal.c..walker.l
dd60: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 61  o:.$(TOP)\src\wa
dd70: 6c 6b 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24  lker.c $(HDR)..$
dd80: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
dd90: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
dda0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77   -c $(TOP)\src\w
ddb0: 61 6c 6b 65 72 2e 63 0a 0a 77 68 65 72 65 2e 6c  alker.c..where.l
ddc0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  o:.$(TOP)\src\wh
ddd0: 65 72 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ere.c $(HDR)..$(
dde0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
ddf0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
de00: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  -c $(TOP)\src\wh
de10: 65 72 65 2e 63 0a 0a 77 68 65 72 65 63 6f 64 65  ere.c..wherecode
de20: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
de30: 77 68 65 72 65 63 6f 64 65 2e 63 20 24 28 48 44  wherecode.c $(HD
de40: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
de50: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
de60: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
de70: 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 0a  src\wherecode.c.
de80: 0a 77 68 65 72 65 65 78 70 72 2e 6c 6f 3a 09 24  .whereexpr.lo:.$
de90: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 65  (TOP)\src\wheree
dea0: 78 70 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28  xpr.c $(HDR)..$(
deb0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
dec0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
ded0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  -c $(TOP)\src\wh
dee0: 65 72 65 65 78 70 72 2e 63 0a 0a 74 63 6c 73 71  ereexpr.c..tclsq
def0: 6c 69 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lite.lo:.$(TOP)\
df00: 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20  src\tclsqlite.c 
df10: 24 28 48 44 52 29 20 24 28 53 51 4c 49 54 45 5f  $(HDR) $(SQLITE_
df20: 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 43 4f  TCL_DEP)..$(LTCO
df30: 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e  MPILE) $(NO_WARN
df40: 29 20 2d 44 55 53 45 5f 54 43 4c 5f 53 54 55 42  ) -DUSE_TCL_STUB
df50: 53 3d 31 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69  S=1 -DBUILD_sqli
df60: 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52  te -I$(TCLINCDIR
df70: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
df80: 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63 6c  tclsqlite.c..tcl
df90: 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 3a  sqlite-shell.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 54 43 4c 53  (NO_WARN) -DTCLS
dff0: 48 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65  H -DBUILD_sqlite
e000: 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20   -I$(TCLINCDIR) 
e010: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63  -c $(TOP)\src\tc
e020: 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63 6c 73 71  lsqlite.c..tclsq
e030: 6c 69 74 65 33 2e 65 78 65 3a 09 74 63 6c 73 71  lite3.exe:.tclsq
e040: 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 24 28  lite-shell.lo $(
e050: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
e060: 54 45 33 48 29 20 24 28 4c 49 42 52 45 53 4f 42  TE3H) $(LIBRESOB
e070: 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  JS)..$(LTLINK) $
e080: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
e090: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
e0a0: 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c  LINKOPTS) $(TCLL
e0b0: 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49 42  IBPATHS) $(LTLIB
e0c0: 50 41 54 48 53 29 20 2f 4f 55 54 3a 24 40 20 74  PATHS) /OUT:$@ t
e0d0: 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c  clsqlite-shell.l
e0e0: 6f 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20  o $(LIBRESOBJS) 
e0f0: 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c  $(TCLLIBS) $(LTL
e100: 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 23  IBS) $(TLIBS)..#
e110: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20   Rules to build 
e120: 6f 70 63 6f 64 65 73 2e 63 20 61 6e 64 20 6f 70  opcodes.c and op
e130: 63 6f 64 65 73 2e 68 0a 23 0a 6f 70 63 6f 64 65  codes.h.#.opcode
e140: 73 2e 63 3a 09 6f 70 63 6f 64 65 73 2e 68 20 24  s.c:.opcodes.h $
e150: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63  (TOP)\tool\mkopc
e160: 6f 64 65 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53  odec.tcl..$(TCLS
e170: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
e180: 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 6c  ol\mkopcodec.tcl
e190: 20 6f 70 63 6f 64 65 73 2e 68 20 3e 20 6f 70 63   opcodes.h > opc
e1a0: 6f 64 65 73 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e  odes.c..opcodes.
e1b0: 68 3a 09 70 61 72 73 65 2e 68 20 24 28 54 4f 50  h:.parse.h $(TOP
e1c0: 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 24 28 54  )\src\vdbe.c $(T
e1d0: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64  OP)\tool\mkopcod
e1e0: 65 68 2e 74 63 6c 0a 09 74 79 70 65 20 70 61 72  eh.tcl..type par
e1f0: 73 65 2e 68 20 24 28 54 4f 50 29 5c 73 72 63 5c  se.h $(TOP)\src\
e200: 76 64 62 65 2e 63 20 7c 20 24 28 54 43 4c 53 48  vdbe.c | $(TCLSH
e210: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
e220: 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 20  l\mkopcodeh.tcl 
e230: 3e 20 6f 70 63 6f 64 65 73 2e 68 0a 0a 23 20 52  > opcodes.h..# R
e240: 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 70 61  ules to build pa
e250: 72 73 65 2e 63 20 61 6e 64 20 70 61 72 73 65 2e  rse.c and parse.
e260: 68 20 2d 20 74 68 65 20 6f 75 74 70 75 74 73 20  h - the outputs 
e270: 6f 66 20 6c 65 6d 6f 6e 2e 0a 23 0a 70 61 72 73  of lemon..#.pars
e280: 65 2e 68 3a 09 70 61 72 73 65 2e 63 0a 0a 70 61  e.h:.parse.c..pa
e290: 72 73 65 2e 63 3a 09 24 28 54 4f 50 29 5c 73 72  rse.c:.$(TOP)\sr
e2a0: 63 5c 70 61 72 73 65 2e 79 20 6c 65 6d 6f 6e 2e  c\parse.y lemon.
e2b0: 65 78 65 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  exe $(TOP)\tool\
e2c0: 61 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c 0a 09  addopcodes.tcl..
e2d0: 64 65 6c 20 2f 51 20 70 61 72 73 65 2e 79 20 70  del /Q parse.y p
e2e0: 61 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e 74  arse.h parse.h.t
e2f0: 65 6d 70 20 32 3e 4e 55 4c 0a 09 63 6f 70 79 20  emp 2>NUL..copy 
e300: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65  $(TOP)\src\parse
e310: 2e 79 20 2e 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78  .y ....\lemon.ex
e320: 65 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f  e $(REQ_FEATURE_
e330: 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41  FLAGS) $(OPT_FEA
e340: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58  TURE_FLAGS) $(EX
e350: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
e360: 20 24 28 4f 50 54 53 29 20 70 61 72 73 65 2e 79   $(OPTS) parse.y
e370: 0a 09 6d 6f 76 65 20 70 61 72 73 65 2e 68 20 70  ..move parse.h p
e380: 61 72 73 65 2e 68 2e 74 65 6d 70 0a 09 24 28 54  arse.h.temp..$(T
e390: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
e3a0: 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 65 73  \tool\addopcodes
e3b0: 2e 74 63 6c 20 70 61 72 73 65 2e 68 2e 74 65 6d  .tcl parse.h.tem
e3c0: 70 20 3e 20 70 61 72 73 65 2e 68 0a 0a 24 28 53  p > parse.h..$(S
e3d0: 51 4c 49 54 45 33 48 29 3a 09 24 28 54 4f 50 29  QLITE3H):.$(TOP)
e3e0: 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e  \src\sqlite.h.in
e3f0: 20 24 28 54 4f 50 29 5c 6d 61 6e 69 66 65 73 74   $(TOP)\manifest
e400: 20 6d 6b 73 6f 75 72 63 65 69 64 2e 65 78 65 20   mksourceid.exe 
e410: 24 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 0a 09  $(TOP)\VERSION..
e420: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
e430: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74  OP)\tool\mksqlit
e440: 65 33 68 2e 74 63 6c 20 24 28 54 4f 50 3a 5c 3d  e3h.tcl $(TOP:\=
e450: 2f 29 20 3e 20 24 28 53 51 4c 49 54 45 33 48 29  /) > $(SQLITE3H)
e460: 20 24 28 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52   $(MKSQLITE3H_AR
e470: 47 53 29 0a 0a 73 71 6c 69 74 65 33 65 78 74 2e  GS)..sqlite3ext.
e480: 68 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75 72 63  h:..target_sourc
e490: 65 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43  e.!IF $(USE_STDC
e4a0: 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ALL)!=0 || $(FOR
e4b0: 5f 57 49 4e 31 30 29 21 3d 30 0a 09 74 79 70 65  _WIN10)!=0..type
e4c0: 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65 78 74   tsrc\sqlite3ext
e4d0: 2e 68 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  .h | $(TCLSH_CMD
e4e0: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re
e4f0: 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62  place.tcl regsub
e500: 20 22 5c 28 5c 2a 5c 29 22 20 22 28 53 51 4c 49   "\(\*\)" "(SQLI
e510: 54 45 5f 43 41 4c 4c 42 41 43 4b 20 2a 29 22 20  TE_CALLBACK *)" 
e520: 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM
e530: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r
e540: 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75  eplace.tcl regsu
e550: 62 20 22 5c 28 5c 2a 22 20 22 28 53 51 4c 49 54  b "\(\*" "(SQLIT
e560: 45 5f 41 50 49 43 41 4c 4c 20 2a 22 20 3e 20 73  E_APICALL *" > s
e570: 71 6c 69 74 65 33 65 78 74 2e 68 0a 09 63 6f 70  qlite3ext.h..cop
e580: 79 20 2f 59 20 73 71 6c 69 74 65 33 65 78 74 2e  y /Y sqlite3ext.
e590: 68 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65 78  h tsrc\sqlite3ex
e5a0: 74 2e 68 0a 21 45 4c 53 45 0a 09 63 6f 70 79 20  t.h.!ELSE..copy 
e5b0: 2f 59 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65  /Y tsrc\sqlite3e
e5c0: 78 74 2e 68 20 73 71 6c 69 74 65 33 65 78 74 2e  xt.h sqlite3ext.
e5d0: 68 0a 21 45 4e 44 49 46 0a 0a 6d 6b 6b 65 79 77  h.!ENDIF..mkkeyw
e5e0: 6f 72 64 68 61 73 68 2e 65 78 65 3a 09 24 28 54  ordhash.exe:.$(T
e5f0: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f  OP)\tool\mkkeywo
e600: 72 64 68 61 73 68 2e 63 0a 09 24 28 42 43 43 29  rdhash.c..$(BCC)
e610: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 24   $(NO_WARN) -Fe$
e620: 40 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f  @ $(REQ_FEATURE_
e630: 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41  FLAGS) $(OPT_FEA
e640: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58  TURE_FLAGS) $(EX
e650: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
e660: 20 24 28 4f 50 54 53 29 20 5c 0a 09 09 24 28 54   $(OPTS) \...$(T
e670: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f  OP)\tool\mkkeywo
e680: 72 64 68 61 73 68 2e 63 20 2f 6c 69 6e 6b 20 24  rdhash.c /link $
e690: 28 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c  (LDFLAGS) $(NLTL
e6a0: 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49  INKOPTS) $(NLTLI
e6b0: 42 50 41 54 48 53 29 0a 0a 6b 65 79 77 6f 72 64  BPATHS)..keyword
e6c0: 68 61 73 68 2e 68 3a 09 24 28 54 4f 50 29 5c 74  hash.h:.$(TOP)\t
e6d0: 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73  ool\mkkeywordhas
e6e0: 68 2e 63 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73  h.c mkkeywordhas
e6f0: 68 2e 65 78 65 0a 09 2e 5c 6d 6b 6b 65 79 77 6f  h.exe...\mkkeywo
e700: 72 64 68 61 73 68 2e 65 78 65 20 3e 20 6b 65 79  rdhash.exe > key
e710: 77 6f 72 64 68 61 73 68 2e 68 0a 0a 23 20 53 6f  wordhash.h..# So
e720: 75 72 63 65 20 66 69 6c 65 73 20 74 68 61 74 20  urce files that 
e730: 67 6f 20 69 6e 74 6f 20 6d 61 6b 69 6e 67 20 73  go into making s
e740: 68 65 6c 6c 2e 63 0a 53 48 45 4c 4c 5f 53 52 43  hell.c.SHELL_SRC
e750: 20 3d 20 5c 0a 09 24 28 54 4f 50 29 5c 73 72 63   = \..$(TOP)\src
e760: 5c 73 68 65 6c 6c 2e 63 2e 69 6e 20 5c 0a 20 20  \shell.c.in \.  
e770: 20 20 20 20 20 20 24 28 54 4f 50 29 5c 65 78 74        $(TOP)\ext
e780: 5c 6d 69 73 63 5c 61 70 70 65 6e 64 76 66 73 2e  \misc\appendvfs.
e790: 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c  c \..$(TOP)\ext\
e7a0: 6d 69 73 63 5c 73 68 61 74 68 72 65 65 2e 63 20  misc\shathree.c 
e7b0: 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  \..$(TOP)\ext\mi
e7c0: 73 63 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a 09 24  sc\fileio.c \..$
e7d0: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63  (TOP)\ext\misc\c
e7e0: 6f 6d 70 6c 65 74 69 6f 6e 2e 63 20 5c 0a 09 24  ompletion.c \..$
e7f0: 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74  (TOP)\ext\expert
e800: 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 63  \sqlite3expert.c
e810: 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 65   \..$(TOP)\ext\e
e820: 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70  xpert\sqlite3exp
e830: 65 72 74 2e 68 20 5c 0a 09 24 28 54 4f 50 29 5c  ert.h \..$(TOP)\
e840: 73 72 63 5c 74 65 73 74 5f 77 69 6e 64 69 72 65  src\test_windire
e850: 6e 74 2e 63 0a 0a 23 20 49 66 20 75 73 65 20 6f  nt.c..# If use o
e860: 66 20 7a 6c 69 62 20 69 73 20 65 6e 61 62 6c 65  f zlib is enable
e870: 64 2c 20 61 64 64 20 74 68 65 20 22 7a 69 70 66  d, add the "zipf
e880: 69 6c 65 2e 63 22 20 73 6f 75 72 63 65 20 66 69  ile.c" source fi
e890: 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  le..#.!IF $(USE_
e8a0: 5a 4c 49 42 29 21 3d 30 0a 53 48 45 4c 4c 5f 53  ZLIB)!=0.SHELL_S
e8b0: 52 43 20 3d 20 24 28 53 48 45 4c 4c 5f 53 52 43  RC = $(SHELL_SRC
e8c0: 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  ) $(TOP)\ext\mis
e8d0: 63 5c 73 71 6c 61 72 2e 63 0a 53 48 45 4c 4c 5f  c\sqlar.c.SHELL_
e8e0: 53 52 43 20 3d 20 24 28 53 48 45 4c 4c 5f 53 52  SRC = $(SHELL_SR
e8f0: 43 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  C) $(TOP)\ext\mi
e900: 73 63 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e  sc\zipfile.c.!EN
e910: 44 49 46 0a 0a 73 68 65 6c 6c 2e 63 3a 09 24 28  DIF..shell.c:.$(
e920: 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 54 4f 50  SHELL_SRC) $(TOP
e930: 29 5c 74 6f 6f 6c 5c 6d 6b 73 68 65 6c 6c 63 2e  )\tool\mkshellc.
e940: 74 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44  tcl..$(TCLSH_CMD
e950: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  ) $(TOP)\tool\mk
e960: 73 68 65 6c 6c 63 2e 74 63 6c 20 3e 20 73 68 65  shellc.tcl > she
e970: 6c 6c 2e 63 0a 0a 7a 6c 69 62 3a 0a 09 70 75 73  ll.c..zlib:..pus
e980: 68 64 20 24 28 5a 4c 49 42 44 49 52 29 20 26 26  hd $(ZLIBDIR) &&
e990: 20 24 28 4d 41 4b 45 29 20 2f 66 20 77 69 6e 33   $(MAKE) /f win3
e9a0: 32 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 63  2\Makefile.msc c
e9b0: 6c 65 61 6e 20 24 28 5a 4c 49 42 4c 49 42 29 20  lean $(ZLIBLIB) 
e9c0: 26 26 20 70 6f 70 64 0a 0a 23 20 52 75 6c 65 73  && popd..# Rules
e9d0: 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 65 78   to build the ex
e9e0: 74 65 6e 73 69 6f 6e 20 6f 62 6a 65 63 74 73 2e  tension objects.
e9f0: 0a 23 0a 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50  .#.icu.lo:.$(TOP
ea00: 29 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 20  )\ext\icu\icu.c 
ea10: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
ea20: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
ea30: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ea40: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
ea50: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
ea60: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69  $(TOP)\ext\icu\i
ea70: 63 75 2e 63 0a 0a 66 74 73 32 2e 6c 6f 3a 09 24  cu.c..fts2.lo:.$
ea80: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
ea90: 74 73 32 2e 63 20 24 28 48 44 52 29 20 24 28 45  ts2.c $(HDR) $(E
eaa0: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
eab0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
eac0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
ead0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
eae0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
eaf0: 5c 66 74 73 32 5c 66 74 73 32 2e 63 0a 0a 66 74  \fts2\fts2.c..ft
eb00: 73 32 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f  s2_hash.lo:.$(TO
eb10: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
eb20: 5f 68 61 73 68 2e 63 20 24 28 48 44 52 29 20 24  _hash.c $(HDR) $
eb30: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
eb40: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
eb50: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
eb60: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
eb70: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
eb80: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73  xt\fts2\fts2_has
eb90: 68 2e 63 0a 0a 66 74 73 32 5f 69 63 75 2e 6c 6f  h.c..fts2_icu.lo
eba0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
ebb0: 32 5c 66 74 73 32 5f 69 63 75 2e 63 20 24 28 48  2\fts2_icu.c $(H
ebc0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
ebd0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
ebe0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ebf0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
ec00: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
ec10: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
ec20: 32 5f 69 63 75 2e 63 0a 0a 66 74 73 32 5f 70 6f  2_icu.c..fts2_po
ec30: 72 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  rter.lo:.$(TOP)\
ec40: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f  ext\fts2\fts2_po
ec50: 72 74 65 72 2e 63 20 24 28 48 44 52 29 20 24 28  rter.c $(HDR) $(
ec60: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
ec70: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
ec80: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
ec90: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
eca0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
ecb0: 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74  t\fts2\fts2_port
ecc0: 65 72 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e  er.c..fts2_token
ecd0: 69 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  izer.lo:.$(TOP)\
ece0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f  ext\fts2\fts2_to
ecf0: 6b 65 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29  kenizer.c $(HDR)
ed00: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
ed10: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
ed20: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
ed30: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
ed40: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
ed50: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74  \ext\fts2\fts2_t
ed60: 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 32  okenizer.c..fts2
ed70: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09  _tokenizer1.lo:.
ed80: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
ed90: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts2_tokenizer1.
eda0: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
edb0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
edc0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
edd0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
ede0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
edf0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
ee00: 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72  2\fts2_tokenizer
ee10: 31 2e 63 0a 0a 66 74 73 33 2e 6c 6f 3a 09 24 28  1.c..fts3.lo:.$(
ee20: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
ee30: 73 33 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  s3.c $(HDR) $(EX
ee40: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
ee50: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
ee60: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
ee70: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
ee80: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
ee90: 66 74 73 33 5c 66 74 73 33 2e 63 0a 0a 66 74 73  fts3\fts3.c..fts
eea0: 33 5f 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29  3_aux.lo:.$(TOP)
eeb0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61  \ext\fts3\fts3_a
eec0: 75 78 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  ux.c $(HDR) $(EX
eed0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
eee0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
eef0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
ef00: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
ef10: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
ef20: 66 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 0a  fts3\fts3_aux.c.
ef30: 0a 66 74 73 33 5f 65 78 70 72 2e 6c 6f 3a 09 24  .fts3_expr.lo:.$
ef40: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
ef50: 74 73 33 5f 65 78 70 72 2e 63 20 24 28 48 44 52  ts3_expr.c $(HDR
ef60: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
ef70: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
ef80: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
ef90: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
efa0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
efb0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
efc0: 65 78 70 72 2e 63 0a 0a 66 74 73 33 5f 68 61 73  expr.c..fts3_has
efd0: 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  h.lo:.$(TOP)\ext
efe0: 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e  \fts3\fts3_hash.
eff0: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
f000: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
f010: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
f020: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
f030: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
f040: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
f050: 33 5c 66 74 73 33 5f 68 61 73 68 2e 63 0a 0a 66  3\fts3_hash.c..f
f060: 74 73 33 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f  ts3_icu.lo:.$(TO
f070: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
f080: 5f 69 63 75 2e 63 20 24 28 48 44 52 29 20 24 28  _icu.c $(HDR) $(
f090: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
f0a0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
f0b0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
f0c0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
f0d0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
f0e0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e  t\fts3\fts3_icu.
f0f0: 63 0a 0a 66 74 73 33 5f 73 6e 69 70 70 65 74 2e  c..fts3_snippet.
f100: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
f110: 74 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74  ts3\fts3_snippet
f120: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
f130: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
f140: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
f150: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
f160: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
f170: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
f180: 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e  s3\fts3_snippet.
f190: 63 0a 0a 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c  c..fts3_porter.l
f1a0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
f1b0: 73 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63  s3\fts3_porter.c
f1c0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
f1d0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
f1e0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
f1f0: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
f200: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
f210: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
f220: 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 0a 0a  \fts3_porter.c..
f230: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c  fts3_tokenizer.l
f240: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
f250: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
f260: 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  r.c $(HDR) $(EXT
f270: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
f280: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
f290: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
f2a0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
f2b0: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
f2c0: 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  ts3\fts3_tokeniz
f2d0: 65 72 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e  er.c..fts3_token
f2e0: 69 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29  izer1.lo:.$(TOP)
f2f0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
f300: 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 24 28 48 44  okenizer1.c $(HD
f310: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
f320: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
f330: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
f340: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
f350: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
f360: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
f370: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66  _tokenizer1.c..f
f380: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61  ts3_tokenize_vta
f390: 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  b.lo:.$(TOP)\ext
f3a0: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e  \fts3\fts3_token
f3b0: 69 7a 65 5f 76 74 61 62 2e 63 20 24 28 48 44 52  ize_vtab.c $(HDR
f3c0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
f3d0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
f3e0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
f3f0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
f400: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
f410: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
f420: 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 0a  tokenize_vtab.c.
f430: 0a 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f  .fts3_unicode.lo
f440: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
f450: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63  3\fts3_unicode.c
f460: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
f470: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
f480: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
f490: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
f4a0: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
f4b0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
f4c0: 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 0a  \fts3_unicode.c.
f4d0: 0a 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c  .fts3_unicode2.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 32  s3\fts3_unicode2
f500: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
f510: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
f520: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
f530: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
f540: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
f550: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
f560: 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32  s3\fts3_unicode2
f570: 2e 63 0a 0a 66 74 73 33 5f 77 72 69 74 65 2e 6c  .c..fts3_write.l
f580: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
f590: 73 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 20  s3\fts3_write.c 
f5a0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
f5b0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
f5c0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
f5d0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
f5e0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
f5f0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
f600: 66 74 73 33 5f 77 72 69 74 65 2e 63 0a 0a 72 74  fts3_write.c..rt
f610: 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ree.lo:.$(TOP)\e
f620: 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 63  xt\rtree\rtree.c
f630: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
f640: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
f650: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
f660: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
f670: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
f680: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65   $(TOP)\ext\rtre
f690: 65 5c 72 74 72 65 65 2e 63 0a 0a 73 71 6c 69 74  e\rtree.c..sqlit
f6a0: 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 3a 09 24 28  e3session.lo:.$(
f6b0: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
f6c0: 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e  \sqlite3session.
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 73 65 73  c $(TOP)\ext\ses
f730: 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73  sion\sqlite3sess
f740: 69 6f 6e 2e 63 0a 0a 23 20 46 54 53 35 20 74 68  ion.c..# FTS5 th
f750: 69 6e 67 73 0a 23 0a 46 54 53 35 5f 53 52 43 20  ings.#.FTS5_SRC 
f760: 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  = \.   $(TOP)\ex
f770: 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 5c 0a  t\fts5\fts5.h \.
f780: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
f790: 73 35 5c 66 74 73 35 49 6e 74 2e 68 20 5c 0a 20  s5\fts5Int.h \. 
f7a0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
f7b0: 35 5c 66 74 73 35 5f 61 75 78 2e 63 20 5c 0a 20  5\fts5_aux.c \. 
f7c0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
f7d0: 35 5c 66 74 73 35 5f 62 75 66 66 65 72 2e 63 20  5\fts5_buffer.c 
f7e0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
f7f0: 66 74 73 35 5c 66 74 73 35 5f 6d 61 69 6e 2e 63  fts5\fts5_main.c
f800: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
f810: 5c 66 74 73 35 5c 66 74 73 35 5f 63 6f 6e 66 69  \fts5\fts5_confi
f820: 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  g.c \.   $(TOP)\
f830: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 65 78  ext\fts5\fts5_ex
f840: 70 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  pr.c \.   $(TOP)
f850: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 68  \ext\fts5\fts5_h
f860: 61 73 68 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  ash.c \.   $(TOP
f870: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
f880: 69 6e 64 65 78 2e 63 20 5c 0a 20 20 20 66 74 73  index.c \.   fts
f890: 35 70 61 72 73 65 2e 63 20 66 74 73 35 70 61 72  5parse.c fts5par
f8a0: 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  se.h \.   $(TOP)
f8b0: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 73  \ext\fts5\fts5_s
f8c0: 74 6f 72 61 67 65 2e 63 20 5c 0a 20 20 20 24 28  torage.c \.   $(
f8d0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
f8e0: 73 35 5f 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a  s5_tokenize.c \.
f8f0: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
f900: 73 35 5c 66 74 73 35 5f 75 6e 69 63 6f 64 65 32  s5\fts5_unicode2
f910: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e
f920: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 76 61 72  xt\fts5\fts5_var
f930: 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  int.c \.   $(TOP
f940: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
f950: 76 6f 63 61 62 2e 63 0a 0a 4c 53 4d 31 5f 53 52  vocab.c..LSM1_SR
f960: 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  C = \.   $(TOP)\
f970: 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e 68 20 5c  ext\lsm1\lsm.h \
f980: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
f990: 73 6d 31 5c 6c 73 6d 49 6e 74 2e 68 20 5c 0a 20  sm1\lsmInt.h \. 
f9a0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
f9b0: 31 5c 6c 73 6d 5f 63 6b 70 74 2e 63 20 5c 0a 20  1\lsm_ckpt.c \. 
f9c0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
f9d0: 31 5c 6c 73 6d 5f 66 69 6c 65 2e 63 20 5c 0a 20  1\lsm_file.c \. 
f9e0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
f9f0: 31 5c 6c 73 6d 5f 6c 6f 67 2e 63 20 5c 0a 20 20  1\lsm_log.c \.  
fa00: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
fa10: 5c 6c 73 6d 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20  \lsm_main.c \.  
fa20: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
fa30: 5c 6c 73 6d 5f 6d 65 6d 2e 63 20 5c 0a 20 20 20  \lsm_mem.c \.   
fa40: 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c  $(TOP)\ext\lsm1\
fa50: 6c 73 6d 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20  lsm_mutex.c \.  
fa60: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
fa70: 5c 6c 73 6d 5f 73 68 61 72 65 64 2e 63 20 5c 0a  \lsm_shared.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 73 6f 72 74 65 64 2e 63 20  m1\lsm_sorted.c 
faa0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
fab0: 6c 73 6d 31 5c 6c 73 6d 5f 73 74 72 2e 63 20 5c  lsm1\lsm_str.c \
fac0: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
fad0: 73 6d 31 5c 6c 73 6d 5f 74 72 65 65 2e 63 20 5c  sm1\lsm_tree.c \
fae0: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
faf0: 73 6d 31 5c 6c 73 6d 5f 75 6e 69 78 2e 63 20 5c  sm1\lsm_unix.c \
fb00: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
fb10: 73 6d 31 5c 6c 73 6d 5f 76 61 72 69 6e 74 2e 63  sm1\lsm_varint.c
fb20: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
fb30: 5c 6c 73 6d 31 5c 6c 73 6d 5f 76 74 61 62 2e 63  \lsm1\lsm_vtab.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 77 69 6e 33 32 2e  \lsm1\lsm_win32.
fb60: 63 0a 0a 66 74 73 35 70 61 72 73 65 2e 63 3a 09  c..fts5parse.c:.
fb70: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\
fb80: 66 74 73 35 70 61 72 73 65 2e 79 20 6c 65 6d 6f  fts5parse.y lemo
fb90: 6e 2e 65 78 65 0a 09 63 6f 70 79 20 24 28 54 4f  n.exe..copy $(TO
fba0: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
fbb0: 70 61 72 73 65 2e 79 20 2e 0a 09 64 65 6c 20 2f  parse.y ...del /
fbc0: 51 20 66 74 73 35 70 61 72 73 65 2e 68 20 32 3e  Q fts5parse.h 2>
fbd0: 4e 55 4c 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65  NUL...\lemon.exe
fbe0: 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46   $(REQ_FEATURE_F
fbf0: 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54  LAGS) $(OPT_FEAT
fc00: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54  URE_FLAGS) $(EXT
fc10: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
fc20: 24 28 4f 50 54 53 29 20 66 74 73 35 70 61 72 73  $(OPTS) fts5pars
fc30: 65 2e 79 0a 0a 66 74 73 35 70 61 72 73 65 2e 68  e.y..fts5parse.h
fc40: 3a 09 66 74 73 35 70 61 72 73 65 2e 63 0a 0a 66  :.fts5parse.c..f
fc50: 74 73 35 2e 63 3a 09 24 28 46 54 53 35 5f 53 52  ts5.c:.$(FTS5_SR
fc60: 43 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  C)..$(TCLSH_CMD)
fc70: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
fc80: 5c 74 6f 6f 6c 5c 6d 6b 66 74 73 35 63 2e 74 63  \tool\mkfts5c.tc
fc90: 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65  l..copy $(TOP)\e
fca0: 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 2e  xt\fts5\fts5.h .
fcb0: 0a 0a 6c 73 6d 31 2e 63 3a 09 24 28 4c 53 4d 31  ..lsm1.c:.$(LSM1
fcc0: 5f 53 52 43 29 0a 09 24 28 54 43 4c 53 48 5f 43  _SRC)..$(TCLSH_C
fcd0: 4d 44 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  MD) $(TOP)\ext\l
fce0: 73 6d 31 5c 74 6f 6f 6c 5c 6d 6b 6c 73 6d 31 63  sm1\tool\mklsm1c
fcf0: 2e 74 63 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50  .tcl..copy $(TOP
fd00: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e 68  )\ext\lsm1\lsm.h
fd10: 20 2e 0a 0a 66 74 73 35 2e 6c 6f 3a 09 66 74 73   ...fts5.lo:.fts
fd20: 35 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  5.c $(HDR) $(EXT
fd30: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
fd40: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
fd50: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
fd60: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
fd70: 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 73 35   -c fts5.c..fts5
fd80: 5f 65 78 74 2e 6c 6f 3a 09 66 74 73 35 2e 63 20  _ext.lo:.fts5.c 
fd90: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
fda0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
fdb0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 66 74 73  (NO_WARN) -c fts
fdc0: 35 2e 63 0a 0a 66 74 73 35 2e 64 6c 6c 3a 09 66  5.c..fts5.dll:.f
fdd0: 74 73 35 5f 65 78 74 2e 6c 6f 0a 09 24 28 4c 44  ts5_ext.lo..$(LD
fde0: 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  ) $(LDFLAGS) $(L
fdf0: 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c  TLINKOPTS) $(LTL
fe00: 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f  IBPATHS) /DLL /O
fe10: 55 54 3a 24 40 20 66 74 73 35 5f 65 78 74 2e 6c  UT:$@ fts5_ext.l
fe20: 6f 0a 0a 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f  o..sqlite3rbu.lo
fe30: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75  :.$(TOP)\ext\rbu
fe40: 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20 24 28  \sqlite3rbu.c $(
fe50: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
fe60: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53  $(LTCOMPILE) -DS
fe70: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
fe80: 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c  TOP)\ext\rbu\sql
fe90: 69 74 65 33 72 62 75 2e 63 0a 0a 23 20 52 75 6c  ite3rbu.c..# Rul
fea0: 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20  es to build the 
feb0: 27 74 65 73 74 66 69 78 74 75 72 65 27 20 61 70  'testfixture' ap
fec0: 70 6c 69 63 61 74 69 6f 6e 2e 0a 23 0a 23 20 49  plication..#.# I
fed0: 66 20 75 73 69 6e 67 20 74 68 65 20 61 6d 61 6c  f using the amal
fee0: 67 61 6d 61 74 69 6f 6e 2c 20 75 73 65 20 73 71  gamation, use sq
fef0: 6c 69 74 65 33 2e 63 20 64 69 72 65 63 74 6c 79  lite3.c directly
ff00: 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 74 65   to build the te
ff10: 73 74 0a 23 20 66 69 78 74 75 72 65 2e 20 20 4f  st.# fixture.  O
ff20: 74 68 65 72 77 69 73 65 20 6c 69 6e 6b 20 61 67  therwise link ag
ff30: 61 69 6e 73 74 20 6c 69 62 73 71 6c 69 74 65 33  ainst libsqlite3
ff40: 2e 6c 69 62 2e 20 20 28 54 68 69 73 20 64 69 73  .lib.  (This dis
ff50: 74 69 6e 63 74 69 6f 6e 20 69 73 0a 23 20 6e 65  tinction is.# ne
ff60: 63 65 73 73 61 72 79 20 62 65 63 61 75 73 65 20  cessary because 
ff70: 74 68 65 20 74 65 73 74 20 66 69 78 74 75 72 65  the test fixture
ff80: 20 72 65 71 75 69 72 65 73 20 6e 6f 6e 2d 41 50   requires non-AP
ff90: 49 20 73 79 6d 62 6f 6c 73 20 77 68 69 63 68 20  I symbols which 
ffa0: 61 72 65 0a 23 20 68 69 64 64 65 6e 20 77 68 65  are.# hidden whe
ffb0: 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 69 73  n the library is
ffc0: 20 62 75 69 6c 74 20 76 69 61 20 74 68 65 20 61   built via the a
ffd0: 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a  malgamation)..#.
ffe0: 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
fff0: 53 20 3d 20 2d 44 54 43 4c 53 48 5f 49 4e 49 54  S = -DTCLSH_INIT
10000 5f 50 52 4f 43 3d 73 71 6c 69 74 65 33 54 65 73  _PROC=sqlite3Tes
10010 74 49 6e 69 74 20 2d 44 53 51 4c 49 54 45 5f 54  tInit -DSQLITE_T
10020 45 53 54 3d 31 20 2d 44 53 51 4c 49 54 45 5f 43  EST=1 -DSQLITE_C
10030 52 41 53 48 5f 54 45 53 54 3d 31 0a 54 45 53 54  RASH_TEST=1.TEST
10040 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FIXTURE_FLAGS = 
10050 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  $(TESTFIXTURE_FL
10060 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53 45  AGS) -DSQLITE_SE
10070 52 56 45 52 3d 31 20 2d 44 53 51 4c 49 54 45 5f  RVER=1 -DSQLITE_
10080 50 52 49 56 41 54 45 3d 22 22 0a 54 45 53 54 46  PRIVATE="".TESTF
10090 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  IXTURE_FLAGS = $
100a0 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  (TESTFIXTURE_FLA
100b0 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  GS) -DSQLITE_COR
100c0 45 20 24 28 4e 4f 5f 57 41 52 4e 29 0a 54 45 53  E $(NO_WARN).TES
100d0 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d  TFIXTURE_FLAGS =
100e0 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46   $(TESTFIXTURE_F
100f0 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53  LAGS) -DSQLITE_S
10100 45 52 49 45 53 5f 43 4f 4e 53 54 52 41 49 4e 54  ERIES_CONSTRAINT
10110 5f 56 45 52 49 46 59 3d 31 0a 54 45 53 54 46 49  _VERIFY=1.TESTFI
10120 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  XTURE_FLAGS = $(
10130 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
10140 53 29 20 2d 44 53 51 4c 49 54 45 5f 44 45 46 41  S) -DSQLITE_DEFA
10150 55 4c 54 5f 50 41 47 45 5f 53 49 5a 45 3d 31 30  ULT_PAGE_SIZE=10
10160 32 34 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46  24.TESTFIXTURE_F
10170 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58  LAGS = $(TESTFIX
10180 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
10190 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 4d 54  LITE_ENABLE_STMT
101a0 56 54 41 42 0a 54 45 53 54 46 49 58 54 55 52 45  VTAB.TESTFIXTURE
101b0 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46  _FLAGS = $(TESTF
101c0 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  IXTURE_FLAGS) -D
101d0 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42  SQLITE_ENABLE_DB
101e0 50 41 47 45 5f 56 54 41 42 0a 54 45 53 54 46 49  PAGE_VTAB.TESTFI
101f0 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  XTURE_FLAGS = $(
10200 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
10210 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
10220 4c 45 5f 4a 53 4f 4e 31 0a 54 45 53 54 46 49 58  LE_JSON1.TESTFIX
10230 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54  TURE_FLAGS = $(T
10240 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
10250 29 20 24 28 54 45 53 54 5f 43 43 4f 4e 56 5f 4f  ) $(TEST_CCONV_O
10260 50 54 53 29 0a 0a 54 45 53 54 46 49 58 54 55 52  PTS)..TESTFIXTUR
10270 45 5f 53 52 43 30 20 3d 20 24 28 54 45 53 54 45  E_SRC0 = $(TESTE
10280 58 54 29 20 24 28 54 45 53 54 53 52 43 32 29 0a  XT) $(TESTSRC2).
10290 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 31  TESTFIXTURE_SRC1
102a0 20 3d 20 24 28 54 45 53 54 45 58 54 29 20 24 28   = $(TESTEXT) $(
102b0 53 51 4c 49 54 45 33 43 29 0a 21 49 46 20 24 28  SQLITE3C).!IF $(
102c0 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e  USE_AMALGAMATION
102d0 29 3d 3d 30 0a 54 45 53 54 46 49 58 54 55 52 45  )==0.TESTFIXTURE
102e0 5f 53 52 43 20 3d 20 24 28 54 45 53 54 53 52 43  _SRC = $(TESTSRC
102f0 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c  ) $(TOP)\src\tcl
10300 73 71 6c 69 74 65 2e 63 20 24 28 54 45 53 54 46  sqlite.c $(TESTF
10310 49 58 54 55 52 45 5f 53 52 43 30 29 0a 21 45 4c  IXTURE_SRC0).!EL
10320 53 45 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53  SE.TESTFIXTURE_S
10330 52 43 20 3d 20 24 28 54 45 53 54 53 52 43 29 20  RC = $(TESTSRC) 
10340 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71  $(TOP)\src\tclsq
10350 6c 69 74 65 2e 63 20 24 28 54 45 53 54 46 49 58  lite.c $(TESTFIX
10360 54 55 52 45 5f 53 52 43 31 29 0a 21 45 4e 44 49  TURE_SRC1).!ENDI
10370 46 0a 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44  F..!IF $(USE_STD
10380 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  CALL)!=0 || $(FO
10390 52 5f 57 49 4e 31 30 29 21 3d 30 0a 73 71 6c 69  R_WIN10)!=0.sqli
103a0 74 65 5f 74 63 6c 44 65 63 6c 73 2e 68 3a 0a 09  te_tclDecls.h:..
103b0 65 63 68 6f 20 23 69 66 6e 64 65 66 20 53 51 4c  echo #ifndef SQL
103c0 49 54 45 5f 54 43 4c 41 50 49 20 3e 20 24 28 53  ITE_TCLAPI > $(S
103d0 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a  QLITETCLDECLSH).
103e0 09 65 63 68 6f 20 23 20 20 64 65 66 69 6e 65 20  .echo #  define 
103f0 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 3e 3e  SQLITE_TCLAPI >>
10400 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c   $(SQLITETCLDECL
10410 53 48 29 0a 09 65 63 68 6f 20 23 65 6e 64 69 66  SH)..echo #endif
10420 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44   >> $(SQLITETCLD
10430 45 43 4c 53 48 29 0a 09 74 79 70 65 20 22 24 28  ECLSH)..type "$(
10440 54 43 4c 49 4e 43 44 49 52 29 5c 74 63 6c 44 65  TCLINCDIR)\tclDe
10450 63 6c 73 2e 68 22 20 5c 0a 09 09 7c 20 24 28 54  cls.h" \...| $(T
10460 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
10470 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
10480 6c 20 72 65 67 73 75 62 20 22 5e 28 45 58 54 45  l regsub "^(EXTE
10490 52 4e 28 3f 3a 20 43 4f 4e 53 54 5c 64 2b 3f 29  RN(?: CONST\d+?)
104a0 3f 5c 73 2b 3f 5b 5e 5c 28 5d 2a 3f 5c 73 2b 3f  ?\s+?[^\(]*?\s+?
104b0 29 54 63 6c 5f 22 20 22 5c 31 20 53 51 4c 49 54  )Tcl_" "\1 SQLIT
104c0 45 5f 54 43 4c 41 50 49 20 54 63 6c 5f 22 20 5c  E_TCLAPI Tcl_" \
104d0 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  ...| $(TCLSH_CMD
104e0 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re
104f0 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62  place.tcl regsub
10500 20 22 5e 28 45 58 54 45 52 4e 5c 73 2b 3f 28 3f   "^(EXTERN\s+?(?
10510 3a 76 6f 69 64 7c 56 4f 49 44 29 5c 73 2b 3f 29  :void|VOID)\s+?)
10520 54 63 6c 46 72 65 65 4f 62 6a 22 20 22 5c 31 20  TclFreeObj" "\1 
10530 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63  SQLITE_TCLAPI Tc
10540 6c 46 72 65 65 4f 62 6a 22 20 5c 0a 09 09 7c 20  lFreeObj" \...| 
10550 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
10560 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
10570 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c  .tcl regsub "\(\
10580 2a 74 63 6c 5f 22 20 22 28 53 51 4c 49 54 45 5f  *tcl_" "(SQLITE_
10590 54 43 4c 41 50 49 20 2a 74 63 6c 5f 22 20 5c 0a  TCLAPI *tcl_" \.
105a0 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29  ..| $(TCLSH_CMD)
105b0 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep
105c0 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20  lace.tcl regsub 
105d0 22 5c 28 5c 2a 74 63 6c 46 72 65 65 4f 62 6a 22  "\(\*tclFreeObj"
105e0 20 22 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49   "(SQLITE_TCLAPI
105f0 20 2a 74 63 6c 46 72 65 65 4f 62 6a 22 20 5c 0a   *tclFreeObj" \.
10600 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29  ..| $(TCLSH_CMD)
10610 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep
10620 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20  lace.tcl regsub 
10630 22 5c 28 5c 2a 22 20 22 28 53 51 4c 49 54 45 5f  "\(\*" "(SQLITE_
10640 54 43 4c 41 50 49 20 2a 22 20 3e 3e 20 24 28 53  TCLAPI *" >> $(S
10650 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a  QLITETCLDECLSH).
10660 0a 73 71 6c 69 74 65 5f 74 63 6c 2e 68 3a 0a 09  .sqlite_tcl.h:..
10670 74 79 70 65 20 22 24 28 54 43 4c 49 4e 43 44 49  type "$(TCLINCDI
10680 52 29 5c 74 63 6c 2e 68 22 20 7c 20 24 28 54 43  R)\tcl.h" | $(TC
10690 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
106a0 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
106b0 20 65 78 61 63 74 20 74 63 6c 44 65 63 6c 73 2e   exact tclDecls.
106c0 68 20 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c  h sqlite_tclDecl
106d0 73 2e 68 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53  s.h \...| $(TCLS
106e0 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
106f0 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72  ol\replace.tcl r
10700 65 67 73 75 62 20 22 74 79 70 65 64 65 66 20 28  egsub "typedef (
10710 2e 2a 3f 29 5c 28 54 63 6c 5f 22 20 22 74 79 70  .*?)\(Tcl_" "typ
10720 65 64 65 66 20 5c 31 20 28 53 51 4c 49 54 45 5f  edef \1 (SQLITE_
10730 54 43 4c 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09  TCLAPI Tcl_" \..
10740 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  .| $(TCLSH_CMD) 
10750 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl
10760 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 22 76  ace.tcl exact "v
10770 6f 69 64 20 28 2a 66 72 65 65 50 72 6f 63 29 22  oid (*freeProc)"
10780 20 22 76 6f 69 64 20 28 53 51 4c 49 54 45 5f 54   "void (SQLITE_T
10790 43 4c 41 50 49 20 2a 66 72 65 65 50 72 6f 63 29  CLAPI *freeProc)
107a0 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f  " \...| $(TCLSH_
107b0 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
107c0 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61  \replace.tcl exa
107d0 63 74 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72  ct "Tcl_HashEntr
107e0 79 20 2a 28 2a 66 69 6e 64 50 72 6f 63 29 22 20  y *(*findProc)" 
107f0 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a  "Tcl_HashEntry *
10800 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a  (SQLITE_TCLAPI *
10810 66 69 6e 64 50 72 6f 63 29 22 20 5c 0a 09 09 7c  findProc)" \...|
10820 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD) $(
10830 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
10840 65 2e 74 63 6c 20 65 78 61 63 74 20 22 54 63 6c  e.tcl exact "Tcl
10850 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 2a 63 72  _HashEntry *(*cr
10860 65 61 74 65 50 72 6f 63 29 22 20 22 54 63 6c 5f  eateProc)" "Tcl_
10870 48 61 73 68 45 6e 74 72 79 20 2a 28 53 51 4c 49  HashEntry *(SQLI
10880 54 45 5f 54 43 4c 41 50 49 20 2a 63 72 65 61 74  TE_TCLAPI *creat
10890 65 50 72 6f 63 29 22 20 3e 3e 20 24 28 53 51 4c  eProc)" >> $(SQL
108a0 49 54 45 54 43 4c 48 29 0a 21 45 4e 44 49 46 0a  ITETCLH).!ENDIF.
108b0 0a 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  .testfixture.exe
108c0 3a 09 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  :.$(TESTFIXTURE_
108d0 53 52 43 29 20 24 28 54 45 53 54 46 49 58 54 55  SRC) $(TESTFIXTU
108e0 52 45 5f 44 45 50 29 20 24 28 53 51 4c 49 54 45  RE_DEP) $(SQLITE
108f0 33 48 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  3H) $(LIBRESOBJS
10900 29 20 24 28 48 44 52 29 20 24 28 53 51 4c 49 54  ) $(HDR) $(SQLIT
10910 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54  E_TCL_DEP)..$(LT
10920 4c 49 4e 4b 29 20 2d 44 53 51 4c 49 54 45 5f 4e  LINK) -DSQLITE_N
10930 4f 5f 53 59 4e 43 3d 31 20 24 28 54 45 53 54 46  O_SYNC=1 $(TESTF
10940 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 5c 0a  IXTURE_FLAGS) \.
10950 09 09 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65  ..-DBUILD_sqlite
10960 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20   -I$(TCLINCDIR) 
10970 5c 0a 09 09 24 28 54 45 53 54 46 49 58 54 55 52  \...$(TESTFIXTUR
10980 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b  E_SRC) \.../link
10990 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
109a0 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c  LINKOPTS) $(TCLL
109b0 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49 42  IBPATHS) $(LTLIB
109c0 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f  PATHS) $(LIBRESO
109d0 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29 20  BJS) $(TCLLIBS) 
109e0 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42  $(LTLIBS) $(TLIB
109f0 53 29 0a 0a 65 78 74 65 6e 73 69 6f 6e 74 65 73  S)..extensiontes
10a00 74 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e 65  t:.testfixture.e
10a10 78 65 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 64  xe testloadext.d
10a20 6c 6c 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28  ll..@set PATH=$(
10a30 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41  LIBTCLPATH);$(PA
10a40 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75  TH)...\testfixtu
10a50 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65  re.exe $(TOP)\te
10a60 73 74 5c 6c 6f 61 64 65 78 74 2e 74 65 73 74 20  st\loadext.test 
10a70 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 6c  $(TESTOPTS)..ful
10a80 6c 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f  ltest:.$(TESTPRO
10a90 47 53 29 20 66 75 7a 7a 74 65 73 74 0a 09 40 73  GS) fuzztest..@s
10aa0 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL
10ab0 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)...
10ac0 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
10ad0 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c   $(TOP)\test\all
10ae0 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53  .test $(TESTOPTS
10af0 29 0a 0a 73 6f 61 6b 74 65 73 74 3a 09 24 28 54  )..soaktest:.$(T
10b00 45 53 54 50 52 4f 47 53 29 0a 09 40 73 65 74 20  ESTPROGS)..@set 
10b10 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54  PATH=$(LIBTCLPAT
10b20 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65  H);$(PATH)...\te
10b30 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28  stfixture.exe $(
10b40 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65  TOP)\test\all.te
10b50 73 74 20 2d 73 6f 61 6b 3d 31 20 24 28 54 45 53  st -soak=1 $(TES
10b60 54 4f 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74  TOPTS)..fulltest
10b70 6f 6e 6c 79 3a 09 24 28 54 45 53 54 50 52 4f 47  only:.$(TESTPROG
10b80 53 29 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 65  S) fuzztest..@se
10b90 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50  t PATH=$(LIBTCLP
10ba0 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c  ATH);$(PATH)...\
10bb0 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe 
10bc0 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 6c 6c  $(TOP)\test\full
10bd0 2e 74 65 73 74 0a 0a 71 75 65 72 79 70 6c 61 6e  .test..queryplan
10be0 74 65 73 74 3a 09 74 65 73 74 66 69 78 74 75 72  test:.testfixtur
10bf0 65 2e 65 78 65 20 73 68 65 6c 6c 0a 09 40 73 65  e.exe shell..@se
10c00 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50  t PATH=$(LIBTCLP
10c10 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c  ATH);$(PATH)...\
10c20 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe 
10c30 24 28 54 4f 50 29 5c 74 65 73 74 5c 70 65 72 6d  $(TOP)\test\perm
10c40 75 74 61 74 69 6f 6e 73 2e 74 65 73 74 20 71 75  utations.test qu
10c50 65 72 79 70 6c 61 6e 6e 65 72 20 24 28 54 45 53  eryplanner $(TES
10c60 54 4f 50 54 53 29 0a 0a 66 75 7a 7a 74 65 73 74  TOPTS)..fuzztest
10c70 3a 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a  :.fuzzcheck.exe.
10c80 09 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65  ..\fuzzcheck.exe
10c90 20 24 28 46 55 5a 5a 44 41 54 41 29 0a 0a 66 61   $(FUZZDATA)..fa
10ca0 73 74 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a  stfuzztest:.fuzz
10cb0 63 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a  check.exe...\fuz
10cc0 7a 63 68 65 63 6b 2e 65 78 65 20 2d 2d 6c 69 6d  zcheck.exe --lim
10cd0 69 74 2d 6d 65 6d 20 31 30 30 4d 20 24 28 46 55  it-mem 100M $(FU
10ce0 5a 5a 44 41 54 41 29 0a 0a 23 20 4d 69 6e 69 6d  ZZDATA)..# Minim
10cf0 61 6c 20 74 65 73 74 69 6e 67 20 74 68 61 74 20  al testing that 
10d00 72 75 6e 73 20 69 6e 20 6c 65 73 73 20 74 68 61  runs in less tha
10d10 6e 20 33 20 6d 69 6e 75 74 65 73 20 28 6f 6e 20  n 3 minutes (on 
10d20 61 20 66 61 73 74 20 6d 61 63 68 69 6e 65 29 0a  a fast machine).
10d30 23 0a 71 75 69 63 6b 74 65 73 74 3a 09 74 65 73  #.quicktest:.tes
10d40 74 66 69 78 74 75 72 65 2e 65 78 65 20 73 6f 75  tfixture.exe sou
10d50 72 63 65 74 65 73 74 0a 09 40 73 65 74 20 50 41  rcetest..@set PA
10d60 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29  TH=$(LIBTCLPATH)
10d70 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74  ;$(PATH)...\test
10d80 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f  fixture.exe $(TO
10d90 50 29 5c 74 65 73 74 5c 65 78 74 72 61 71 75 69  P)\test\extraqui
10da0 63 6b 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50  ck.test $(TESTOP
10db0 54 53 29 0a 0a 23 20 54 68 69 73 20 69 73 20 74  TS)..# This is t
10dc0 68 65 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 2e 20  he common case. 
10dd0 20 52 75 6e 20 6d 61 6e 79 20 74 65 73 74 73 20   Run many tests 
10de0 74 68 61 74 20 64 6f 20 6e 6f 74 20 74 61 6b 65  that do not take
10df0 20 74 6f 6f 20 6c 6f 6e 67 2c 0a 23 20 69 6e 63   too long,.# inc
10e00 6c 75 64 69 6e 67 20 66 75 7a 7a 63 68 65 63 6b  luding fuzzcheck
10e10 2c 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a  , sqlite3_analyz
10e20 65 72 2c 20 61 6e 64 20 73 71 6c 64 69 66 66 20  er, and sqldiff 
10e30 74 65 73 74 73 2e 0a 23 0a 74 65 73 74 3a 09 24  tests..#.test:.$
10e40 28 54 45 53 54 50 52 4f 47 53 29 20 73 6f 75 72  (TESTPROGS) sour
10e50 63 65 74 65 73 74 20 66 61 73 74 66 75 7a 7a 74  cetest fastfuzzt
10e60 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24  est..@set PATH=$
10e70 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50  (LIBTCLPATH);$(P
10e80 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74  ATH)...\testfixt
10e90 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74  ure.exe $(TOP)\t
10ea0 65 73 74 5c 76 65 72 79 71 75 69 63 6b 2e 74 65  est\veryquick.te
10eb0 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a  st $(TESTOPTS)..
10ec0 73 6d 6f 6b 65 74 65 73 74 3a 09 24 28 54 45 53  smoketest:.$(TES
10ed0 54 50 52 4f 47 53 29 0a 09 40 73 65 74 20 50 41  TPROGS)..@set PA
10ee0 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29  TH=$(LIBTCLPATH)
10ef0 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74  ;$(PATH)...\test
10f00 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f  fixture.exe $(TO
10f10 50 29 5c 74 65 73 74 5c 6d 61 69 6e 2e 74 65 73  P)\test\main.tes
10f20 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73  t $(TESTOPTS)..s
10f30 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
10f40 63 3a 09 24 28 53 51 4c 49 54 45 33 43 29 20 24  c:.$(SQLITE3C) $
10f50 28 53 51 4c 49 54 45 33 48 29 20 24 28 54 4f 50  (SQLITE3H) $(TOP
10f60 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e  )\src\tclsqlite.
10f70 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70  c $(TOP)\tool\sp
10f80 61 63 65 61 6e 61 6c 2e 74 63 6c 20 24 28 54 4f  aceanal.tcl $(TO
10f90 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e  P)\tool\mkccode.
10fa0 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  tcl $(TOP)\tool\
10fb0 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
10fc0 2e 63 2e 69 6e 20 24 28 53 51 4c 49 54 45 5f 54  .c.in $(SQLITE_T
10fd0 43 4c 5f 44 45 50 29 0a 09 24 28 54 43 4c 53 48  CL_DEP)..$(TCLSH
10fe0 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
10ff0 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28  l\mkccode.tcl $(
11000 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 69 74 65  TOP)\tool\sqlite
11010 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 2e 69 6e 20  3_analyzer.c.in 
11020 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f 61 6e  > $@..sqlite3_an
11030 61 6c 79 7a 65 72 2e 65 78 65 3a 09 73 71 6c 69  alyzer.exe:.sqli
11040 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 24  te3_analyzer.c $
11050 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28  (LIBRESOBJS)..$(
11060 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
11070 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74  N) -DBUILD_sqlit
11080 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29  e -I$(TCLINCDIR)
11090 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65   sqlite3_analyze
110a0 72 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28  r.c \.../link $(
110b0 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
110c0 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50  KOPTS) $(TCLLIBP
110d0 41 54 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54  ATHS) $(LTLIBPAT
110e0 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  HS) $(LIBRESOBJS
110f0 29 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c  ) $(TCLLIBS) $(L
11100 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a  TLIBS) $(TLIBS).
11110 0a 73 71 6c 74 63 6c 73 68 2e 63 3a 20 73 71 6c  .sqltclsh.c: sql
11120 69 74 65 33 2e 63 20 24 28 54 4f 50 29 5c 73 72  ite3.c $(TOP)\sr
11130 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28  c\tclsqlite.c $(
11140 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c  TOP)\tool\sqltcl
11150 73 68 2e 74 63 6c 20 24 28 54 4f 50 29 5c 65 78  sh.tcl $(TOP)\ex
11160 74 5c 6d 69 73 63 5c 61 70 70 65 6e 64 76 66 73  t\misc\appendvfs
11170 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  .c $(TOP)\tool\m
11180 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50  kccode.tcl $(TOP
11190 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e  )\tool\sqltclsh.
111a0 63 2e 69 6e 0a 09 24 28 54 43 4c 53 48 5f 43 4d  c.in..$(TCLSH_CM
111b0 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  D) $(TOP)\tool\m
111c0 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50  kccode.tcl $(TOP
111d0 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e  )\tool\sqltclsh.
111e0 63 2e 69 6e 20 3e 73 71 6c 74 63 6c 73 68 2e 63  c.in >sqltclsh.c
111f0 0a 0a 73 71 6c 74 63 6c 73 68 2e 65 78 65 3a 20  ..sqltclsh.exe: 
11200 73 71 6c 74 63 6c 73 68 2e 63 20 20 24 28 53 48  sqltclsh.c  $(SH
11210 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 20 24 28  ELL_CORE_DEP) $(
11220 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c  LIBRESOBJS)..$(L
11230 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
11240 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65  ) -DBUILD_sqlite
11250 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20   -I$(TCLINCDIR) 
11260 73 71 6c 74 63 6c 73 68 2e 63 20 5c 0a 09 09 2f  sqltclsh.c \.../
11270 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
11280 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS) $(
11290 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c  TCLLIBPATHS) $(L
112a0 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42  TLIBPATHS) $(LIB
112b0 52 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49  RESOBJS) $(TCLLI
112c0 42 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28  BS) $(LTLIBS) $(
112d0 54 4c 49 42 53 29 0a 0a 73 71 6c 69 74 65 33 5f  TLIBS)..sqlite3_
112e0 65 78 70 65 72 74 2e 65 78 65 3a 20 24 28 53 51  expert.exe: $(SQ
112f0 4c 49 54 45 33 43 29 20 24 28 54 4f 50 29 5c 65  LITE3C) $(TOP)\e
11300 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65  xt\expert\sqlite
11310 33 65 78 70 65 72 74 2e 68 20 24 28 54 4f 50 29  3expert.h $(TOP)
11320 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69  \ext\expert\sqli
11330 74 65 33 65 78 70 65 72 74 2e 63 20 24 28 54 4f  te3expert.c $(TO
11340 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 65 78  P)\ext\expert\ex
11350 70 65 72 74 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b  pert.c..$(LTLINK
11360 29 20 24 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54  ) $(NO_WARN).$(T
11370 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73  OP)\ext\expert\s
11380 71 6c 69 74 65 33 65 78 70 65 72 74 2e 63 20 24  qlite3expert.c $
11390 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74  (TOP)\ext\expert
113a0 5c 65 78 70 65 72 74 2e 63 20 24 28 53 51 4c 49  \expert.c $(SQLI
113b0 54 45 33 43 29 20 24 28 54 4c 49 42 53 29 0a 0a  TE3C) $(TLIBS)..
113c0 43 48 45 43 4b 45 52 5f 44 45 50 53 20 3d 5c 0a  CHECKER_DEPS =\.
113d0 20 20 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6d 6b    $(TOP)/tool/mk
113e0 63 63 6f 64 65 2e 74 63 6c 20 5c 0a 20 20 73 71  ccode.tcl \.  sq
113f0 6c 69 74 65 33 2e 63 20 5c 0a 20 20 24 28 54 4f  lite3.c \.  $(TO
11400 50 29 2f 73 72 63 2f 74 63 6c 73 71 6c 69 74 65  P)/src/tclsqlite
11410 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78  .c \.  $(TOP)/ex
11420 74 2f 72 65 70 61 69 72 2f 73 71 6c 69 74 65 33  t/repair/sqlite3
11430 5f 63 68 65 63 6b 65 72 2e 74 63 6c 20 5c 0a 20  _checker.tcl \. 
11440 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61   $(TOP)/ext/repa
11450 69 72 2f 63 68 65 63 6b 69 6e 64 65 78 2e 63 20  ir/checkindex.c 
11460 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72  \.  $(TOP)/ext/r
11470 65 70 61 69 72 2f 63 68 65 63 6b 66 72 65 65 6c  epair/checkfreel
11480 69 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ist.c \.  $(TOP)
11490 2f 65 78 74 2f 6d 69 73 63 2f 62 74 72 65 65 69  /ext/misc/btreei
114a0 6e 66 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  nfo.c \.  $(TOP)
114b0 2f 65 78 74 2f 72 65 70 61 69 72 2f 73 71 6c 69  /ext/repair/sqli
114c0 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69 6e  te3_checker.c.in
114d0 0a 0a 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65  ..sqlite3_checke
114e0 72 2e 63 3a 09 24 28 43 48 45 43 4b 45 52 5f 44  r.c:.$(CHECKER_D
114f0 45 50 53 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d  EPS)..$(TCLSH_CM
11500 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  D) $(TOP)\tool\m
11510 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50  kccode.tcl $(TOP
11520 29 5c 65 78 74 5c 72 65 70 61 69 72 5c 73 71 6c  )\ext\repair\sql
11530 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69  ite3_checker.c.i
11540 6e 20 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f  n > $@..sqlite3_
11550 63 68 65 63 6b 65 72 2e 65 78 65 3a 09 73 71 6c  checker.exe:.sql
11560 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 20 24  ite3_checker.c $
11570 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28  (LIBRESOBJS)..$(
11580 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
11590 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74  N) -DBUILD_sqlit
115a0 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29  e -I$(TCLINCDIR)
115b0 20 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72   sqlite3_checker
115c0 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c  .c \.../link $(L
115d0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
115e0 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41  OPTS) $(TCLLIBPA
115f0 54 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48  THS) $(LTLIBPATH
11600 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  S) $(LIBRESOBJS)
11610 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54   $(TCLLIBS) $(LT
11620 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS)..
11630 64 62 64 75 6d 70 2e 65 78 65 3a 09 24 28 54 4f  dbdump.exe:.$(TO
11640 50 29 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64 75  P)\ext\misc\dbdu
11650 6d 70 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  mp.c $(SQLITE3C)
11660 20 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 4c   $(SQLITE3H) $(L
11670 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54  IBRESOBJS)..$(LT
11680 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
11690 20 2d 44 44 42 44 55 4d 50 5f 53 54 41 4e 44 41   -DDBDUMP_STANDA
116a0 4c 4f 4e 45 20 24 28 54 4f 50 29 5c 65 78 74 5c  LONE $(TOP)\ext\
116b0 6d 69 73 63 5c 64 62 64 75 6d 70 2e 63 20 24 28  misc\dbdump.c $(
116c0 53 51 4c 49 54 45 33 43 29 20 5c 0a 09 09 2f 6c  SQLITE3C) \.../l
116d0 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
116e0 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c  (LTLINKOPTS) $(L
116f0 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42  TLIBPATHS) $(LIB
11700 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42  RESOBJS) $(LTLIB
11710 53 29 0a 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e  S)..testloadext.
11720 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74  lo:.$(TOP)\src\t
11730 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63 20 24 28  est_loadext.c $(
11740 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 43  SQLITE3H)..$(LTC
11750 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52  OMPILE) $(NO_WAR
11760 4e 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  N) -c $(TOP)\src
11770 5c 74 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63 0a  \test_loadext.c.
11780 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c  .testloadext.dll
11790 3a 09 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f  :.testloadext.lo
117a0 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47  ..$(LD) $(LDFLAG
117b0 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
117c0 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f   $(LTLIBPATHS) /
117d0 44 4c 4c 20 2f 4f 55 54 3a 24 40 20 74 65 73 74  DLL /OUT:$@ test
117e0 6c 6f 61 64 65 78 74 2e 6c 6f 0a 0a 73 68 6f 77  loadext.lo..show
117f0 64 62 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  db.exe:.$(TOP)\t
11800 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28 53  ool\showdb.c $(S
11810 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
11820 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
11830 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
11840 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
11850 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
11860 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
11870 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  ..$(TOP)\tool\sh
11880 6f 77 64 62 2e 63 20 24 28 53 51 4c 49 54 45 33  owdb.c $(SQLITE3
11890 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
118a0 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
118b0 29 0a 0a 73 68 6f 77 73 74 61 74 34 2e 65 78 65  )..showstat4.exe
118c0 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  :.$(TOP)\tool\sh
118d0 6f 77 73 74 61 74 34 2e 63 20 24 28 53 51 4c 49  owstat4.c $(SQLI
118e0 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
118f0 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
11900 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
11910 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
11920 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
11930 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$
11940 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73  (TOP)\tool\shows
11950 74 61 74 34 2e 63 20 24 28 53 51 4c 49 54 45 33  tat4.c $(SQLITE3
11960 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
11970 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
11980 29 0a 0a 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65  )..showjournal.e
11990 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
119a0 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28  showjournal.c $(
119b0 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
119c0 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
119d0 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
119e0 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
119f0 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  0 -DSQLITE_OMIT_
11a00 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c  LOAD_EXTENSION \
11a10 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  ...$(TOP)\tool\s
11a20 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53  howjournal.c $(S
11a30 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
11a40 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
11a50 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 77 61 6c  NKOPTS)..showwal
11a60 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
11a70 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24 28 53 51  l\showwal.c $(SQ
11a80 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
11a90 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
11aa0 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
11ab0 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20  TE_THREADSAFE=0 
11ac0 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f  -DSQLITE_OMIT_LO
11ad0 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09  AD_EXTENSION \..
11ae0 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f  .$(TOP)\tool\sho
11af0 77 77 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33  wwal.c $(SQLITE3
11b00 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
11b10 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
11b20 29 0a 0a 73 68 6f 77 73 68 6d 2e 65 78 65 3a 09  )..showshm.exe:.
11b30 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show
11b40 73 68 6d 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29  shm.c..$(LTLINK)
11b50 20 24 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f   $(NO_WARN).$(TO
11b60 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 68 6d 2e  P)\tool\showshm.
11b70 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  c /link $(LDFLAG
11b80 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
11b90 0a 0a 63 68 61 6e 67 65 73 65 74 2e 65 78 65 3a  ..changeset.exe:
11ba0 09 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73  .$(TOP)\ext\sess
11bb0 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74 2e 63 20  ion\changeset.c 
11bc0 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
11bd0 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
11be0 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
11bf0 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
11c00 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  E=0 -DSQLITE_OMI
11c10 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e  T_LOAD_EXTENSION
11c20 20 5c 0a 09 09 2d 44 53 51 4c 49 54 45 5f 45 4e   \...-DSQLITE_EN
11c30 41 42 4c 45 5f 53 45 53 53 49 4f 4e 3d 31 20 2d  ABLE_SESSION=1 -
11c40 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 50  DSQLITE_ENABLE_P
11c50 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b 3d 31 20  REUPDATE_HOOK=1 
11c60 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74 5c 73  \...$(TOP)\ext\s
11c70 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74  ession\changeset
11c80 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
11c90 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
11ca0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66  $(LTLINKOPTS)..f
11cb0 74 73 33 76 69 65 77 2e 65 78 65 3a 09 24 28 54  ts3view.exe:.$(T
11cc0 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f  OP)\ext\fts3\too
11cd0 6c 5c 66 74 73 33 76 69 65 77 2e 63 20 24 28 53  l\fts3view.c $(S
11ce0 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
11cf0 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
11d00 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
11d10 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
11d20 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
11d30 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
11d40 09 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  ..$(TOP)\ext\fts
11d50 33 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e  3\tool\fts3view.
11d60 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
11d70 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
11d80 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 72 6f  (LTLINKOPTS)..ro
11d90 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 65 78 65 3a  llback-test.exe:
11da0 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c  .$(TOP)\tool\rol
11db0 6c 62 61 63 6b 2d 74 65 73 74 2e 63 20 24 28 53  lback-test.c $(S
11dc0 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
11dd0 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
11de0 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
11df0 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
11e00 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
11e10 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
11e20 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f  ..$(TOP)\tool\ro
11e30 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63 20 24 28  llback-test.c $(
11e40 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
11e50 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
11e60 49 4e 4b 4f 50 54 53 29 0a 0a 4c 6f 67 45 73 74  INKOPTS)..LogEst
11e70 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
11e80 6c 5c 6c 6f 67 65 73 74 2e 63 20 24 28 53 51 4c  l\logest.c $(SQL
11e90 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
11ea0 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54  ) $(NO_WARN) $(T
11eb0 4f 50 29 5c 74 6f 6f 6c 5c 4c 6f 67 45 73 74 2e  OP)\tool\LogEst.
11ec0 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  c /link $(LDFLAG
11ed0 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
11ee0 0a 0a 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65 3a  ..wordcount.exe:
11ef0 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 77 6f 72  .$(TOP)\test\wor
11f00 64 63 6f 75 6e 74 2e 63 20 24 28 53 51 4c 49 54  dcount.c $(SQLIT
11f10 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
11f20 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
11f30 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
11f40 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
11f50 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
11f60 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28  EXTENSION \...$(
11f70 54 4f 50 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f  TOP)\test\wordco
11f80 75 6e 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  unt.c $(SQLITE3C
11f90 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
11fa0 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
11fb0 0a 0a 73 70 65 65 64 74 65 73 74 31 2e 65 78 65  ..speedtest1.exe
11fc0 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 70  :.$(TOP)\test\sp
11fd0 65 65 64 74 65 73 74 31 2e 63 20 24 28 53 51 4c  eedtest1.c $(SQL
11fe0 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
11ff0 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
12000 4e 4f 5f 57 41 52 4e 29 20 24 28 53 54 5f 43 4f  NO_WARN) $(ST_CO
12010 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51  MPILE_OPTS) -DSQ
12020 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45  LITE_OMIT_LOAD_E
12030 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54  XTENSION \...$(T
12040 4f 50 29 5c 74 65 73 74 5c 73 70 65 65 64 74 65  OP)\test\speedte
12050 73 74 31 2e 63 20 24 28 53 51 4c 49 54 45 33 43  st1.c $(SQLITE3C
12060 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
12070 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
12080 0a 0a 6b 76 74 65 73 74 2e 65 78 65 3a 09 24 28  ..kvtest.exe:.$(
12090 54 4f 50 29 5c 74 65 73 74 5c 6b 76 74 65 73 74  TOP)\test\kvtest
120a0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
120b0 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
120c0 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
120d0 20 24 28 4b 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50   $(KV_COMPILE_OP
120e0 54 53 29 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74  TS) \...$(TOP)\t
120f0 65 73 74 5c 6b 76 74 65 73 74 2e 63 20 24 28 53  est\kvtest.c $(S
12100 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
12110 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
12120 4e 4b 4f 50 54 53 29 0a 0a 72 62 75 2e 65 78 65  NKOPTS)..rbu.exe
12130 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75  :.$(TOP)\ext\rbu
12140 5c 72 62 75 2e 63 20 24 28 54 4f 50 29 5c 65 78  \rbu.c $(TOP)\ex
12150 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75  t\rbu\sqlite3rbu
12160 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
12170 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
12180 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
12190 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
121a0 5f 52 42 55 20 5c 0a 09 09 24 28 54 4f 50 29 5c  _RBU \...$(TOP)\
121b0 65 78 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28  ext\rbu\rbu.c $(
121c0 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
121d0 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
121e0 49 4e 4b 4f 50 54 53 29 0a 0a 4c 53 4d 44 49 52  INKOPTS)..LSMDIR
121f0 3d 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31  =$(TOP)\ext\lsm1
12200 0a 21 49 4e 43 4c 55 44 45 20 24 28 4c 53 4d 44  .!INCLUDE $(LSMD
12210 49 52 29 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63  IR)\Makefile.msc
12220 0a 0a 6d 6f 72 65 63 6c 65 61 6e 3a 09 63 6c 65  ..moreclean:.cle
12230 61 6e 0a 09 64 65 6c 20 2f 51 20 24 28 53 51 4c  an..del /Q $(SQL
12240 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
12250 48 29 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61  H) 2>NUL.# <</ma
12260 72 6b 3e 3e 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65  rk>>..clean:..de
12270 6c 20 2f 51 20 2a 2e 65 78 70 20 2a 2e 6c 6f 20  l /Q *.exp *.lo 
12280 2a 2e 69 6c 6b 20 2a 2e 6c 69 62 20 2a 2e 6f 62  *.ilk *.lib *.ob
12290 6a 20 2a 2e 6e 63 62 20 2a 2e 70 64 62 20 2a 2e  j *.ncb *.pdb *.
122a0 73 64 66 20 2a 2e 73 75 6f 20 32 3e 4e 55 4c 0a  sdf *.suo 2>NUL.
122b0 09 64 65 6c 20 2f 51 20 2a 2e 62 73 63 20 2a 2e  .del /Q *.bsc *.
122c0 64 65 66 20 2a 2e 63 6f 64 20 2a 2e 64 61 20 2a  def *.cod *.da *
122d0 2e 62 62 20 2a 2e 62 62 67 20 2a 2e 76 63 20 67  .bb *.bbg *.vc g
122e0 6d 6f 6e 2e 6f 75 74 20 32 3e 4e 55 4c 0a 09 64  mon.out 2>NUL..d
122f0 65 6c 20 2f 51 20 24 28 53 51 4c 49 54 45 33 45  el /Q $(SQLITE3E
12300 58 45 29 20 24 28 53 51 4c 49 54 45 33 44 4c 4c  XE) $(SQLITE3DLL
12310 29 20 52 65 70 6c 61 63 65 2e 65 78 65 20 32 3e  ) Replace.exe 2>
12320 4e 55 4c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 09  NUL.# <<mark>>..
12330 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 2e 63  del /Q sqlite3.c
12340 20 73 71 6c 69 74 65 33 2e 68 20 32 3e 4e 55 4c   sqlite3.h 2>NUL
12350 0a 09 64 65 6c 20 2f 51 20 6f 70 63 6f 64 65 73  ..del /Q opcodes
12360 2e 63 20 6f 70 63 6f 64 65 73 2e 68 20 32 3e 4e  .c opcodes.h 2>N
12370 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 65 6d 6f 6e  UL..del /Q lemon
12380 2e 2a 20 6c 65 6d 70 61 72 2e 63 20 70 61 72 73  .* lempar.c pars
12390 65 2e 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  e.* 2>NUL..del /
123a0 51 20 6d 6b 73 6f 75 72 63 65 69 64 2e 2a 20 6d  Q mksourceid.* m
123b0 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 2a 20 6b  kkeywordhash.* k
123c0 65 79 77 6f 72 64 68 61 73 68 2e 68 20 32 3e 4e  eywordhash.h 2>N
123d0 55 4c 0a 09 64 65 6c 20 2f 51 20 6e 6f 74 61 73  UL..del /Q notas
123e0 68 61 72 65 64 6c 69 62 2e 2a 20 32 3e 4e 55 4c  haredlib.* 2>NUL
123f0 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e 64  ..-rmdir /Q/S .d
12400 65 70 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69  eps 2>NUL..-rmdi
12410 72 20 2f 51 2f 53 20 2e 6c 69 62 73 20 32 3e 4e  r /Q/S .libs 2>N
12420 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20  UL..-rmdir /Q/S 
12430 74 73 72 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  tsrc 2>NUL..del 
12440 2f 51 20 2e 74 61 72 67 65 74 5f 73 6f 75 72 63  /Q .target_sourc
12450 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q 
12460 74 63 6c 73 71 6c 69 74 65 33 2e 65 78 65 20 24  tclsqlite3.exe $
12470 28 53 51 4c 49 54 45 54 43 4c 48 29 20 24 28 53  (SQLITETCLH) $(S
12480 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20  QLITETCLDECLSH) 
12490 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 73  2>NUL..del /Q ls
124a0 6d 2e 64 6c 6c 20 6c 73 6d 74 65 73 74 2e 65 78  m.dll lsmtest.ex
124b0 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q 
124c0 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 20  testloadext.dll 
124d0 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65  2>NUL..del /Q te
124e0 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 74 65  stfixture.exe te
124f0 73 74 2e 64 62 20 32 3e 4e 55 4c 0a 09 64 65 6c  st.db 2>NUL..del
12500 20 2f 51 20 4c 6f 67 45 73 74 2e 65 78 65 20 66   /Q LogEst.exe f
12510 74 73 33 76 69 65 77 2e 65 78 65 20 72 6f 6c 6c  ts3view.exe roll
12520 62 61 63 6b 2d 74 65 73 74 2e 65 78 65 20 73 68  back-test.exe sh
12530 6f 77 64 62 2e 65 78 65 20 64 62 64 75 6d 70 2e  owdb.exe dbdump.
12540 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  exe 2>NUL..del /
12550 51 20 63 68 61 6e 67 65 73 65 74 2e 65 78 65 20  Q changeset.exe 
12560 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68  2>NUL..del /Q sh
12570 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 20 73 68  owjournal.exe sh
12580 6f 77 73 74 61 74 34 2e 65 78 65 20 73 68 6f 77  owstat4.exe show
12590 77 61 6c 2e 65 78 65 20 73 70 65 65 64 74 65 73  wal.exe speedtes
125a0 74 31 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65  t1.exe 2>NUL..de
125b0 6c 20 2f 51 20 6d 70 74 65 73 74 65 72 2e 65 78  l /Q mptester.ex
125c0 65 20 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65 20  e wordcount.exe 
125d0 72 62 75 2e 65 78 65 20 73 72 63 63 6b 31 2e 65  rbu.exe srcck1.e
125e0 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  xe 2>NUL..del /Q
125f0 20 73 71 6c 69 74 65 33 2e 63 20 73 71 6c 69 74   sqlite3.c sqlit
12600 65 33 2d 2a 2e 63 20 32 3e 4e 55 4c 0a 09 64 65  e3-*.c 2>NUL..de
12610 6c 20 2f 51 20 73 71 6c 69 74 65 33 72 63 2e 68  l /Q sqlite3rc.h
12620 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73   2>NUL..del /Q s
12630 68 65 6c 6c 2e 63 20 73 71 6c 69 74 65 33 65 78  hell.c sqlite3ex
12640 74 2e 68 20 73 71 6c 69 74 65 33 73 65 73 73 69  t.h sqlite3sessi
12650 6f 6e 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  on.h 2>NUL..del 
12660 2f 51 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79  /Q sqlite3_analy
12670 7a 65 72 2e 65 78 65 20 73 71 6c 69 74 65 33 5f  zer.exe sqlite3_
12680 61 6e 61 6c 79 7a 65 72 2e 63 20 32 3e 4e 55 4c  analyzer.c 2>NUL
12690 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 2d  ..del /Q sqlite-
126a0 2a 2d 6f 75 74 70 75 74 2e 76 73 69 78 20 32 3e  *-output.vsix 2>
126b0 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 66 75 7a 7a  NUL..del /Q fuzz
126c0 65 72 73 68 65 6c 6c 2e 65 78 65 20 66 75 7a 7a  ershell.exe fuzz
126d0 63 68 65 63 6b 2e 65 78 65 20 73 71 6c 64 69 66  check.exe sqldif
126e0 66 2e 65 78 65 20 64 62 68 61 73 68 2e 65 78 65  f.exe dbhash.exe
126f0 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73   2>NUL..del /Q s
12700 71 6c 74 63 6c 73 68 2e 2a 20 32 3e 4e 55 4c 0a  qltclsh.* 2>NUL.
12710 09 64 65 6c 20 2f 51 20 64 62 66 75 7a 7a 2e 65  .del /Q dbfuzz.e
12720 78 65 20 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 65  xe sessionfuzz.e
12730 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  xe 2>NUL..del /Q
12740 20 6b 76 74 65 73 74 2e 65 78 65 20 6f 73 73 73   kvtest.exe osss
12750 68 65 6c 6c 2e 65 78 65 20 73 63 72 75 62 2e 65  hell.exe scrub.e
12760 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  xe 2>NUL..del /Q
12770 20 73 68 6f 77 73 68 6d 2e 65 78 65 20 73 71 6c   showshm.exe sql
12780 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 2a 20 73  ite3_checker.* s
12790 71 6c 69 74 65 33 5f 65 78 70 65 72 74 2e 65 78  qlite3_expert.ex
127a0 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q 
127b0 66 74 73 35 2e 2a 20 66 74 73 35 70 61 72 73 65  fts5.* fts5parse
127c0 2e 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  .* 2>NUL..del /Q
127d0 20 6c 73 6d 2e 68 20 6c 73 6d 31 2e 63 20 32 3e   lsm.h lsm1.c 2>
127e0 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  NUL.# <</mark>>.