/ Hex Artifact Content
Login

Artifact 8723bebdec08013054d1ade8f65a13cad34bf8dd015f09649754be2b5f6edc59:


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 65 6e 61  ult, this is ena
0970: 62 6c 65 64 0a 23 20 66 6f 72 20 63 6f 6d 70 61  bled.# for compa
0980: 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 6f 6c  tibility with ol
0990: 64 65 72 20 62 75 69 6c 64 20 65 6e 76 69 72 6f  der build enviro
09a0: 6e 6d 65 6e 74 73 2e 20 20 54 68 69 73 20 73 65  nments.  This se
09b0: 74 74 69 6e 67 20 6f 6e 6c 79 0a 23 20 61 70 70  tting only.# app
09c0: 6c 69 65 73 20 69 66 20 54 43 4c 53 48 5f 43 4d  lies if TCLSH_CM
09d0: 44 20 69 73 20 6e 6f 74 20 73 65 74 20 6d 61 6e  D is not set man
09e0: 75 61 6c 6c 79 2e 0a 23 0a 21 49 46 4e 44 45 46  ually..#.!IFNDEF
09f0: 20 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f 50 41   USE_TCLSH_IN_PA
0a00: 54 48 0a 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f  TH.USE_TCLSH_IN_
0a10: 50 41 54 48 20 3d 20 31 0a 21 45 4e 44 49 46 0a  PATH = 1.!ENDIF.
0a20: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0a30: 30 20 74 6f 20 75 73 65 20 7a 6c 69 62 2c 20 70  0 to use zlib, p
0a40: 6f 73 73 69 62 6c 79 20 63 6f 6d 70 69 6c 69 6e  ossibly compilin
0a50: 67 20 69 74 20 66 72 6f 6d 20 73 6f 75 72 63 65  g it from source
0a60: 20 63 6f 64 65 2e 0a 23 0a 21 49 46 4e 44 45 46   code..#.!IFNDEF
0a70: 20 55 53 45 5f 5a 4c 49 42 0a 55 53 45 5f 5a 4c   USE_ZLIB.USE_ZL
0a80: 49 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  IB = 0.!ENDIF..#
0a90: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
0aa0: 74 6f 20 62 75 69 6c 64 20 7a 6c 69 62 20 66 72  to build zlib fr
0ab0: 6f 6d 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20  om source code. 
0ac0: 20 54 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64   This is enabled
0ad0: 20 62 79 0a 23 20 64 65 66 61 75 6c 74 20 61 6e   by.# default an
0ae0: 64 20 69 6e 20 74 68 61 74 20 63 61 73 65 20 69  d in that case i
0af0: 74 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d 65  t will be assume
0b00: 64 20 74 68 61 74 20 74 68 65 20 5a 4c 49 42 44  d that the ZLIBD
0b10: 49 52 20 6d 61 63 72 6f 0a 23 20 70 6f 69 6e 74  IR macro.# point
0b20: 73 20 74 6f 20 74 68 65 20 74 6f 70 2d 6c 65 76  s to the top-lev
0b30: 65 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20 64  el source code d
0b40: 69 72 65 63 74 6f 72 79 20 66 6f 72 20 7a 6c 69  irectory for zli
0b50: 62 2e 0a 23 0a 21 49 46 4e 44 45 46 20 42 55 49  b..#.!IFNDEF BUI
0b60: 4c 44 5f 5a 4c 49 42 0a 42 55 49 4c 44 5f 5a 4c  LD_ZLIB.BUILD_ZL
0b70: 49 42 20 3d 20 31 0a 21 45 4e 44 49 46 0a 0a 23  IB = 1.!ENDIF..#
0b80: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
0b90: 74 6f 20 75 73 65 20 74 68 65 20 49 6e 74 65 72  to use the Inter
0ba0: 6e 61 74 69 6f 6e 61 6c 20 43 6f 6d 70 6f 6e 65  national Compone
0bb0: 6e 74 73 20 66 6f 72 20 55 6e 69 63 6f 64 65 20  nts for Unicode 
0bc0: 28 49 43 55 29 2e 0a 23 0a 21 49 46 4e 44 45 46  (ICU)..#.!IFNDEF
0bd0: 20 55 53 45 5f 49 43 55 0a 55 53 45 5f 49 43 55   USE_ICU.USE_ICU
0be0: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 23 20 3c 3c   = 0.!ENDIF.# <<
0bf0: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53 65 74 20 74  /mark>>..# Set t
0c00: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 64 79 6e  his non-0 to dyn
0c10: 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74 6f  amically link to
0c20: 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69 6d   the MSVC runtim
0c30: 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46  e library..#.!IF
0c40: 4e 44 45 46 20 55 53 45 5f 43 52 54 5f 44 4c 4c  NDEF USE_CRT_DLL
0c50: 0a 55 53 45 5f 43 52 54 5f 44 4c 4c 20 3d 20 30  .USE_CRT_DLL = 0
0c60: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0c70: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 6c 69 6e  his non-0 to lin
0c80: 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34 20  k to the RPCRT4 
0c90: 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44  library..#.!IFND
0ca0: 45 46 20 55 53 45 5f 52 50 43 52 54 34 5f 4c 49  EF USE_RPCRT4_LI
0cb0: 42 0a 55 53 45 5f 52 50 43 52 54 34 5f 4c 49 42  B.USE_RPCRT4_LIB
0cc0: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53   = 0.!ENDIF..# S
0cd0: 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f  et this non-0 to
0ce0: 20 67 65 6e 65 72 61 74 65 20 61 73 73 65 6d 62   generate assemb
0cf0: 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73  ly code listings
0d00: 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 20   for the source 
0d10: 63 6f 64 65 0a 23 20 66 69 6c 65 73 2e 0a 23 0a  code.# files..#.
0d20: 21 49 46 4e 44 45 46 20 55 53 45 5f 4c 49 53 54  !IFNDEF USE_LIST
0d30: 49 4e 47 53 0a 55 53 45 5f 4c 49 53 54 49 4e 47  INGS.USE_LISTING
0d40: 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  S = 0.!ENDIF..# 
0d50: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
0d60: 6f 20 61 74 74 65 6d 70 74 20 73 65 74 74 69 6e  o attempt settin
0d70: 67 20 74 68 65 20 6e 61 74 69 76 65 20 63 6f 6d  g the native com
0d80: 70 69 6c 65 72 20 61 75 74 6f 6d 61 74 69 63 61  piler automatica
0d90: 6c 6c 79 0a 23 20 66 6f 72 20 63 72 6f 73 73 2d  lly.# for cross-
0da0: 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 63 6f  compiling the co
0db0: 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73  mmand line tools
0dc0: 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20 74   needed during t
0dd0: 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 0a 23  he compilation.#
0de0: 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e   process..#.!IFN
0df0: 44 45 46 20 58 43 4f 4d 50 49 4c 45 0a 58 43 4f  DEF XCOMPILE.XCO
0e00: 4d 50 49 4c 45 20 3d 20 30 0a 21 45 4e 44 49 46  MPILE = 0.!ENDIF
0e10: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0e20: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 6e 61  -0 to use the na
0e30: 74 69 76 65 20 6c 69 62 72 61 72 69 65 73 20 70  tive libraries p
0e40: 61 74 68 73 20 66 6f 72 20 63 72 6f 73 73 2d 63  aths for cross-c
0e50: 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68 65 20 63  ompiling.# the c
0e60: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c  ommand line tool
0e70: 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20  s needed during 
0e80: 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20  the compilation 
0e90: 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e 44  process..#.!IFND
0ea0: 45 46 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49  EF USE_NATIVE_LI
0eb0: 42 50 41 54 48 53 0a 55 53 45 5f 4e 41 54 49 56  BPATHS.USE_NATIV
0ec0: 45 5f 4c 49 42 50 41 54 48 53 20 3d 20 30 0a 21  E_LIBPATHS = 0.!
0ed0: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0ee0: 73 20 30 20 74 6f 20 73 6b 69 70 20 74 68 65 20  s 0 to skip the 
0ef0: 63 6f 6d 70 69 6c 69 6e 67 20 61 6e 64 20 65 6d  compiling and em
0f00: 62 65 64 64 69 6e 67 20 6f 66 20 76 65 72 73 69  bedding of versi
0f10: 6f 6e 20 72 65 73 6f 75 72 63 65 73 2e 0a 23 0a  on resources..#.
0f20: 21 49 46 4e 44 45 46 20 55 53 45 5f 52 43 0a 55  !IFNDEF USE_RC.U
0f30: 53 45 5f 52 43 20 3d 20 31 0a 21 45 4e 44 49 46  SE_RC = 1.!ENDIF
0f40: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0f50: 2d 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62 69  -0 to compile bi
0f60: 6e 61 72 69 65 73 20 73 75 69 74 61 62 6c 65 20  naries suitable 
0f70: 66 6f 72 20 74 68 65 20 57 69 6e 52 54 20 65 6e  for the WinRT en
0f80: 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68 69  vironment..# Thi
0f90: 73 20 73 65 74 74 69 6e 67 20 64 6f 65 73 20 6e  s setting does n
0fa0: 6f 74 20 61 70 70 6c 79 20 74 6f 20 61 6e 79 20  ot apply to any 
0fb0: 62 69 6e 61 72 69 65 73 20 74 68 61 74 20 72 65  binaries that re
0fc0: 71 75 69 72 65 20 54 63 6c 20 74 6f 20 6f 70 65  quire Tcl to ope
0fd0: 72 61 74 65 0a 23 20 70 72 6f 70 65 72 6c 79 20  rate.# properly 
0fe0: 28 69 2e 65 2e 20 74 68 65 20 74 65 78 74 20 66  (i.e. the text f
0ff0: 69 78 74 75 72 65 2c 20 65 74 63 29 2e 0a 23 0a  ixture, etc)..#.
1000: 21 49 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e 52  !IFNDEF FOR_WINR
1010: 54 0a 46 4f 52 5f 57 49 4e 52 54 20 3d 20 30 0a  T.FOR_WINRT = 0.
1020: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
1030: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d 70  is non-0 to comp
1040: 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75 69  ile binaries sui
1050: 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 55 57  table for the UW
1060: 50 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23  P environment..#
1070: 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 64 6f   This setting do
1080: 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20  es not apply to 
1090: 61 6e 79 20 62 69 6e 61 72 69 65 73 20 74 68 61  any binaries tha
10a0: 74 20 72 65 71 75 69 72 65 20 54 63 6c 20 74 6f  t require Tcl to
10b0: 20 6f 70 65 72 61 74 65 0a 23 20 70 72 6f 70 65   operate.# prope
10c0: 72 6c 79 20 28 69 2e 65 2e 20 74 68 65 20 74 65  rly (i.e. the te
10d0: 78 74 20 66 69 78 74 75 72 65 2c 20 65 74 63 29  xt fixture, etc)
10e0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52 5f  ..#.!IFNDEF FOR_
10f0: 55 57 50 0a 46 4f 52 5f 55 57 50 20 3d 20 30 0a  UWP.FOR_UWP = 0.
1100: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
1110: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d 70  is non-0 to comp
1120: 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75 69  ile binaries sui
1130: 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 57 69  table for the Wi
1140: 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72  ndows 10 platfor
1150: 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52  m..#.!IFNDEF FOR
1160: 5f 57 49 4e 31 30 0a 46 4f 52 5f 57 49 4e 31 30  _WIN10.FOR_WIN10
1170: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 3c   = 0.!ENDIF..# <
1180: 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74 68  <mark>>.# Set th
1190: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 6b 69 70  is non-0 to skip
11a0: 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 6c   attempting to l
11b0: 6f 6f 6b 20 66 6f 72 20 61 6e 64 2f 6f 72 20 6c  ook for and/or l
11c0: 69 6e 6b 20 77 69 74 68 20 74 68 65 20 54 63 6c  ink with the Tcl
11d0: 0a 23 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61  .# runtime libra
11e0: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e 4f  ry..#.!IFNDEF NO
11f0: 5f 54 43 4c 0a 4e 4f 5f 54 43 4c 20 3d 20 30 0a  _TCL.NO_TCL = 0.
1200: 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b  !ENDIF.# <</mark
1210: 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20 74  >>..# Set this t
1220: 6f 20 6e 6f 6e 2d 30 20 74 6f 20 63 72 65 61 74  o non-0 to creat
1230: 65 20 61 6e 64 20 75 73 65 20 50 44 42 73 2e 0a  e and use PDBs..
1240: 23 0a 21 49 46 4e 44 45 46 20 53 59 4d 42 4f 4c  #.!IFNDEF SYMBOL
1250: 53 0a 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 21 45  S.SYMBOLS = 1.!E
1260: 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73  NDIF..# Set this
1270: 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73 65   to non-0 to use
1280: 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62 75   the SQLite debu
1290: 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73 79  gging heap subsy
12a0: 73 74 65 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20  stem..#.!IFNDEF 
12b0: 4d 45 4d 44 45 42 55 47 0a 4d 45 4d 44 45 42 55  MEMDEBUG.MEMDEBU
12c0: 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  G = 0.!ENDIF..# 
12d0: 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e 2d  Set this to non-
12e0: 30 20 74 6f 20 75 73 65 20 74 68 65 20 57 69 6e  0 to use the Win
12f0: 33 32 20 6e 61 74 69 76 65 20 68 65 61 70 20 73  32 native heap s
1300: 75 62 73 79 73 74 65 6d 2e 0a 23 0a 21 49 46 4e  ubsystem..#.!IFN
1310: 44 45 46 20 57 49 4e 33 32 48 45 41 50 0a 57 49  DEF WIN32HEAP.WI
1320: 4e 33 32 48 45 41 50 20 3d 20 30 0a 21 45 4e 44  N32HEAP = 0.!END
1330: 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 74  IF..# Set this t
1340: 6f 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c  o non-0 to enabl
1350: 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61 63 72  e OSTRACE() macr
1360: 6f 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62 65  os, which can be
1370: 20 75 73 65 66 75 6c 20 77 68 65 6e 0a 23 20 64   useful when.# d
1380: 65 62 75 67 67 69 6e 67 2e 0a 23 0a 21 49 46 4e  ebugging..#.!IFN
1390: 44 45 46 20 4f 53 54 52 41 43 45 0a 4f 53 54 52  DEF OSTRACE.OSTR
13a0: 41 43 45 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  ACE = 0.!ENDIF..
13b0: 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 6f 6e  # Set this to on
13c0: 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69  e of the followi
13d0: 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 65 6e 61  ng values to ena
13e0: 62 6c 65 20 76 61 72 69 6f 75 73 20 64 65 62 75  ble various debu
13f0: 67 67 69 6e 67 0a 23 20 66 65 61 74 75 72 65 73  gging.# features
1400: 2e 20 20 45 61 63 68 20 6c 65 76 65 6c 20 69 6e  .  Each level in
1410: 63 6c 75 64 65 73 20 74 68 65 20 64 65 62 75 67  cludes the debug
1420: 67 69 6e 67 20 6f 70 74 69 6f 6e 73 20 66 72 6f  ging options fro
1430: 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a 23  m the previous.#
1440: 20 6c 65 76 65 6c 73 2e 20 20 43 75 72 72 65 6e   levels.  Curren
1450: 74 6c 79 2c 20 74 68 65 20 72 65 63 6f 67 6e 69  tly, the recogni
1460: 7a 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20 44  zed values for D
1470: 45 42 55 47 20 61 72 65 3a 0a 23 0a 23 20 30 20  EBUG are:.#.# 0 
1480: 3d 3d 20 4e 44 45 42 55 47 3a 20 44 69 73 61 62  == NDEBUG: Disab
1490: 6c 65 73 20 61 73 73 65 72 74 28 29 20 61 6e 64  les assert() and
14a0: 20 6f 74 68 65 72 20 72 75 6e 74 69 6d 65 20 64   other runtime d
14b0: 69 61 67 6e 6f 73 74 69 63 73 2e 0a 23 20 31 20  iagnostics..# 1 
14c0: 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  == SQLITE_ENABLE
14d0: 5f 41 50 49 5f 41 52 4d 4f 52 3a 20 65 78 74 72  _API_ARMOR: extr
14e0: 61 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64 65  a attempts to de
14f0: 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20 74  tect misuse of t
1500: 68 65 20 41 50 49 2e 0a 23 20 32 20 3d 3d 20 44  he API..# 2 == D
1510: 69 73 61 62 6c 65 73 20 4e 44 45 42 55 47 20 61  isables NDEBUG a
1520: 6e 64 20 61 6c 6c 20 6f 70 74 69 6d 69 7a 61 74  nd all optimizat
1530: 69 6f 6e 73 20 61 6e 64 20 74 68 65 6e 20 65 6e  ions and then en
1540: 61 62 6c 65 73 20 50 44 42 73 2e 0a 23 20 33 20  ables PDBs..# 3 
1550: 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55 47 3a  == SQLITE_DEBUG:
1560: 20 45 6e 61 62 6c 65 73 20 76 61 72 69 6f 75 73   Enables various
1570: 20 64 69 61 67 6e 6f 73 74 69 63 73 20 6d 65 73   diagnostics mes
1580: 73 61 67 65 73 20 61 6e 64 20 63 6f 64 65 2e 0a  sages and code..
1590: 23 20 34 20 3d 3d 20 53 51 4c 49 54 45 5f 57 49  # 4 == SQLITE_WI
15a0: 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49 44  N32_MALLOC_VALID
15b0: 41 54 45 3a 20 56 61 6c 69 64 61 74 65 20 74 68  ATE: Validate th
15c0: 65 20 57 69 6e 33 32 20 6e 61 74 69 76 65 20 68  e Win32 native h
15d0: 65 61 70 20 70 65 72 20 63 61 6c 6c 2e 0a 23 20  eap per call..# 
15e0: 35 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55  5 == SQLITE_DEBU
15f0: 47 5f 4f 53 5f 54 52 41 43 45 3a 20 45 6e 61 62  G_OS_TRACE: Enab
1600: 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d 20  les output from 
1610: 74 68 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61  the OSTRACE() ma
1620: 63 72 6f 73 2e 0a 23 20 36 20 3d 3d 20 53 51 4c  cros..# 6 == SQL
1630: 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52 41  ITE_ENABLE_IOTRA
1640: 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74 70  CE: Enables outp
1650: 75 74 20 66 72 6f 6d 20 74 68 65 20 49 4f 54 52  ut from the IOTR
1660: 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23 0a  ACE() macros..#.
1670: 21 49 46 4e 44 45 46 20 44 45 42 55 47 0a 44 45  !IFNDEF DEBUG.DE
1680: 42 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  BUG = 0.!ENDIF..
1690: 23 20 45 6e 61 62 6c 65 20 75 73 65 20 6f 66 20  # Enable use of 
16a0: 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 70 69 6c  available compil
16b0: 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  er optimizations
16c0: 3f 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 74 68 69  ?  Normally, thi
16d0: 73 20 73 68 6f 75 6c 64 20 62 65 0a 23 20 6e 6f  s should be.# no
16e0: 6e 2d 7a 65 72 6f 2e 20 20 53 65 74 74 69 6e 67  n-zero.  Setting
16f0: 20 74 68 69 73 20 74 6f 20 7a 65 72 6f 2c 20 74   this to zero, t
1700: 68 75 73 20 64 69 73 61 62 6c 69 6e 67 20 61 6c  hus disabling al
1710: 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6d  l compiler optim
1720: 69 7a 61 74 69 6f 6e 73 2c 0a 23 20 63 61 6e 20  izations,.# can 
1730: 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 74 65  be useful for te
1740: 73 74 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45 46  sting..#.!IFNDEF
1750: 20 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 0a 4f   OPTIMIZATIONS.O
1760: 50 54 49 4d 49 5a 41 54 49 4f 4e 53 20 3d 20 32  PTIMIZATIONS = 2
1770: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1780: 68 69 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20  his to non-0 to 
1790: 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20 66  enable support f
17a0: 6f 72 20 74 68 65 20 73 65 73 73 69 6f 6e 20 65  or the session e
17b0: 78 74 65 6e 73 69 6f 6e 2e 0a 23 0a 21 49 46 4e  xtension..#.!IFN
17c0: 44 45 46 20 53 45 53 53 49 4f 4e 0a 53 45 53 53  DEF SESSION.SESS
17d0: 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  ION = 0.!ENDIF..
17e0: 23 20 53 65 74 20 74 68 65 20 73 6f 75 72 63 65  # Set the source
17f0: 20 63 6f 64 65 20 66 69 6c 65 20 74 6f 20 62 65   code file to be
1800: 20 75 73 65 64 20 62 79 20 65 78 65 63 75 74 61   used by executa
1810: 62 6c 65 73 20 61 6e 64 20 6c 69 62 72 61 72 69  bles and librari
1820: 65 73 20 77 68 65 6e 0a 23 20 74 68 65 79 20 6e  es when.# they n
1830: 65 65 64 20 74 68 65 20 61 6d 61 6c 67 61 6d 61  eed the amalgama
1840: 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20  tion..#.!IFNDEF 
1850: 53 51 4c 49 54 45 33 43 0a 21 49 46 20 24 28 53  SQLITE3C.!IF $(S
1860: 50 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 4f  PLIT_AMALGAMATIO
1870: 4e 29 21 3d 30 0a 53 51 4c 49 54 45 33 43 20 3d  N)!=0.SQLITE3C =
1880: 20 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 0a 21   sqlite3-all.c.!
1890: 45 4c 53 45 0a 53 51 4c 49 54 45 33 43 20 3d 20  ELSE.SQLITE3C = 
18a0: 73 71 6c 69 74 65 33 2e 63 0a 21 45 4e 44 49 46  sqlite3.c.!ENDIF
18b0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
18c0: 68 65 20 69 6e 63 6c 75 64 65 20 63 6f 64 65 20  he include code 
18d0: 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64 20  file to be used 
18e0: 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20 61  by executables a
18f0: 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68 65  nd libraries whe
1900: 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 53 51  n.# they need SQ
1910: 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20  Lite..#.!IFNDEF 
1920: 53 51 4c 49 54 45 33 48 0a 53 51 4c 49 54 45 33  SQLITE3H.SQLITE3
1930: 48 20 3d 20 73 71 6c 69 74 65 33 2e 68 0a 21 45  H = sqlite3.h.!E
1940: 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 20  NDIF..# This is 
1950: 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65 20  the name to use 
1960: 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 64  for the SQLite d
1970: 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 72  ynamic link libr
1980: 61 72 79 20 28 44 4c 4c 29 2e 0a 23 0a 21 49 46  ary (DLL)..#.!IF
1990: 4e 44 45 46 20 53 51 4c 49 54 45 33 44 4c 4c 0a  NDEF SQLITE3DLL.
19a0: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29  !IF $(FOR_WIN10)
19b0: 21 3d 30 0a 53 51 4c 49 54 45 33 44 4c 4c 20 3d  !=0.SQLITE3DLL =
19c0: 20 77 69 6e 73 71 6c 69 74 65 33 2e 64 6c 6c 0a   winsqlite3.dll.
19d0: 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 44 4c 4c  !ELSE.SQLITE3DLL
19e0: 20 3d 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a 21   = sqlite3.dll.!
19f0: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
1a00: 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d 65  This is the name
1a10: 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65 20   to use for the 
1a20: 53 51 4c 69 74 65 20 69 6d 70 6f 72 74 20 6c 69  SQLite import li
1a30: 62 72 61 72 79 20 28 4c 49 42 29 2e 0a 23 0a 21  brary (LIB)..#.!
1a40: 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 4c 49  IFNDEF SQLITE3LI
1a50: 42 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31  B.!IF $(FOR_WIN1
1a60: 30 29 21 3d 30 0a 53 51 4c 49 54 45 33 4c 49 42  0)!=0.SQLITE3LIB
1a70: 20 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 6c 69   = winsqlite3.li
1a80: 62 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 4c  b.!ELSE.SQLITE3L
1a90: 49 42 20 3d 20 73 71 6c 69 74 65 33 2e 6c 69 62  IB = sqlite3.lib
1aa0: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
1ab0: 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61  # This is the na
1ac0: 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68  me to use for th
1ad0: 65 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 20 65  e SQLite shell e
1ae0: 78 65 63 75 74 61 62 6c 65 20 28 45 58 45 29 2e  xecutable (EXE).
1af0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54  .#.!IFNDEF SQLIT
1b00: 45 33 45 58 45 0a 21 49 46 20 24 28 46 4f 52 5f  E3EXE.!IF $(FOR_
1b10: 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54 45  WIN10)!=0.SQLITE
1b20: 33 45 58 45 20 3d 20 77 69 6e 73 71 6c 69 74 65  3EXE = winsqlite
1b30: 33 73 68 65 6c 6c 2e 65 78 65 0a 21 45 4c 53 45  3shell.exe.!ELSE
1b40: 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20 73 71  .SQLITE3EXE = sq
1b50: 6c 69 74 65 33 2e 65 78 65 0a 21 45 4e 44 49 46  lite3.exe.!ENDIF
1b60: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20  .!ENDIF..# This 
1b70: 69 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20  is the argument 
1b80: 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65 20  used to set the 
1b90: 70 72 6f 67 72 61 6d 20 64 61 74 61 62 61 73 65  program database
1ba0: 20 28 50 44 42 29 20 66 69 6c 65 20 66 6f 72 20   (PDB) file for 
1bb0: 74 68 65 0a 23 20 53 51 4c 69 74 65 20 73 68 65  the.# SQLite she
1bc0: 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 28 45  ll executable (E
1bd0: 58 45 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53  XE)..#.!IFNDEF S
1be0: 51 4c 49 54 45 33 45 58 45 50 44 42 0a 21 49 46  QLITE3EXEPDB.!IF
1bf0: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0
1c00: 0a 53 51 4c 49 54 45 33 45 58 45 50 44 42 20 3d  .SQLITE3EXEPDB =
1c10: 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 45 58  .!ELSE.SQLITE3EX
1c20: 45 50 44 42 20 3d 20 2f 70 64 62 3a 73 71 6c 69  EPDB = /pdb:sqli
1c30: 74 65 33 73 68 2e 70 64 62 0a 21 45 4e 44 49 46  te3sh.pdb.!ENDIF
1c40: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72  .!ENDIF..# <<mar
1c50: 6b 3e 3e 0a 23 20 54 68 65 73 65 20 61 72 65 20  k>>.# These are 
1c60: 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 65  the names of the
1c70: 20 63 75 73 74 6f 6d 69 7a 65 64 20 54 63 6c 20   customized Tcl 
1c80: 68 65 61 64 65 72 20 66 69 6c 65 73 20 75 73 65  header files use
1c90: 64 20 62 79 20 76 61 72 69 6f 75 73 20 70 61 72  d by various par
1ca0: 74 73 0a 23 20 6f 66 20 74 68 69 73 20 6d 61 6b  ts.# of this mak
1cb0: 65 66 69 6c 65 20 77 68 65 6e 20 74 68 65 20 73  efile when the s
1cc0: 74 64 63 61 6c 6c 20 63 61 6c 6c 69 6e 67 20 63  tdcall calling c
1cd0: 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 69 6e 20  onvention is in 
1ce0: 75 73 65 2e 20 20 49 74 20 69 73 20 6e 6f 74 0a  use.  It is not.
1cf0: 23 20 75 73 65 64 20 66 6f 72 20 61 6e 79 20 6f  # used for any o
1d00: 74 68 65 72 20 70 75 72 70 6f 73 65 2e 0a 23 0a  ther purpose..#.
1d10: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 54 43  !IFNDEF SQLITETC
1d20: 4c 48 0a 53 51 4c 49 54 45 54 43 4c 48 20 3d 20  LH.SQLITETCLH = 
1d30: 73 71 6c 69 74 65 5f 74 63 6c 2e 68 0a 21 45 4e  sqlite_tcl.h.!EN
1d40: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 53 51 4c  DIF..!IFNDEF SQL
1d50: 49 54 45 54 43 4c 44 45 43 4c 53 48 0a 53 51 4c  ITETCLDECLSH.SQL
1d60: 49 54 45 54 43 4c 44 45 43 4c 53 48 20 3d 20 73  ITETCLDECLSH = s
1d70: 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e 68  qlite_tclDecls.h
1d80: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65  .!ENDIF..# These
1d90: 20 61 72 65 20 74 68 65 20 61 64 64 69 74 69 6f   are the additio
1da0: 6e 61 6c 20 74 61 72 67 65 74 73 20 74 68 61 74  nal targets that
1db0: 20 74 68 65 20 74 61 72 67 65 74 73 20 74 68 61   the targets tha
1dc0: 74 20 69 6e 74 65 67 72 61 74 65 20 77 69 74 68  t integrate with
1dd0: 20 74 68 65 0a 23 20 54 63 6c 20 6c 69 62 72 61   the.# Tcl libra
1de0: 72 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e 64  ry should depend
1df0: 20 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69   on when compili
1e00: 6e 67 2c 20 65 74 63 2e 0a 23 0a 21 49 46 4e 44  ng, etc..#.!IFND
1e10: 45 46 20 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45  EF SQLITE_TCL_DE
1e20: 50 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43  P.!IF $(USE_STDC
1e30: 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ALL)!=0 || $(FOR
1e40: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54  _WIN10)!=0.SQLIT
1e50: 45 5f 54 43 4c 5f 44 45 50 20 3d 20 24 28 53 51  E_TCL_DEP = $(SQ
1e60: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20 24  LITETCLDECLSH) $
1e70: 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45 4c  (SQLITETCLH).!EL
1e80: 53 45 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45  SE.SQLITE_TCL_DE
1e90: 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  P =.!ENDIF.!ENDI
1ea0: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  F.# <</mark>>..#
1eb0: 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20 22   These are the "
1ec0: 73 74 61 6e 64 61 72 64 22 20 53 51 4c 69 74 65  standard" SQLite
1ed0: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74   compilation opt
1ee0: 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20 63  ions used when c
1ef0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74  ompiling for.# t
1f00: 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66  he Windows platf
1f10: 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4f  orm..#.!IFNDEF O
1f20: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
1f30: 0a 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f 41  .!IF $(MINIMAL_A
1f40: 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a  MALGAMATION)==0.
1f50: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
1f60: 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52  S = $(OPT_FEATUR
1f70: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
1f80: 45 5f 45 4e 41 42 4c 45 5f 46 54 53 33 3d 31 0a  E_ENABLE_FTS3=1.
1f90: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
1fa0: 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52  S = $(OPT_FEATUR
1fb0: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
1fc0: 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 3d 31  E_ENABLE_RTREE=1
1fd0: 0a 21 45 4e 44 49 46 0a 4f 50 54 5f 46 45 41 54  .!ENDIF.OPT_FEAT
1fe0: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50  URE_FLAGS = $(OP
1ff0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
2000: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
2010: 5f 43 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54 41  _COLUMN_METADATA
2020: 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68 6f  =1.!ENDIF..# Sho
2030: 75 6c 64 20 74 68 65 20 73 65 73 73 69 6f 6e 20  uld the session 
2040: 65 78 74 65 6e 73 69 6f 6e 20 62 65 20 65 6e 61  extension be ena
2050: 62 6c 65 64 3f 20 20 49 66 20 73 6f 2c 20 61 64  bled?  If so, ad
2060: 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70  d compilation op
2070: 74 69 6f 6e 73 0a 23 20 74 6f 20 65 6e 61 62 6c  tions.# to enabl
2080: 65 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 53 45  e it..#.!IF $(SE
2090: 53 53 49 4f 4e 29 21 3d 30 0a 4f 50 54 5f 46 45  SSION)!=0.OPT_FE
20a0: 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  ATURE_FLAGS = $(
20b0: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
20c0: 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
20d0: 4c 45 5f 53 45 53 53 49 4f 4e 3d 31 0a 4f 50 54  LE_SESSION=1.OPT
20e0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d  _FEATURE_FLAGS =
20f0: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46   $(OPT_FEATURE_F
2100: 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45  LAGS) -DSQLITE_E
2110: 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45 5f  NABLE_PREUPDATE_
2120: 48 4f 4f 4b 3d 31 0a 21 45 4e 44 49 46 0a 0a 23  HOOK=1.!ENDIF..#
2130: 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20 22   These are the "
2140: 65 78 74 65 6e 64 65 64 22 20 53 51 4c 69 74 65  extended" SQLite
2150: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74   compilation opt
2160: 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20 63  ions used when c
2170: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74  ompiling for.# t
2180: 68 65 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c  he Windows 10 pl
2190: 61 74 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45  atform..#.!IFNDE
21a0: 46 20 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c  F EXT_FEATURE_FL
21b0: 41 47 53 0a 21 49 46 20 24 28 46 4f 52 5f 57 49  AGS.!IF $(FOR_WI
21c0: 4e 31 30 29 21 3d 30 0a 45 58 54 5f 46 45 41 54  N10)!=0.EXT_FEAT
21d0: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 58  URE_FLAGS = $(EX
21e0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
21f0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
2200: 5f 46 54 53 34 3d 31 0a 45 58 54 5f 46 45 41 54  _FTS4=1.EXT_FEAT
2210: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 58  URE_FLAGS = $(EX
2220: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
2230: 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 54 45 4d   -DSQLITE_SYSTEM
2240: 5f 4d 41 4c 4c 4f 43 3d 31 0a 45 58 54 5f 46 45  _MALLOC=1.EXT_FE
2250: 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  ATURE_FLAGS = $(
2260: 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  EXT_FEATURE_FLAG
2270: 53 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  S) -DSQLITE_OMIT
2280: 5f 4c 4f 43 41 4c 54 49 4d 45 3d 31 0a 21 45 4c  _LOCALTIME=1.!EL
2290: 53 45 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46  SE.EXT_FEATURE_F
22a0: 4c 41 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21 45  LAGS =.!ENDIF.!E
22b0: 4e 44 49 46 0a 0a 23 23 23 23 23 23 23 23 23 23  NDIF..##########
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 0a 23 23 23 23 23 23 23 23 23 23  #####.##########
2310: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2320: 23 23 23 23 23 20 45 4e 44 20 4f 46 20 4f 50 54  ##### END OF OPT
2330: 49 4f 4e 53 20 23 23 23 23 23 23 23 23 23 23 23  IONS ###########
2340: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2350: 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23 23  #####.##########
2360: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2370: 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 0a 0a 23 20 57 68 65 6e 20 63 6f  #####..# When co
23b0: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 74 68 65 20  mpiling for the 
23c0: 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66  Windows 10 platf
23d0: 6f 72 6d 2c 20 74 68 65 20 50 4c 41 54 46 4f 52  orm, the PLATFOR
23e0: 4d 20 6d 61 63 72 6f 20 6d 75 73 74 20 62 65 20  M macro must be 
23f0: 73 65 74 0a 23 20 74 6f 20 61 6e 20 61 70 70 72  set.# to an appr
2400: 6f 70 72 69 61 74 65 20 76 61 6c 75 65 20 28 65  opriate value (e
2410: 2e 67 2e 20 78 38 36 2c 20 78 36 34 2c 20 61 72  .g. x86, x64, ar
2420: 6d 2c 20 61 72 6d 36 34 2c 20 65 74 63 29 2e 0a  m, arm64, etc)..
2430: 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31  #.!IF $(FOR_WIN1
2440: 30 29 21 3d 30 0a 21 49 46 4e 44 45 46 20 50 4c  0)!=0.!IFNDEF PL
2450: 41 54 46 4f 52 4d 0a 21 45 52 52 4f 52 20 55 73  ATFORM.!ERROR Us
2460: 69 6e 67 20 74 68 65 20 46 4f 52 5f 57 49 4e 31  ing the FOR_WIN1
2470: 30 20 6f 70 74 69 6f 6e 20 72 65 71 75 69 72 65  0 option require
2480: 73 20 61 20 76 61 6c 75 65 20 66 6f 72 20 50 4c  s a value for PL
2490: 41 54 46 4f 52 4d 2e 0a 21 45 4e 44 49 46 0a 21  ATFORM..!ENDIF.!
24a0: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 61 73  ENDIF..# This as
24b0: 73 75 6d 65 73 20 74 68 61 74 20 4d 53 56 43 20  sumes that MSVC 
24c0: 69 73 20 61 6c 77 61 79 73 20 69 6e 73 74 61 6c  is always instal
24d0: 6c 65 64 20 69 6e 20 33 32 2d 62 69 74 20 50 72  led in 32-bit Pr
24e0: 6f 67 72 61 6d 20 46 69 6c 65 73 20 64 69 72 65  ogram Files dire
24f0: 63 74 6f 72 79 0a 23 20 61 6e 64 20 73 65 74 73  ctory.# and sets
2500: 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 66 6f   the variable fo
2510: 72 20 75 73 65 20 69 6e 20 6c 6f 63 61 74 69 6e  r use in locatin
2520: 67 20 6f 74 68 65 72 20 33 32 2d 62 69 74 20 69  g other 32-bit i
2530: 6e 73 74 61 6c 6c 73 20 61 63 63 6f 72 64 69 6e  nstalls accordin
2540: 67 6c 79 2e 0a 23 0a 50 52 4f 47 52 41 4d 46 49  gly..#.PROGRAMFI
2550: 4c 45 53 5f 58 38 36 20 3d 20 24 28 56 43 49 4e  LES_X86 = $(VCIN
2560: 53 54 41 4c 4c 44 49 52 29 5c 2e 2e 5c 2e 2e 0a  STALLDIR)\..\...
2570: 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36  PROGRAMFILES_X86
2580: 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45   = $(PROGRAMFILE
2590: 53 5f 58 38 36 3a 5c 5c 3d 5c 29 0a 0a 23 20 43  S_X86:\\=\)..# C
25a0: 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72 65  heck for the pre
25b0: 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64 20  defined command 
25c0: 6d 61 63 72 6f 20 43 43 2e 20 20 54 68 69 73 20  macro CC.  This 
25d0: 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20  should point to 
25e0: 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 23 20 62  the compiler.# b
25f0: 69 6e 61 72 79 20 66 6f 72 20 74 68 65 20 74 61  inary for the ta
2600: 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20  rget platform.  
2610: 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66  If it is not def
2620: 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66  ined, simply def
2630: 69 6e 65 20 69 74 20 74 6f 0a 23 20 74 68 65 20  ine it to.# the 
2640: 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74 20 76  legacy default v
2650: 61 6c 75 65 20 27 63 6c 2e 65 78 65 27 2e 0a 23  alue 'cl.exe'..#
2660: 0a 21 49 46 4e 44 45 46 20 43 43 0a 43 43 20 3d  .!IFNDEF CC.CC =
2670: 20 63 6c 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a   cl.exe.!ENDIF..
2680: 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20  # Check for the 
2690: 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61  predefined comma
26a0: 6e 64 20 6d 61 63 72 6f 20 43 53 43 2e 20 20 54  nd macro CSC.  T
26b0: 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74  his should point
26c0: 20 74 6f 20 61 20 77 6f 72 6b 69 6e 67 0a 23 20   to a working.# 
26d0: 43 20 53 68 61 72 70 20 63 6f 6d 70 69 6c 65 72  C Sharp compiler
26e0: 20 62 69 6e 61 72 79 2e 20 20 49 66 20 69 74 20   binary.  If it 
26f0: 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20  is not defined, 
2700: 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74  simply define it
2710: 20 74 6f 20 74 68 65 0a 23 20 6c 65 67 61 63 79   to the.# legacy
2720: 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 27   default value '
2730: 63 73 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e  csc.exe'..#.!IFN
2740: 44 45 46 20 43 53 43 0a 43 53 43 20 3d 20 63 73  DEF CSC.CSC = cs
2750: 63 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20  c.exe.!ENDIF..# 
2760: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f  Check for the co
2770: 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4c 44 2e 20  mmand macro LD. 
2780: 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69   This should poi
2790: 6e 74 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65 72  nt to the linker
27a0: 20 62 69 6e 61 72 79 20 66 6f 72 0a 23 20 74 68   binary for.# th
27b0: 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72  e target platfor
27c0: 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74  m.  If it is not
27d0: 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79   defined, simply
27e0: 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 74 68   define it to th
27f0: 65 20 6c 65 67 61 63 79 0a 23 20 64 65 66 61 75  e legacy.# defau
2800: 6c 74 20 76 61 6c 75 65 20 27 6c 69 6e 6b 2e 65  lt value 'link.e
2810: 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c  xe'..#.!IFNDEF L
2820: 44 0a 4c 44 20 3d 20 6c 69 6e 6b 2e 65 78 65 0a  D.LD = link.exe.
2830: 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20  !ENDIF..# Check 
2840: 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 69 6e  for the predefin
2850: 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f  ed command macro
2860: 20 52 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c   RC.  This shoul
2870: 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 72  d point to the r
2880: 65 73 6f 75 72 63 65 0a 23 20 63 6f 6d 70 69 6c  esource.# compil
2890: 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68  er binary for th
28a0: 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72  e target platfor
28b0: 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74  m.  If it is not
28c0: 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79   defined, simply
28d0: 20 64 65 66 69 6e 65 0a 23 20 69 74 20 74 6f 20   define.# it to 
28e0: 74 68 65 20 6c 65 67 61 63 79 20 64 65 66 61 75  the legacy defau
28f0: 6c 74 20 76 61 6c 75 65 20 27 72 63 2e 65 78 65  lt value 'rc.exe
2900: 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 52 43 0a  '..#.!IFNDEF RC.
2910: 52 43 20 3d 20 72 63 2e 65 78 65 0a 21 45 4e 44  RC = rc.exe.!END
2920: 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20  IF..# Check for 
2930: 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69 6d 65  the MSVC runtime
2940: 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d 61   library path ma
2950: 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c  cro.  Otherwise,
2960: 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c   this value will
2970: 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68  .# default to th
2980: 65 20 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72  e 'lib' director
2990: 79 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65  y underneath the
29a0: 20 4d 53 56 43 20 69 6e 73 74 61 6c 6c 61 74 69   MSVC installati
29b0: 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a  on directory..#.
29c0: 21 49 46 4e 44 45 46 20 43 52 54 4c 49 42 50 41  !IFNDEF CRTLIBPA
29d0: 54 48 0a 43 52 54 4c 49 42 50 41 54 48 20 3d 20  TH.CRTLIBPATH = 
29e0: 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c  $(VCINSTALLDIR)\
29f0: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 43 52 54 4c  lib.!ENDIF..CRTL
2a00: 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49  IBPATH = $(CRTLI
2a10: 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43  BPATH:\\=\)..# C
2a20: 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f 6d  heck for the com
2a30: 6d 61 6e 64 20 6d 61 63 72 6f 20 4e 43 43 2e 20  mand macro NCC. 
2a40: 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69   This should poi
2a50: 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c  nt to the compil
2a60: 65 72 20 62 69 6e 61 72 79 0a 23 20 66 6f 72 20  er binary.# for 
2a70: 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 65  the platform the
2a80: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f   compilation pro
2a90: 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70  cess is taking p
2aa0: 6c 61 63 65 20 6f 6e 2e 20 20 49 66 20 69 74 20  lace on.  If it 
2ab0: 69 73 20 6e 6f 74 0a 23 20 64 65 66 69 6e 65 64  is not.# defined
2ac0: 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20  , simply define 
2ad0: 69 74 20 74 6f 20 68 61 76 65 20 74 68 65 20 73  it to have the s
2ae0: 61 6d 65 20 76 61 6c 75 65 20 61 73 20 74 68 65  ame value as the
2af0: 20 43 43 20 6d 61 63 72 6f 2e 20 20 57 68 65 6e   CC macro.  When
2b00: 0a 23 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69  .# cross-compili
2b10: 6e 67 2c 20 69 74 20 69 73 20 73 75 67 67 65 73  ng, it is sugges
2b20: 74 65 64 20 74 68 61 74 20 74 68 69 73 20 6d 61  ted that this ma
2b30: 63 72 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 20  cro be modified 
2b40: 76 69 61 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a  via the command.
2b50: 23 20 6c 69 6e 65 20 28 73 69 6e 63 65 20 6e 6d  # line (since nm
2b60: 61 6b 65 20 69 74 73 65 6c 66 20 64 6f 65 73 20  ake itself does 
2b70: 6e 6f 74 20 70 72 6f 76 69 64 65 20 61 20 62 75  not provide a bu
2b80: 69 6c 74 2d 69 6e 20 6d 65 74 68 6f 64 20 74 6f  ilt-in method to
2b90: 20 67 75 65 73 73 20 69 74 29 2e 0a 23 20 46 6f   guess it)..# Fo
2ba0: 72 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 75 73  r example, to us
2bb0: 65 20 74 68 65 20 78 38 36 20 63 6f 6d 70 69 6c  e the x86 compil
2bc0: 65 72 20 77 68 65 6e 20 63 72 6f 73 73 2d 63 6f  er when cross-co
2bd0: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 78 36 34 2c  mpiling for x64,
2be0: 20 61 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e   a command.# lin
2bf0: 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65  e similar to the
2c00: 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 75 6c 64   following could
2c10: 20 62 65 20 75 73 65 64 20 28 61 6c 6c 20 6f 6e   be used (all on
2c20: 20 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20   one line):.#.# 
2c30: 20 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b      nmake /f Mak
2c40: 65 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65  efile.msc sqlite
2c50: 33 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 20  3.dll.#         
2c60: 20 20 58 43 4f 4d 50 49 4c 45 3d 31 20 55 53 45    XCOMPILE=1 USE
2c70: 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53  _NATIVE_LIBPATHS
2c80: 3d 31 0a 23 0a 23 20 41 6c 74 65 72 6e 61 74 69  =1.#.# Alternati
2c90: 76 65 6c 79 2c 20 74 68 65 20 66 75 6c 6c 20 70  vely, the full p
2ca0: 61 74 68 20 61 6e 64 20 66 69 6c 65 20 6e 61 6d  ath and file nam
2cb0: 65 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65  e to the compile
2cc0: 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65  r binary for the
2cd0: 0a 23 20 70 6c 61 74 66 6f 72 6d 20 74 68 65 20  .# platform the 
2ce0: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63  compilation proc
2cf0: 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70 6c  ess is taking pl
2d00: 61 63 65 20 6d 61 79 20 62 65 20 73 70 65 63 69  ace may be speci
2d10: 66 69 65 64 20 28 61 6c 6c 20 6f 6e 0a 23 20 6f  fied (all on.# o
2d20: 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20 20  ne line):.#.#   
2d30: 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66    nmake /f Makef
2d40: 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65 33 2e  ile.msc sqlite3.
2d50: 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 20 20 20  dll.#           
2d60: 22 4e 43 43 3d 22 22 25 56 43 49 4e 53 54 41 4c  "NCC=""%VCINSTAL
2d70: 4c 44 49 52 25 5c 62 69 6e 5c 63 6c 2e 65 78 65  LDIR%\bin\cl.exe
2d80: 22 22 22 0a 23 20 20 20 20 20 20 20 20 20 20 20  """.#           
2d90: 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41  USE_NATIVE_LIBPA
2da0: 54 48 53 3d 31 0a 23 0a 21 49 46 44 45 46 20 4e  THS=1.#.!IFDEF N
2db0: 43 43 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a 5c  CC.NCC = $(NCC:\
2dc0: 5c 3d 5c 29 0a 21 45 4c 53 45 49 46 20 24 28 58  \=\).!ELSEIF $(X
2dd0: 43 4f 4d 50 49 4c 45 29 21 3d 30 0a 4e 43 43 20  COMPILE)!=0.NCC 
2de0: 3d 20 22 24 28 56 43 49 4e 53 54 41 4c 4c 44 49  = "$(VCINSTALLDI
2df0: 52 29 5c 62 69 6e 5c 24 28 43 43 29 22 0a 4e 43  R)\bin\$(CC)".NC
2e00: 43 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29 0a  C = $(NCC:\\=\).
2e10: 21 45 4c 53 45 0a 4e 43 43 20 3d 20 24 28 43 43  !ELSE.NCC = $(CC
2e20: 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63  ).!ENDIF..# Chec
2e30: 6b 20 66 6f 72 20 74 68 65 20 4d 53 56 43 20 6e  k for the MSVC n
2e40: 61 74 69 76 65 20 72 75 6e 74 69 6d 65 20 6c 69  ative runtime li
2e50: 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f  brary path macro
2e60: 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 0a 23 20  .  Otherwise,.# 
2e70: 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c 20  this value will 
2e80: 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27  default to the '
2e90: 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 75  lib' directory u
2ea0: 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 4d 53  nderneath the MS
2eb0: 56 43 0a 23 20 69 6e 73 74 61 6c 6c 61 74 69 6f  VC.# installatio
2ec0: 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21  n directory..#.!
2ed0: 49 46 4e 44 45 46 20 4e 43 52 54 4c 49 42 50 41  IFNDEF NCRTLIBPA
2ee0: 54 48 0a 4e 43 52 54 4c 49 42 50 41 54 48 20 3d  TH.NCRTLIBPATH =
2ef0: 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29   $(VCINSTALLDIR)
2f00: 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 4e 43 52  \lib.!ENDIF..NCR
2f10: 54 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 43 52  TLIBPATH = $(NCR
2f20: 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a  TLIBPATH:\\=\)..
2f30: 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20  # Check for the 
2f40: 50 6c 61 74 66 6f 72 6d 20 53 44 4b 20 6c 69 62  Platform SDK lib
2f50: 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e  rary path macro.
2f60: 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 69    Otherwise, thi
2f70: 73 0a 23 20 76 61 6c 75 65 20 77 69 6c 6c 20 64  s.# value will d
2f80: 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27 6c  efault to the 'l
2f90: 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 75 6e  ib' directory un
2fa0: 64 65 72 6e 65 61 74 68 20 74 68 65 20 57 69 6e  derneath the Win
2fb0: 64 6f 77 73 0a 23 20 53 44 4b 20 69 6e 73 74 61  dows.# SDK insta
2fc0: 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72  llation director
2fd0: 79 20 28 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65  y (the environme
2fe0: 6e 74 20 76 61 72 69 61 62 6c 65 20 75 73 65 64  nt variable used
2ff0: 20 61 70 70 65 61 72 73 0a 23 20 74 6f 20 62 65   appears.# to be
3000: 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20   available when 
3010: 75 73 69 6e 67 20 56 69 73 75 61 6c 20 43 2b 2b  using Visual C++
3020: 20 32 30 30 38 20 6f 72 20 6c 61 74 65 72 20 76   2008 or later v
3030: 69 61 20 74 68 65 0a 23 20 63 6f 6d 6d 61 6e 64  ia the.# command
3040: 20 6c 69 6e 65 29 2e 0a 23 0a 21 49 46 4e 44 45   line)..#.!IFNDE
3050: 46 20 4e 53 44 4b 4c 49 42 50 41 54 48 0a 4e 53  F NSDKLIBPATH.NS
3060: 44 4b 4c 49 42 50 41 54 48 20 3d 20 24 28 57 49  DKLIBPATH = $(WI
3070: 4e 44 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69 62  NDOWSSDKDIR)\lib
3080: 0a 21 45 4e 44 49 46 0a 0a 4e 53 44 4b 4c 49 42  .!ENDIF..NSDKLIB
3090: 50 41 54 48 20 3d 20 24 28 4e 53 44 4b 4c 49 42  PATH = $(NSDKLIB
30a0: 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68  PATH:\\=\)..# Ch
30b0: 65 63 6b 20 66 6f 72 20 74 68 65 20 55 43 52 54  eck for the UCRT
30c0: 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d 61   library path ma
30d0: 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c  cro.  Otherwise,
30e0: 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c   this value will
30f0: 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68  .# default to th
3100: 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66  e version-specif
3110: 69 63 2c 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65  ic, platform-spe
3120: 63 69 66 69 63 20 27 6c 69 62 27 20 64 69 72 65  cific 'lib' dire
3130: 63 74 6f 72 79 0a 23 20 75 6e 64 65 72 6e 65 61  ctory.# undernea
3140: 74 68 20 74 68 65 20 57 69 6e 64 6f 77 73 20 53  th the Windows S
3150: 44 4b 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20  DK installation 
3160: 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46  directory..#.!IF
3170: 4e 44 45 46 20 55 43 52 54 4c 49 42 50 41 54 48  NDEF UCRTLIBPATH
3180: 0a 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24  .UCRTLIBPATH = $
3190: 28 57 49 4e 44 4f 57 53 53 44 4b 44 49 52 29 5c  (WINDOWSSDKDIR)\
31a0: 6c 69 62 5c 24 28 57 49 4e 44 4f 57 53 53 44 4b  lib\$(WINDOWSSDK
31b0: 4c 49 42 56 45 52 53 49 4f 4e 29 5c 75 63 72 74  LIBVERSION)\ucrt
31c0: 5c 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45 4e  \$(PLATFORM).!EN
31d0: 44 49 46 0a 0a 55 43 52 54 4c 49 42 50 41 54 48  DIF..UCRTLIBPATH
31e0: 20 3d 20 24 28 55 43 52 54 4c 49 42 50 41 54 48   = $(UCRTLIBPATH
31f0: 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 20 63 6f 6d 70  :\\=\)..# C comp
3200: 69 6c 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73  iler and options
3210: 20 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c   for use in buil
3220: 64 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73  ding executables
3230: 20 74 68 61 74 0a 23 20 77 69 6c 6c 20 72 75 6e   that.# will run
3240: 20 6f 6e 20 74 68 65 20 70 6c 61 74 66 6f 72 6d   on the platform
3250: 20 74 68 61 74 20 69 73 20 64 6f 69 6e 67 20 74   that is doing t
3260: 68 65 20 62 75 69 6c 64 2e 0a 23 0a 21 49 46 20  he build..#.!IF 
3270: 24 28 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21  $(USE_FULLWARN)!
3280: 3d 30 0a 42 43 43 20 3d 20 24 28 4e 43 43 29 20  =0.BCC = $(NCC) 
3290: 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 24 28 43 43  -nologo -W4 $(CC
32a0: 4f 50 54 53 29 20 24 28 42 43 43 4f 50 54 53 29  OPTS) $(BCCOPTS)
32b0: 0a 21 45 4c 53 45 0a 42 43 43 20 3d 20 24 28 4e  .!ELSE.BCC = $(N
32c0: 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20  CC) -nologo -W3 
32d0: 24 28 43 43 4f 50 54 53 29 20 24 28 42 43 43 4f  $(CCOPTS) $(BCCO
32e0: 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43  PTS).!ENDIF..# C
32f0: 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c 79  heck if assembly
3300: 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20 73   code listings s
3310: 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61 74  hould be generat
3320: 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63  ed for the sourc
3330: 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20 74  e.# code files t
3340: 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a 23  o be compiled..#
3350: 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54 49  .!IF $(USE_LISTI
3360: 4e 47 53 29 21 3d 30 0a 42 43 43 20 3d 20 24 28  NGS)!=0.BCC = $(
3370: 42 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44 49  BCC) -FAcs.!ENDI
3380: 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 74 68  F..# Check if th
3390: 65 20 6e 61 74 69 76 65 20 6c 69 62 72 61 72 79  e native library
33a0: 20 70 61 74 68 73 20 73 68 6f 75 6c 64 20 62 65   paths should be
33b0: 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70 69   used when compi
33c0: 6c 69 6e 67 0a 23 20 74 68 65 20 63 6f 6d 6d 61  ling.# the comma
33d0: 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73 20 75 73  nd line tools us
33e0: 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 63 6f  ed during the co
33f0: 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73  mpilation proces
3400: 73 2e 20 20 49 66 0a 23 20 73 6f 2c 20 73 65 74  s.  If.# so, set
3410: 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 6d   the necessary m
3420: 61 63 72 6f 20 6e 6f 77 2e 0a 23 0a 21 49 46 20  acro now..#.!IF 
3430: 24 28 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42  $(USE_NATIVE_LIB
3440: 50 41 54 48 53 29 21 3d 30 0a 4e 4c 54 4c 49 42  PATHS)!=0.NLTLIB
3450: 50 41 54 48 53 20 3d 20 22 2f 4c 49 42 50 41 54  PATHS = "/LIBPAT
3460: 48 3a 24 28 4e 43 52 54 4c 49 42 50 41 54 48 29  H:$(NCRTLIBPATH)
3470: 22 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e 53  " "/LIBPATH:$(NS
3480: 44 4b 4c 49 42 50 41 54 48 29 22 0a 0a 21 49 46  DKLIBPATH)"..!IF
3490: 44 45 46 20 4e 55 43 52 54 4c 49 42 50 41 54 48  DEF NUCRTLIBPATH
34a0: 0a 4e 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20  .NUCRTLIBPATH = 
34b0: 24 28 4e 55 43 52 54 4c 49 42 50 41 54 48 3a 5c  $(NUCRTLIBPATH:\
34c0: 5c 3d 5c 29 0a 4e 4c 54 4c 49 42 50 41 54 48 53  \=\).NLTLIBPATHS
34d0: 20 3d 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53   = $(NLTLIBPATHS
34e0: 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e 55  ) "/LIBPATH:$(NU
34f0: 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21 45 4e  CRTLIBPATH)".!EN
3500: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 43 20  DIF.!ENDIF..# C 
3510: 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70 74  compiler and opt
3520: 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e 20  ions for use in 
3530: 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74 61  building executa
3540: 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69 6c 6c  bles that.# will
3550: 20 72 75 6e 20 6f 6e 20 74 68 65 20 74 61 72 67   run on the targ
3560: 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 28 42  et platform.  (B
3570: 43 43 20 61 6e 64 20 54 43 43 20 61 72 65 20 75  CC and TCC are u
3580: 73 75 61 6c 6c 79 20 74 68 65 0a 23 20 73 61 6d  sually the.# sam
3590: 65 20 75 6e 6c 65 73 73 20 79 6f 75 72 20 61 72  e unless your ar
35a0: 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e  e cross-compilin
35b0: 67 2e 29 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  g.).#.!IF $(USE_
35c0: 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 54 43 43  FULLWARN)!=0.TCC
35d0: 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67 6f   = $(CC) -nologo
35e0: 20 2d 57 34 20 2d 44 49 4e 43 4c 55 44 45 5f 4d   -W4 -DINCLUDE_M
35f0: 53 56 43 5f 48 3d 31 20 24 28 43 43 4f 50 54 53  SVC_H=1 $(CCOPTS
3600: 29 20 24 28 54 43 43 4f 50 54 53 29 0a 21 45 4c  ) $(TCCOPTS).!EL
3610: 53 45 0a 54 43 43 20 3d 20 24 28 43 43 29 20 2d  SE.TCC = $(CC) -
3620: 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43 4f  nologo -W3 $(CCO
3630: 50 54 53 29 20 24 28 54 43 43 4f 50 54 53 29 0a  PTS) $(TCCOPTS).
3640: 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20  !ENDIF..# Check 
3650: 69 66 20 77 61 72 6e 69 6e 67 73 20 73 68 6f 75  if warnings shou
3660: 6c 64 20 62 65 20 74 72 65 61 74 65 64 20 61 73  ld be treated as
3670: 20 65 72 72 6f 72 73 20 77 68 65 6e 20 63 6f 6d   errors when com
3680: 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 20 24 28  piling..#.!IF $(
3690: 55 53 45 5f 46 41 54 41 4c 5f 57 41 52 4e 29 21  USE_FATAL_WARN)!
36a0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
36b0: 2d 57 58 0a 21 45 4e 44 49 46 0a 0a 54 43 43 20  -WX.!ENDIF..TCC 
36c0: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54  = $(TCC) -DSQLIT
36d0: 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20 2d  E_OS_WIN=1 -I. -
36e0: 49 24 28 54 4f 50 29 20 2d 49 24 28 54 4f 50 29  I$(TOP) -I$(TOP)
36f0: 5c 73 72 63 20 2d 66 70 3a 70 72 65 63 69 73 65  \src -fp:precise
3700: 0a 52 43 43 20 3d 20 24 28 52 43 29 20 2d 44 53  .RCC = $(RC) -DS
3710: 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d  QLITE_OS_WIN=1 -
3720: 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49 24 28  I. -I$(TOP) -I$(
3730: 54 4f 50 29 5c 73 72 63 20 24 28 52 43 4f 50 54  TOP)\src $(RCOPT
3740: 53 29 20 24 28 52 43 43 4f 50 54 53 29 0a 0a 23  S) $(RCCOPTS)..#
3750: 20 43 68 65 63 6b 20 69 66 20 77 65 20 77 61 6e   Check if we wan
3760: 74 20 74 6f 20 75 73 65 20 74 68 65 20 22 73 74  t to use the "st
3770: 64 63 61 6c 6c 22 20 63 61 6c 6c 69 6e 67 20 63  dcall" calling c
3780: 6f 6e 76 65 6e 74 69 6f 6e 20 77 68 65 6e 20 63  onvention when c
3790: 6f 6d 70 69 6c 69 6e 67 2e 0a 23 20 54 68 69 73  ompiling..# This
37a0: 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65   is not supporte
37b0: 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65  d by the compile
37c0: 72 73 20 66 6f 72 20 6e 6f 6e 2d 78 38 36 20 70  rs for non-x86 p
37d0: 6c 61 74 66 6f 72 6d 73 2e 20 20 49 74 20 73 68  latforms.  It sh
37e0: 6f 75 6c 64 0a 23 20 61 6c 73 6f 20 62 65 20 6e  ould.# also be n
37f0: 6f 74 65 64 20 68 65 72 65 20 74 68 61 74 20 62  oted here that b
3800: 75 69 6c 64 69 6e 67 20 61 6e 79 20 74 61 72 67  uilding any targ
3810: 65 74 20 77 69 74 68 20 74 68 65 73 65 20 22 73  et with these "s
3820: 74 64 63 61 6c 6c 22 20 6f 70 74 69 6f 6e 73 0a  tdcall" options.
3830: 23 20 77 69 6c 6c 20 6d 6f 73 74 20 6c 69 6b 65  # will most like
3840: 6c 79 20 66 61 69 6c 20 69 66 20 74 68 65 20 54  ly fail if the T
3850: 63 6c 20 6c 69 62 72 61 72 79 20 69 73 20 61 6c  cl library is al
3860: 73 6f 20 72 65 71 75 69 72 65 64 2e 20 20 54 68  so required.  Th
3870: 69 73 20 69 73 20 64 75 65 0a 23 20 74 6f 20 68  is is due.# to h
3880: 6f 77 20 74 68 65 20 54 63 6c 20 6c 69 62 72 61  ow the Tcl libra
3890: 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65  ry functions are
38a0: 20 64 65 63 6c 61 72 65 64 20 61 6e 64 20 65 78   declared and ex
38b0: 70 6f 72 74 65 64 20 28 69 2e 65 2e 20 77 69 74  ported (i.e. wit
38c0: 68 6f 75 74 0a 23 20 61 6e 20 65 78 70 6c 69 63  hout.# an explic
38d0: 69 74 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65  it calling conve
38e0: 6e 74 69 6f 6e 2c 20 77 68 69 63 68 20 72 65 73  ntion, which res
38f0: 75 6c 74 73 20 69 6e 20 22 63 64 65 63 6c 22 29  ults in "cdecl")
3900: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 53 54  ..#.!IF $(USE_ST
3910: 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46  DCALL)!=0 || $(F
3920: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21 49 46  OR_WIN10)!=0.!IF
3930: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d   "$(PLATFORM)"==
3940: 22 78 38 36 22 0a 43 4f 52 45 5f 43 43 4f 4e 56  "x86".CORE_CCONV
3950: 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51  _OPTS = -Gz -DSQ
3960: 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65  LITE_CDECL=__cde
3970: 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43  cl -DSQLITE_APIC
3980: 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  ALL=__stdcall -D
3990: 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d  SQLITE_CALLBACK=
39a0: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
39b0: 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63  TE_SYSAPI=__stdc
39c0: 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f  all.SHELL_CCONV_
39d0: 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c  OPTS = -Gz -DSQL
39e0: 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63  ITE_CDECL=__cdec
39f0: 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43 41  l -DSQLITE_APICA
3a00: 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  LL=__stdcall -DS
3a10: 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f  QLITE_CALLBACK=_
3a20: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
3a30: 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63 61  E_SYSAPI=__stdca
3a40: 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45  ll.# <<mark>>.TE
3a50: 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20  ST_CCONV_OPTS = 
3a60: 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 45  -Gz -DSQLITE_CDE
3a70: 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c  CL=__cdecl -DSQL
3a80: 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74  ITE_APICALL=__st
3a90: 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43  dcall -DSQLITE_C
3aa0: 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c  ALLBACK=__stdcal
3ab0: 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41 50  l -DSQLITE_SYSAP
3ac0: 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 49 4e  I=__stdcall -DIN
3ad0: 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f 54 43 4c  CLUDE_SQLITE_TCL
3ae0: 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f 54 43  _H=1 -DSQLITE_TC
3af0: 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a 23 20 3c  LAPI=__cdecl.# <
3b00: 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 21  </mark>>.!ELSE.!
3b10: 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a  IFNDEF PLATFORM.
3b20: 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 20  CORE_CCONV_OPTS 
3b30: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43  = -Gz -DSQLITE_C
3b40: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53  DECL=__cdecl -DS
3b50: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f  QLITE_APICALL=__
3b60: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45  stdcall -DSQLITE
3b70: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63  _CALLBACK=__stdc
3b80: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53  all -DSQLITE_SYS
3b90: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53 48  API=__stdcall.SH
3ba0: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  ELL_CCONV_OPTS =
3bb0: 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44   -Gz -DSQLITE_CD
3bc0: 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51  ECL=__cdecl -DSQ
3bd0: 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73  LITE_APICALL=__s
3be0: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f  tdcall -DSQLITE_
3bf0: 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61  CALLBACK=__stdca
3c00: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41  ll -DSQLITE_SYSA
3c10: 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 20 3c  PI=__stdcall.# <
3c20: 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f  <mark>>.TEST_CCO
3c30: 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44  NV_OPTS = -Gz -D
3c40: 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63  SQLITE_CDECL=__c
3c50: 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50  decl -DSQLITE_AP
3c60: 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20  ICALL=__stdcall 
3c70: 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43  -DSQLITE_CALLBAC
3c80: 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51  K=__stdcall -DSQ
3c90: 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74  LITE_SYSAPI=__st
3ca0: 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 45 5f  dcall -DINCLUDE_
3cb0: 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 20 2d  SQLITE_TCL_H=1 -
3cc0: 44 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 3d 5f  DSQLITE_TCLAPI=_
3cd0: 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b  _cdecl.# <</mark
3ce0: 3e 3e 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43 43  >>.!ELSE.CORE_CC
3cf0: 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45 4c 4c  ONV_OPTS =.SHELL
3d00: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20  _CCONV_OPTS =.# 
3d10: 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43  <<mark>>.TEST_CC
3d20: 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 2f  ONV_OPTS =.# <</
3d30: 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 21 45  mark>>.!ENDIF.!E
3d40: 4e 44 49 46 0a 21 45 4c 53 45 0a 43 4f 52 45 5f  NDIF.!ELSE.CORE_
3d50: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45  CCONV_OPTS =.SHE
3d60: 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a  LL_CCONV_OPTS =.
3d70: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f  # <<mark>>.TEST_
3d80: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c  CCONV_OPTS =.# <
3d90: 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a  </mark>>.!ENDIF.
3da0: 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64 64  .# These are add
3db0: 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72  itional compiler
3dc0: 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66 6f   options used fo
3dd0: 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61  r the core libra
3de0: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 4f  ry..#.!IFNDEF CO
3df0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a  RE_COMPILE_OPTS.
3e00: 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48  !IF $(DYNAMIC_SH
3e10: 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ELL)!=0 || $(FOR
3e20: 5f 57 49 4e 31 30 29 21 3d 30 0a 43 4f 52 45 5f  _WIN10)!=0.CORE_
3e30: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24  COMPILE_OPTS = $
3e40: 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  (CORE_CCONV_OPTS
3e50: 29 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f  ) -DSQLITE_API=_
3e60: 5f 64 65 63 6c 73 70 65 63 28 64 6c 6c 65 78 70  _declspec(dllexp
3e70: 6f 72 74 29 0a 21 45 4c 53 45 0a 43 4f 52 45 5f  ort).!ELSE.CORE_
3e80: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24  COMPILE_OPTS = $
3e90: 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  (CORE_CCONV_OPTS
3ea0: 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  ).!ENDIF.!ENDIF.
3eb0: 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65  .# These are the
3ec0: 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 61 72 67   additional targ
3ed0: 65 74 73 20 74 68 61 74 20 74 68 65 20 63 6f 72  ets that the cor
3ee0: 65 20 6c 69 62 72 61 72 79 20 73 68 6f 75 6c 64  e library should
3ef0: 20 64 65 70 65 6e 64 20 6f 6e 0a 23 20 77 68 65   depend on.# whe
3f00: 6e 20 6c 69 6e 6b 69 6e 67 2e 0a 23 0a 21 49 46  n linking..#.!IF
3f10: 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f 44  NDEF CORE_LINK_D
3f20: 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  EP.!IF $(DYNAMIC
3f30: 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f  _SHELL)!=0.CORE_
3f40: 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4c 53 45  LINK_DEP =.!ELSE
3f50: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d  IF $(FOR_WIN10)=
3f60: 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f 52  =0 || "$(PLATFOR
3f70: 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f  M)"=="x86".CORE_
3f80: 4c 49 4e 4b 5f 44 45 50 20 3d 20 73 71 6c 69 74  LINK_DEP = sqlit
3f90: 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a 43 4f 52  e3.def.!ELSE.COR
3fa0: 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4e  E_LINK_DEP =.!EN
3fb0: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  DIF.!ENDIF..# Th
3fc0: 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f 6e  ese are addition
3fd0: 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e  al linker option
3fe0: 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 63  s used for the c
3ff0: 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ore library..#.!
4000: 49 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b  IFNDEF CORE_LINK
4010: 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e 41  _OPTS.!IF $(DYNA
4020: 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f  MIC_SHELL)!=0.CO
4030: 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a 21  RE_LINK_OPTS =.!
4040: 45 4c 53 45 49 46 20 24 28 46 4f 52 5f 57 49 4e  ELSEIF $(FOR_WIN
4050: 31 30 29 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41  10)==0 || "$(PLA
4060: 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43  TFORM)"=="x86".C
4070: 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20  ORE_LINK_OPTS = 
4080: 2f 44 45 46 3a 73 71 6c 69 74 65 33 2e 64 65 66  /DEF:sqlite3.def
4090: 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e 4b  .!ELSE.CORE_LINK
40a0: 5f 4f 50 54 53 20 3d 0a 21 45 4e 44 49 46 0a 21  _OPTS =.!ENDIF.!
40b0: 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61  ENDIF..# These a
40c0: 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 63 6f  re additional co
40d0: 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 75  mpiler options u
40e0: 73 65 64 20 66 6f 72 20 74 68 65 20 73 68 65 6c  sed for the shel
40f0: 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a  l executable..#.
4100: 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f  !IFNDEF SHELL_CO
4110: 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46 20 24  MPILE_OPTS.!IF $
4120: 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21  (DYNAMIC_SHELL)!
4130: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1
4140: 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50  0)!=0.SHELL_COMP
4150: 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45  ILE_OPTS = $(SHE
4160: 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 20 2d  LL_CCONV_OPTS) -
4170: 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 65  DSQLITE_API=__de
4180: 63 6c 73 70 65 63 28 64 6c 6c 69 6d 70 6f 72 74  clspec(dllimport
4190: 29 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f  ).!ELSE.SHELL_CO
41a0: 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53  MPILE_OPTS = $(S
41b0: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29  HELL_CCONV_OPTS)
41c0: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
41d0: 23 20 54 68 69 73 20 69 73 20 74 68 65 20 73 6f  # This is the so
41e0: 75 72 63 65 20 63 6f 64 65 20 74 68 61 74 20 74  urce code that t
41f0: 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61  he shell executa
4200: 62 6c 65 20 73 68 6f 75 6c 64 20 62 65 20 63 6f  ble should be co
4210: 6d 70 69 6c 65 64 0a 23 20 77 69 74 68 2e 0a 23  mpiled.# with..#
4220: 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43  .!IFNDEF SHELL_C
4230: 4f 52 45 5f 53 52 43 0a 21 49 46 20 24 28 44 59  ORE_SRC.!IF $(DY
4240: 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20  NAMIC_SHELL)!=0 
4250: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  || $(FOR_WIN10)!
4260: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52  =0.SHELL_CORE_SR
4270: 43 20 3d 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f  C =.!ELSE.SHELL_
4280: 43 4f 52 45 5f 53 52 43 20 3d 20 24 28 53 51 4c  CORE_SRC = $(SQL
4290: 49 54 45 33 43 29 0a 21 45 4e 44 49 46 0a 21 45  ITE3C).!ENDIF.!E
42a0: 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 20  NDIF..# This is 
42b0: 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72 79  the core library
42c0: 20 74 68 61 74 20 74 68 65 20 73 68 65 6c 6c 20   that the shell 
42d0: 65 78 65 63 75 74 61 62 6c 65 20 73 68 6f 75 6c  executable shoul
42e0: 64 20 64 65 70 65 6e 64 20 6f 6e 2e 0a 23 0a 21  d depend on..#.!
42f0: 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52  IFNDEF SHELL_COR
4300: 45 5f 44 45 50 0a 21 49 46 20 24 28 44 59 4e 41  E_DEP.!IF $(DYNA
4310: 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c  MIC_SHELL)!=0 ||
4320: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0
4330: 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 20  .SHELL_CORE_DEP 
4340: 3d 20 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 0a  = $(SQLITE3DLL).
4350: 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45  !ELSE.SHELL_CORE
4360: 5f 44 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45  _DEP =.!ENDIF.!E
4370: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
4380: 0a 23 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f  .# If zlib suppo
4390: 72 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61  rt is enabled, a
43a0: 64 64 20 74 68 65 20 73 68 65 6c 6c 20 64 65 70  dd the shell dep
43b0: 65 6e 64 65 6e 63 79 20 66 6f 72 20 69 74 2e 0a  endency for it..
43c0: 23 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42  #.!IF $(USE_ZLIB
43d0: 29 21 3d 30 20 26 26 20 24 28 42 55 49 4c 44 5f  )!=0 && $(BUILD_
43e0: 5a 4c 49 42 29 21 3d 30 0a 53 48 45 4c 4c 5f 43  ZLIB)!=0.SHELL_C
43f0: 4f 52 45 5f 44 45 50 20 3d 20 7a 6c 69 62 20 24  ORE_DEP = zlib $
4400: 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29  (SHELL_CORE_DEP)
4410: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
4420: 6b 3e 3e 0a 0a 23 20 54 68 69 73 20 69 73 20 74  k>>..# This is t
4430: 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72 79 20  he core library 
4440: 74 68 61 74 20 74 68 65 20 73 68 65 6c 6c 20 65  that the shell e
4450: 78 65 63 75 74 61 62 6c 65 20 73 68 6f 75 6c 64  xecutable should
4460: 20 6c 69 6e 6b 20 77 69 74 68 2e 0a 23 0a 21 49   link with..#.!I
4470: 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45  FNDEF SHELL_CORE
4480: 5f 4c 49 42 0a 21 49 46 20 24 28 44 59 4e 41 4d  _LIB.!IF $(DYNAM
4490: 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20  IC_SHELL)!=0 || 
44a0: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a  $(FOR_WIN10)!=0.
44b0: 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d  SHELL_CORE_LIB =
44c0: 20 24 28 53 51 4c 49 54 45 33 4c 49 42 29 0a 21   $(SQLITE3LIB).!
44d0: 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f  ELSE.SHELL_CORE_
44e0: 4c 49 42 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e  LIB =.!ENDIF.!EN
44f0: 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65  DIF..# These are
4500: 20 61 64 64 69 74 69 6f 6e 61 6c 20 6c 69 6e 6b   additional link
4510: 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20  er options used 
4520: 66 6f 72 20 74 68 65 20 73 68 65 6c 6c 20 65 78  for the shell ex
4530: 65 63 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46 4e  ecutable..#.!IFN
4540: 44 45 46 20 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f  DEF SHELL_LINK_O
4550: 50 54 53 0a 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f  PTS.SHELL_LINK_O
4560: 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f  PTS = $(SHELL_CO
4570: 52 45 5f 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a  RE_LIB).!ENDIF..
4580: 23 20 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d  # Check if assem
4590: 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67  bly code listing
45a0: 73 20 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65  s should be gene
45b0: 72 61 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f  rated for the so
45c0: 75 72 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65  urce.# code file
45d0: 73 20 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64  s to be compiled
45e0: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49  ..#.!IF $(USE_LI
45f0: 53 54 49 4e 47 53 29 21 3d 30 0a 54 43 43 20 3d  STINGS)!=0.TCC =
4600: 20 24 28 54 43 43 29 20 2d 46 41 63 73 0a 21 45   $(TCC) -FAcs.!E
4610: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d  NDIF..# When com
4620: 70 69 6c 69 6e 67 20 74 68 65 20 6c 69 62 72 61  piling the libra
4630: 72 79 20 66 6f 72 20 75 73 65 20 69 6e 20 74 68  ry for use in th
4640: 65 20 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d  e WinRT environm
4650: 65 6e 74 2c 0a 23 20 74 68 65 20 66 6f 6c 6c 6f  ent,.# the follo
4660: 77 69 6e 67 20 63 6f 6d 70 69 6c 65 2d 74 69 6d  wing compile-tim
4670: 65 20 6f 70 74 69 6f 6e 73 20 6d 75 73 74 20 62  e options must b
4680: 65 20 75 73 65 64 20 61 73 20 77 65 6c 6c 20 74  e used as well t
4690: 6f 0a 23 20 64 69 73 61 62 6c 65 20 75 73 65 20  o.# disable use 
46a0: 6f 66 20 57 69 6e 33 32 20 41 50 49 73 20 74 68  of Win32 APIs th
46b0: 61 74 20 61 72 65 20 6e 6f 74 20 61 76 61 69 6c  at are not avail
46c0: 61 62 6c 65 20 61 6e 64 20 74 6f 20 65 6e 61 62  able and to enab
46d0: 6c 65 0a 23 20 75 73 65 20 6f 66 20 57 69 6e 33  le.# use of Win3
46e0: 32 20 41 50 49 73 20 74 68 61 74 20 61 72 65 20  2 APIs that are 
46f0: 73 70 65 63 69 66 69 63 20 74 6f 20 57 69 6e 64  specific to Wind
4700: 6f 77 73 20 38 20 61 6e 64 2f 6f 72 20 57 69 6e  ows 8 and/or Win
4710: 52 54 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f  RT..#.!IF $(FOR_
4720: 57 49 4e 52 54 29 21 3d 30 0a 54 43 43 20 3d 20  WINRT)!=0.TCC = 
4730: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_
4740: 4f 53 5f 57 49 4e 52 54 3d 31 0a 52 43 43 20 3d  OS_WINRT=1.RCC =
4750: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45   $(RCC) -DSQLITE
4760: 5f 4f 53 5f 57 49 4e 52 54 3d 31 0a 54 43 43 20  _OS_WINRT=1.TCC 
4770: 3d 20 24 28 54 43 43 29 20 2d 44 57 49 4e 41 50  = $(TCC) -DWINAP
4780: 49 5f 46 41 4d 49 4c 59 3d 57 49 4e 41 50 49 5f  I_FAMILY=WINAPI_
4790: 46 41 4d 49 4c 59 5f 41 50 50 0a 52 43 43 20 3d  FAMILY_APP.RCC =
47a0: 20 24 28 52 43 43 29 20 2d 44 57 49 4e 41 50 49   $(RCC) -DWINAPI
47b0: 5f 46 41 4d 49 4c 59 3d 57 49 4e 41 50 49 5f 46  _FAMILY=WINAPI_F
47c0: 41 4d 49 4c 59 5f 41 50 50 0a 21 45 4e 44 49 46  AMILY_APP.!ENDIF
47d0: 0a 0a 23 20 43 20 63 6f 6d 70 69 6c 65 72 20 6f  ..# C compiler o
47e0: 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 57  ptions for the W
47f0: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
4800: 72 6d 20 28 6e 65 65 64 73 20 4d 53 56 43 20 32  rm (needs MSVC 2
4810: 30 31 35 29 2e 0a 23 0a 21 49 46 20 24 28 46 4f  015)..#.!IF $(FO
4820: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 54 43 43 20  R_WIN10)!=0.TCC 
4830: 3d 20 24 28 54 43 43 29 20 2f 64 32 67 75 61 72  = $(TCC) /d2guar
4840: 64 34 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 49  d4 -D_ARM_WINAPI
4850: 5f 50 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b 54  _PARTITION_DESKT
4860: 4f 50 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c 45  OP_SDK_AVAILABLE
4870: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2f 64  .BCC = $(BCC) /d
4880: 32 67 75 61 72 64 34 20 2d 44 5f 41 52 4d 5f 57  2guard4 -D_ARM_W
4890: 49 4e 41 50 49 5f 50 41 52 54 49 54 49 4f 4e 5f  INAPI_PARTITION_
48a0: 44 45 53 4b 54 4f 50 5f 53 44 4b 5f 41 56 41 49  DESKTOP_SDK_AVAI
48b0: 4c 41 42 4c 45 0a 21 45 4e 44 49 46 0a 0a 23 20  LABLE.!ENDIF..# 
48c0: 41 6c 73 6f 2c 20 77 65 20 6e 65 65 64 20 74 6f  Also, we need to
48d0: 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e   dynamically lin
48e0: 6b 20 74 6f 20 74 68 65 20 63 6f 72 72 65 63 74  k to the correct
48f0: 20 4d 53 56 43 20 72 75 6e 74 69 6d 65 0a 23 20   MSVC runtime.# 
4900: 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66  when compiling f
4910: 6f 72 20 57 69 6e 52 54 20 28 65 2e 67 2e 20 64  or WinRT (e.g. d
4920: 65 62 75 67 20 6f 72 20 72 65 6c 65 61 73 65 29  ebug or release)
4930: 20 4f 52 20 69 66 20 74 68 65 0a 23 20 55 53 45   OR if the.# USE
4940: 5f 43 52 54 5f 44 4c 4c 20 6f 70 74 69 6f 6e 20  _CRT_DLL option 
4950: 69 73 20 73 65 74 20 74 6f 20 66 6f 72 63 65 20  is set to force 
4960: 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b  dynamically link
4970: 69 6e 67 20 74 6f 20 74 68 65 0a 23 20 4d 53 56  ing to the.# MSV
4980: 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72  C runtime librar
4990: 79 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57  y..#.!IF $(FOR_W
49a0: 49 4e 52 54 29 21 3d 30 20 7c 7c 20 24 28 55 53  INRT)!=0 || $(US
49b0: 45 5f 43 52 54 5f 44 4c 4c 29 21 3d 30 0a 21 49  E_CRT_DLL)!=0.!I
49c0: 46 20 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43  F $(DEBUG)>1.TCC
49d0: 20 3d 20 24 28 54 43 43 29 20 2d 4d 44 64 0a 42   = $(TCC) -MDd.B
49e0: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 44 64  CC = $(BCC) -MDd
49f0: 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20 24 28 54  .!ELSE.TCC = $(T
4a00: 43 43 29 20 2d 4d 44 0a 42 43 43 20 3d 20 24 28  CC) -MD.BCC = $(
4a10: 42 43 43 29 20 2d 4d 44 0a 21 45 4e 44 49 46 0a  BCC) -MD.!ENDIF.
4a20: 21 45 4c 53 45 0a 21 49 46 20 24 28 44 45 42 55  !ELSE.!IF $(DEBU
4a30: 47 29 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43  G)>1.TCC = $(TCC
4a40: 29 20 2d 4d 54 64 0a 42 43 43 20 3d 20 24 28 42  ) -MTd.BCC = $(B
4a50: 43 43 29 20 2d 4d 54 64 0a 21 45 4c 53 45 0a 54  CC) -MTd.!ELSE.T
4a60: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 54 0a  CC = $(TCC) -MT.
4a70: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 54  BCC = $(BCC) -MT
4a80: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
4a90: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54 68 65  # <<mark>>.# The
4aa0: 20 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 20   mksqlite3c.tcl 
4ab0: 61 6e 64 20 6d 6b 73 71 6c 69 74 65 33 68 2e 74  and mksqlite3h.t
4ac0: 63 6c 20 73 63 72 69 70 74 73 20 77 69 6c 6c 20  cl scripts will 
4ad0: 70 75 6c 6c 20 69 6e 0a 23 20 61 6e 79 20 65 78  pull in.# any ex
4ae0: 74 65 6e 73 69 6f 6e 20 68 65 61 64 65 72 20 66  tension header f
4af0: 69 6c 65 73 20 62 79 20 64 65 66 61 75 6c 74 2e  iles by default.
4b00: 20 20 46 6f 72 20 6e 6f 6e 2d 61 6d 61 6c 67 61    For non-amalga
4b10: 6d 61 74 69 6f 6e 0a 23 20 62 75 69 6c 64 73 2c  mation.# builds,
4b20: 20 77 65 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65   we need to make
4b30: 20 73 75 72 65 20 74 68 65 20 63 6f 6d 70 69 6c   sure the compil
4b40: 65 72 20 63 61 6e 20 66 69 6e 64 20 74 68 65 73  er can find thes
4b50: 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 41  e..#.!IF $(USE_A
4b60: 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a  MALGAMATION)==0.
4b70: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24  TCC = $(TCC) -I$
4b80: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 0a 52  (TOP)\ext\fts3.R
4b90: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28  CC = $(RCC) -I$(
4ba0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 0a 54 43  TOP)\ext\fts3.TC
4bb0: 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54  C = $(TCC) -I$(T
4bc0: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 0a 52 43  OP)\ext\rtree.RC
4bd0: 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54  C = $(RCC) -I$(T
4be0: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 0a 54 43  OP)\ext\rtree.TC
4bf0: 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54  C = $(TCC) -I$(T
4c00: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 0a  OP)\ext\session.
4c10: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24  RCC = $(RCC) -I$
4c20: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
4c30: 6e 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 20  n.!ENDIF..# The 
4c40: 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 20 73  mksqlite3c.tcl s
4c50: 63 72 69 70 74 20 61 63 63 65 70 74 73 20 73 6f  cript accepts so
4c60: 6d 65 20 6f 70 74 69 6f 6e 73 20 6f 6e 20 74 68  me options on th
4c70: 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65  e command.# line
4c80: 2e 20 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  .  When compilin
4c90: 67 20 77 69 74 68 20 64 65 62 75 67 67 69 6e 67  g with debugging
4ca0: 20 65 6e 61 62 6c 65 64 2c 20 73 6f 6d 65 20 6f   enabled, some o
4cb0: 66 20 74 68 65 73 65 0a 23 20 6f 70 74 69 6f 6e  f these.# option
4cc0: 73 20 61 72 65 20 6e 65 63 65 73 73 61 72 79 20  s are necessary 
4cd0: 69 6e 20 6f 72 64 65 72 20 74 6f 20 61 6c 6c 6f  in order to allo
4ce0: 77 20 64 65 62 75 67 67 69 6e 67 20 73 79 6d 62  w debugging symb
4cf0: 6f 6c 73 20 74 6f 0a 23 20 77 6f 72 6b 20 63 6f  ols to.# work co
4d00: 72 72 65 63 74 6c 79 20 77 69 74 68 20 56 69 73  rrectly with Vis
4d10: 75 61 6c 20 53 74 75 64 69 6f 20 77 68 65 6e 20  ual Studio when 
4d20: 75 73 69 6e 67 20 74 68 65 20 61 6d 61 6c 67 61  using the amalga
4d30: 6d 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45  mation..#.!IFNDE
4d40: 46 20 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f  F MKSQLITE3C_TOO
4d50: 4c 0a 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f  L.!IF $(MINIMAL_
4d60: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 21 3d 30  AMALGAMATION)!=0
4d70: 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c  .MKSQLITE3C_TOOL
4d80: 20 3d 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d   = $(TOP)\tool\m
4d90: 6b 73 71 6c 69 74 65 33 63 2d 6e 6f 65 78 74 2e  ksqlite3c-noext.
4da0: 74 63 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c 49  tcl.!ELSE.MKSQLI
4db0: 54 45 33 43 5f 54 4f 4f 4c 20 3d 20 24 28 54 4f  TE3C_TOOL = $(TO
4dc0: 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65  P)\tool\mksqlite
4dd0: 33 63 2e 74 63 6c 0a 21 45 4e 44 49 46 0a 21 45  3c.tcl.!ENDIF.!E
4de0: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4d 4b  NDIF..!IFNDEF MK
4df0: 53 51 4c 49 54 45 33 43 5f 41 52 47 53 0a 21 49  SQLITE3C_ARGS.!I
4e00: 46 20 24 28 44 45 42 55 47 29 3e 31 0a 4d 4b 53  F $(DEBUG)>1.MKS
4e10: 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 20 2d  QLITE3C_ARGS = -
4e20: 2d 6c 69 6e 65 6d 61 63 72 6f 73 0a 21 45 4c 53  -linemacros.!ELS
4e30: 45 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47  E.MKSQLITE3C_ARG
4e40: 53 20 3d 0a 21 45 4e 44 49 46 0a 21 49 46 20 24  S =.!ENDIF.!IF $
4e50: 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30  (USE_STDCALL)!=0
4e60: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10)
4e70: 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 41  !=0.MKSQLITE3C_A
4e80: 52 47 53 20 3d 20 24 28 4d 4b 53 51 4c 49 54 45  RGS = $(MKSQLITE
4e90: 33 43 5f 41 52 47 53 29 20 2d 2d 75 73 65 61 70  3C_ARGS) --useap
4ea0: 69 63 61 6c 6c 0a 21 45 4e 44 49 46 0a 21 45 4e  icall.!ENDIF.!EN
4eb0: 44 49 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c  DIF..# The mksql
4ec0: 69 74 65 33 68 2e 74 63 6c 20 73 63 72 69 70 74  ite3h.tcl script
4ed0: 20 61 63 63 65 70 74 73 20 73 6f 6d 65 20 6f 70   accepts some op
4ee0: 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d  tions on the com
4ef0: 6d 61 6e 64 20 6c 69 6e 65 2e 0a 23 20 57 68 65  mand line..# Whe
4f00: 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68  n compiling with
4f10: 20 73 74 64 63 61 6c 6c 20 73 75 70 70 6f 72 74   stdcall support
4f20: 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 73 65 20  , some of these 
4f30: 6f 70 74 69 6f 6e 73 20 61 72 65 0a 23 20 6e 65  options are.# ne
4f40: 63 65 73 73 61 72 79 2e 0a 23 0a 21 49 46 4e 44  cessary..#.!IFND
4f50: 45 46 20 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52  EF MKSQLITE3H_AR
4f60: 47 53 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44  GS.!IF $(USE_STD
4f70: 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  CALL)!=0 || $(FO
4f80: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4d 4b 53 51  R_WIN10)!=0.MKSQ
4f90: 4c 49 54 45 33 48 5f 41 52 47 53 20 3d 20 2d 2d  LITE3H_ARGS = --
4fa0: 75 73 65 61 70 69 63 61 6c 6c 0a 21 45 4c 53 45  useapicall.!ELSE
4fb0: 0a 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52 47 53  .MKSQLITE3H_ARGS
4fc0: 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46   =.!ENDIF.!ENDIF
4fd0: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20  .# <</mark>>..# 
4fe0: 44 65 66 69 6e 65 20 2d 44 4e 44 45 42 55 47 20  Define -DNDEBUG 
4ff0: 74 6f 20 63 6f 6d 70 69 6c 65 20 77 69 74 68 6f  to compile witho
5000: 75 74 20 64 65 62 75 67 67 69 6e 67 20 28 69 2e  ut debugging (i.
5010: 65 2e 2c 20 66 6f 72 20 70 72 6f 64 75 63 74 69  e., for producti
5020: 6f 6e 20 75 73 61 67 65 29 0a 23 20 4f 6d 69 74  on usage).# Omit
5030: 74 69 6e 67 20 74 68 65 20 64 65 66 69 6e 65 20  ting the define 
5040: 77 69 6c 6c 20 63 61 75 73 65 20 65 78 74 72 61  will cause extra
5050: 20 64 65 62 75 67 67 69 6e 67 20 63 6f 64 65 20   debugging code 
5060: 74 6f 20 62 65 20 69 6e 73 65 72 74 65 64 20 61  to be inserted a
5070: 6e 64 0a 23 20 69 6e 63 6c 75 64 65 73 20 65 78  nd.# includes ex
5080: 74 72 61 20 63 6f 6d 6d 65 6e 74 73 20 77 68 65  tra comments whe
5090: 6e 20 22 45 58 50 4c 41 49 4e 20 73 74 6d 74 22  n "EXPLAIN stmt"
50a0: 20 69 73 20 75 73 65 64 2e 0a 23 0a 21 49 46 20   is used..#.!IF 
50b0: 24 28 44 45 42 55 47 29 3d 3d 30 0a 54 43 43 20  $(DEBUG)==0.TCC 
50c0: 3d 20 24 28 54 43 43 29 20 2d 44 4e 44 45 42 55  = $(TCC) -DNDEBU
50d0: 47 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  G.BCC = $(BCC) -
50e0: 44 4e 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28  DNDEBUG.RCC = $(
50f0: 52 43 43 29 20 2d 44 4e 44 45 42 55 47 0a 21 45  RCC) -DNDEBUG.!E
5100: 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55  NDIF..!IF $(DEBU
5110: 47 29 3e 30 20 7c 7c 20 24 28 41 50 49 5f 41 52  G)>0 || $(API_AR
5120: 4d 4f 52 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  MOR)!=0 || $(FOR
5130: 5f 57 49 4e 31 30 29 21 3d 30 0a 54 43 43 20 3d  _WIN10)!=0.TCC =
5140: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE
5150: 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41 52 4d 4f  _ENABLE_API_ARMO
5160: 52 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29  R=1.RCC = $(RCC)
5170: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
5180: 5f 41 50 49 5f 41 52 4d 4f 52 3d 31 0a 21 45 4e  _API_ARMOR=1.!EN
5190: 44 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47  DIF..!IF $(DEBUG
51a0: 29 3e 32 0a 54 43 43 20 3d 20 24 28 54 43 43 29  )>2.TCC = $(TCC)
51b0: 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 3d   -DSQLITE_DEBUG=
51c0: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) -
51d0: 44 53 51 4c 49 54 45 5f 44 45 42 55 47 3d 31 0a  DSQLITE_DEBUG=1.
51e0: 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48  !IF $(DYNAMIC_SH
51f0: 45 4c 4c 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28  ELL)==0.TCC = $(
5200: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  TCC) -DSQLITE_EN
5210: 41 42 4c 45 5f 57 48 45 52 45 54 52 41 43 45 20  ABLE_WHERETRACE 
5220: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
5230: 53 45 4c 45 43 54 54 52 41 43 45 0a 52 43 43 20  SELECTTRACE.RCC 
5240: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT
5250: 45 5f 45 4e 41 42 4c 45 5f 57 48 45 52 45 54 52  E_ENABLE_WHERETR
5260: 41 43 45 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  ACE -DSQLITE_ENA
5270: 42 4c 45 5f 53 45 4c 45 43 54 54 52 41 43 45 0a  BLE_SELECTTRACE.
5280: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 21  !ENDIF.!ENDIF..!
5290: 49 46 20 24 28 44 45 42 55 47 29 3e 34 20 7c 7c  IF $(DEBUG)>4 ||
52a0: 20 24 28 4f 53 54 52 41 43 45 29 21 3d 30 0a 54   $(OSTRACE)!=0.T
52b0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ
52c0: 4c 49 54 45 5f 46 4f 52 43 45 5f 4f 53 5f 54 52  LITE_FORCE_OS_TR
52d0: 41 43 45 3d 31 20 2d 44 53 51 4c 49 54 45 5f 44  ACE=1 -DSQLITE_D
52e0: 45 42 55 47 5f 4f 53 5f 54 52 41 43 45 3d 31 0a  EBUG_OS_TRACE=1.
52f0: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS
5300: 51 4c 49 54 45 5f 46 4f 52 43 45 5f 4f 53 5f 54  QLITE_FORCE_OS_T
5310: 52 41 43 45 3d 31 20 2d 44 53 51 4c 49 54 45 5f  RACE=1 -DSQLITE_
5320: 44 45 42 55 47 5f 4f 53 5f 54 52 41 43 45 3d 31  DEBUG_OS_TRACE=1
5330: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44  .!ENDIF..!IF $(D
5340: 45 42 55 47 29 3e 35 0a 54 43 43 20 3d 20 24 28  EBUG)>5.TCC = $(
5350: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  TCC) -DSQLITE_EN
5360: 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a 52  ABLE_IOTRACE=1.R
5370: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -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 21 45 4e 44 49 46 0a 0a 23 20  ACE=1.!ENDIF..# 
53a0: 50 72 65 76 65 6e 74 20 77 61 72 6e 69 6e 67 73  Prevent warnings
53b0: 20 61 62 6f 75 74 20 22 69 6e 73 65 63 75 72 65   about "insecure
53c0: 22 20 4d 53 56 43 20 72 75 6e 74 69 6d 65 20 6c  " MSVC runtime l
53d0: 69 62 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 73  ibrary functions
53e0: 0a 23 20 62 65 69 6e 67 20 75 73 65 64 2e 0a 23  .# being used..#
53f0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D
5400: 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44  _CRT_SECURE_NO_D
5410: 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f  EPRECATE -D_CRT_
5420: 53 45 43 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e  SECURE_NO_WARNIN
5430: 47 53 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  GS.BCC = $(BCC) 
5440: 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f  -D_CRT_SECURE_NO
5450: 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52  _DEPRECATE -D_CR
5460: 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 57 41 52 4e  T_SECURE_NO_WARN
5470: 49 4e 47 53 0a 52 43 43 20 3d 20 24 28 52 43 43  INGS.RCC = $(RCC
5480: 29 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f  ) -D_CRT_SECURE_
5490: 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f  NO_DEPRECATE -D_
54a0: 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 57 41  CRT_SECURE_NO_WA
54b0: 52 4e 49 4e 47 53 0a 0a 23 20 50 72 65 76 65 6e  RNINGS..# Preven
54c0: 74 20 77 61 72 6e 69 6e 67 73 20 61 62 6f 75 74  t warnings about
54d0: 20 22 64 65 70 72 65 63 61 74 65 64 22 20 50 4f   "deprecated" PO
54e0: 53 49 58 20 66 75 6e 63 74 69 6f 6e 73 20 62 65  SIX functions be
54f0: 69 6e 67 20 75 73 65 64 2e 0a 23 0a 54 43 43 20  ing used..#.TCC 
5500: 3d 20 24 28 54 43 43 29 20 2d 44 5f 43 52 54 5f  = $(TCC) -D_CRT_
5510: 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45  NONSTDC_NO_DEPRE
5520: 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53  CATE -D_CRT_NONS
5530: 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a  TDC_NO_WARNINGS.
5540: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44 5f  BCC = $(BCC) -D_
5550: 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44  CRT_NONSTDC_NO_D
5560: 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f  EPRECATE -D_CRT_
5570: 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49  NONSTDC_NO_WARNI
5580: 4e 47 53 0a 52 43 43 20 3d 20 24 28 52 43 43 29  NGS.RCC = $(RCC)
5590: 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f   -D_CRT_NONSTDC_
55a0: 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f  NO_DEPRECATE -D_
55b0: 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57  CRT_NONSTDC_NO_W
55c0: 41 52 4e 49 4e 47 53 0a 0a 23 20 55 73 65 20 74  ARNINGS..# Use t
55d0: 68 65 20 53 51 4c 69 74 65 20 64 65 62 75 67 67  he SQLite debugg
55e0: 69 6e 67 20 68 65 61 70 20 73 75 62 73 79 73 74  ing heap subsyst
55f0: 65 6d 3f 0a 23 0a 21 49 46 20 24 28 4d 45 4d 44  em?.#.!IF $(MEMD
5600: 45 42 55 47 29 21 3d 30 0a 54 43 43 20 3d 20 24  EBUG)!=0.TCC = $
5610: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4d  (TCC) -DSQLITE_M
5620: 45 4d 44 45 42 55 47 3d 31 0a 52 43 43 20 3d 20  EMDEBUG=1.RCC = 
5630: 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(RCC) -DSQLITE_
5640: 4d 45 4d 44 45 42 55 47 3d 31 0a 0a 23 20 55 73  MEMDEBUG=1..# Us
5650: 65 20 6e 61 74 69 76 65 20 57 69 6e 33 32 20 68  e native Win32 h
5660: 65 61 70 20 73 75 62 73 79 73 74 65 6d 20 69 6e  eap subsystem in
5670: 73 74 65 61 64 20 6f 66 20 6d 61 6c 6c 6f 63 2f  stead of malloc/
5680: 66 72 65 65 3f 0a 23 0a 21 45 4c 53 45 49 46 20  free?.#.!ELSEIF 
5690: 24 28 57 49 4e 33 32 48 45 41 50 29 21 3d 30 0a  $(WIN32HEAP)!=0.
56a0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53  TCC = $(TCC) -DS
56b0: 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c  QLITE_WIN32_MALL
56c0: 4f 43 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  OC=1.RCC = $(RCC
56d0: 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32  ) -DSQLITE_WIN32
56e0: 5f 4d 41 4c 4c 4f 43 3d 31 0a 0a 23 20 56 61 6c  _MALLOC=1..# Val
56f0: 69 64 61 74 65 20 74 68 65 20 68 65 61 70 20 6f  idate the heap o
5700: 6e 20 65 76 65 72 79 20 63 61 6c 6c 20 69 6e 74  n every call int
5710: 6f 20 74 68 65 20 6e 61 74 69 76 65 20 57 69 6e  o the native Win
5720: 33 32 20 68 65 61 70 20 73 75 62 73 79 73 74 65  32 heap subsyste
5730: 6d 3f 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47  m?.#.!IF $(DEBUG
5740: 29 3e 33 0a 54 43 43 20 3d 20 24 28 54 43 43 29  )>3.TCC = $(TCC)
5750: 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f   -DSQLITE_WIN32_
5760: 4d 41 4c 4c 4f 43 5f 56 41 4c 49 44 41 54 45 3d  MALLOC_VALIDATE=
5770: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) -
5780: 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41  DSQLITE_WIN32_MA
5790: 4c 4c 4f 43 5f 56 41 4c 49 44 41 54 45 3d 31 0a  LLOC_VALIDATE=1.
57a0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
57b0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54 68 65 20   <<mark>>.# The 
57c0: 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20 74 68 65  locations of the
57d0: 20 54 63 6c 20 68 65 61 64 65 72 20 61 6e 64 20   Tcl header and 
57e0: 6c 69 62 72 61 72 79 20 66 69 6c 65 73 2e 20 20  library files.  
57f0: 41 6c 73 6f 2c 20 74 68 65 20 6c 69 62 72 61 72  Also, the librar
5800: 79 20 74 68 61 74 0a 23 20 6e 6f 6e 2d 73 74 75  y that.# non-stu
5810: 62 73 20 65 6e 61 62 6c 65 64 20 70 72 6f 67 72  bs enabled progr
5820: 61 6d 73 20 75 73 69 6e 67 20 54 63 6c 20 6d 75  ams using Tcl mu
5830: 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 2e  st link against.
5840: 20 20 54 68 65 73 65 20 76 61 72 69 61 62 6c 65    These variable
5850: 73 0a 23 20 28 54 43 4c 49 4e 43 44 49 52 2c 20  s.# (TCLINCDIR, 
5860: 54 43 4c 4c 49 42 44 49 52 2c 20 61 6e 64 20 4c  TCLLIBDIR, and L
5870: 49 42 54 43 4c 29 20 6d 61 79 20 62 65 20 6f 76  IBTCL) may be ov
5880: 65 72 72 69 64 64 65 6e 20 76 69 61 20 74 68 65  erridden via the
5890: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a 23 20 70   environment.# p
58a0: 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20  rior to running 
58b0: 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65 72 20 74  nmake in order t
58c0: 6f 20 6d 61 74 63 68 20 74 68 65 20 61 63 74 75  o match the actu
58d0: 61 6c 20 69 6e 73 74 61 6c 6c 65 64 20 6c 6f 63  al installed loc
58e0: 61 74 69 6f 6e 20 61 6e 64 0a 23 20 76 65 72 73  ation and.# vers
58f0: 69 6f 6e 20 6f 6e 20 74 68 69 73 20 6d 61 63 68  ion on this mach
5900: 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 54  ine..#.!IFNDEF T
5910: 43 4c 44 49 52 0a 54 43 4c 44 49 52 20 3d 20 24  CLDIR.TCLDIR = $
5920: 28 54 4f 50 29 5c 63 6f 6d 70 61 74 5c 74 63 6c  (TOP)\compat\tcl
5930: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46  .!ENDIF..!IFNDEF
5940: 20 54 43 4c 49 4e 43 44 49 52 0a 54 43 4c 49 4e   TCLINCDIR.TCLIN
5950: 43 44 49 52 20 3d 20 24 28 54 43 4c 44 49 52 29  CDIR = $(TCLDIR)
5960: 5c 69 6e 63 6c 75 64 65 0a 21 45 4e 44 49 46 0a  \include.!ENDIF.
5970: 0a 21 49 46 4e 44 45 46 20 54 43 4c 4c 49 42 44  .!IFNDEF TCLLIBD
5980: 49 52 0a 54 43 4c 4c 49 42 44 49 52 20 3d 20 24  IR.TCLLIBDIR = $
5990: 28 54 43 4c 44 49 52 29 5c 6c 69 62 0a 21 45 4e  (TCLDIR)\lib.!EN
59a0: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42  DIF..!IFNDEF LIB
59b0: 54 43 4c 0a 4c 49 42 54 43 4c 20 3d 20 74 63 6c  TCL.LIBTCL = tcl
59c0: 38 36 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21  86.lib.!ENDIF..!
59d0: 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 53 54 55  IFNDEF LIBTCLSTU
59e0: 42 0a 4c 49 42 54 43 4c 53 54 55 42 20 3d 20 74  B.LIBTCLSTUB = t
59f0: 63 6c 73 74 75 62 38 36 2e 6c 69 62 0a 21 45 4e  clstub86.lib.!EN
5a00: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42  DIF..!IFNDEF LIB
5a10: 54 43 4c 50 41 54 48 0a 4c 49 42 54 43 4c 50 41  TCLPATH.LIBTCLPA
5a20: 54 48 20 3d 20 24 28 54 43 4c 44 49 52 29 5c 62  TH = $(TCLDIR)\b
5a30: 69 6e 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65  in.!ENDIF..# The
5a40: 20 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20 74 68   locations of th
5a50: 65 20 7a 6c 69 62 20 68 65 61 64 65 72 20 61 6e  e zlib header an
5a60: 64 20 6c 69 62 72 61 72 79 20 66 69 6c 65 73 2e  d library files.
5a70: 20 20 54 68 65 73 65 20 76 61 72 69 61 62 6c 65    These variable
5a80: 73 0a 23 20 28 5a 4c 49 42 49 4e 43 44 49 52 2c  s.# (ZLIBINCDIR,
5a90: 20 5a 4c 49 42 4c 49 42 44 49 52 2c 20 61 6e 64   ZLIBLIBDIR, and
5aa0: 20 5a 4c 49 42 4c 49 42 29 20 6d 61 79 20 62 65   ZLIBLIB) may be
5ab0: 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69 61 20   overridden via 
5ac0: 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a  the environment.
5ad0: 23 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69  # prior to runni
5ae0: 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65  ng nmake in orde
5af0: 72 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 61  r to match the a
5b00: 63 74 75 61 6c 20 69 6e 73 74 61 6c 6c 65 64 20  ctual installed 
5b10: 28 6f 72 20 73 6f 75 72 63 65 0a 23 20 63 6f 64  (or source.# cod
5b20: 65 29 20 6c 6f 63 61 74 69 6f 6e 20 6f 6e 20 74  e) location on t
5b30: 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a 21  his machine..#.!
5b40: 49 46 4e 44 45 46 20 5a 4c 49 42 44 49 52 0a 5a  IFNDEF ZLIBDIR.Z
5b50: 4c 49 42 44 49 52 20 3d 20 24 28 54 4f 50 29 5c  LIBDIR = $(TOP)\
5b60: 63 6f 6d 70 61 74 5c 7a 6c 69 62 0a 21 45 4e 44  compat\zlib.!END
5b70: 49 46 0a 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42  IF..!IFNDEF ZLIB
5b80: 49 4e 43 44 49 52 0a 5a 4c 49 42 49 4e 43 44 49  INCDIR.ZLIBINCDI
5b90: 52 20 3d 20 24 28 5a 4c 49 42 44 49 52 29 0a 21  R = $(ZLIBDIR).!
5ba0: 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 5a  ENDIF..!IFNDEF Z
5bb0: 4c 49 42 4c 49 42 44 49 52 0a 5a 4c 49 42 4c 49  LIBLIBDIR.ZLIBLI
5bc0: 42 44 49 52 20 3d 20 24 28 5a 4c 49 42 44 49 52  BDIR = $(ZLIBDIR
5bd0: 29 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45  ).!ENDIF..!IFNDE
5be0: 46 20 5a 4c 49 42 4c 49 42 0a 21 49 46 20 24 28  F ZLIBLIB.!IF $(
5bf0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d  DYNAMIC_SHELL)!=
5c00: 30 0a 5a 4c 49 42 4c 49 42 20 3d 20 7a 64 6c 6c  0.ZLIBLIB = zdll
5c10: 2e 6c 69 62 0a 21 45 4c 53 45 0a 5a 4c 49 42 4c  .lib.!ELSE.ZLIBL
5c20: 49 42 20 3d 20 7a 6c 69 62 2e 6c 69 62 0a 21 45  IB = zlib.lib.!E
5c30: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54  NDIF.!ENDIF..# T
5c40: 68 65 20 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20  he locations of 
5c50: 74 68 65 20 49 43 55 20 68 65 61 64 65 72 20 61  the ICU header a
5c60: 6e 64 20 6c 69 62 72 61 72 79 20 66 69 6c 65 73  nd library files
5c70: 2e 20 20 54 68 65 73 65 20 76 61 72 69 61 62 6c  .  These variabl
5c80: 65 73 0a 23 20 28 49 43 55 49 4e 43 44 49 52 2c  es.# (ICUINCDIR,
5c90: 20 49 43 55 4c 49 42 44 49 52 2c 20 61 6e 64 20   ICULIBDIR, and 
5ca0: 4c 49 42 49 43 55 29 20 6d 61 79 20 62 65 20 6f  LIBICU) may be o
5cb0: 76 65 72 72 69 64 64 65 6e 20 76 69 61 20 74 68  verridden via th
5cc0: 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a 23 20  e environment.# 
5cd0: 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67  prior to running
5ce0: 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65 72 20   nmake in order 
5cf0: 74 6f 20 6d 61 74 63 68 20 74 68 65 20 61 63 74  to match the act
5d00: 75 61 6c 20 69 6e 73 74 61 6c 6c 65 64 20 6c 6f  ual installed lo
5d10: 63 61 74 69 6f 6e 20 6f 6e 0a 23 20 74 68 69 73  cation on.# this
5d20: 20 6d 61 63 68 69 6e 65 2e 0a 23 0a 21 49 46 4e   machine..#.!IFN
5d30: 44 45 46 20 49 43 55 44 49 52 0a 49 43 55 44 49  DEF ICUDIR.ICUDI
5d40: 52 20 3d 20 24 28 54 4f 50 29 5c 63 6f 6d 70 61  R = $(TOP)\compa
5d50: 74 5c 69 63 75 0a 21 45 4e 44 49 46 0a 0a 21 49  t\icu.!ENDIF..!I
5d60: 46 4e 44 45 46 20 49 43 55 49 4e 43 44 49 52 0a  FNDEF ICUINCDIR.
5d70: 49 43 55 49 4e 43 44 49 52 20 3d 20 24 28 49 43  ICUINCDIR = $(IC
5d80: 55 44 49 52 29 5c 69 6e 63 6c 75 64 65 0a 21 45  UDIR)\include.!E
5d90: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 49 43  NDIF..!IFNDEF IC
5da0: 55 4c 49 42 44 49 52 0a 49 43 55 4c 49 42 44 49  ULIBDIR.ICULIBDI
5db0: 52 20 3d 20 24 28 49 43 55 44 49 52 29 5c 6c 69  R = $(ICUDIR)\li
5dc0: 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45  b.!ENDIF..!IFNDE
5dd0: 46 20 4c 49 42 49 43 55 0a 4c 49 42 49 43 55 20  F LIBICU.LIBICU 
5de0: 3d 20 69 63 75 75 63 2e 6c 69 62 20 69 63 75 69  = icuuc.lib icui
5df0: 6e 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20  n.lib.!ENDIF..# 
5e00: 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 6d 6d  This is the comm
5e10: 61 6e 64 20 74 6f 20 75 73 65 20 66 6f 72 20 74  and to use for t
5e20: 63 6c 73 68 20 2d 20 6e 6f 72 6d 61 6c 6c 79 20  clsh - normally 
5e30: 6a 75 73 74 20 22 74 63 6c 73 68 22 2c 20 62 75  just "tclsh", bu
5e40: 74 20 77 65 20 6d 61 79 0a 23 20 6b 6e 6f 77 20  t we may.# know 
5e50: 74 68 65 20 73 70 65 63 69 66 69 63 20 76 65 72  the specific ver
5e60: 73 69 6f 6e 20 77 65 20 77 61 6e 74 20 74 6f 20  sion we want to 
5e70: 75 73 65 2e 20 20 54 68 69 73 20 76 61 72 69 61  use.  This varia
5e80: 62 6c 65 20 28 54 43 4c 53 48 5f 43 4d 44 29 20  ble (TCLSH_CMD) 
5e90: 6d 61 79 20 62 65 0a 23 20 6f 76 65 72 72 69 64  may be.# overrid
5ea0: 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69  den via the envi
5eb0: 72 6f 6e 6d 65 6e 74 20 70 72 69 6f 72 20 74 6f  ronment prior to
5ec0: 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 69   running nmake i
5ed0: 6e 20 6f 72 64 65 72 20 74 6f 20 73 65 6c 65 63  n order to selec
5ee0: 74 20 61 0a 23 20 73 70 65 63 69 66 69 63 20 54  t a.# specific T
5ef0: 63 6c 20 73 68 65 6c 6c 20 74 6f 20 75 73 65 2e  cl shell to use.
5f00: 0a 23 0a 21 49 46 4e 44 45 46 20 54 43 4c 53 48  .#.!IFNDEF TCLSH
5f10: 5f 43 4d 44 0a 21 49 46 20 24 28 55 53 45 5f 54  _CMD.!IF $(USE_T
5f20: 43 4c 53 48 5f 49 4e 5f 50 41 54 48 29 21 3d 30  CLSH_IN_PATH)!=0
5f30: 0a 54 43 4c 53 48 5f 43 4d 44 20 3d 20 74 63 6c  .TCLSH_CMD = tcl
5f40: 73 68 0a 21 45 4c 53 45 0a 54 43 4c 53 48 5f 43  sh.!ELSE.TCLSH_C
5f50: 4d 44 20 3d 20 24 28 54 43 4c 44 49 52 29 5c 62  MD = $(TCLDIR)\b
5f60: 69 6e 5c 74 63 6c 73 68 2e 65 78 65 0a 21 45 4e  in\tclsh.exe.!EN
5f70: 44 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f  DIF.!ENDIF.# <</
5f80: 6d 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 70 69 6c  mark>>..# Compil
5f90: 65 72 20 6f 70 74 69 6f 6e 73 20 6e 65 65 64 65  er options neede
5fa0: 64 20 66 6f 72 20 70 72 6f 67 72 61 6d 73 20 74  d for programs t
5fb0: 68 61 74 20 75 73 65 20 74 68 65 20 72 65 61 64  hat use the read
5fc0: 6c 69 6e 65 28 29 20 6c 69 62 72 61 72 79 2e 0a  line() library..
5fd0: 23 0a 21 49 46 4e 44 45 46 20 52 45 41 44 4c 49  #.!IFNDEF READLI
5fe0: 4e 45 5f 46 4c 41 47 53 0a 52 45 41 44 4c 49 4e  NE_FLAGS.READLIN
5ff0: 45 5f 46 4c 41 47 53 20 3d 20 2d 44 48 41 56 45  E_FLAGS = -DHAVE
6000: 5f 52 45 41 44 4c 49 4e 45 3d 30 0a 21 45 4e 44  _READLINE=0.!END
6010: 49 46 0a 0a 23 20 54 68 65 20 6c 69 62 72 61 72  IF..# The librar
6020: 79 20 74 68 61 74 20 70 72 6f 67 72 61 6d 73 20  y that programs 
6030: 75 73 69 6e 67 20 72 65 61 64 6c 69 6e 65 28 29  using readline()
6040: 20 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e   must link again
6050: 73 74 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c 49  st..#.!IFNDEF LI
6060: 42 52 45 41 44 4c 49 4e 45 0a 4c 49 42 52 45 41  BREADLINE.LIBREA
6070: 44 4c 49 4e 45 20 3d 0a 21 45 4e 44 49 46 0a 0a  DLINE =.!ENDIF..
6080: 23 20 53 68 6f 75 6c 64 20 74 68 65 20 64 61 74  # Should the dat
6090: 61 62 61 73 65 20 65 6e 67 69 6e 65 20 62 65 20  abase engine be 
60a0: 63 6f 6d 70 69 6c 65 64 20 74 68 72 65 61 64 73  compiled threads
60b0: 61 66 65 0a 23 0a 54 43 43 20 3d 20 24 28 54 43  afe.#.TCC = $(TC
60c0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45  C) -DSQLITE_THRE
60d0: 41 44 53 41 46 45 3d 31 0a 52 43 43 20 3d 20 24  ADSAFE=1.RCC = $
60e0: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54  (RCC) -DSQLITE_T
60f0: 48 52 45 41 44 53 41 46 45 3d 31 0a 0a 23 20 44  HREADSAFE=1..# D
6100: 6f 20 74 68 72 65 61 64 73 20 6f 76 65 72 72 69  o threads overri
6110: 64 65 20 65 61 63 68 20 6f 74 68 65 72 73 20 6c  de each others l
6120: 6f 63 6b 73 20 62 79 20 64 65 66 61 75 6c 74 20  ocks by default 
6130: 28 31 29 2c 20 6f 72 20 64 6f 20 77 65 20 74 65  (1), or do we te
6140: 73 74 20 28 2d 31 29 0a 23 0a 54 43 43 20 3d 20  st (-1).#.TCC = 
6150: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_
6160: 54 48 52 45 41 44 5f 4f 56 45 52 52 49 44 45 5f  THREAD_OVERRIDE_
6170: 4c 4f 43 4b 3d 2d 31 0a 52 43 43 20 3d 20 24 28  LOCK=-1.RCC = $(
6180: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  RCC) -DSQLITE_TH
6190: 52 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c 4f  READ_OVERRIDE_LO
61a0: 43 4b 3d 2d 31 0a 0a 23 20 41 6e 79 20 74 61 72  CK=-1..# Any tar
61b0: 67 65 74 20 6c 69 62 72 61 72 69 65 73 20 77 68  get libraries wh
61c0: 69 63 68 20 6c 69 62 73 71 6c 69 74 65 20 6d 75  ich libsqlite mu
61d0: 73 74 20 62 65 20 6c 69 6e 6b 65 64 20 61 67 61  st be linked aga
61e0: 69 6e 73 74 0a 23 0a 21 49 46 4e 44 45 46 20 54  inst.#.!IFNDEF T
61f0: 4c 49 42 53 0a 54 4c 49 42 53 20 3d 0a 21 45 4e  LIBS.TLIBS =.!EN
6200: 44 49 46 0a 0a 23 20 46 6c 61 67 73 20 63 6f 6e  DIF..# Flags con
6210: 74 72 6f 6c 6c 69 6e 67 20 75 73 65 20 6f 66 20  trolling use of 
6220: 74 68 65 20 69 6e 20 6d 65 6d 6f 72 79 20 62 74  the in memory bt
6230: 72 65 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69  ree implementati
6240: 6f 6e 0a 23 0a 23 20 53 51 4c 49 54 45 5f 54 45  on.#.# SQLITE_TE
6250: 4d 50 5f 53 54 4f 52 45 20 69 73 20 30 20 74 6f  MP_STORE is 0 to
6260: 20 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79   force temporary
6270: 20 74 61 62 6c 65 73 20 74 6f 20 62 65 20 69 6e   tables to be in
6280: 20 61 20 66 69 6c 65 2c 20 31 20 74 6f 0a 23 20   a file, 1 to.# 
6290: 64 65 66 61 75 6c 74 20 74 6f 20 66 69 6c 65 2c  default to file,
62a0: 20 32 20 74 6f 20 64 65 66 61 75 6c 74 20 74 6f   2 to default to
62b0: 20 6d 65 6d 6f 72 79 2c 20 61 6e 64 20 33 20 74   memory, and 3 t
62c0: 6f 20 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72  o force temporar
62d0: 79 0a 23 20 74 61 62 6c 65 73 20 74 6f 20 61 6c  y.# tables to al
62e0: 77 61 79 73 20 62 65 20 69 6e 20 6d 65 6d 6f 72  ways be in memor
62f0: 79 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43  y..#.TCC = $(TCC
6300: 29 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f  ) -DSQLITE_TEMP_
6310: 53 54 4f 52 45 3d 31 0a 52 43 43 20 3d 20 24 28  STORE=1.RCC = $(
6320: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 45  RCC) -DSQLITE_TE
6330: 4d 50 5f 53 54 4f 52 45 3d 31 0a 0a 23 20 45 6e  MP_STORE=1..# En
6340: 61 62 6c 65 2f 64 69 73 61 62 6c 65 20 6c 6f 61  able/disable loa
6350: 64 61 62 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73  dable extensions
6360: 2c 20 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69  , and other opti
6370: 6f 6e 61 6c 20 66 65 61 74 75 72 65 73 0a 23 20  onal features.# 
6380: 62 61 73 65 64 20 6f 6e 20 63 6f 6e 66 69 67 75  based on configu
6390: 72 61 74 69 6f 6e 2e 20 28 2d 44 53 51 4c 49 54  ration. (-DSQLIT
63a0: 45 5f 4f 4d 49 54 2a 2c 20 2d 44 53 51 4c 49 54  E_OMIT*, -DSQLIT
63b0: 45 5f 45 4e 41 42 4c 45 2a 29 2e 0a 23 20 54 68  E_ENABLE*)..# Th
63c0: 65 20 73 61 6d 65 20 73 65 74 20 6f 66 20 4f 4d  e same set of OM
63d0: 49 54 20 61 6e 64 20 45 4e 41 42 4c 45 20 66 6c  IT and ENABLE fl
63e0: 61 67 73 20 73 68 6f 75 6c 64 20 62 65 20 70 61  ags should be pa
63f0: 73 73 65 64 20 74 6f 20 74 68 65 0a 23 20 4c 45  ssed to the.# LE
6400: 4d 4f 4e 20 70 61 72 73 65 72 20 67 65 6e 65 72  MON parser gener
6410: 61 74 6f 72 20 61 6e 64 20 74 68 65 20 6d 6b 6b  ator and the mkk
6420: 65 79 77 6f 72 64 68 61 73 68 20 74 6f 6f 6c 20  eywordhash tool 
6430: 61 73 20 77 65 6c 6c 2e 0a 0a 23 20 54 68 65 73  as well...# Thes
6440: 65 20 61 72 65 20 74 68 65 20 72 65 71 75 69 72  e are the requir
6450: 65 64 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c  ed SQLite compil
6460: 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73  ation options us
6470: 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  ed when compilin
6480: 67 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64  g for.# the Wind
6490: 6f 77 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a  ows platform..#.
64a0: 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  REQ_FEATURE_FLAG
64b0: 53 20 3d 20 24 28 52 45 51 5f 46 45 41 54 55 52  S = $(REQ_FEATUR
64c0: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
64d0: 45 5f 4d 41 58 5f 54 52 49 47 47 45 52 5f 44 45  E_MAX_TRIGGER_DE
64e0: 50 54 48 3d 31 30 30 0a 0a 23 20 49 66 20 77 65  PTH=100..# If we
64f0: 20 61 72 65 20 6c 69 6e 6b 69 6e 67 20 74 6f 20   are linking to 
6500: 74 68 65 20 52 50 43 52 54 34 20 6c 69 62 72 61  the RPCRT4 libra
6510: 72 79 2c 20 65 6e 61 62 6c 65 20 66 65 61 74 75  ry, enable featu
6520: 72 65 73 20 74 68 61 74 20 6e 65 65 64 20 69 74  res that need it
6530: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 50  ..#.!IF $(USE_RP
6540: 43 52 54 34 5f 4c 49 42 29 21 3d 30 0a 52 45 51  CRT4_LIB)!=0.REQ
6550: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d  _FEATURE_FLAGS =
6560: 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46   $(REQ_FEATURE_F
6570: 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 57  LAGS) -DSQLITE_W
6580: 49 4e 33 32 5f 55 53 45 5f 55 55 49 44 3d 31 0a  IN32_USE_UUID=1.
6590: 21 45 4e 44 49 46 0a 0a 23 20 41 64 64 20 74 68  !ENDIF..# Add th
65a0: 65 20 72 65 71 75 69 72 65 64 20 61 6e 64 20 6f  e required and o
65b0: 70 74 69 6f 6e 61 6c 20 53 51 4c 69 74 65 20 63  ptional SQLite c
65c0: 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f  ompilation optio
65d0: 6e 73 20 69 6e 74 6f 20 74 68 65 20 63 6f 6d 6d  ns into the comm
65e0: 61 6e 64 0a 23 20 6c 69 6e 65 73 20 75 73 65 64  and.# lines used
65f0: 20 74 6f 20 69 6e 76 6f 6b 65 20 74 68 65 20 4d   to invoke the M
6600: 53 56 43 20 63 6f 64 65 20 61 6e 64 20 72 65 73  SVC code and res
6610: 6f 75 72 63 65 20 63 6f 6d 70 69 6c 65 72 73 2e  ource compilers.
6620: 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  .#.TCC = $(TCC) 
6630: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c  $(REQ_FEATURE_FL
6640: 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55  AGS) $(OPT_FEATU
6650: 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f  RE_FLAGS) $(EXT_
6660: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 0a 52  FEATURE_FLAGS).R
6670: 43 43 20 3d 20 24 28 52 43 43 29 20 24 28 52 45  CC = $(RCC) $(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 0a 23 20 41 64  URE_FLAGS)..# Ad
66c0: 64 20 69 6e 20 61 6e 79 20 6f 70 74 69 6f 6e 61  d in any optiona
66d0: 6c 20 70 61 72 61 6d 65 74 65 72 73 20 73 70 65  l parameters spe
66e0: 63 69 66 69 65 64 20 6f 6e 20 74 68 65 20 63 6f  cified on the co
66f0: 6d 6d 61 6e 65 20 6c 69 6e 65 2c 20 65 2e 67 2e  mmane line, e.g.
6700: 0a 23 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65  .# nmake /f Make
6710: 66 69 6c 65 2e 6d 73 63 20 61 6c 6c 20 22 4f 50  file.msc all "OP
6720: 54 53 3d 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  TS=-DSQLITE_ENAB
6730: 4c 45 5f 46 4f 4f 3d 31 20 2d 44 53 51 4c 49 54  LE_FOO=1 -DSQLIT
6740: 45 5f 4f 4d 49 54 5f 46 4f 4f 3d 31 22 0a 23 0a  E_OMIT_FOO=1".#.
6750: 54 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 4f  TCC = $(TCC) $(O
6760: 50 54 53 29 0a 52 43 43 20 3d 20 24 28 52 43 43  PTS).RCC = $(RCC
6770: 29 20 24 28 4f 50 54 53 29 0a 0a 23 20 49 66 20  ) $(OPTS)..# If 
6780: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65  compiling for de
6790: 62 75 67 67 69 6e 67 2c 20 61 64 64 20 73 6f 6d  bugging, add som
67a0: 65 20 64 65 66 69 6e 65 73 2e 0a 23 0a 21 49 46  e defines..#.!IF
67b0: 20 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20   $(DEBUG)>1.TCC 
67c0: 3d 20 24 28 54 43 43 29 20 2d 44 5f 44 45 42 55  = $(TCC) -D_DEBU
67d0: 47 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  G.BCC = $(BCC) -
67e0: 44 5f 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28  D_DEBUG.RCC = $(
67f0: 52 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 21 45  RCC) -D_DEBUG.!E
6800: 4e 44 49 46 0a 0a 23 20 49 66 20 6f 70 74 69 6d  NDIF..# If optim
6810: 69 7a 61 74 69 6f 6e 73 20 61 72 65 20 65 6e 61  izations are ena
6820: 62 6c 65 64 20 6f 72 20 64 69 73 61 62 6c 65 64  bled or disabled
6830: 20 28 65 69 74 68 65 72 20 69 6d 70 6c 69 63 69   (either implici
6840: 74 6c 79 20 6f 72 0a 23 20 65 78 70 6c 69 63 69  tly or.# explici
6850: 74 6c 79 29 2c 20 61 64 64 20 74 68 65 20 6e 65  tly), add the ne
6860: 63 65 73 73 61 72 79 20 66 6c 61 67 73 2e 0a 23  cessary flags..#
6870: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 20  .!IF $(DEBUG)>1 
6880: 7c 7c 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f  || $(OPTIMIZATIO
6890: 4e 53 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54  NS)==0.TCC = $(T
68a0: 43 43 29 20 2d 4f 64 0a 42 43 43 20 3d 20 24 28  CC) -Od.BCC = $(
68b0: 42 43 43 29 20 2d 4f 64 0a 21 49 46 20 24 28 55  BCC) -Od.!IF $(U
68c0: 53 45 5f 52 55 4e 54 49 4d 45 5f 43 48 45 43 4b  SE_RUNTIME_CHECK
68d0: 53 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  S)!=0.TCC = $(TC
68e0: 43 29 20 2d 52 54 43 31 0a 42 43 43 20 3d 20 24  C) -RTC1.BCC = $
68f0: 28 42 43 43 29 20 2d 52 54 43 31 0a 21 45 4e 44  (BCC) -RTC1.!END
6900: 49 46 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54  IF.!ELSEIF $(OPT
6910: 49 4d 49 5a 41 54 49 4f 4e 53 29 3e 3d 33 0a 54  IMIZATIONS)>=3.T
6920: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 78 0a  CC = $(TCC) -Ox.
6930: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 78  BCC = $(BCC) -Ox
6940: 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d  .!ELSEIF $(OPTIM
6950: 49 5a 41 54 49 4f 4e 53 29 3d 3d 32 0a 54 43 43  IZATIONS)==2.TCC
6960: 20 3d 20 24 28 54 43 43 29 20 2d 4f 32 0a 42 43   = $(TCC) -O2.BC
6970: 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 32 0a 21  C = $(BCC) -O2.!
6980: 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a  ELSEIF $(OPTIMIZ
6990: 41 54 49 4f 4e 53 29 3d 3d 31 0a 54 43 43 20 3d  ATIONS)==1.TCC =
69a0: 20 24 28 54 43 43 29 20 2d 4f 31 0a 42 43 43 20   $(TCC) -O1.BCC 
69b0: 3d 20 24 28 42 43 43 29 20 2d 4f 31 0a 21 45 4e  = $(BCC) -O1.!EN
69c0: 44 49 46 0a 0a 23 20 49 66 20 73 79 6d 62 6f 6c  DIF..# If symbol
69d0: 73 20 61 72 65 20 65 6e 61 62 6c 65 64 20 28 6f  s are enabled (o
69e0: 72 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20  r compiling for 
69f0: 64 65 62 75 67 67 69 6e 67 29 2c 20 65 6e 61 62  debugging), enab
6a00: 6c 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 24  le PDBs..#.!IF $
6a10: 28 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 53  (DEBUG)>1 || $(S
6a20: 59 4d 42 4f 4c 53 29 21 3d 30 0a 54 43 43 20 3d  YMBOLS)!=0.TCC =
6a30: 20 24 28 54 43 43 29 20 2d 5a 69 0a 42 43 43 20   $(TCC) -Zi.BCC 
6a40: 3d 20 24 28 42 43 43 29 20 2d 5a 69 0a 21 45 4e  = $(BCC) -Zi.!EN
6a50: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  DIF..# <<mark>>.
6a60: 23 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72  # If zlib suppor
6a70: 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64  t is enabled, ad
6a80: 64 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f  d the compiler o
6a90: 70 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23  ptions for it..#
6aa0: 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29  .!IF $(USE_ZLIB)
6ab0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC)
6ac0: 20 2d 44 53 51 4c 49 54 45 5f 48 41 56 45 5f 5a   -DSQLITE_HAVE_Z
6ad0: 4c 49 42 3d 31 0a 52 43 43 20 3d 20 24 28 52 43  LIB=1.RCC = $(RC
6ae0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 48 41 56 45  C) -DSQLITE_HAVE
6af0: 5f 5a 4c 49 42 3d 31 0a 54 43 43 20 3d 20 24 28  _ZLIB=1.TCC = $(
6b00: 54 43 43 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43  TCC) -I$(ZLIBINC
6b10: 44 49 52 29 0a 52 43 43 20 3d 20 24 28 52 43 43  DIR).RCC = $(RCC
6b20: 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49 52  ) -I$(ZLIBINCDIR
6b30: 29 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 49  ).!ENDIF..# If I
6b40: 43 55 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e  CU support is en
6b50: 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 63  abled, add the c
6b60: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options 
6b70: 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28  for it..#.!IF $(
6b80: 55 53 45 5f 49 43 55 29 21 3d 30 0a 54 43 43 20  USE_ICU)!=0.TCC 
6b90: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54  = $(TCC) -DSQLIT
6ba0: 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 52  E_ENABLE_ICU=1.R
6bb0: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ
6bc0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d  LITE_ENABLE_ICU=
6bd0: 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  1.TCC = $(TCC) -
6be0: 49 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a  I$(TOP)\ext\icu.
6bf0: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24  RCC = $(RCC) -I$
6c00: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 54 43  (TOP)\ext\icu.TC
6c10: 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 49  C = $(TCC) -I$(I
6c20: 43 55 49 4e 43 44 49 52 29 0a 52 43 43 20 3d 20  CUINCDIR).RCC = 
6c30: 24 28 52 43 43 29 20 2d 49 24 28 49 43 55 49 4e  $(RCC) -I$(ICUIN
6c40: 43 44 49 52 29 0a 21 45 4e 44 49 46 0a 23 20 3c  CDIR).!ENDIF.# <
6c50: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d  </mark>>..# Comm
6c60: 61 6e 64 20 6c 69 6e 65 20 70 72 65 66 69 78 65  and line prefixe
6c70: 73 20 66 6f 72 20 63 6f 6d 70 69 6c 69 6e 67 20  s for compiling 
6c80: 63 6f 64 65 2c 20 63 6f 6d 70 69 6c 69 6e 67 20  code, compiling 
6c90: 72 65 73 6f 75 72 63 65 73 2c 0a 23 20 6c 69 6e  resources,.# lin
6ca0: 6b 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 4c 54 43  king, etc..#.LTC
6cb0: 4f 4d 50 49 4c 45 20 3d 20 24 28 54 43 43 29 20  OMPILE = $(TCC) 
6cc0: 2d 46 6f 24 40 0a 4c 54 52 43 4f 4d 50 49 4c 45  -Fo$@.LTRCOMPILE
6cd0: 20 3d 20 24 28 52 43 43 29 20 2d 72 0a 4c 54 4c   = $(RCC) -r.LTL
6ce0: 49 42 20 3d 20 6c 69 62 2e 65 78 65 0a 4c 54 4c  IB = lib.exe.LTL
6cf0: 49 4e 4b 20 3d 20 24 28 54 43 43 29 20 2d 46 65  INK = $(TCC) -Fe
6d00: 24 40 0a 0a 23 20 49 66 20 72 65 71 75 65 73 74  $@..# If request
6d10: 65 64 2c 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20  ed, link to the 
6d20: 52 50 43 52 54 34 20 6c 69 62 72 61 72 79 2e 0a  RPCRT4 library..
6d30: 23 0a 21 49 46 20 24 28 55 53 45 5f 52 50 43 52  #.!IF $(USE_RPCR
6d40: 54 34 5f 4c 49 42 29 21 3d 30 0a 4c 54 4c 49 42  T4_LIB)!=0.LTLIB
6d50: 53 20 3d 20 24 28 4c 54 4c 49 42 53 29 20 72 70  S = $(LTLIBS) rp
6d60: 63 72 74 34 2e 6c 69 62 0a 21 45 4e 44 49 46 0a  crt4.lib.!ENDIF.
6d70: 0a 23 20 49 66 20 61 20 70 6c 61 74 66 6f 72 6d  .# If a platform
6d80: 20 77 61 73 20 73 65 74 2c 20 66 6f 72 63 65 20   was set, force 
6d90: 74 68 65 20 6c 69 6e 6b 65 72 20 74 6f 20 74 61  the linker to ta
6da0: 72 67 65 74 20 74 68 61 74 2e 0a 23 20 4e 6f 74  rget that..# Not
6db0: 65 20 74 68 61 74 20 74 68 65 20 76 63 76 61 72  e that the vcvar
6dc0: 73 2a 2e 62 61 74 20 66 61 6d 69 6c 79 20 6f 66  s*.bat family of
6dd0: 20 62 61 74 63 68 20 66 69 6c 65 73 20 74 79 70   batch files typ
6de0: 69 63 61 6c 6c 79 0a 23 20 73 65 74 20 74 68 69  ically.# set thi
6df0: 73 20 66 6f 72 20 79 6f 75 2e 20 20 4f 74 68 65  s for you.  Othe
6e00: 72 77 69 73 65 2c 20 74 68 65 20 6c 69 6e 6b 65  rwise, the linke
6e10: 72 20 77 69 6c 6c 20 61 74 74 65 6d 70 74 0a 23  r will attempt.#
6e20: 20 74 6f 20 64 65 64 75 63 65 20 74 68 65 20 62   to deduce the b
6e30: 69 6e 61 72 79 20 74 79 70 65 20 62 61 73 65 64  inary type based
6e40: 20 6f 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 66   on the object f
6e50: 69 6c 65 73 2e 0a 21 49 46 44 45 46 20 50 4c 41  iles..!IFDEF PLA
6e60: 54 46 4f 52 4d 0a 4c 54 4c 49 4e 4b 4f 50 54 53  TFORM.LTLINKOPTS
6e70: 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48   = /NOLOGO /MACH
6e80: 49 4e 45 3a 24 28 50 4c 41 54 46 4f 52 4d 29 0a  INE:$(PLATFORM).
6e90: 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c  LTLIBOPTS = /NOL
6ea0: 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50  OGO /MACHINE:$(P
6eb0: 4c 41 54 46 4f 52 4d 29 0a 21 45 4c 53 45 0a 4c  LATFORM).!ELSE.L
6ec0: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c  TLINKOPTS = /NOL
6ed0: 4f 47 4f 0a 4c 54 4c 49 42 4f 50 54 53 20 3d 20  OGO.LTLIBOPTS = 
6ee0: 2f 4e 4f 4c 4f 47 4f 0a 21 45 4e 44 49 46 0a 0a  /NOLOGO.!ENDIF..
6ef0: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  # When compiling
6f00: 20 66 6f 72 20 75 73 65 20 69 6e 20 74 68 65 20   for use in the 
6f10: 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e  WinRT environmen
6f20: 74 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  t, the following
6f30: 0a 23 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e  .# linker option
6f40: 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 6f   must be used to
6f50: 20 6d 61 72 6b 20 74 68 65 20 65 78 65 63 75 74   mark the execut
6f60: 61 62 6c 65 20 61 73 20 72 75 6e 6e 61 62 6c 65  able as runnable
6f70: 0a 23 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 63  .# only in the c
6f80: 6f 6e 74 65 78 74 20 6f 66 20 61 6e 20 61 70 70  ontext of an app
6f90: 6c 69 63 61 74 69 6f 6e 20 63 6f 6e 74 61 69 6e  lication contain
6fa0: 65 72 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f  er..#.!IF $(FOR_
6fb0: 57 49 4e 52 54 29 21 3d 30 0a 4c 54 4c 49 4e 4b  WINRT)!=0.LTLINK
6fc0: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO
6fd0: 50 54 53 29 20 2f 41 50 50 43 4f 4e 54 41 49 4e  PTS) /APPCONTAIN
6fe0: 45 52 0a 21 49 46 20 22 24 28 56 49 53 55 41 4c  ER.!IF "$(VISUAL
6ff0: 53 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d  STUDIOVERSION)"=
7000: 3d 22 31 32 2e 30 22 20 7c 7c 20 22 24 28 56 49  ="12.0" || "$(VI
7010: 53 55 41 4c 53 54 55 44 49 4f 56 45 52 53 49 4f  SUALSTUDIOVERSIO
7020: 4e 29 22 3d 3d 22 31 34 2e 30 22 0a 21 49 46 4e  N)"=="14.0".!IFN
7030: 44 45 46 20 53 54 4f 52 45 4c 49 42 50 41 54 48  DEF STORELIBPATH
7040: 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d  .!IF "$(PLATFORM
7050: 29 22 3d 3d 22 78 38 36 22 0a 53 54 4f 52 45 4c  )"=="x86".STOREL
7060: 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49  IBPATH = $(CRTLI
7070: 42 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 4c  BPATH)\store.!EL
7080: 53 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d  SEIF "$(PLATFORM
7090: 29 22 3d 3d 22 78 36 34 22 0a 53 54 4f 52 45 4c  )"=="x64".STOREL
70a0: 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49  IBPATH = $(CRTLI
70b0: 42 50 41 54 48 29 5c 73 74 6f 72 65 5c 61 6d 64  BPATH)\store\amd
70c0: 36 34 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c  64.!ELSEIF "$(PL
70d0: 41 54 46 4f 52 4d 29 22 3d 3d 22 41 52 4d 22 0a  ATFORM)"=="ARM".
70e0: 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24  STORELIBPATH = $
70f0: 28 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f  (CRTLIBPATH)\sto
7100: 72 65 5c 61 72 6d 0a 21 45 4c 53 45 0a 53 54 4f  re\arm.!ELSE.STO
7110: 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52  RELIBPATH = $(CR
7120: 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65 0a  TLIBPATH)\store.
7130: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 53 54  !ENDIF.!ENDIF.ST
7140: 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 53  ORELIBPATH = $(S
7150: 54 4f 52 45 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c  TORELIBPATH:\\=\
7160: 29 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24  ).LTLINKOPTS = $
7170: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c  (LTLINKOPTS) "/L
7180: 49 42 50 41 54 48 3a 24 28 53 54 4f 52 45 4c 49  IBPATH:$(STORELI
7190: 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21  BPATH)".!ENDIF.!
71a0: 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f  ENDIF..# When co
71b0: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64  mpiling for Wind
71c0: 6f 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 61  ows Phone 8.1, a
71d0: 6e 20 65 78 74 72 61 20 6c 69 62 72 61 72 79 20  n extra library 
71e0: 70 61 74 68 20 69 73 0a 23 20 72 65 71 75 69 72  path is.# requir
71f0: 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  ed..#.!IF $(USE_
7200: 57 50 38 31 5f 4f 50 54 53 29 21 3d 30 0a 21 49  WP81_OPTS)!=0.!I
7210: 46 4e 44 45 46 20 57 50 38 31 4c 49 42 50 41 54  FNDEF WP81LIBPAT
7220: 48 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52  H.!IF "$(PLATFOR
7230: 4d 29 22 3d 3d 22 78 38 36 22 0a 57 50 38 31 4c  M)"=="x86".WP81L
7240: 49 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52  IBPATH = $(PROGR
7250: 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e  AMFILES_X86)\Win
7260: 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c  dows Phone Kits\
7270: 38 2e 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4c 53  8.1\lib\x86.!ELS
7280: 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  EIF "$(PLATFORM)
7290: 22 3d 3d 22 41 52 4d 22 0a 57 50 38 31 4c 49 42  "=="ARM".WP81LIB
72a0: 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d  PATH = $(PROGRAM
72b0: 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f  FILES_X86)\Windo
72c0: 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e  ws Phone Kits\8.
72d0: 31 5c 6c 69 62 5c 41 52 4d 0a 21 45 4c 53 45 0a  1\lib\ARM.!ELSE.
72e0: 57 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24 28  WP81LIBPATH = $(
72f0: 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36  PROGRAMFILES_X86
7300: 29 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20  )\Windows Phone 
7310: 4b 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38 36  Kits\8.1\lib\x86
7320: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 21  .!ENDIF.!ENDIF.!
7330: 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f  ENDIF..# When co
7340: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64  mpiling for Wind
7350: 6f 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 73  ows Phone 8.1, s
7360: 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b 65 72  ome extra linker
7370: 20 6f 70 74 69 6f 6e 73 0a 23 20 61 72 65 20 61   options.# are a
7380: 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 0a 23 0a  lso required..#.
7390: 21 49 46 20 24 28 55 53 45 5f 57 50 38 31 5f 4f  !IF $(USE_WP81_O
73a0: 50 54 53 29 21 3d 30 0a 21 49 46 44 45 46 20 57  PTS)!=0.!IFDEF W
73b0: 50 38 31 4c 49 42 50 41 54 48 0a 4c 54 4c 49 4e  P81LIBPATH.LTLIN
73c0: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
73d0: 4f 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a  OPTS) "/LIBPATH:
73e0: 24 28 57 50 38 31 4c 49 42 50 41 54 48 29 22 0a  $(WP81LIBPATH)".
73f0: 21 45 4e 44 49 46 0a 4c 54 4c 49 4e 4b 4f 50 54  !ENDIF.LTLINKOPT
7400: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS
7410: 29 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 0a 4c  ) /DYNAMICBASE.L
7420: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54  TLINKOPTS = $(LT
7430: 4c 49 4e 4b 4f 50 54 53 29 20 57 69 6e 64 6f 77  LINKOPTS) Window
7440: 73 50 68 6f 6e 65 43 6f 72 65 2e 6c 69 62 20 52  sPhoneCore.lib R
7450: 75 6e 74 69 6d 65 4f 62 6a 65 63 74 2e 6c 69 62  untimeObject.lib
7460: 20 50 68 6f 6e 65 41 70 70 4d 6f 64 65 6c 48 6f   PhoneAppModelHo
7470: 73 74 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54  st.lib.LTLINKOPT
7480: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS
7490: 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a  ) /NODEFAULTLIB:
74a0: 6b 65 72 6e 65 6c 33 32 2e 6c 69 62 20 2f 4e 4f  kernel32.lib /NO
74b0: 44 45 46 41 55 4c 54 4c 49 42 3a 6f 6c 65 33 32  DEFAULTLIB:ole32
74c0: 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 57  .lib.!ENDIF..# W
74d0: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f  hen compiling fo
74e0: 72 20 55 57 50 20 6f 72 20 74 68 65 20 57 69 6e  r UWP or the Win
74f0: 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d  dows 10 platform
7500: 2c 20 73 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e  , some extra lin
7510: 6b 65 72 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72  ker.# options ar
7520: 65 20 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e  e also required.
7530: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 55 57 50  .#.!IF $(FOR_UWP
7540: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49  )!=0 || $(FOR_WI
7550: 4e 31 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50  N10)!=0.LTLINKOP
7560: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT
7570: 53 29 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 20  S) /DYNAMICBASE 
7580: 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65  /NODEFAULTLIB:ke
7590: 72 6e 65 6c 33 32 2e 6c 69 62 0a 4c 54 4c 49 4e  rnel32.lib.LTLIN
75a0: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
75b0: 4f 50 54 53 29 20 6d 69 6e 63 6f 72 65 2e 6c 69  OPTS) mincore.li
75c0: 62 0a 21 49 46 44 45 46 20 50 53 44 4b 4c 49 42  b.!IFDEF PSDKLIB
75d0: 50 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  PATH.LTLINKOPTS 
75e0: 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  = $(LTLINKOPTS) 
75f0: 22 2f 4c 49 42 50 41 54 48 3a 24 28 50 53 44 4b  "/LIBPATH:$(PSDK
7600: 4c 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46  LIBPATH)".!ENDIF
7610: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 46  .!ENDIF..!IF $(F
7620: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54 4c  OR_WIN10)!=0.LTL
7630: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49  INKOPTS = $(LTLI
7640: 4e 4b 4f 50 54 53 29 20 2f 67 75 61 72 64 3a 63  NKOPTS) /guard:c
7650: 66 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 55 43  f "/LIBPATH:$(UC
7660: 52 54 4c 49 42 50 41 54 48 29 22 0a 21 49 46 20  RTLIBPATH)".!IF 
7670: 24 28 44 45 42 55 47 29 3e 31 0a 4c 54 4c 49 4e  $(DEBUG)>1.LTLIN
7680: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
7690: 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54  OPTS) /NODEFAULT
76a0: 4c 49 42 3a 6c 69 62 75 63 72 74 64 2e 6c 69 62  LIB:libucrtd.lib
76b0: 20 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 72   /DEFAULTLIB:ucr
76c0: 74 64 2e 6c 69 62 0a 21 45 4c 53 45 0a 4c 54 4c  td.lib.!ELSE.LTL
76d0: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49  INKOPTS = $(LTLI
76e0: 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55  NKOPTS) /NODEFAU
76f0: 4c 54 4c 49 42 3a 6c 69 62 75 63 72 74 2e 6c 69  LTLIB:libucrt.li
7700: 62 20 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63  b /DEFAULTLIB:uc
7710: 72 74 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21 45  rt.lib.!ENDIF.!E
7720: 4e 44 49 46 0a 0a 23 20 49 66 20 65 69 74 68 65  NDIF..# If eithe
7730: 72 20 64 65 62 75 67 67 69 6e 67 20 6f 72 20 73  r debugging or s
7740: 79 6d 62 6f 6c 73 20 61 72 65 20 65 6e 61 62 6c  ymbols are enabl
7750: 65 64 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 2e  ed, enable PDBs.
7760: 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e  .#.!IF $(DEBUG)>
7770: 31 20 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21  1 || $(SYMBOLS)!
7780: 3d 30 0a 4c 44 46 4c 41 47 53 20 3d 20 2f 44 45  =0.LDFLAGS = /DE
7790: 42 55 47 20 24 28 4c 44 4f 50 54 53 29 0a 21 45  BUG $(LDOPTS).!E
77a0: 4c 53 45 0a 4c 44 46 4c 41 47 53 20 3d 20 24 28  LSE.LDFLAGS = $(
77b0: 4c 44 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a  LDOPTS).!ENDIF..
77c0: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 74 61  # <<mark>>.# Sta
77d0: 72 74 20 77 69 74 68 20 74 68 65 20 54 63 6c 20  rt with the Tcl 
77e0: 72 65 6c 61 74 65 64 20 6c 69 6e 6b 65 72 20 6f  related linker o
77f0: 70 74 69 6f 6e 73 2e 0a 23 0a 21 49 46 20 24 28  ptions..#.!IF $(
7800: 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 4c 54 4c 49 42  NO_TCL)==0.LTLIB
7810: 50 41 54 48 53 20 3d 20 2f 4c 49 42 50 41 54 48  PATHS = /LIBPATH
7820: 3a 24 28 54 43 4c 4c 49 42 44 49 52 29 0a 4c 54  :$(TCLLIBDIR).LT
7830: 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49 42 53 29  LIBS = $(LTLIBS)
7840: 20 24 28 4c 49 42 54 43 4c 29 0a 21 45 4e 44 49   $(LIBTCL).!ENDI
7850: 46 0a 0a 23 20 49 66 20 7a 6c 69 62 20 73 75 70  F..# If zlib sup
7860: 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64 2c  port is enabled,
7870: 20 61 64 64 20 74 68 65 20 6c 69 6e 6b 65 72 20   add the linker 
7880: 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a  options for it..
7890: 23 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42  #.!IF $(USE_ZLIB
78a0: 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54 48 53 20  )!=0.LTLIBPATHS 
78b0: 3d 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  = $(LTLIBPATHS) 
78c0: 2f 4c 49 42 50 41 54 48 3a 24 28 5a 4c 49 42 4c  /LIBPATH:$(ZLIBL
78d0: 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d 20  IBDIR).LTLIBS = 
78e0: 24 28 4c 54 4c 49 42 53 29 20 24 28 5a 4c 49 42  $(LTLIBS) $(ZLIB
78f0: 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20 49  LIB).!ENDIF..# I
7900: 66 20 49 43 55 20 73 75 70 70 6f 72 74 20 69 73  f ICU support is
7910: 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68   enabled, add th
7920: 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73  e linker options
7930: 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24   for it..#.!IF $
7940: 28 55 53 45 5f 49 43 55 29 21 3d 30 0a 4c 54 4c  (USE_ICU)!=0.LTL
7950: 49 42 50 41 54 48 53 20 3d 20 24 28 4c 54 4c 49  IBPATHS = $(LTLI
7960: 42 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54 48  BPATHS) /LIBPATH
7970: 3a 24 28 49 43 55 4c 49 42 44 49 52 29 0a 4c 54  :$(ICULIBDIR).LT
7980: 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49 42 53 29  LIBS = $(LTLIBS)
7990: 20 24 28 4c 49 42 49 43 55 29 0a 21 45 4e 44 49   $(LIBICU).!ENDI
79a0: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  F.# <</mark>>..#
79b0: 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20   You should not 
79c0: 68 61 76 65 20 74 6f 20 63 68 61 6e 67 65 20 61  have to change a
79d0: 6e 79 74 68 69 6e 67 20 62 65 6c 6f 77 20 74 68  nything below th
79e0: 69 73 20 6c 69 6e 65 0a 23 23 23 23 23 23 23 23  is line.########
79f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7a00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7a10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7a20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7a30: 23 23 23 23 23 23 23 0a 0a 23 20 3c 3c 6d 61 72  #######..# <<mar
7a40: 6b 3e 3e 0a 23 20 4f 62 6a 65 63 74 20 66 69 6c  k>>.# Object fil
7a50: 65 73 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74  es for the SQLit
7a60: 65 20 6c 69 62 72 61 72 79 20 28 6e 6f 6e 2d 61  e library (non-a
7a70: 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a  malgamation)..#.
7a80: 4c 49 42 4f 42 4a 53 30 20 3d 20 76 64 62 65 2e  LIBOBJS0 = vdbe.
7a90: 6c 6f 20 70 61 72 73 65 2e 6c 6f 20 61 6c 74 65  lo parse.lo alte
7aa0: 72 2e 6c 6f 20 61 6e 61 6c 79 7a 65 2e 6c 6f 20  r.lo analyze.lo 
7ab0: 61 74 74 61 63 68 2e 6c 6f 20 61 75 74 68 2e 6c  attach.lo auth.l
7ac0: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 62 61 63  o \.         bac
7ad0: 6b 75 70 2e 6c 6f 20 62 69 74 76 65 63 2e 6c 6f  kup.lo bitvec.lo
7ae0: 20 62 74 6d 75 74 65 78 2e 6c 6f 20 62 74 72 65   btmutex.lo btre
7af0: 65 2e 6c 6f 20 62 75 69 6c 64 2e 6c 6f 20 5c 0a  e.lo build.lo \.
7b00: 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 61 63           callbac
7b10: 6b 2e 6c 6f 20 63 6f 6d 70 6c 65 74 65 2e 6c 6f  k.lo complete.lo
7b20: 20 63 74 69 6d 65 2e 6c 6f 20 5c 0a 20 20 20 20   ctime.lo \.    
7b30: 20 20 20 20 20 64 61 74 65 2e 6c 6f 20 64 62 70       date.lo dbp
7b40: 61 67 65 2e 6c 6f 20 64 62 73 74 61 74 2e 6c 6f  age.lo dbstat.lo
7b50: 20 64 65 6c 65 74 65 2e 6c 6f 20 5c 0a 20 20 20   delete.lo \.   
7b60: 20 20 20 20 20 20 65 78 70 72 2e 6c 6f 20 66 61        expr.lo fa
7b70: 75 6c 74 2e 6c 6f 20 66 6b 65 79 2e 6c 6f 20 5c  ult.lo fkey.lo \
7b80: 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 2e 6c  .         fts3.l
7b90: 6f 20 66 74 73 33 5f 61 75 78 2e 6c 6f 20 66 74  o fts3_aux.lo ft
7ba0: 73 33 5f 65 78 70 72 2e 6c 6f 20 66 74 73 33 5f  s3_expr.lo fts3_
7bb0: 68 61 73 68 2e 6c 6f 20 66 74 73 33 5f 69 63 75  hash.lo fts3_icu
7bc0: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66  .lo \.         f
7bd0: 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f 20 66 74  ts3_porter.lo ft
7be0: 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 20 66 74  s3_snippet.lo ft
7bf0: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 20  s3_tokenizer.lo 
7c00: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts3_tokenizer1.
7c10: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74  lo \.         ft
7c20: 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62  s3_tokenize_vtab
7c30: 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64 65  .lo fts3_unicode
7c40: 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64 65  .lo fts3_unicode
7c50: 32 2e 6c 6f 20 66 74 73 33 5f 77 72 69 74 65 2e  2.lo fts3_write.
7c60: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74  lo \.         ft
7c70: 73 35 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  s5.lo \.        
7c80: 20 66 75 6e 63 2e 6c 6f 20 67 6c 6f 62 61 6c 2e   func.lo global.
7c90: 6c 6f 20 68 61 73 68 2e 6c 6f 20 5c 0a 20 20 20  lo hash.lo \.   
7ca0: 20 20 20 20 20 20 69 63 75 2e 6c 6f 20 69 6e 73        icu.lo ins
7cb0: 65 72 74 2e 6c 6f 20 6c 65 67 61 63 79 2e 6c 6f  ert.lo legacy.lo
7cc0: 20 6c 6f 61 64 65 78 74 2e 6c 6f 20 5c 0a 20 20   loadext.lo \.  
7cd0: 20 20 20 20 20 20 20 6d 61 69 6e 2e 6c 6f 20 6d         main.lo m
7ce0: 61 6c 6c 6f 63 2e 6c 6f 20 6d 65 6d 30 2e 6c 6f  alloc.lo mem0.lo
7cf0: 20 6d 65 6d 31 2e 6c 6f 20 6d 65 6d 32 2e 6c 6f   mem1.lo mem2.lo
7d00: 20 6d 65 6d 33 2e 6c 6f 20 6d 65 6d 35 2e 6c 6f   mem3.lo mem5.lo
7d10: 20 5c 0a 20 20 20 20 20 20 20 20 20 6d 65 6d 6a   \.         memj
7d20: 6f 75 72 6e 61 6c 2e 6c 6f 20 5c 0a 20 20 20 20  ournal.lo \.    
7d30: 20 20 20 20 20 6d 75 74 65 78 2e 6c 6f 20 6d 75       mutex.lo mu
7d40: 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 20 6d 75 74 65  tex_noop.lo mute
7d50: 78 5f 75 6e 69 78 2e 6c 6f 20 6d 75 74 65 78 5f  x_unix.lo mutex_
7d60: 77 33 32 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  w32.lo \.       
7d70: 20 20 6e 6f 74 69 66 79 2e 6c 6f 20 6f 70 63 6f    notify.lo opco
7d80: 64 65 73 2e 6c 6f 20 6f 73 2e 6c 6f 20 6f 73 5f  des.lo os.lo os_
7d90: 75 6e 69 78 2e 6c 6f 20 6f 73 5f 77 69 6e 2e 6c  unix.lo os_win.l
7da0: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 70 61 67  o \.         pag
7db0: 65 72 2e 6c 6f 20 70 63 61 63 68 65 2e 6c 6f 20  er.lo pcache.lo 
7dc0: 70 63 61 63 68 65 31 2e 6c 6f 20 70 72 61 67 6d  pcache1.lo pragm
7dd0: 61 2e 6c 6f 20 70 72 65 70 61 72 65 2e 6c 6f 20  a.lo prepare.lo 
7de0: 70 72 69 6e 74 66 2e 6c 6f 20 5c 0a 20 20 20 20  printf.lo \.    
7df0: 20 20 20 20 20 72 61 6e 64 6f 6d 2e 6c 6f 20 72       random.lo r
7e00: 65 73 6f 6c 76 65 2e 6c 6f 20 72 6f 77 73 65 74  esolve.lo rowset
7e10: 2e 6c 6f 20 72 74 72 65 65 2e 6c 6f 20 5c 0a 20  .lo rtree.lo \. 
7e20: 20 20 20 20 20 20 20 20 73 71 6c 69 74 65 33 73          sqlite3s
7e30: 65 73 73 69 6f 6e 2e 6c 6f 20 73 65 6c 65 63 74  ession.lo select
7e40: 2e 6c 6f 20 73 71 6c 69 74 65 33 72 62 75 2e 6c  .lo sqlite3rbu.l
7e50: 6f 20 73 74 61 74 75 73 2e 6c 6f 20 5c 0a 20 20  o status.lo \.  
7e60: 20 20 20 20 20 20 20 74 61 62 6c 65 2e 6c 6f 20         table.lo 
7e70: 74 68 72 65 61 64 73 2e 6c 6f 20 74 6f 6b 65 6e  threads.lo token
7e80: 69 7a 65 2e 6c 6f 20 74 72 65 65 76 69 65 77 2e  ize.lo treeview.
7e90: 6c 6f 20 74 72 69 67 67 65 72 2e 6c 6f 20 5c 0a  lo trigger.lo \.
7ea0: 20 20 20 20 20 20 20 20 20 75 70 64 61 74 65 2e           update.
7eb0: 6c 6f 20 75 74 69 6c 2e 6c 6f 20 76 61 63 75 75  lo util.lo vacuu
7ec0: 6d 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  m.lo \.         
7ed0: 76 64 62 65 61 70 69 2e 6c 6f 20 76 64 62 65 61  vdbeapi.lo vdbea
7ee0: 75 78 2e 6c 6f 20 76 64 62 65 62 6c 6f 62 2e 6c  ux.lo vdbeblob.l
7ef0: 6f 20 76 64 62 65 6d 65 6d 2e 6c 6f 20 76 64 62  o vdbemem.lo vdb
7f00: 65 73 6f 72 74 2e 6c 6f 20 5c 0a 20 20 20 20 20  esort.lo \.     
7f10: 20 20 20 20 76 64 62 65 74 72 61 63 65 2e 6c 6f      vdbetrace.lo
7f20: 20 77 61 6c 2e 6c 6f 20 77 61 6c 6b 65 72 2e 6c   wal.lo walker.l
7f30: 6f 20 77 68 65 72 65 2e 6c 6f 20 77 68 65 72 65  o where.lo where
7f40: 63 6f 64 65 2e 6c 6f 20 77 68 65 72 65 65 78 70  code.lo whereexp
7f50: 72 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  r.lo \.         
7f60: 75 74 66 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a 23  utf.lo vtab.lo.#
7f70: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f 62   <</mark>>..# Ob
7f80: 6a 65 63 74 20 66 69 6c 65 73 20 66 6f 72 20 74  ject files for t
7f90: 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e  he amalgamation.
7fa0: 0a 23 0a 4c 49 42 4f 42 4a 53 31 20 3d 20 73 71  .#.LIBOBJS1 = sq
7fb0: 6c 69 74 65 33 2e 6c 6f 0a 0a 23 20 44 65 74 65  lite3.lo..# Dete
7fc0: 72 6d 69 6e 65 20 74 68 65 20 72 65 61 6c 20 76  rmine the real v
7fd0: 61 6c 75 65 20 6f 66 20 4c 49 42 4f 42 4a 20 62  alue of LIBOBJ b
7fe0: 61 73 65 64 20 6f 6e 20 74 68 65 20 27 63 6f 6e  ased on the 'con
7ff0: 66 69 67 75 72 65 27 20 73 63 72 69 70 74 0a 23  figure' script.#
8000: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46 20  .# <<mark>>.!IF 
8010: 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49  $(USE_AMALGAMATI
8020: 4f 4e 29 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d 20  ON)==0.LIBOBJ = 
8030: 24 28 4c 49 42 4f 42 4a 53 30 29 0a 21 45 4c 53  $(LIBOBJS0).!ELS
8040: 45 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c 49  E.# <</mark>>.LI
8050: 42 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53  BOBJ = $(LIBOBJS
8060: 31 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45  1).# <<mark>>.!E
8070: 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  NDIF.# <</mark>>
8080: 0a 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 69 66  ..# Determine if
8090: 20 65 6d 62 65 64 64 65 64 20 72 65 73 6f 75 72   embedded resour
80a0: 63 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61  ce compilation a
80b0: 6e 64 20 75 73 61 67 65 20 61 72 65 20 65 6e 61  nd usage are ena
80c0: 62 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53  bled..#.!IF $(US
80d0: 45 5f 52 43 29 21 3d 30 0a 4c 49 42 52 45 53 4f  E_RC)!=0.LIBRESO
80e0: 42 4a 53 20 3d 20 73 71 6c 69 74 65 33 72 65 73  BJS = sqlite3res
80f0: 2e 6c 6f 0a 21 45 4c 53 45 0a 4c 49 42 52 45 53  .lo.!ELSE.LIBRES
8100: 4f 42 4a 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23  OBJS =.!ENDIF..#
8110: 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 43 6f 72 65   <<mark>>.# Core
8120: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c   source code fil
8130: 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52  es, part 1..#.SR
8140: 43 30 30 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C00 = \.  $(TOP)
8150: 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20 5c 0a 20  \src\alter.c \. 
8160: 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c   $(TOP)\src\anal
8170: 79 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  yze.c \.  $(TOP)
8180: 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 20 5c 0a  \src\attach.c \.
8190: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74    $(TOP)\src\aut
81a0: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  h.c \.  $(TOP)\s
81b0: 72 63 5c 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20  rc\backup.c \.  
81c0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65  $(TOP)\src\bitve
81d0: 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  c.c \.  $(TOP)\s
81e0: 72 63 5c 62 74 6d 75 74 65 78 2e 63 20 5c 0a 20  rc\btmutex.c \. 
81f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65   $(TOP)\src\btre
8200: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
8210: 72 63 5c 62 75 69 6c 64 2e 63 20 5c 0a 20 20 24  rc\build.c \.  $
8220: 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61  (TOP)\src\callba
8230: 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ck.c \.  $(TOP)\
8240: 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 5c  src\complete.c \
8250: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 74  .  $(TOP)\src\ct
8260: 69 6d 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ime.c \.  $(TOP)
8270: 5c 73 72 63 5c 64 61 74 65 2e 63 20 5c 0a 20 20  \src\date.c \.  
8280: 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67  $(TOP)\src\dbpag
8290: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
82a0: 72 63 5c 64 62 73 74 61 74 2e 63 20 5c 0a 20 20  rc\dbstat.c \.  
82b0: 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74  $(TOP)\src\delet
82c0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
82d0: 72 63 5c 65 78 70 72 2e 63 20 5c 0a 20 20 24 28  rc\expr.c \.  $(
82e0: 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63  TOP)\src\fault.c
82f0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8300: 66 6b 65 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50  fkey.c \.  $(TOP
8310: 29 5c 73 72 63 5c 66 75 6e 63 2e 63 20 5c 0a 20  )\src\func.c \. 
8320: 20 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62   $(TOP)\src\glob
8330: 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  al.c \.  $(TOP)\
8340: 73 72 63 5c 68 61 73 68 2e 63 20 5c 0a 20 20 24  src\hash.c \.  $
8350: 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74  (TOP)\src\insert
8360: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8370: 63 5c 6c 65 67 61 63 79 2e 63 20 5c 0a 20 20 24  c\legacy.c \.  $
8380: 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78  (TOP)\src\loadex
8390: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s
83a0: 72 63 5c 6d 61 69 6e 2e 63 20 5c 0a 20 20 24 28  rc\main.c \.  $(
83b0: 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e  TOP)\src\malloc.
83c0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
83d0: 5c 6d 65 6d 30 2e 63 20 5c 0a 20 20 24 28 54 4f  \mem0.c \.  $(TO
83e0: 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 5c 0a  P)\src\mem1.c \.
83f0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d    $(TOP)\src\mem
8400: 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  2.c \.  $(TOP)\s
8410: 72 63 5c 6d 65 6d 33 2e 63 20 5c 0a 20 20 24 28  rc\mem3.c \.  $(
8420: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20  TOP)\src\mem5.c 
8430: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
8440: 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 20  emjournal.c \.  
8450: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex
8460: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8470: 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 5c  c\mutex_noop.c \
8480: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  .  $(TOP)\src\mu
8490: 74 65 78 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24  tex_unix.c \.  $
84a0: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
84b0: 77 33 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  w32.c \.  $(TOP)
84c0: 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63 20 5c 0a  \src\notify.c \.
84d0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e    $(TOP)\src\os.
84e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
84f0: 5c 6f 73 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24  \os_unix.c \.  $
8500: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e  (TOP)\src\os_win
8510: 2e 63 0a 0a 23 20 43 6f 72 65 20 73 6f 75 72 63  .c..# Core sourc
8520: 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61  e code files, pa
8530: 72 74 20 32 2e 0a 23 0a 53 52 43 30 31 20 3d 20  rt 2..#.SRC01 = 
8540: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  \.  $(TOP)\src\p
8550: 61 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ager.c \.  $(TOP
8560: 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 20 5c  )\src\pcache.c \
8570: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  .  $(TOP)\src\pc
8580: 61 63 68 65 31 2e 63 20 5c 0a 20 20 24 28 54 4f  ache1.c \.  $(TO
8590: 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 20  P)\src\pragma.c 
85a0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  \.  $(TOP)\src\p
85b0: 72 65 70 61 72 65 2e 63 20 5c 0a 20 20 24 28 54  repare.c \.  $(T
85c0: 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63  OP)\src\printf.c
85d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
85e0: 72 61 6e 64 6f 6d 2e 63 20 5c 0a 20 20 24 28 54  random.c \.  $(T
85f0: 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e  OP)\src\resolve.
8600: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8610: 5c 72 6f 77 73 65 74 2e 63 20 5c 0a 20 20 24 28  \rowset.c \.  $(
8620: 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e  TOP)\src\select.
8630: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8640: 5c 73 74 61 74 75 73 2e 63 20 5c 0a 20 20 24 28  \status.c \.  $(
8650: 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63  TOP)\src\table.c
8660: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8670: 74 68 72 65 61 64 73 2e 63 20 5c 0a 20 20 24 28  threads.c \.  $(
8680: 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69  TOP)\src\tclsqli
8690: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\
86a0: 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c  src\tokenize.c \
86b0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72  .  $(TOP)\src\tr
86c0: 65 65 76 69 65 77 2e 63 20 5c 0a 20 20 24 28 54  eeview.c \.  $(T
86d0: 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e  OP)\src\trigger.
86e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
86f0: 5c 75 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50  \utf.c \.  $(TOP
8700: 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 20 5c  )\src\update.c \
8710: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74  .  $(TOP)\src\ut
8720: 69 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  il.c \.  $(TOP)\
8730: 73 72 63 5c 76 61 63 75 75 6d 2e 63 20 5c 0a 20  src\vacuum.c \. 
8740: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
8750: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8760: 63 5c 76 64 62 65 61 70 69 2e 63 20 5c 0a 20 20  c\vdbeapi.c \.  
8770: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61  $(TOP)\src\vdbea
8780: 75 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ux.c \.  $(TOP)\
8790: 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 5c  src\vdbeblob.c \
87a0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  .  $(TOP)\src\vd
87b0: 62 65 6d 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f  bemem.c \.  $(TO
87c0: 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e  P)\src\vdbesort.
87d0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
87e0: 5c 76 64 62 65 74 72 61 63 65 2e 63 20 5c 0a 20  \vdbetrace.c \. 
87f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62   $(TOP)\src\vtab
8800: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8810: 63 5c 77 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f  c\wal.c \.  $(TO
8820: 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20  P)\src\walker.c 
8830: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77  \.  $(TOP)\src\w
8840: 68 65 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  here.c \.  $(TOP
8850: 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e  )\src\wherecode.
8860: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8870: 5c 77 68 65 72 65 65 78 70 72 2e 63 0a 0a 23 20  \whereexpr.c..# 
8880: 43 6f 72 65 20 6d 69 73 63 65 6c 6c 61 6e 65 6f  Core miscellaneo
8890: 75 73 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43 30  us files..#.SRC0
88a0: 33 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  3 = \.  $(TOP)\s
88b0: 72 63 5c 70 61 72 73 65 2e 79 0a 0a 23 20 43 6f  rc\parse.y..# Co
88c0: 72 65 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c  re header files,
88d0: 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 30 34   part 1..#.SRC04
88e0: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72   = \.  $(TOP)\sr
88f0: 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 24 28  c\btree.h \.  $(
8900: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 49 6e  TOP)\src\btreeIn
8910: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.h \.  $(TOP)\s
8920: 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  rc\hash.h \.  $(
8930: 54 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e  TOP)\src\hwtime.
8940: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
8950: 5c 6d 73 76 63 2e 68 20 5c 0a 20 20 24 28 54 4f  \msvc.h \.  $(TO
8960: 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 68 20 5c  P)\src\mutex.h \
8970: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  .  $(TOP)\src\os
8980: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
8990: 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a  c\os_common.h \.
89a0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f    $(TOP)\src\os_
89b0: 73 65 74 75 70 2e 68 20 5c 0a 20 20 24 28 54 4f  setup.h \.  $(TO
89c0: 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 0a  P)\src\os_win.h.
89d0: 0a 23 20 43 6f 72 65 20 68 65 61 64 65 72 20 66  .# Core header f
89e0: 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a  iles, part 2..#.
89f0: 53 52 43 30 35 20 3d 20 5c 0a 20 20 24 28 54 4f  SRC05 = \.  $(TO
8a00: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 20 5c  P)\src\pager.h \
8a10: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  .  $(TOP)\src\pc
8a20: 61 63 68 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50  ache.h \.  $(TOP
8a30: 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68 20 5c  )\src\pragma.h \
8a40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71  .  $(TOP)\src\sq
8a50: 6c 69 74 65 2e 68 2e 69 6e 20 5c 0a 20 20 24 28  lite.h.in \.  $(
8a60: 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33  TOP)\src\sqlite3
8a70: 65 78 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ext.h \.  $(TOP)
8a80: 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68  \src\sqliteInt.h
8a90: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8aa0: 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a  sqliteLimit.h \.
8ab0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62    $(TOP)\src\vdb
8ac0: 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.h \.  $(TOP)\s
8ad0: 72 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20  rc\vdbeInt.h \. 
8ae0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 78 77 6f   $(TOP)\src\vxwo
8af0: 72 6b 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  rks.h \.  $(TOP)
8b00: 5c 73 72 63 5c 77 61 6c 2e 68 20 5c 0a 20 20 24  \src\wal.h \.  $
8b10: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49  (TOP)\src\whereI
8b20: 6e 74 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f  nt.h..# Extensio
8b30: 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69  n source code fi
8b40: 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53  les, part 1..#.S
8b50: 52 43 30 36 20 3d 20 5c 0a 20 20 24 28 54 4f 50  RC06 = \.  $(TOP
8b60: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e  )\ext\fts1\fts1.
8b70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
8b80: 5c 66 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e  \fts1\fts1_hash.
8b90: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
8ba0: 5c 66 74 73 31 5c 66 74 73 31 5f 70 6f 72 74 65  \fts1\fts1_porte
8bb0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e
8bc0: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b  xt\fts1\fts1_tok
8bd0: 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24 28  enizer1.c \.  $(
8be0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
8bf0: 73 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  s2.c \.  $(TOP)\
8c00: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61  ext\fts2\fts2_ha
8c10: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.c \.  $(TOP)\
8c20: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63  ext\fts2\fts2_ic
8c30: 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  u.c \.  $(TOP)\e
8c40: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72  xt\fts2\fts2_por
8c50: 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ter.c \.  $(TOP)
8c60: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74  \ext\fts2\fts2_t
8c70: 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24  okenizer.c \.  $
8c80: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
8c90: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63  ts2_tokenizer1.c
8ca0: 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 73 6f  ..# Extension so
8cb0: 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2c  urce code files,
8cc0: 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 37   part 2..#.SRC07
8cd0: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78   = \.  $(TOP)\ex
8ce0: 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 20 5c 0a  t\fts3\fts3.c \.
8cf0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8d00: 33 5c 66 74 73 33 5f 61 75 78 2e 63 20 5c 0a 20  3\fts3_aux.c \. 
8d10: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
8d20: 5c 66 74 73 33 5f 65 78 70 72 2e 63 20 5c 0a 20  \fts3_expr.c \. 
8d30: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
8d40: 5c 66 74 73 33 5f 68 61 73 68 2e 63 20 5c 0a 20  \fts3_hash.c \. 
8d50: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
8d60: 5c 66 74 73 33 5f 69 63 75 2e 63 20 5c 0a 20 20  \fts3_icu.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 70 6f 72 74 65 72 2e 63 20 5c 0a  fts3_porter.c \.
8d90: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8da0: 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63  3\fts3_snippet.c
8db0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8dc0: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69  fts3\fts3_tokeni
8dd0: 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  zer.c \.  $(TOP)
8de0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
8df0: 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20  okenizer1.c \.  
8e00: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
8e10: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74  fts3_tokenize_vt
8e20: 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ab.c \.  $(TOP)\
8e30: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e  ext\fts3\fts3_un
8e40: 69 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f  icode.c \.  $(TO
8e50: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
8e60: 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20  _unicode2.c \.  
8e70: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
8e80: 66 74 73 33 5f 77 72 69 74 65 2e 63 20 5c 0a 20  fts3_write.c \. 
8e90: 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c   $(TOP)\ext\icu\
8ea0: 69 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  icu.c \.  $(TOP)
8eb0: 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65  \ext\rtree\rtree
8ec0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8ed0: 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65  t\session\sqlite
8ee0: 33 73 65 73 73 69 6f 6e 2e 63 20 5c 0a 20 20 24  3session.c \.  $
8ef0: 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71  (TOP)\ext\rbu\sq
8f00: 6c 69 74 65 33 72 62 75 2e 63 20 5c 0a 20 20 24  lite3rbu.c \.  $
8f10: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a  (TOP)\ext\misc\j
8f20: 73 6f 6e 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50  son1.c \.  $(TOP
8f30: 29 5c 65 78 74 5c 6d 69 73 63 5c 73 74 6d 74 2e  )\ext\misc\stmt.
8f40: 63 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 68  c..# Extension h
8f50: 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72  eader files, par
8f60: 74 20 31 2e 0a 23 0a 53 52 43 30 38 20 3d 20 5c  t 1..#.SRC08 = \
8f70: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
8f80: 73 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28  s1\fts1.h \.  $(
8f90: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
8fa0: 73 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s1_hash.h \.  $(
8fb0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
8fc0: 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c  s1_tokenizer.h \
8fd0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
8fe0: 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28  s2\fts2.h \.  $(
8ff0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
9000: 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s2_hash.h \.  $(
9010: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
9020: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 0a  s2_tokenizer.h..
9030: 23 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 61 64  # Extension head
9040: 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32  er files, part 2
9050: 2e 0a 23 0a 53 52 43 30 39 20 3d 20 5c 0a 20 20  ..#.SRC09 = \.  
9060: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
9070: 66 74 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50  fts3.h \.  $(TOP
9080: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49  )\ext\fts3\fts3I
9090: 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  nt.h \.  $(TOP)\
90a0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61  ext\fts3\fts3_ha
90b0: 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.h \.  $(TOP)\
90c0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
90d0: 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28  kenizer.h \.  $(
90e0: 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73 71 6c  TOP)\ext\icu\sql
90f0: 69 74 65 69 63 75 2e 68 20 5c 0a 20 20 24 28 54  iteicu.h \.  $(T
9100: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74  OP)\ext\rtree\rt
9110: 72 65 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ree.h \.  $(TOP)
9120: 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33  \ext\rbu\sqlite3
9130: 72 62 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  rbu.h \.  $(TOP)
9140: 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c  \ext\session\sql
9150: 69 74 65 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23  ite3session.h..#
9160: 20 47 65 6e 65 72 61 74 65 64 20 73 6f 75 72 63   Generated sourc
9170: 65 20 63 6f 64 65 20 66 69 6c 65 73 0a 23 0a 53  e code files.#.S
9180: 52 43 31 30 20 3d 20 5c 0a 20 20 6f 70 63 6f 64  RC10 = \.  opcod
9190: 65 73 2e 63 20 5c 0a 20 20 70 61 72 73 65 2e 63  es.c \.  parse.c
91a0: 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20 68 65  ..# Generated he
91b0: 61 64 65 72 20 66 69 6c 65 73 0a 23 0a 53 52 43  ader files.#.SRC
91c0: 31 31 20 3d 20 5c 0a 20 20 6b 65 79 77 6f 72 64  11 = \.  keyword
91d0: 68 61 73 68 2e 68 20 5c 0a 20 20 6f 70 63 6f 64  hash.h \.  opcod
91e0: 65 73 2e 68 20 5c 0a 20 20 70 61 72 73 65 2e 68  es.h \.  parse.h
91f0: 20 5c 0a 20 20 73 68 65 6c 6c 2e 63 20 5c 0a 20   \.  shell.c \. 
9200: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 0a 23 20   $(SQLITE3H)..# 
9210: 47 65 6e 65 72 61 74 65 64 20 54 63 6c 20 68 65  Generated Tcl he
9220: 61 64 65 72 20 66 69 6c 65 73 0a 23 0a 21 49 46  ader files.#.!IF
9230: 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21   $(USE_STDCALL)!
9240: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1
9250: 30 29 21 3d 30 0a 53 52 43 31 32 20 3d 20 5c 0a  0)!=0.SRC12 = \.
9260: 20 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29 20    $(SQLITETCLH) 
9270: 5c 0a 20 20 24 28 53 51 4c 49 54 45 54 43 4c 44  \.  $(SQLITETCLD
9280: 45 43 4c 53 48 29 0a 21 45 4c 53 45 0a 53 52 43  ECLSH).!ELSE.SRC
9290: 31 32 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 41  12 =.!ENDIF..# A
92a0: 6c 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  ll source code f
92b0: 69 6c 65 73 2e 0a 23 0a 53 52 43 20 3d 20 24 28  iles..#.SRC = $(
92c0: 53 52 43 30 30 29 20 24 28 53 52 43 30 31 29 20  SRC00) $(SRC01) 
92d0: 24 28 53 52 43 30 33 29 20 24 28 53 52 43 30 34  $(SRC03) $(SRC04
92e0: 29 20 24 28 53 52 43 30 35 29 20 24 28 53 52 43  ) $(SRC05) $(SRC
92f0: 30 36 29 20 24 28 53 52 43 30 37 29 20 24 28 53  06) $(SRC07) $(S
9300: 52 43 30 38 29 20 24 28 53 52 43 30 39 29 20 24  RC08) $(SRC09) $
9310: 28 53 52 43 31 30 29 20 24 28 53 52 43 31 31 29  (SRC10) $(SRC11)
9320: 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f 64 65 20  ..# Source code 
9330: 74 6f 20 74 68 65 20 74 65 73 74 20 66 69 6c 65  to the test file
9340: 73 2e 0a 23 0a 54 45 53 54 53 52 43 20 3d 20 5c  s..#.TESTSRC = \
9350: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9360: 73 74 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  st1.c \.  $(TOP)
9370: 5c 73 72 63 5c 74 65 73 74 32 2e 63 20 5c 0a 20  \src\test2.c \. 
9380: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
9390: 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  3.c \.  $(TOP)\s
93a0: 72 63 5c 74 65 73 74 34 2e 63 20 5c 0a 20 20 24  rc\test4.c \.  $
93b0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 35 2e  (TOP)\src\test5.
93c0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
93d0: 5c 74 65 73 74 36 2e 63 20 5c 0a 20 20 24 28 54  \test6.c \.  $(T
93e0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 37 2e 63 20  OP)\src\test7.c 
93f0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9400: 65 73 74 38 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est8.c \.  $(TOP
9410: 29 5c 73 72 63 5c 74 65 73 74 39 2e 63 20 5c 0a  )\src\test9.c \.
9420: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9430: 74 5f 61 75 74 6f 65 78 74 2e 63 20 5c 0a 20 20  t_autoext.c \.  
9440: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9450: 61 73 79 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f  async.c \.  $(TO
9460: 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 61 63 6b  P)\src\test_back
9470: 75 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  up.c \.  $(TOP)\
9480: 73 72 63 5c 74 65 73 74 5f 62 65 73 74 69 6e 64  src\test_bestind
9490: 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ex.c \.  $(TOP)\
94a0: 73 72 63 5c 74 65 73 74 5f 62 6c 6f 62 2e 63 20  src\test_blob.c 
94b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
94c0: 65 73 74 5f 62 74 72 65 65 2e 63 20 5c 0a 20 20  est_btree.c \.  
94d0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
94e0: 63 6f 6e 66 69 67 2e 63 20 5c 0a 20 20 24 28 54  config.c \.  $(T
94f0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 6c  OP)\src\test_del
9500: 65 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ete.c \.  $(TOP)
9510: 5c 73 72 63 5c 74 65 73 74 5f 64 65 6d 6f 76 66  \src\test_demovf
9520: 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  s.c \.  $(TOP)\s
9530: 72 63 5c 74 65 73 74 5f 64 65 76 73 79 6d 2e 63  rc\test_devsym.c
9540: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9550: 74 65 73 74 5f 66 73 2e 63 20 5c 0a 20 20 24 28  test_fs.c \.  $(
9560: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 75  TOP)\src\test_fu
9570: 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  nc.c \.  $(TOP)\
9580: 73 72 63 5c 74 65 73 74 5f 68 65 78 69 6f 2e 63  src\test_hexio.c
9590: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
95a0: 74 65 73 74 5f 69 6e 69 74 2e 63 20 5c 0a 20 20  test_init.c \.  
95b0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
95c0: 69 6e 74 61 72 72 61 79 2e 63 20 5c 0a 20 20 24  intarray.c \.  $
95d0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6a  (TOP)\src\test_j
95e0: 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54  ournal.c \.  $(T
95f0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6d 61 6c  OP)\src\test_mal
9600: 6c 6f 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  loc.c \.  $(TOP)
9610: 5c 73 72 63 5c 74 65 73 74 5f 6d 64 35 2e 63 20  \src\test_md5.c 
9620: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9630: 65 73 74 5f 6d 75 6c 74 69 70 6c 65 78 2e 63 20  est_multiplex.c 
9640: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9650: 65 73 74 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20  est_mutex.c \.  
9660: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9670: 6f 6e 65 66 69 6c 65 2e 63 20 5c 0a 20 20 24 28  onefile.c \.  $(
9680: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 73  TOP)\src\test_os
9690: 69 6e 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  inst.c \.  $(TOP
96a0: 29 5c 73 72 63 5c 74 65 73 74 5f 70 63 61 63 68  )\src\test_pcach
96b0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
96c0: 72 63 5c 74 65 73 74 5f 71 75 6f 74 61 2e 63 20  rc\test_quota.c 
96d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
96e0: 65 73 74 5f 72 74 72 65 65 2e 63 20 5c 0a 20 20  est_rtree.c \.  
96f0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9700: 73 63 68 65 6d 61 2e 63 20 5c 0a 20 20 24 28 54  schema.c \.  $(T
9710: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 65 72  OP)\src\test_ser
9720: 76 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ver.c \.  $(TOP)
9730: 5c 73 72 63 5c 74 65 73 74 5f 73 75 70 65 72 6c  \src\test_superl
9740: 6f 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ock.c \.  $(TOP)
9750: 5c 73 72 63 5c 74 65 73 74 5f 73 79 73 63 61 6c  \src\test_syscal
9760: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  l.c \.  $(TOP)\s
9770: 72 63 5c 74 65 73 74 5f 74 63 6c 73 68 2e 63 20  rc\test_tclsh.c 
9780: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9790: 65 73 74 5f 74 63 6c 76 61 72 2e 63 20 5c 0a 20  est_tclvar.c \. 
97a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
97b0: 5f 74 68 72 65 61 64 2e 63 20 5c 0a 20 20 24 28  _thread.c \.  $(
97c0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 76 66  TOP)\src\test_vf
97d0: 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  s.c \.  $(TOP)\s
97e0: 72 63 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 6e  rc\test_windiren
97f0: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s
9800: 72 63 5c 74 65 73 74 5f 77 73 64 2e 63 20 5c 0a  rc\test_wsd.c \.
9810: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
9820: 33 5c 66 74 73 33 5f 74 65 72 6d 2e 63 20 5c 0a  3\fts3_term.c \.
9830: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
9840: 33 5c 66 74 73 33 5f 74 65 73 74 2e 63 20 5c 0a  3\fts3_test.c \.
9850: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75    $(TOP)\ext\rbu
9860: 5c 74 65 73 74 5f 72 62 75 2e 63 20 5c 0a 20 20  \test_rbu.c \.  
9870: 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69  $(TOP)\ext\sessi
9880: 6f 6e 5c 74 65 73 74 5f 73 65 73 73 69 6f 6e 2e  on\test_session.
9890: 63 0a 0a 23 20 53 74 61 74 69 63 61 6c 6c 79 20  c..# Statically 
98a0: 6c 69 6e 6b 65 64 20 65 78 74 65 6e 73 69 6f 6e  linked extension
98b0: 73 2e 0a 23 0a 54 45 53 54 45 58 54 20 3d 20 5c  s..#.TESTEXT = \
98c0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78  .  $(TOP)\ext\ex
98d0: 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65  pert\sqlite3expe
98e0: 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  rt.c \.  $(TOP)\
98f0: 65 78 74 5c 65 78 70 65 72 74 5c 74 65 73 74 5f  ext\expert\test_
9900: 65 78 70 65 72 74 2e 63 20 5c 0a 20 20 24 28 54  expert.c \.  $(T
9910: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61 6d 61  OP)\ext\misc\ama
9920: 74 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tch.c \.  $(TOP)
9930: 5c 65 78 74 5c 6d 69 73 63 5c 63 61 72 72 61 79  \ext\misc\carray
9940: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9950: 74 5c 6d 69 73 63 5c 63 6c 6f 73 75 72 65 2e 63  t\misc\closure.c
9960: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9970: 6d 69 73 63 5c 63 73 76 2e 63 20 5c 0a 20 20 24  misc\csv.c \.  $
9980: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 65  (TOP)\ext\misc\e
9990: 76 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  val.c \.  $(TOP)
99a0: 5c 65 78 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f  \ext\misc\fileio
99b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
99c0: 74 5c 6d 69 73 63 5c 66 75 7a 7a 65 72 2e 63 20  t\misc\fuzzer.c 
99d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
99e0: 74 73 35 5c 66 74 73 35 5f 74 63 6c 2e 63 20 5c  ts5\fts5_tcl.c \
99f0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
9a00: 73 35 5c 66 74 73 35 5f 74 65 73 74 5f 6d 69 2e  s5\fts5_test_mi.
9a10: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9a20: 5c 66 74 73 35 5c 66 74 73 35 5f 74 65 73 74 5f  \fts5\fts5_test_
9a30: 74 6f 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tok.c \.  $(TOP)
9a40: 5c 65 78 74 5c 6d 69 73 63 5c 69 65 65 65 37 35  \ext\misc\ieee75
9a50: 34 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  4.c \.  $(TOP)\e
9a60: 78 74 5c 6d 69 73 63 5c 6d 6d 61 70 77 61 72 6d  xt\misc\mmapwarm
9a70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9a80: 74 5c 6d 69 73 63 5c 6e 65 78 74 63 68 61 72 2e  t\misc\nextchar.
9a90: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9aa0: 5c 6d 69 73 63 5c 70 65 72 63 65 6e 74 69 6c 65  \misc\percentile
9ab0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9ac0: 74 5c 6d 69 73 63 5c 72 65 67 65 78 70 2e 63 20  t\misc\regexp.c 
9ad0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
9ae0: 69 73 63 5c 72 65 6d 65 6d 62 65 72 2e 63 20 5c  isc\remember.c \
9af0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
9b00: 73 63 5c 73 65 72 69 65 73 2e 63 20 5c 0a 20 20  sc\series.c \.  
9b10: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
9b20: 73 70 65 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24  spellfix.c \.  $
9b30: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 74  (TOP)\ext\misc\t
9b40: 6f 74 79 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f  otype.c \.  $(TO
9b50: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 75 6e 69 6f  P)\ext\misc\unio
9b60: 6e 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f  nvtab.c \.  $(TO
9b70: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 77 68 6f 6c  P)\ext\misc\whol
9b80: 65 6e 75 6d 62 65 72 2e 63 0a 0a 23 20 53 6f 75  enumber.c..# Sou
9b90: 72 63 65 20 63 6f 64 65 20 74 6f 20 74 68 65 20  rce code to the 
9ba0: 6c 69 62 72 61 72 79 20 66 69 6c 65 73 20 6e 65  library files ne
9bb0: 65 64 65 64 20 62 79 20 74 68 65 20 74 65 73 74  eded by the test
9bc0: 20 66 69 78 74 75 72 65 0a 23 20 28 6e 6f 6e 2d   fixture.# (non-
9bd0: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 0a 23 0a  amalgamation).#.
9be0: 54 45 53 54 53 52 43 32 20 3d 20 5c 0a 20 20 24  TESTSRC2 = \.  $
9bf0: 28 53 52 43 30 30 29 20 5c 0a 20 20 24 28 53 52  (SRC00) \.  $(SR
9c00: 43 30 31 29 20 5c 0a 20 20 24 28 53 52 43 30 36  C01) \.  $(SRC06
9c10: 29 20 5c 0a 20 20 24 28 53 52 43 30 37 29 20 5c  ) \.  $(SRC07) \
9c20: 0a 20 20 24 28 53 52 43 31 30 29 20 5c 0a 20 20  .  $(SRC10) \.  
9c30: 24 28 54 4f 50 29 5c 65 78 74 5c 61 73 79 6e 63  $(TOP)\ext\async
9c40: 5c 73 71 6c 69 74 65 33 61 73 79 6e 63 2e 63 0a  \sqlite3async.c.
9c50: 0a 23 20 48 65 61 64 65 72 20 66 69 6c 65 73 20  .# Header files 
9c60: 75 73 65 64 20 62 79 20 61 6c 6c 20 6c 69 62 72  used by all libr
9c70: 61 72 79 20 73 6f 75 72 63 65 20 66 69 6c 65 73  ary source files
9c80: 2e 0a 23 0a 48 44 52 20 3d 20 5c 0a 20 20 20 24  ..#.HDR = \.   $
9c90: 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e  (TOP)\src\btree.
9ca0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
9cb0: 63 5c 62 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20  c\btreeInt.h \. 
9cc0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73    $(TOP)\src\has
9cd0: 68 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  h.h \.   $(TOP)\
9ce0: 73 72 63 5c 68 77 74 69 6d 65 2e 68 20 5c 0a 20  src\hwtime.h \. 
9cf0: 20 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20    keywordhash.h 
9d00: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\
9d10: 6d 73 76 63 2e 68 20 5c 0a 20 20 20 24 28 54 4f  msvc.h \.   $(TO
9d20: 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 68 20 5c  P)\src\mutex.h \
9d30: 0a 20 20 20 6f 70 63 6f 64 65 73 2e 68 20 5c 0a  .   opcodes.h \.
9d40: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73     $(TOP)\src\os
9d50: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
9d60: 72 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c  rc\os_common.h \
9d70: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f  .   $(TOP)\src\o
9d80: 73 5f 73 65 74 75 70 2e 68 20 5c 0a 20 20 20 24  s_setup.h \.   $
9d90: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e  (TOP)\src\os_win
9da0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
9db0: 72 63 5c 70 61 67 65 72 2e 68 20 5c 0a 20 20 20  rc\pager.h \.   
9dc0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach
9dd0: 65 2e 68 20 5c 0a 20 20 20 70 61 72 73 65 2e 68  e.h \.   parse.h
9de0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
9df0: 5c 70 72 61 67 6d 61 2e 68 20 5c 0a 20 20 20 24  \pragma.h \.   $
9e00: 28 53 51 4c 49 54 45 33 48 29 20 5c 0a 20 20 20  (SQLITE3H) \.   
9e10: 73 71 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a 20  sqlite3ext.h \. 
9e20: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c    $(TOP)\src\sql
9e30: 69 74 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28  iteInt.h \.   $(
9e40: 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c  TOP)\src\sqliteL
9e50: 69 6d 69 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f  imit.h \.   $(TO
9e60: 50 29 5c 73 72 63 5c 76 64 62 65 2e 68 20 5c 0a  P)\src\vdbe.h \.
9e70: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64     $(TOP)\src\vd
9e80: 62 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54  beInt.h \.   $(T
9e90: 4f 50 29 5c 73 72 63 5c 76 78 77 6f 72 6b 73 2e  OP)\src\vxworks.
9ea0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
9eb0: 63 5c 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20  c\whereInt.h..# 
9ec0: 48 65 61 64 65 72 20 66 69 6c 65 73 20 75 73 65  Header files use
9ed0: 64 20 62 79 20 65 78 74 65 6e 73 69 6f 6e 73 0a  d by extensions.
9ee0: 23 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54  #.EXTHDR = $(EXT
9ef0: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\
9f00: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 68 20  ext\fts1\fts1.h 
9f10: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9f20: 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 68 20  ts1\fts1_hash.h 
9f30: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9f40: 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69 7a  ts1\fts1_tokeniz
9f50: 65 72 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28  er.h.EXTHDR = $(
9f60: 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f  EXTHDR) \.  $(TO
9f70: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
9f80: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex
9f90: 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68  t\fts2\fts2_hash
9fa0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex
9fb0: 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65  t\fts2\fts2_toke
9fc0: 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44 52 20 3d  nizer.h.EXTHDR =
9fd0: 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24   $(EXTHDR) \.  $
9fe0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
9ff0: 74 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ts3.h \.  $(TOP)
a000: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49 6e  \ext\fts3\fts3In
a010: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  t.h \.  $(TOP)\e
a020: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73  xt\fts3\fts3_has
a030: 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  h.h \.  $(TOP)\e
a040: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
a050: 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44 52 20  enizer.h.EXTHDR 
a060: 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20  = $(EXTHDR) \.  
a070: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65  $(TOP)\ext\rtree
a080: 5c 72 74 72 65 65 2e 68 0a 45 58 54 48 44 52 20  \rtree.h.EXTHDR 
a090: 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20  = $(EXTHDR) \.  
a0a0: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73  $(TOP)\ext\icu\s
a0b0: 71 6c 69 74 65 69 63 75 2e 68 0a 45 58 54 48 44  qliteicu.h.EXTHD
a0c0: 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a  R = $(EXTHDR) \.
a0d0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72    $(TOP)\ext\rtr
a0e0: 65 65 5c 73 71 6c 69 74 65 33 72 74 72 65 65 2e  ee\sqlite3rtree.
a0f0: 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54  h.EXTHDR = $(EXT
a100: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\
a110: 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69  ext\session\sqli
a120: 74 65 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20  te3session.h..# 
a130: 65 78 65 63 75 74 61 62 6c 65 73 20 6e 65 65 64  executables need
a140: 65 64 20 66 6f 72 20 74 65 73 74 69 6e 67 0a 23  ed for testing.#
a150: 0a 54 45 53 54 50 52 4f 47 53 20 3d 20 5c 0a 20  .TESTPROGS = \. 
a160: 20 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65   testfixture.exe
a170: 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 33 45 58   \.  $(SQLITE3EX
a180: 45 29 20 5c 0a 20 20 73 71 6c 69 74 65 33 5f 61  E) \.  sqlite3_a
a190: 6e 61 6c 79 7a 65 72 2e 65 78 65 20 5c 0a 20 20  nalyzer.exe \.  
a1a0: 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e  sqlite3_checker.
a1b0: 65 78 65 20 5c 0a 20 20 73 71 6c 64 69 66 66 2e  exe \.  sqldiff.
a1c0: 65 78 65 20 5c 0a 20 20 64 62 68 61 73 68 2e 65  exe \.  dbhash.e
a1d0: 78 65 0a 0a 23 20 44 61 74 61 62 61 73 65 73 20  xe..# Databases 
a1e0: 63 6f 6e 74 61 69 6e 69 6e 67 20 66 75 7a 7a 65  containing fuzze
a1f0: 72 20 74 65 73 74 20 63 61 73 65 73 0a 23 0a 46  r test cases.#.F
a200: 55 5a 5a 44 41 54 41 20 3d 20 5c 0a 20 20 24 28  UZZDATA = \.  $(
a210: 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61  TOP)\test\fuzzda
a220: 74 61 31 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50  ta1.db \.  $(TOP
a230: 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 32  )\test\fuzzdata2
a240: 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74  .db \.  $(TOP)\t
a250: 65 73 74 5c 66 75 7a 7a 64 61 74 61 33 2e 64 62  est\fuzzdata3.db
a260: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74   \.  $(TOP)\test
a270: 5c 66 75 7a 7a 64 61 74 61 34 2e 64 62 20 5c 0a  \fuzzdata4.db \.
a280: 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75    $(TOP)\test\fu
a290: 7a 7a 64 61 74 61 35 2e 64 62 0a 23 20 3c 3c 2f  zzdata5.db.# <</
a2a0: 6d 61 72 6b 3e 3e 0a 0a 23 20 41 64 64 69 74 69  mark>>..# Additi
a2b0: 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70  onal compiler op
a2c0: 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 73 68  tions for the sh
a2d0: 65 6c 6c 2e 20 20 54 68 65 73 65 20 61 72 65 20  ell.  These are 
a2e0: 6f 6e 6c 79 20 65 66 66 65 63 74 69 76 65 0a 23  only effective.#
a2f0: 20 77 68 65 6e 20 74 68 65 20 73 68 65 6c 6c 20   when the shell 
a300: 69 73 20 6e 6f 74 20 62 65 69 6e 67 20 64 79 6e  is not being dyn
a310: 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 2e  amically linked.
a320: 0a 23 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  .#.!IF $(DYNAMIC
a330: 5f 53 48 45 4c 4c 29 3d 3d 30 20 26 26 20 24 28  _SHELL)==0 && $(
a340: 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 0a 53 48  FOR_WIN10)==0.SH
a350: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
a360: 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49   = $(SHELL_COMPI
a370: 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54  LE_OPTS) -DSQLIT
a380: 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d  E_ENABLE_JSON1 -
a390: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46  DSQLITE_ENABLE_F
a3a0: 54 53 34 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  TS4 -DSQLITE_ENA
a3b0: 42 4c 45 5f 45 58 50 4c 41 49 4e 5f 43 4f 4d 4d  BLE_EXPLAIN_COMM
a3c0: 45 4e 54 53 20 2d 44 53 51 4c 49 54 45 5f 45 4e  ENTS -DSQLITE_EN
a3d0: 41 42 4c 45 5f 53 54 4d 54 56 54 41 42 0a 53 48  ABLE_STMTVTAB.SH
a3e0: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
a3f0: 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49   = $(SHELL_COMPI
a400: 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54  LE_OPTS) -DSQLIT
a410: 45 5f 45 4e 41 42 4c 45 5f 44 42 50 41 47 45 5f  E_ENABLE_DBPAGE_
a420: 56 54 41 42 20 2d 44 53 51 4c 49 54 45 5f 45 4e  VTAB -DSQLITE_EN
a430: 41 42 4c 45 5f 44 42 53 54 41 54 5f 56 54 41 42  ABLE_DBSTAT_VTAB
a440: 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f  .SHELL_COMPILE_O
a450: 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f  PTS = $(SHELL_CO
a460: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51  MPILE_OPTS) -DSQ
a470: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4f 46 46 53  LITE_ENABLE_OFFS
a480: 45 54 5f 53 51 4c 5f 46 55 4e 43 20 2d 44 53 51  ET_SQL_FUNC -DSQ
a490: 4c 49 54 45 5f 49 4e 54 52 4f 53 50 45 43 54 49  LITE_INTROSPECTI
a4a0: 4f 4e 5f 50 52 41 47 4d 41 53 0a 21 45 4e 44 49  ON_PRAGMAS.!ENDI
a4b0: 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20  F..# <<mark>>.# 
a4c0: 45 78 74 72 61 20 63 6f 6d 70 69 6c 65 72 20 6f  Extra compiler o
a4d0: 70 74 69 6f 6e 73 20 66 6f 72 20 76 61 72 69 6f  ptions for vario
a4e0: 75 73 20 74 65 73 74 20 74 6f 6f 6c 73 2e 0a 23  us test tools..#
a4f0: 0a 4d 50 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c  .MPTESTER_COMPIL
a500: 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54  E_OPTS = -DSQLIT
a510: 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d  E_ENABLE_JSON1 -
a520: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46  DSQLITE_ENABLE_F
a530: 54 53 35 0a 46 55 5a 5a 45 52 53 48 45 4c 4c 5f  TS5.FUZZERSHELL_
a540: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d  COMPILE_OPTS = -
a550: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a  DSQLITE_ENABLE_J
a560: 53 4f 4e 31 0a 46 55 5a 5a 43 48 45 43 4b 5f 43  SON1.FUZZCHECK_C
a570: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44  OMPILE_OPTS = -D
a580: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53  SQLITE_ENABLE_JS
a590: 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  ON1 -DSQLITE_ENA
a5a0: 42 4c 45 5f 4d 45 4d 53 59 53 35 20 2d 44 53 51  BLE_MEMSYS5 -DSQ
a5b0: 4c 49 54 45 5f 4f 53 53 5f 46 55 5a 5a 20 2d 44  LITE_OSS_FUZZ -D
a5c0: 53 51 4c 49 54 45 5f 4d 41 58 5f 4d 45 4d 4f 52  SQLITE_MAX_MEMOR
a5d0: 59 3d 35 30 30 30 30 30 30 30 0a 46 55 5a 5a 43  Y=50000000.FUZZC
a5e0: 48 45 43 4b 5f 53 52 43 20 3d 20 24 28 54 4f 50  HECK_SRC = $(TOP
a5f0: 29 5c 74 65 73 74 5c 66 75 7a 7a 63 68 65 63 6b  )\test\fuzzcheck
a600: 2e 63 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f  .c $(TOP)\test\o
a610: 73 73 66 75 7a 7a 2e 63 0a 4f 53 53 53 48 45 4c  ssfuzz.c.OSSSHEL
a620: 4c 5f 53 52 43 20 3d 20 24 28 54 4f 50 29 5c 74  L_SRC = $(TOP)\t
a630: 65 73 74 5c 6f 73 73 73 68 65 6c 6c 2e 63 20 24  est\ossshell.c $
a640: 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73 66 75  (TOP)\test\ossfu
a650: 7a 7a 2e 63 0a 44 42 46 55 5a 5a 5f 43 4f 4d 50  zz.c.DBFUZZ_COMP
a660: 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c  ILE_OPTS = -DSQL
a670: 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
a680: 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
a690: 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 0a 4b 56  OAD_EXTENSION.KV
a6a0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS = 
a6b0: 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
a6c0: 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 44  AFE=0 -DSQLITE_D
a6d0: 49 52 45 43 54 5f 4f 56 45 52 46 4c 4f 57 5f 52  IRECT_OVERFLOW_R
a6e0: 45 41 44 0a 44 42 53 45 4c 46 54 45 53 54 5f 43  EAD.DBSELFTEST_C
a6f0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44  OMPILE_OPTS = -D
a700: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
a710: 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  E=0 -DSQLITE_OMI
a720: 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e  T_LOAD_EXTENSION
a730: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
a740: 5f 52 54 52 45 45 20 2d 44 53 51 4c 49 54 45 5f  _RTREE -DSQLITE_
a750: 45 4e 41 42 4c 45 5f 46 54 53 34 20 2d 44 53 51  ENABLE_FTS4 -DSQ
a760: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 35  LITE_ENABLE_FTS5
a770: 0a 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  .ST_COMPILE_OPTS
a780: 20 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45   = -DSQLITE_THRE
a790: 41 44 53 41 46 45 3d 30 0a 0a 23 20 53 74 61 6e  ADSAFE=0..# Stan
a7a0: 64 61 72 64 20 6f 70 74 69 6f 6e 73 20 74 6f 20  dard options to 
a7b0: 74 65 73 74 66 69 78 74 75 72 65 2e 0a 23 0a 54  testfixture..#.T
a7c0: 45 53 54 4f 50 54 53 20 3d 20 2d 2d 76 65 72 62  ESTOPTS = --verb
a7d0: 6f 73 65 3d 66 69 6c 65 20 2d 2d 6f 75 74 70 75  ose=file --outpu
a7e0: 74 3d 74 65 73 74 2d 6f 75 74 2e 74 78 74 0a 0a  t=test-out.txt..
a7f0: 23 20 45 78 74 72 61 20 74 61 72 67 65 74 73 20  # Extra targets 
a800: 66 6f 72 20 74 68 65 20 22 61 6c 6c 22 20 74 61  for the "all" ta
a810: 72 67 65 74 20 74 68 61 74 20 72 65 71 75 69 72  rget that requir
a820: 65 20 54 63 6c 2e 0a 23 0a 21 49 46 20 24 28 4e  e Tcl..#.!IF $(N
a830: 4f 5f 54 43 4c 29 3d 3d 30 0a 41 4c 4c 5f 54 43  O_TCL)==0.ALL_TC
a840: 4c 5f 54 41 52 47 45 54 53 20 3d 20 6c 69 62 74  L_TARGETS = libt
a850: 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 0a 21 45  clsqlite3.lib.!E
a860: 4c 53 45 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52 47  LSE.ALL_TCL_TARG
a870: 45 54 53 20 3d 0a 21 45 4e 44 49 46 0a 23 20 3c  ETS =.!ENDIF.# <
a880: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 73  </mark>>..# This
a890: 20 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 20   is the default 
a8a0: 4d 61 6b 65 66 69 6c 65 20 74 61 72 67 65 74 2e  Makefile target.
a8b0: 20 20 54 68 65 20 6f 62 6a 65 63 74 73 20 6c 69    The objects li
a8c0: 73 74 65 64 20 68 65 72 65 0a 23 20 61 72 65 20  sted here.# are 
a8d0: 77 68 61 74 20 67 65 74 20 62 75 69 6c 64 20 77  what get build w
a8e0: 68 65 6e 20 79 6f 75 20 74 79 70 65 20 6a 75 73  hen you type jus
a8f0: 74 20 22 6d 61 6b 65 22 20 77 69 74 68 20 6e 6f  t "make" with no
a900: 20 61 72 67 75 6d 65 6e 74 73 2e 0a 23 0a 61 6c   arguments..#.al
a910: 6c 3a 09 64 6c 6c 20 6c 69 62 73 71 6c 69 74 65  l:.dll libsqlite
a920: 33 2e 6c 69 62 20 73 68 65 6c 6c 20 24 28 41 4c  3.lib shell $(AL
a930: 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 29 0a 0a  L_TCL_TARGETS)..
a940: 23 20 44 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c  # Dynamic link l
a950: 69 62 72 61 72 79 20 73 65 63 74 69 6f 6e 2e 0a  ibrary section..
a960: 23 0a 64 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33  #.dll:.$(SQLITE3
a970: 44 4c 4c 29 0a 0a 23 20 53 68 65 6c 6c 20 65 78  DLL)..# Shell ex
a980: 65 63 75 74 61 62 6c 65 2e 0a 23 0a 73 68 65 6c  ecutable..#.shel
a990: 6c 3a 09 24 28 53 51 4c 49 54 45 33 45 58 45 29  l:.$(SQLITE3EXE)
a9a0: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 6c 69 62  ..# <<mark>>.lib
a9b0: 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 24 28 4c  sqlite3.lib:.$(L
a9c0: 49 42 4f 42 4a 29 0a 09 24 28 4c 54 4c 49 42 29  IBOBJ)..$(LTLIB)
a9d0: 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 2f 4f   $(LTLIBOPTS) /O
a9e0: 55 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20  UT:$@ $(LIBOBJ) 
a9f0: 24 28 54 4c 49 42 53 29 0a 0a 6c 69 62 74 63 6c  $(TLIBS)..libtcl
aa00: 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 74 63 6c  sqlite3.lib:.tcl
aa10: 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c  sqlite.lo libsql
aa20: 69 74 65 33 2e 6c 69 62 0a 09 24 28 4c 54 4c 49  ite3.lib..$(LTLI
aa30: 42 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20  B) $(LTLIBOPTS) 
aa40: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f  $(LTLIBPATHS) /O
aa50: 55 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2e  UT:$@ tclsqlite.
aa60: 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  lo libsqlite3.li
aa70: 62 20 24 28 4c 49 42 54 43 4c 53 54 55 42 29 20  b $(LIBTCLSTUB) 
aa80: 24 28 54 4c 49 42 53 29 0a 23 20 3c 3c 2f 6d 61  $(TLIBS).# <</ma
aa90: 72 6b 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 33 44  rk>>..$(SQLITE3D
aaa0: 4c 4c 29 3a 09 24 28 4c 49 42 4f 42 4a 29 20 24  LL):.$(LIBOBJ) $
aab0: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 43  (LIBRESOBJS) $(C
aac0: 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 29 0a 09 24  ORE_LINK_DEP)..$
aad0: 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20  (LD) $(LDFLAGS) 
aae0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS) $(
aaf0: 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c  LTLIBPATHS) /DLL
ab00: 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54   $(CORE_LINK_OPT
ab10: 53 29 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42  S) /OUT:$@ $(LIB
ab20: 4f 42 4a 29 20 24 28 4c 49 42 52 45 53 4f 42 4a  OBJ) $(LIBRESOBJ
ab30: 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54  S) $(LTLIBS) $(T
ab40: 4c 49 42 53 29 0a 0a 23 20 3c 3c 62 6c 6f 63 6b  LIBS)..# <<block
ab50: 32 3e 3e 0a 73 71 6c 69 74 65 33 2e 64 65 66 3a  2>>.sqlite3.def:
ab60: 09 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a  .libsqlite3.lib.
ab70: 09 65 63 68 6f 20 45 58 50 4f 52 54 53 20 3e 20  .echo EXPORTS > 
ab80: 73 71 6c 69 74 65 33 2e 64 65 66 0a 09 64 75 6d  sqlite3.def..dum
ab90: 70 62 69 6e 20 2f 61 6c 6c 20 6c 69 62 73 71 6c  pbin /all libsql
aba0: 69 74 65 33 2e 6c 69 62 20 5c 0a 09 09 7c 20 24  ite3.lib \...| $
abb0: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
abc0: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
abd0: 74 63 6c 20 69 6e 63 6c 75 64 65 20 22 5e 5c 73  tcl include "^\s
abe0: 2b 31 20 5f 3f 28 73 71 6c 69 74 65 33 28 3f 3a  +1 _?(sqlite3(?:
abf0: 73 65 73 73 69 6f 6e 7c 63 68 61 6e 67 65 73 65  session|changese
ac00: 74 7c 63 68 61 6e 67 65 67 72 6f 75 70 29 3f 5f  t|changegroup)?_
ac10: 5b 5e 40 5d 2a 29 28 3f 3a 40 5c 64 2b 29 3f 24  [^@]*)(?:@\d+)?$
ac20: 24 22 20 5c 31 20 5c 0a 09 09 7c 20 73 6f 72 74  $" \1 \...| sort
ac30: 20 3e 3e 20 73 71 6c 69 74 65 33 2e 64 65 66 0a   >> sqlite3.def.
ac40: 23 20 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a 0a 24  # <</block2>>..$
ac50: 28 53 51 4c 49 54 45 33 45 58 45 29 3a 09 73 68  (SQLITE3EXE):.sh
ac60: 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f  ell.c $(SHELL_CO
ac70: 52 45 5f 44 45 50 29 20 24 28 4c 49 42 52 45 53  RE_DEP) $(LIBRES
ac80: 4f 42 4a 53 29 20 24 28 53 48 45 4c 4c 5f 43 4f  OBJS) $(SHELL_CO
ac90: 52 45 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45  RE_SRC) $(SQLITE
aca0: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
acb0: 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f  (SHELL_COMPILE_O
acc0: 50 54 53 29 20 24 28 52 45 41 44 4c 49 4e 45 5f  PTS) $(READLINE_
acd0: 46 4c 41 47 53 29 20 73 68 65 6c 6c 2e 63 20 24  FLAGS) shell.c $
ace0: 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29  (SHELL_CORE_SRC)
acf0: 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 53 51 4c   \.../link $(SQL
ad00: 49 54 45 33 45 58 45 50 44 42 29 20 24 28 4c 44  ITE3EXEPDB) $(LD
ad10: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
ad20: 50 54 53 29 20 24 28 53 48 45 4c 4c 5f 4c 49 4e  PTS) $(SHELL_LIN
ad30: 4b 5f 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50  K_OPTS) $(LTLIBP
ad40: 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42  ATHS) $(LIBRESOB
ad50: 4a 53 29 20 24 28 4c 49 42 52 45 41 44 4c 49 4e  JS) $(LIBREADLIN
ad60: 45 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54  E) $(LTLIBS) $(T
ad70: 4c 49 42 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  LIBS)..# <<mark>
ad80: 3e 0a 73 71 6c 64 69 66 66 2e 65 78 65 3a 09 24  >.sqldiff.exe:.$
ad90: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69  (TOP)\tool\sqldi
ada0: 66 66 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  ff.c $(SQLITE3C)
adb0: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
adc0: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
add0: 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  N) $(TOP)\tool\s
ade0: 71 6c 64 69 66 66 2e 63 20 24 28 53 51 4c 49 54  qldiff.c $(SQLIT
adf0: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
ae00: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
ae10: 54 53 29 0a 0a 64 62 68 61 73 68 2e 65 78 65 3a  TS)..dbhash.exe:
ae20: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62 68  .$(TOP)\tool\dbh
ae30: 61 73 68 2e 63 20 24 28 53 51 4c 49 54 45 33 43  ash.c $(SQLITE3C
ae40: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
ae50: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
ae60: 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  RN) $(TOP)\tool\
ae70: 64 62 68 61 73 68 2e 63 20 24 28 53 51 4c 49 54  dbhash.c $(SQLIT
ae80: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
ae90: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
aea0: 54 53 29 0a 0a 73 63 72 75 62 2e 65 78 65 3a 09  TS)..scrub.exe:.
aeb0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
aec0: 73 63 72 75 62 2e 63 20 24 28 53 51 4c 49 54 45  scrub.c $(SQLITE
aed0: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
aee0: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
aef0: 57 41 52 4e 29 20 24 28 54 4f 50 29 5c 65 78 74  WARN) $(TOP)\ext
af00: 5c 6d 69 73 63 5c 73 63 72 75 62 2e 63 20 24 28  \misc\scrub.c $(
af10: 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
af20: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
af30: 49 4e 4b 4f 50 54 53 29 0a 0a 73 72 63 63 6b 31  INKOPTS)..srcck1
af40: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
af50: 6c 5c 73 72 63 63 6b 31 2e 63 0a 09 24 28 42 43  l\srcck1.c..$(BC
af60: 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46  C) $(NO_WARN) -F
af70: 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  e$@ $(TOP)\tool\
af80: 73 72 63 63 6b 31 2e 63 0a 0a 73 6f 75 72 63 65  srcck1.c..source
af90: 74 65 73 74 3a 09 73 72 63 63 6b 31 2e 65 78 65  test:.srcck1.exe
afa0: 20 73 71 6c 69 74 65 33 2e 63 0a 09 73 72 63 63   sqlite3.c..srcc
afb0: 6b 31 2e 65 78 65 20 73 71 6c 69 74 65 33 2e 63  k1.exe sqlite3.c
afc0: 0a 0a 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65 78  ..fuzzershell.ex
afd0: 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66  e:.$(TOP)\tool\f
afe0: 75 7a 7a 65 72 73 68 65 6c 6c 2e 63 20 24 28 53  uzzershell.c $(S
aff0: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
b000: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
b010: 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a  $(NO_WARN) $(FUZ
b020: 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45  ZERSHELL_COMPILE
b030: 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 74 6f  _OPTS) $(TOP)\to
b040: 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 63  ol\fuzzershell.c
b050: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li
b060: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
b070: 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 64 62 66  LTLINKOPTS)..dbf
b080: 75 7a 7a 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  uzz.exe:.$(TOP)\
b090: 74 65 73 74 5c 64 62 66 75 7a 7a 2e 63 20 24 28  test\dbfuzz.c $(
b0a0: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
b0b0: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
b0c0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 44 42   $(NO_WARN) $(DB
b0d0: 46 55 5a 5a 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  FUZZ_COMPILE_OPT
b0e0: 53 29 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 64  S) $(TOP)\test\d
b0f0: 62 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45  bfuzz.c $(SQLITE
b100: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
b110: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
b120: 53 29 0a 0a 66 75 7a 7a 63 68 65 63 6b 2e 65 78  S)..fuzzcheck.ex
b130: 65 3a 09 24 28 46 55 5a 5a 43 48 45 43 4b 5f 53  e:.$(FUZZCHECK_S
b140: 52 43 29 20 24 28 53 51 4c 49 54 45 33 43 29 20  RC) $(SQLITE3C) 
b150: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
b160: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
b170: 29 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 43 4f  ) $(FUZZCHECK_CO
b180: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 46 55  MPILE_OPTS) $(FU
b190: 5a 5a 43 48 45 43 4b 5f 53 52 43 29 20 24 28 53  ZZCHECK_SRC) $(S
b1a0: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
b1b0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
b1c0: 4e 4b 4f 50 54 53 29 0a 0a 6f 73 73 73 68 65 6c  NKOPTS)..ossshel
b1d0: 6c 2e 65 78 65 3a 09 24 28 4f 53 53 53 48 45 4c  l.exe:.$(OSSSHEL
b1e0: 4c 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33  L_SRC) $(SQLITE3
b1f0: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
b200: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
b210: 41 52 4e 29 20 24 28 46 55 5a 5a 43 48 45 43 4b  ARN) $(FUZZCHECK
b220: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
b230: 28 4f 53 53 53 48 45 4c 4c 5f 53 52 43 29 20 24  (OSSSHELL_SRC) $
b240: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
b250: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
b260: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6d 70 74 65 73  LINKOPTS)..mptes
b270: 74 65 72 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  ter.exe:.$(TOP)\
b280: 6d 70 74 65 73 74 5c 6d 70 74 65 73 74 2e 63 20  mptest\mptest.c 
b290: 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
b2a0: 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
b2b0: 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28  K) $(NO_WARN) $(
b2c0: 4d 50 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c 45  MPTESTER_COMPILE
b2d0: 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 6d 70  _OPTS) $(TOP)\mp
b2e0: 74 65 73 74 5c 6d 70 74 65 73 74 2e 63 20 24 28  test\mptest.c $(
b2f0: 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
b300: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
b310: 49 4e 4b 4f 50 54 53 29 0a 0a 4d 50 54 45 53 54  INKOPTS)..MPTEST
b320: 31 20 3d 20 6d 70 74 65 73 74 65 72 20 6d 70 74  1 = mptester mpt
b330: 65 73 74 2e 64 62 20 24 28 54 4f 50 29 5c 6d 70  est.db $(TOP)\mp
b340: 74 65 73 74 5c 63 72 61 73 68 30 31 2e 74 65 73  test\crash01.tes
b350: 74 20 2d 2d 72 65 70 65 61 74 20 32 30 0a 4d 50  t --repeat 20.MP
b360: 54 45 53 54 32 20 3d 20 6d 70 74 65 73 74 65 72  TEST2 = mptester
b370: 20 6d 70 74 65 73 74 2e 64 62 20 24 28 54 4f 50   mptest.db $(TOP
b380: 29 5c 6d 70 74 65 73 74 5c 6d 75 6c 74 69 77 72  )\mptest\multiwr
b390: 69 74 65 30 31 2e 74 65 73 74 20 2d 2d 72 65 70  ite01.test --rep
b3a0: 65 61 74 20 32 30 0a 0a 6d 70 74 65 73 74 3a 09  eat 20..mptest:.
b3b0: 6d 70 74 65 73 74 65 72 2e 65 78 65 0a 09 64 65  mptester.exe..de
b3c0: 6c 20 2f 51 20 6d 70 74 65 73 74 2e 64 62 20 32  l /Q mptest.db 2
b3d0: 3e 4e 55 4c 0a 09 24 28 4d 50 54 45 53 54 31 29  >NUL..$(MPTEST1)
b3e0: 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44   --journalmode D
b3f0: 45 4c 45 54 45 0a 09 24 28 4d 50 54 45 53 54 32  ELETE..$(MPTEST2
b400: 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20  ) --journalmode 
b410: 57 41 4c 0a 09 24 28 4d 50 54 45 53 54 31 29 20  WAL..$(MPTEST1) 
b420: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57 41  --journalmode WA
b430: 4c 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d  L..$(MPTEST2) --
b440: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52 53  journalmode PERS
b450: 49 53 54 0a 09 24 28 4d 50 54 45 53 54 31 29 20  IST..$(MPTEST1) 
b460: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45  --journalmode PE
b470: 52 53 49 53 54 0a 09 24 28 4d 50 54 45 53 54 32  RSIST..$(MPTEST2
b480: 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20  ) --journalmode 
b490: 54 52 55 4e 43 41 54 45 0a 09 24 28 4d 50 54 45  TRUNCATE..$(MPTE
b4a0: 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f  ST1) --journalmo
b4b0: 64 65 20 54 52 55 4e 43 41 54 45 0a 09 24 28 4d  de TRUNCATE..$(M
b4c0: 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61  PTEST2) --journa
b4d0: 6c 6d 6f 64 65 20 44 45 4c 45 54 45 0a 0a 23 20  lmode DELETE..# 
b4e0: 54 68 69 73 20 74 61 72 67 65 74 20 63 72 65 61  This target crea
b4f0: 74 65 73 20 61 20 64 69 72 65 63 74 6f 72 79 20  tes a directory 
b500: 6e 61 6d 65 64 20 22 74 73 72 63 22 20 61 6e 64  named "tsrc" and
b510: 20 66 69 6c 6c 73 20 69 74 20 77 69 74 68 0a 23   fills it with.#
b520: 20 63 6f 70 69 65 73 20 6f 66 20 61 6c 6c 20 6f   copies of all o
b530: 66 20 74 68 65 20 43 20 73 6f 75 72 63 65 20 63  f the C source c
b540: 6f 64 65 20 61 6e 64 20 68 65 61 64 65 72 20 66  ode and header f
b550: 69 6c 65 73 20 6e 65 65 64 65 64 20 74 6f 0a 23  iles needed to.#
b560: 20 62 75 69 6c 64 20 6f 6e 20 74 68 65 20 74 61   build on the ta
b570: 72 67 65 74 20 73 79 73 74 65 6d 2e 20 20 53 6f  rget system.  So
b580: 6d 65 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72  me of the C sour
b590: 63 65 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64  ce code and head
b5a0: 65 72 0a 23 20 66 69 6c 65 73 20 61 72 65 20 61  er.# files are a
b5b0: 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e  utomatically gen
b5c0: 65 72 61 74 65 64 2e 20 20 54 68 69 73 20 74 61  erated.  This ta
b5d0: 72 67 65 74 20 74 61 6b 65 73 20 63 61 72 65 20  rget takes care 
b5e0: 6f 66 0a 23 20 61 6c 6c 20 74 68 61 74 20 61 75  of.# all that au
b5f0: 74 6f 6d 61 74 69 63 20 67 65 6e 65 72 61 74 69  tomatic generati
b600: 6f 6e 2e 0a 23 0a 2e 74 61 72 67 65 74 5f 73 6f  on..#..target_so
b610: 75 72 63 65 3a 09 24 28 53 52 43 29 20 24 28 54  urce:.$(SRC) $(T
b620: 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f  OP)\tool\vdbe-co
b630: 6d 70 72 65 73 73 2e 74 63 6c 20 66 74 73 35 2e  mpress.tcl fts5.
b640: 63 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44  c $(SQLITE_TCL_D
b650: 45 50 29 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53  EP)..-rmdir /Q/S
b660: 20 74 73 72 63 20 32 3e 4e 55 4c 0a 09 2d 6d 6b   tsrc 2>NUL..-mk
b670: 64 69 72 20 74 73 72 63 0a 09 66 6f 72 20 25 69  dir tsrc..for %i
b680: 20 69 6e 20 28 24 28 53 52 43 30 30 29 29 20 64   in ($(SRC00)) d
b690: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
b6a0: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($(
b6b0: 53 52 43 30 31 29 29 20 64 6f 20 63 6f 70 79 20  SRC01)) do copy 
b6c0: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for 
b6d0: 25 69 20 69 6e 20 28 24 28 53 52 43 30 33 29 29  %i in ($(SRC03))
b6e0: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
b6f0: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
b700: 24 28 53 52 43 30 34 29 29 20 64 6f 20 63 6f 70  $(SRC04)) do cop
b710: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f  y /Y %i tsrc..fo
b720: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 35  r %i in ($(SRC05
b730: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
b740: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
b750: 20 28 24 28 53 52 43 30 36 29 29 20 64 6f 20 63   ($(SRC06)) do c
b760: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09  opy /Y %i tsrc..
b770: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC
b780: 30 37 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  07)) do copy /Y 
b790: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i 
b7a0: 69 6e 20 28 24 28 53 52 43 30 38 29 29 20 64 6f  in ($(SRC08)) do
b7b0: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
b7c0: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S
b7d0: 52 43 30 39 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC09)) do copy /
b7e0: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
b7f0: 69 20 69 6e 20 28 24 28 53 52 43 31 30 29 29 20  i in ($(SRC10)) 
b800: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
b810: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($
b820: 28 53 52 43 31 31 29 29 20 64 6f 20 63 6f 70 79  (SRC11)) do copy
b830: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
b840: 20 25 69 20 69 6e 20 28 24 28 53 52 43 31 32 29   %i in ($(SRC12)
b850: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i 
b860: 74 73 72 63 0a 09 63 6f 70 79 20 2f 59 20 66 74  tsrc..copy /Y ft
b870: 73 35 2e 63 20 74 73 72 63 0a 09 63 6f 70 79 20  s5.c tsrc..copy 
b880: 2f 59 20 66 74 73 35 2e 68 20 74 73 72 63 0a 09  /Y fts5.h tsrc..
b890: 64 65 6c 20 2f 51 20 74 73 72 63 5c 73 71 6c 69  del /Q tsrc\sqli
b8a0: 74 65 2e 68 2e 69 6e 20 74 73 72 63 5c 70 61 72  te.h.in tsrc\par
b8b0: 73 65 2e 79 20 32 3e 4e 55 4c 0a 09 24 28 54 43  se.y 2>NUL..$(TC
b8c0: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
b8d0: 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72 65  tool\vdbe-compre
b8e0: 73 73 2e 74 63 6c 20 24 28 4f 50 54 53 29 20 3c  ss.tcl $(OPTS) <
b8f0: 20 74 73 72 63 5c 76 64 62 65 2e 63 20 3e 20 76   tsrc\vdbe.c > v
b900: 64 62 65 2e 6e 65 77 0a 09 6d 6f 76 65 20 76 64  dbe.new..move vd
b910: 62 65 2e 6e 65 77 20 74 73 72 63 5c 76 64 62 65  be.new tsrc\vdbe
b920: 2e 63 0a 09 65 63 68 6f 20 3e 20 2e 74 61 72 67  .c..echo > .targ
b930: 65 74 5f 73 6f 75 72 63 65 0a 0a 73 71 6c 69 74  et_source..sqlit
b940: 65 33 2e 63 3a 09 2e 74 61 72 67 65 74 5f 73 6f  e3.c:..target_so
b950: 75 72 63 65 20 73 71 6c 69 74 65 33 65 78 74 2e  urce sqlite3ext.
b960: 68 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54  h $(MKSQLITE3C_T
b970: 4f 4f 4c 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d  OOL)..$(TCLSH_CM
b980: 44 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f  D) $(MKSQLITE3C_
b990: 54 4f 4f 4c 29 20 24 28 4d 4b 53 51 4c 49 54 45  TOOL) $(MKSQLITE
b9a0: 33 43 5f 41 52 47 53 29 0a 09 63 6f 70 79 20 24  3C_ARGS)..copy $
b9b0: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
b9c0: 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  n\sqlite3session
b9d0: 2e 68 20 2e 0a 0a 73 71 6c 69 74 65 33 2d 61 6c  .h ...sqlite3-al
b9e0: 6c 2e 63 3a 09 73 71 6c 69 74 65 33 2e 63 20 24  l.c:.sqlite3.c $
b9f0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74  (TOP)\tool\split
ba00: 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 09 24  -sqlite3c.tcl..$
ba10: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
ba20: 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73 71  P)\tool\split-sq
ba30: 6c 69 74 65 33 63 2e 74 63 6c 0a 23 20 3c 3c 2f  lite3c.tcl.# <</
ba40: 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74  mark>>..# Rule t
ba50: 6f 20 62 75 69 6c 64 20 74 68 65 20 61 6d 61 6c  o build the amal
ba60: 67 61 6d 61 74 69 6f 6e 0a 23 0a 73 71 6c 69 74  gamation.#.sqlit
ba70: 65 33 2e 6c 6f 3a 09 24 28 53 51 4c 49 54 45 33  e3.lo:.$(SQLITE3
ba80: 43 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  C)..$(LTCOMPILE)
ba90: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
baa0: 4f 50 54 53 29 20 2d 63 20 24 28 53 51 4c 49 54  OPTS) -c $(SQLIT
bab0: 45 33 43 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  E3C)..# <<mark>>
bac0: 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c  .# Rules to buil
bad0: 64 20 74 68 65 20 4c 45 4d 4f 4e 20 63 6f 6d 70  d the LEMON comp
bae0: 69 6c 65 72 20 67 65 6e 65 72 61 74 6f 72 0a 23  iler generator.#
baf0: 0a 6c 65 6d 70 61 72 2e 63 3a 09 24 28 54 4f 50  .lempar.c:.$(TOP
bb00: 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 0a  )\tool\lempar.c.
bb10: 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 74 6f 6f  .copy $(TOP)\too
bb20: 6c 5c 6c 65 6d 70 61 72 2e 63 20 2e 0a 0a 6c 65  l\lempar.c ...le
bb30: 6d 6f 6e 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  mon.exe:.$(TOP)\
bb40: 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 6c 65 6d  tool\lemon.c lem
bb50: 70 61 72 2e 63 0a 09 24 28 42 43 43 29 20 24 28  par.c..$(BCC) $(
bb60: 4e 4f 5f 57 41 52 4e 29 20 2d 44 61 63 63 65 73  NO_WARN) -Dacces
bb70: 73 3d 5f 61 63 63 65 73 73 20 5c 0a 09 09 2d 46  s=_access \...-F
bb80: 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  e$@ $(TOP)\tool\
bb90: 6c 65 6d 6f 6e 2e 63 20 2f 6c 69 6e 6b 20 24 28  lemon.c /link $(
bba0: 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49  LDFLAGS) $(NLTLI
bbb0: 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49 42  NKOPTS) $(NLTLIB
bbc0: 50 41 54 48 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b  PATHS)..# <<mark
bbd0: 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75  >>.# Rules to bu
bbe0: 69 6c 64 20 74 68 65 20 73 6f 75 72 63 65 2d 69  ild the source-i
bbf0: 64 20 67 65 6e 65 72 61 74 6f 72 20 74 6f 6f 6c  d generator tool
bc00: 0a 23 0a 6d 6b 73 6f 75 72 63 65 69 64 2e 65 78  .#.mksourceid.ex
bc10: 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  e:.$(TOP)\tool\m
bc20: 6b 73 6f 75 72 63 65 69 64 2e 63 0a 09 24 28 42  ksourceid.c..$(B
bc30: 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  CC) $(NO_WARN) -
bc40: 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  Fe$@ $(TOP)\tool
bc50: 5c 6d 6b 73 6f 75 72 63 65 69 64 2e 63 20 2f 6c  \mksourceid.c /l
bc60: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
bc70: 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  (NLTLINKOPTS) $(
bc80: 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 20  NLTLIBPATHS)..# 
bc90: 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 69  Rules to build i
bca0: 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20 66  ndividual *.lo f
bcb0: 69 6c 65 73 20 66 72 6f 6d 20 67 65 6e 65 72 61  iles from genera
bcc0: 74 65 64 20 2a 2e 63 20 66 69 6c 65 73 2e 20 54  ted *.c files. T
bcd0: 68 69 73 0a 23 20 61 70 70 6c 69 65 73 20 74 6f  his.# applies to
bce0: 3a 0a 23 0a 23 20 20 20 20 20 70 61 72 73 65 2e  :.#.#     parse.
bcf0: 6c 6f 0a 23 20 20 20 20 20 6f 70 63 6f 64 65 73  lo.#     opcodes
bd00: 2e 6c 6f 0a 23 0a 70 61 72 73 65 2e 6c 6f 3a 09  .lo.#.parse.lo:.
bd10: 70 61 72 73 65 2e 63 20 24 28 48 44 52 29 0a 09  parse.c $(HDR)..
bd20: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
bd30: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
bd40: 29 20 2d 63 20 70 61 72 73 65 2e 63 0a 0a 6f 70  ) -c parse.c..op
bd50: 63 6f 64 65 73 2e 6c 6f 3a 09 6f 70 63 6f 64 65  codes.lo:.opcode
bd60: 73 2e 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  s.c..$(LTCOMPILE
bd70: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
bd80: 5f 4f 50 54 53 29 20 2d 63 20 6f 70 63 6f 64 65  _OPTS) -c opcode
bd90: 73 2e 63 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  s.c.# <</mark>>.
bda0: 0a 23 20 52 75 6c 65 20 74 6f 20 62 75 69 6c 64  .# Rule to build
bdb0: 20 74 68 65 20 57 69 6e 33 32 20 72 65 73 6f 75   the Win32 resou
bdc0: 72 63 65 73 20 6f 62 6a 65 63 74 20 66 69 6c 65  rces object file
bdd0: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 43  ..#.!IF $(USE_RC
bde0: 29 21 3d 30 0a 23 20 3c 3c 62 6c 6f 63 6b 31 3e  )!=0.# <<block1>
bdf0: 3e 0a 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 3a  >.$(LIBRESOBJS):
be00: 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69  .$(TOP)\src\sqli
be10: 74 65 33 2e 72 63 20 24 28 53 51 4c 49 54 45 33  te3.rc $(SQLITE3
be20: 48 29 0a 09 65 63 68 6f 20 23 69 66 6e 64 65 66  H)..echo #ifndef
be30: 20 53 51 4c 49 54 45 5f 52 45 53 4f 55 52 43 45   SQLITE_RESOURCE
be40: 5f 56 45 52 53 49 4f 4e 20 3e 20 73 71 6c 69 74  _VERSION > sqlit
be50: 65 33 72 63 2e 68 0a 09 66 6f 72 20 2f 46 20 25  e3rc.h..for /F %
be60: 25 56 20 69 6e 20 28 27 74 79 70 65 20 22 24 28  %V in ('type "$(
be70: 54 4f 50 29 5c 56 45 52 53 49 4f 4e 22 27 29 20  TOP)\VERSION"') 
be80: 64 6f 20 28 20 5c 0a 09 09 65 63 68 6f 20 23 64  do ( \...echo #d
be90: 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 52 45 53  efine SQLITE_RES
bea0: 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 25 25  OURCE_VERSION %%
beb0: 56 20 5c 0a 09 09 09 7c 20 24 28 54 43 4c 53 48  V \....| $(TCLSH
bec0: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
bed0: 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78  l\replace.tcl ex
bee0: 61 63 74 20 2e 20 5e 2c 20 3e 3e 20 73 71 6c 69  act . ^, >> sqli
bef0: 74 65 33 72 63 2e 68 20 5c 0a 09 29 0a 09 65 63  te3rc.h \..)..ec
bf00: 68 6f 20 23 65 6e 64 69 66 20 3e 3e 20 73 71 6c  ho #endif >> sql
bf10: 69 74 65 33 72 63 2e 68 0a 09 24 28 4c 54 52 43  ite3rc.h..$(LTRC
bf20: 4f 4d 50 49 4c 45 29 20 2d 66 6f 20 24 28 4c 49  OMPILE) -fo $(LI
bf30: 42 52 45 53 4f 42 4a 53 29 20 24 28 54 4f 50 29  BRESOBJS) $(TOP)
bf40: 5c 73 72 63 5c 73 71 6c 69 74 65 33 2e 72 63 0a  \src\sqlite3.rc.
bf50: 23 20 3c 3c 2f 62 6c 6f 63 6b 31 3e 3e 0a 21 45  # <</block1>>.!E
bf60: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
bf70: 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c  .# Rules to buil
bf80: 64 20 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c  d individual *.l
bf90: 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20 66 69 6c  o files from fil
bfa0: 65 73 20 69 6e 20 74 68 65 20 73 72 63 20 64 69  es in the src di
bfb0: 72 65 63 74 6f 72 79 2e 0a 23 0a 61 6c 74 65 72  rectory..#.alter
bfc0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
bfd0: 61 6c 74 65 72 2e 63 20 24 28 48 44 52 29 0a 09  alter.c $(HDR)..
bfe0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
bff0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c000: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
c010: 61 6c 74 65 72 2e 63 0a 0a 61 6e 61 6c 79 7a 65  alter.c..analyze
c020: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c030: 61 6e 61 6c 79 7a 65 2e 63 20 24 28 48 44 52 29  analyze.c $(HDR)
c040: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c050: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c060: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c070: 63 5c 61 6e 61 6c 79 7a 65 2e 63 0a 0a 61 74 74  c\analyze.c..att
c080: 61 63 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ach.lo:.$(TOP)\s
c090: 72 63 5c 61 74 74 61 63 68 2e 63 20 24 28 48 44  rc\attach.c $(HD
c0a0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c0b0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c0c0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c0d0: 73 72 63 5c 61 74 74 61 63 68 2e 63 0a 0a 61 75  src\attach.c..au
c0e0: 74 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  th.lo:.$(TOP)\sr
c0f0: 63 5c 61 75 74 68 2e 63 20 24 28 48 44 52 29 0a  c\auth.c $(HDR).
c100: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c110: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c120: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c130: 5c 61 75 74 68 2e 63 0a 0a 62 61 63 6b 75 70 2e  \auth.c..backup.
c140: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62  lo:.$(TOP)\src\b
c150: 61 63 6b 75 70 2e 63 20 24 28 48 44 52 29 0a 09  ackup.c $(HDR)..
c160: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
c170: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c180: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
c190: 62 61 63 6b 75 70 2e 63 0a 0a 62 69 74 76 65 63  backup.c..bitvec
c1a0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c1b0: 62 69 74 76 65 63 2e 63 20 24 28 48 44 52 29 0a  bitvec.c $(HDR).
c1c0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c1d0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c1e0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c1f0: 5c 62 69 74 76 65 63 2e 63 0a 0a 62 74 6d 75 74  \bitvec.c..btmut
c200: 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ex.lo:.$(TOP)\sr
c210: 63 5c 62 74 6d 75 74 65 78 2e 63 20 24 28 48 44  c\btmutex.c $(HD
c220: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c230: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c240: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c250: 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 0a 0a 62  src\btmutex.c..b
c260: 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  tree.lo:.$(TOP)\
c270: 73 72 63 5c 62 74 72 65 65 2e 63 20 24 28 48 44  src\btree.c $(HD
c280: 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61  R) $(TOP)\src\pa
c290: 67 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49  ger.h..$(LTCOMPI
c2a0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
c2b0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
c2c0: 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 0a 0a  P)\src\btree.c..
c2d0: 62 75 69 6c 64 2e 6c 6f 3a 09 24 28 54 4f 50 29  build.lo:.$(TOP)
c2e0: 5c 73 72 63 5c 62 75 69 6c 64 2e 63 20 24 28 48  \src\build.c $(H
c2f0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c300: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c310: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c320: 5c 73 72 63 5c 62 75 69 6c 64 2e 63 0a 0a 63 61  \src\build.c..ca
c330: 6c 6c 62 61 63 6b 2e 6c 6f 3a 09 24 28 54 4f 50  llback.lo:.$(TOP
c340: 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63  )\src\callback.c
c350: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c360: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c370: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c380: 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63  TOP)\src\callbac
c390: 6b 2e 63 0a 0a 63 6f 6d 70 6c 65 74 65 2e 6c 6f  k.c..complete.lo
c3a0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d  :.$(TOP)\src\com
c3b0: 70 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09  plete.c $(HDR)..
c3c0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
c3d0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c3e0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
c3f0: 63 6f 6d 70 6c 65 74 65 2e 63 0a 0a 63 74 69 6d  complete.c..ctim
c400: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
c410: 5c 63 74 69 6d 65 2e 63 20 24 28 48 44 52 29 0a  \ctime.c $(HDR).
c420: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c430: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c440: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c450: 5c 63 74 69 6d 65 2e 63 0a 0a 64 61 74 65 2e 6c  \ctime.c..date.l
c460: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 61  o:.$(TOP)\src\da
c470: 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  te.c $(HDR)..$(L
c480: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c490: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c4a0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74  c $(TOP)\src\dat
c4b0: 65 2e 63 0a 0a 64 62 70 61 67 65 2e 6c 6f 3a 09  e.c..dbpage.lo:.
c4c0: 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67  $(TOP)\src\dbpag
c4d0: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
c4e0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
c4f0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c500: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61   $(TOP)\src\dbpa
c510: 67 65 2e 63 0a 0a 64 62 73 74 61 74 2e 6c 6f 3a  ge.c..dbstat.lo:
c520: 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74  .$(TOP)\src\dbst
c530: 61 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  at.c $(HDR)..$(L
c540: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c550: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c560: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73  c $(TOP)\src\dbs
c570: 74 61 74 2e 63 0a 0a 64 65 6c 65 74 65 2e 6c 6f  tat.c..delete.lo
c580: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c  :.$(TOP)\src\del
c590: 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ete.c $(HDR)..$(
c5a0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c5b0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c5c0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 65  -c $(TOP)\src\de
c5d0: 6c 65 74 65 2e 63 0a 0a 65 78 70 72 2e 6c 6f 3a  lete.c..expr.lo:
c5e0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72  .$(TOP)\src\expr
c5f0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c600: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
c610: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
c620: 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e  $(TOP)\src\expr.
c630: 63 0a 0a 66 61 75 6c 74 2e 6c 6f 3a 09 24 28 54  c..fault.lo:.$(T
c640: 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20  OP)\src\fault.c 
c650: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c660: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c670: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c680: 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 0a  OP)\src\fault.c.
c690: 0a 66 6b 65 79 2e 6c 6f 3a 09 24 28 54 4f 50 29  .fkey.lo:.$(TOP)
c6a0: 5c 73 72 63 5c 66 6b 65 79 2e 63 20 24 28 48 44  \src\fkey.c $(HD
c6b0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c6c0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c6d0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c6e0: 73 72 63 5c 66 6b 65 79 2e 63 0a 0a 66 75 6e 63  src\fkey.c..func
c6f0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c700: 66 75 6e 63 2e 63 20 24 28 48 44 52 29 0a 09 24  func.c $(HDR)..$
c710: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c720: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c730: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66   -c $(TOP)\src\f
c740: 75 6e 63 2e 63 0a 0a 67 6c 6f 62 61 6c 2e 6c 6f  unc.c..global.lo
c750: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f  :.$(TOP)\src\glo
c760: 62 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28  bal.c $(HDR)..$(
c770: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c780: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c790: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c  -c $(TOP)\src\gl
c7a0: 6f 62 61 6c 2e 63 0a 0a 68 61 73 68 2e 6c 6f 3a  obal.c..hash.lo:
c7b0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68  .$(TOP)\src\hash
c7c0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c7d0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
c7e0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
c7f0: 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e  $(TOP)\src\hash.
c800: 63 0a 0a 69 6e 73 65 72 74 2e 6c 6f 3a 09 24 28  c..insert.lo:.$(
c810: 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e  TOP)\src\insert.
c820: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c830: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c840: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c850: 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74  (TOP)\src\insert
c860: 2e 63 0a 0a 6c 65 67 61 63 79 2e 6c 6f 3a 09 24  .c..legacy.lo:.$
c870: 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79  (TOP)\src\legacy
c880: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c890: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
c8a0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
c8b0: 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63  $(TOP)\src\legac
c8c0: 79 2e 63 0a 0a 6c 6f 61 64 65 78 74 2e 6c 6f 3a  y.c..loadext.lo:
c8d0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64  .$(TOP)\src\load
c8e0: 65 78 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ext.c $(HDR)..$(
c8f0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c900: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c910: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f  -c $(TOP)\src\lo
c920: 61 64 65 78 74 2e 63 0a 0a 6d 61 69 6e 2e 6c 6f  adext.c..main.lo
c930: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69  :.$(TOP)\src\mai
c940: 6e 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  n.c $(HDR)..$(LT
c950: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
c960: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c970: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e   $(TOP)\src\main
c980: 2e 63 0a 0a 6d 61 6c 6c 6f 63 2e 6c 6f 3a 09 24  .c..malloc.lo:.$
c990: 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63  (TOP)\src\malloc
c9a0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c9b0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
c9c0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
c9d0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f  $(TOP)\src\mallo
c9e0: 63 2e 63 0a 0a 6d 65 6d 30 2e 6c 6f 3a 09 24 28  c.c..mem0.lo:.$(
c9f0: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20  TOP)\src\mem0.c 
ca00: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
ca10: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
ca20: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
ca30: 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 0a 0a  OP)\src\mem0.c..
ca40: 6d 65 6d 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  mem1.lo:.$(TOP)\
ca50: 73 72 63 5c 6d 65 6d 31 2e 63 20 24 28 48 44 52  src\mem1.c $(HDR
ca60: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
ca70: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
ca80: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
ca90: 72 63 5c 6d 65 6d 31 2e 63 0a 0a 6d 65 6d 32 2e  rc\mem1.c..mem2.
caa0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m
cab0: 65 6d 32 2e 63 20 24 28 48 44 52 29 0a 09 24 28  em2.c $(HDR)..$(
cac0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
cad0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
cae0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  -c $(TOP)\src\me
caf0: 6d 32 2e 63 0a 0a 6d 65 6d 33 2e 6c 6f 3a 09 24  m2.c..mem3.lo:.$
cb00: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63  (TOP)\src\mem3.c
cb10: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
cb20: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
cb30: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
cb40: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 0a  TOP)\src\mem3.c.
cb50: 0a 6d 65 6d 35 2e 6c 6f 3a 09 24 28 54 4f 50 29  .mem5.lo:.$(TOP)
cb60: 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 24 28 48 44  \src\mem5.c $(HD
cb70: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
cb80: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
cb90: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
cba0: 73 72 63 5c 6d 65 6d 35 2e 63 0a 0a 6d 65 6d 6a  src\mem5.c..memj
cbb0: 6f 75 72 6e 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50  ournal.lo:.$(TOP
cbc0: 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c  )\src\memjournal
cbd0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
cbe0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
cbf0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
cc00: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f  $(TOP)\src\memjo
cc10: 75 72 6e 61 6c 2e 63 0a 0a 6d 75 74 65 78 2e 6c  urnal.c..mutex.l
cc20: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  o:.$(TOP)\src\mu
cc30: 74 65 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28  tex.c $(HDR)..$(
cc40: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
cc50: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
cc60: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  -c $(TOP)\src\mu
cc70: 74 65 78 2e 63 0a 0a 6d 75 74 65 78 5f 6e 6f 6f  tex.c..mutex_noo
cc80: 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  p.lo:.$(TOP)\src
cc90: 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 24 28  \mutex_noop.c $(
cca0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
ccb0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
ccc0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
ccd0: 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70  )\src\mutex_noop
cce0: 2e 63 0a 0a 6d 75 74 65 78 5f 75 6e 69 78 2e 6c  .c..mutex_unix.l
ccf0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  o:.$(TOP)\src\mu
cd00: 74 65 78 5f 75 6e 69 78 2e 63 20 24 28 48 44 52  tex_unix.c $(HDR
cd10: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
cd20: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
cd30: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
cd40: 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63 0a  rc\mutex_unix.c.
cd50: 0a 6d 75 74 65 78 5f 77 33 32 2e 6c 6f 3a 09 24  .mutex_w32.lo:.$
cd60: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
cd70: 77 33 32 2e 63 20 24 28 48 44 52 29 0a 09 24 28  w32.c $(HDR)..$(
cd80: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
cd90: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
cda0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  -c $(TOP)\src\mu
cdb0: 74 65 78 5f 77 33 32 2e 63 0a 0a 6e 6f 74 69 66  tex_w32.c..notif
cdc0: 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  y.lo:.$(TOP)\src
cdd0: 5c 6e 6f 74 69 66 79 2e 63 20 24 28 48 44 52 29  \notify.c $(HDR)
cde0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cdf0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ce00: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
ce10: 63 5c 6e 6f 74 69 66 79 2e 63 0a 0a 70 61 67 65  c\notify.c..page
ce20: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  r.lo:.$(TOP)\src
ce30: 5c 70 61 67 65 72 2e 63 20 24 28 48 44 52 29 20  \pager.c $(HDR) 
ce40: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72  $(TOP)\src\pager
ce50: 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  .h..$(LTCOMPILE)
ce60: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
ce70: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
ce80: 73 72 63 5c 70 61 67 65 72 2e 63 0a 0a 70 63 61  src\pager.c..pca
ce90: 63 68 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  che.lo:.$(TOP)\s
cea0: 72 63 5c 70 63 61 63 68 65 2e 63 20 24 28 48 44  rc\pcache.c $(HD
ceb0: 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  R) $(TOP)\src\pc
cec0: 61 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50  ache.h..$(LTCOMP
ced0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
cee0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
cef0: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 63  OP)\src\pcache.c
cf00: 0a 0a 70 63 61 63 68 65 31 2e 6c 6f 3a 09 24 28  ..pcache1.lo:.$(
cf10: 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31  TOP)\src\pcache1
cf20: 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29  .c $(HDR) $(TOP)
cf30: 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 0a 09 24  \src\pcache.h..$
cf40: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
cf50: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
cf60: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70   -c $(TOP)\src\p
cf70: 63 61 63 68 65 31 2e 63 0a 0a 6f 73 2e 6c 6f 3a  cache1.c..os.lo:
cf80: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63  .$(TOP)\src\os.c
cf90: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
cfa0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
cfb0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
cfc0: 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 0a 0a 6f  TOP)\src\os.c..o
cfd0: 73 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50  s_unix.lo:.$(TOP
cfe0: 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 20  )\src\os_unix.c 
cff0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d000: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d010: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d020: 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e  OP)\src\os_unix.
d030: 63 0a 0a 6f 73 5f 77 69 6e 2e 6c 6f 3a 09 24 28  c..os_win.lo:.$(
d040: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e  TOP)\src\os_win.
d050: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d060: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d070: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d080: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e  (TOP)\src\os_win
d090: 2e 63 0a 0a 70 72 61 67 6d 61 2e 6c 6f 3a 09 24  .c..pragma.lo:.$
d0a0: 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61  (TOP)\src\pragma
d0b0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d0c0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d0d0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d0e0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d  $(TOP)\src\pragm
d0f0: 61 2e 63 0a 0a 70 72 65 70 61 72 65 2e 6c 6f 3a  a.c..prepare.lo:
d100: 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70  .$(TOP)\src\prep
d110: 61 72 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  are.c $(HDR)..$(
d120: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d130: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d140: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  -c $(TOP)\src\pr
d150: 65 70 61 72 65 2e 63 0a 0a 70 72 69 6e 74 66 2e  epare.c..printf.
d160: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70  lo:.$(TOP)\src\p
d170: 72 69 6e 74 66 2e 63 20 24 28 48 44 52 29 0a 09  rintf.c $(HDR)..
d180: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d190: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d1a0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d1b0: 70 72 69 6e 74 66 2e 63 0a 0a 72 61 6e 64 6f 6d  printf.c..random
d1c0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d1d0: 72 61 6e 64 6f 6d 2e 63 20 24 28 48 44 52 29 0a  random.c $(HDR).
d1e0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d1f0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d200: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d210: 5c 72 61 6e 64 6f 6d 2e 63 0a 0a 72 65 73 6f 6c  \random.c..resol
d220: 76 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ve.lo:.$(TOP)\sr
d230: 63 5c 72 65 73 6f 6c 76 65 2e 63 20 24 28 48 44  c\resolve.c $(HD
d240: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d250: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d260: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d270: 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 0a 0a 72  src\resolve.c..r
d280: 6f 77 73 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29  owset.lo:.$(TOP)
d290: 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20 24 28  \src\rowset.c $(
d2a0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d2b0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d2c0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d2d0: 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 0a 0a  )\src\rowset.c..
d2e0: 73 65 6c 65 63 74 2e 6c 6f 3a 09 24 28 54 4f 50  select.lo:.$(TOP
d2f0: 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 20 24  )\src\select.c $
d300: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d310: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d320: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d330: 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 0a  P)\src\select.c.
d340: 0a 73 74 61 74 75 73 2e 6c 6f 3a 09 24 28 54 4f  .status.lo:.$(TO
d350: 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20  P)\src\status.c 
d360: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d370: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d380: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d390: 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63  OP)\src\status.c
d3a0: 0a 0a 74 61 62 6c 65 2e 6c 6f 3a 09 24 28 54 4f  ..table.lo:.$(TO
d3b0: 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20 24  P)\src\table.c $
d3c0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d3d0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d3e0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d3f0: 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 0a 0a  P)\src\table.c..
d400: 74 68 72 65 61 64 73 2e 6c 6f 3a 09 24 28 54 4f  threads.lo:.$(TO
d410: 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63  P)\src\threads.c
d420: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d430: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d440: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
d450: 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73  TOP)\src\threads
d460: 2e 63 0a 0a 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 3a  .c..tokenize.lo:
d470: 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65  .$(TOP)\src\toke
d480: 6e 69 7a 65 2e 63 20 6b 65 79 77 6f 72 64 68 61  nize.c keywordha
d490: 73 68 2e 68 20 24 28 48 44 52 29 0a 09 24 28 4c  sh.h $(HDR)..$(L
d4a0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d4b0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d4c0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b  c $(TOP)\src\tok
d4d0: 65 6e 69 7a 65 2e 63 0a 0a 74 72 65 65 76 69 65  enize.c..treevie
d4e0: 77 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  w.lo:.$(TOP)\src
d4f0: 5c 74 72 65 65 76 69 65 77 2e 63 20 24 28 48 44  \treeview.c $(HD
d500: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d510: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d520: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d530: 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63 0a 0a  src\treeview.c..
d540: 74 72 69 67 67 65 72 2e 6c 6f 3a 09 24 28 54 4f  trigger.lo:.$(TO
d550: 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63  P)\src\trigger.c
d560: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d570: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d580: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
d590: 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72  TOP)\src\trigger
d5a0: 2e 63 0a 0a 75 70 64 61 74 65 2e 6c 6f 3a 09 24  .c..update.lo:.$
d5b0: 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65  (TOP)\src\update
d5c0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d5d0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d5e0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d5f0: 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74  $(TOP)\src\updat
d600: 65 2e 63 0a 0a 75 74 66 2e 6c 6f 3a 09 24 28 54  e.c..utf.lo:.$(T
d610: 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 24 28  OP)\src\utf.c $(
d620: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d630: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d640: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d650: 29 5c 73 72 63 5c 75 74 66 2e 63 0a 0a 75 74 69  )\src\utf.c..uti
d660: 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  l.lo:.$(TOP)\src
d670: 5c 75 74 69 6c 2e 63 20 24 28 48 44 52 29 0a 09  \util.c $(HDR)..
d680: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d690: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d6a0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d6b0: 75 74 69 6c 2e 63 0a 0a 76 61 63 75 75 6d 2e 6c  util.c..vacuum.l
d6c0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 61  o:.$(TOP)\src\va
d6d0: 63 75 75 6d 2e 63 20 24 28 48 44 52 29 0a 09 24  cuum.c $(HDR)..$
d6e0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d6f0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d700: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v
d710: 61 63 75 75 6d 2e 63 0a 0a 76 64 62 65 2e 6c 6f  acuum.c..vdbe.lo
d720: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  :.$(TOP)\src\vdb
d730: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
d740: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d750: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d760: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
d770: 2e 63 0a 0a 76 64 62 65 61 70 69 2e 6c 6f 3a 09  .c..vdbeapi.lo:.
d780: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61  $(TOP)\src\vdbea
d790: 70 69 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  pi.c $(HDR)..$(L
d7a0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d7b0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d7c0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  c $(TOP)\src\vdb
d7d0: 65 61 70 69 2e 63 0a 0a 76 64 62 65 61 75 78 2e  eapi.c..vdbeaux.
d7e0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76  lo:.$(TOP)\src\v
d7f0: 64 62 65 61 75 78 2e 63 20 24 28 48 44 52 29 0a  dbeaux.c $(HDR).
d800: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d810: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d820: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d830: 5c 76 64 62 65 61 75 78 2e 63 0a 0a 76 64 62 65  \vdbeaux.c..vdbe
d840: 62 6c 6f 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  blob.lo:.$(TOP)\
d850: 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 24  src\vdbeblob.c $
d860: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d870: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d880: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d890: 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e  P)\src\vdbeblob.
d8a0: 63 0a 0a 76 64 62 65 6d 65 6d 2e 6c 6f 3a 09 24  c..vdbemem.lo:.$
d8b0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65  (TOP)\src\vdbeme
d8c0: 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  m.c $(HDR)..$(LT
d8d0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d8e0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d8f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
d900: 6d 65 6d 2e 63 0a 0a 76 64 62 65 73 6f 72 74 2e  mem.c..vdbesort.
d910: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76  lo:.$(TOP)\src\v
d920: 64 62 65 73 6f 72 74 2e 63 20 24 28 48 44 52 29  dbesort.c $(HDR)
d930: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d940: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d950: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d960: 63 5c 76 64 62 65 73 6f 72 74 2e 63 0a 0a 76 64  c\vdbesort.c..vd
d970: 62 65 74 72 61 63 65 2e 6c 6f 3a 09 24 28 54 4f  betrace.lo:.$(TO
d980: 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65  P)\src\vdbetrace
d990: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d9a0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d9b0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d9c0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74  $(TOP)\src\vdbet
d9d0: 72 61 63 65 2e 63 0a 0a 76 74 61 62 2e 6c 6f 3a  race.c..vtab.lo:
d9e0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62  .$(TOP)\src\vtab
d9f0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
da00: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
da10: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
da20: 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e  $(TOP)\src\vtab.
da30: 63 0a 0a 77 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50  c..wal.lo:.$(TOP
da40: 29 5c 73 72 63 5c 77 61 6c 2e 63 20 24 28 48 44  )\src\wal.c $(HD
da50: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
da60: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
da70: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
da80: 73 72 63 5c 77 61 6c 2e 63 0a 0a 77 61 6c 6b 65  src\wal.c..walke
da90: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  r.lo:.$(TOP)\src
daa0: 5c 77 61 6c 6b 65 72 2e 63 20 24 28 48 44 52 29  \walker.c $(HDR)
dab0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
dac0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
dad0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
dae0: 63 5c 77 61 6c 6b 65 72 2e 63 0a 0a 77 68 65 72  c\walker.c..wher
daf0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
db00: 5c 77 68 65 72 65 2e 63 20 24 28 48 44 52 29 0a  \where.c $(HDR).
db10: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
db20: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
db30: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
db40: 5c 77 68 65 72 65 2e 63 0a 0a 77 68 65 72 65 63  \where.c..wherec
db50: 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ode.lo:.$(TOP)\s
db60: 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 20 24  rc\wherecode.c $
db70: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
db80: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
db90: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
dba0: 50 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65  P)\src\wherecode
dbb0: 2e 63 0a 0a 77 68 65 72 65 65 78 70 72 2e 6c 6f  .c..whereexpr.lo
dbc0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65  :.$(TOP)\src\whe
dbd0: 72 65 65 78 70 72 2e 63 20 24 28 48 44 52 29 0a  reexpr.c $(HDR).
dbe0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
dbf0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
dc00: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
dc10: 5c 77 68 65 72 65 65 78 70 72 2e 63 0a 0a 74 63  \whereexpr.c..tc
dc20: 6c 73 71 6c 69 74 65 2e 6c 6f 3a 09 24 28 54 4f  lsqlite.lo:.$(TO
dc30: 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65  P)\src\tclsqlite
dc40: 2e 63 20 24 28 48 44 52 29 20 24 28 53 51 4c 49  .c $(HDR) $(SQLI
dc50: 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c  TE_TCL_DEP)..$(L
dc60: 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57  TCOMPILE) $(NO_W
dc70: 41 52 4e 29 20 2d 44 55 53 45 5f 54 43 4c 5f 53  ARN) -DUSE_TCL_S
dc80: 54 55 42 53 3d 31 20 2d 44 42 55 49 4c 44 5f 73  TUBS=1 -DBUILD_s
dc90: 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43  qlite -I$(TCLINC
dca0: 44 49 52 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  DIR) -c $(TOP)\s
dcb0: 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a  rc\tclsqlite.c..
dcc0: 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e  tclsqlite-shell.
dcd0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74  lo:.$(TOP)\src\t
dce0: 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 48 44 52  clsqlite.c $(HDR
dcf0: 29 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44  ) $(SQLITE_TCL_D
dd00: 45 50 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  EP)..$(LTCOMPILE
dd10: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 54  ) $(NO_WARN) -DT
dd20: 43 4c 53 48 20 2d 44 42 55 49 4c 44 5f 73 71 6c  CLSH -DBUILD_sql
dd30: 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49  ite -I$(TCLINCDI
dd40: 52 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  R) -c $(TOP)\src
dd50: 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63  \tclsqlite.c..tc
dd60: 6c 73 71 6c 69 74 65 33 2e 65 78 65 3a 09 74 63  lsqlite3.exe:.tc
dd70: 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f  lsqlite-shell.lo
dd80: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
dd90: 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52 45  QLITE3H) $(LIBRE
dda0: 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b  SOBJS)..$(LTLINK
ddb0: 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  ) $(SQLITE3C) /l
ddc0: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
ddd0: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c  (LTLINKOPTS) $(L
dde0: 54 4c 49 42 50 41 54 48 53 29 20 2f 4f 55 54 3a  TLIBPATHS) /OUT:
ddf0: 24 40 20 74 63 6c 73 71 6c 69 74 65 2d 73 68 65  $@ tclsqlite-she
de00: 6c 6c 2e 6c 6f 20 24 28 4c 49 42 52 45 53 4f 42  ll.lo $(LIBRESOB
de10: 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28  JS) $(LTLIBS) $(
de20: 54 4c 49 42 53 29 0a 0a 23 20 52 75 6c 65 73 20  TLIBS)..# Rules 
de30: 74 6f 20 62 75 69 6c 64 20 6f 70 63 6f 64 65 73  to build opcodes
de40: 2e 63 20 61 6e 64 20 6f 70 63 6f 64 65 73 2e 68  .c and opcodes.h
de50: 0a 23 0a 6f 70 63 6f 64 65 73 2e 63 3a 09 6f 70  .#.opcodes.c:.op
de60: 63 6f 64 65 73 2e 68 20 24 28 54 4f 50 29 5c 74  codes.h $(TOP)\t
de70: 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63  ool\mkopcodec.tc
de80: 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  l..$(TCLSH_CMD) 
de90: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70  $(TOP)\tool\mkop
dea0: 63 6f 64 65 63 2e 74 63 6c 20 6f 70 63 6f 64 65  codec.tcl opcode
deb0: 73 2e 68 20 3e 20 6f 70 63 6f 64 65 73 2e 63 0a  s.h > opcodes.c.
dec0: 0a 6f 70 63 6f 64 65 73 2e 68 3a 09 70 61 72 73  .opcodes.h:.pars
ded0: 65 2e 68 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  e.h $(TOP)\src\v
dee0: 64 62 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f  dbe.c $(TOP)\too
def0: 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 0a  l\mkopcodeh.tcl.
df00: 09 74 79 70 65 20 70 61 72 73 65 2e 68 20 24 28  .type parse.h $(
df10: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20  TOP)\src\vdbe.c 
df20: 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
df30: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63  (TOP)\tool\mkopc
df40: 6f 64 65 68 2e 74 63 6c 20 3e 20 6f 70 63 6f 64  odeh.tcl > opcod
df50: 65 73 2e 68 0a 0a 23 20 52 75 6c 65 73 20 74 6f  es.h..# Rules to
df60: 20 62 75 69 6c 64 20 70 61 72 73 65 2e 63 20 61   build parse.c a
df70: 6e 64 20 70 61 72 73 65 2e 68 20 2d 20 74 68 65  nd parse.h - the
df80: 20 6f 75 74 70 75 74 73 20 6f 66 20 6c 65 6d 6f   outputs of lemo
df90: 6e 2e 0a 23 0a 70 61 72 73 65 2e 68 3a 09 70 61  n..#.parse.h:.pa
dfa0: 72 73 65 2e 63 0a 0a 70 61 72 73 65 2e 63 3a 09  rse.c..parse.c:.
dfb0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65  $(TOP)\src\parse
dfc0: 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 54  .y lemon.exe $(T
dfd0: 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f  OP)\tool\addopco
dfe0: 64 65 73 2e 74 63 6c 0a 09 64 65 6c 20 2f 51 20  des.tcl..del /Q 
dff0: 70 61 72 73 65 2e 79 20 70 61 72 73 65 2e 68 20  parse.y parse.h 
e000: 70 61 72 73 65 2e 68 2e 74 65 6d 70 20 32 3e 4e  parse.h.temp 2>N
e010: 55 4c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c  UL..copy $(TOP)\
e020: 73 72 63 5c 70 61 72 73 65 2e 79 20 2e 0a 09 2e  src\parse.y ....
e030: 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51  \lemon.exe $(REQ
e040: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
e050: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(OPT_FEATURE_FL
e060: 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55  AGS) $(EXT_FEATU
e070: 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53  RE_FLAGS) $(OPTS
e080: 29 20 70 61 72 73 65 2e 79 0a 09 6d 6f 76 65 20  ) parse.y..move 
e090: 70 61 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e  parse.h parse.h.
e0a0: 74 65 6d 70 0a 09 24 28 54 43 4c 53 48 5f 43 4d  temp..$(TCLSH_CM
e0b0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61  D) $(TOP)\tool\a
e0c0: 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c 20 70 61  ddopcodes.tcl pa
e0d0: 72 73 65 2e 68 2e 74 65 6d 70 20 3e 20 70 61 72  rse.h.temp > par
e0e0: 73 65 2e 68 0a 0a 24 28 53 51 4c 49 54 45 33 48  se.h..$(SQLITE3H
e0f0: 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71  ):.$(TOP)\src\sq
e100: 6c 69 74 65 2e 68 2e 69 6e 20 24 28 54 4f 50 29  lite.h.in $(TOP)
e110: 5c 6d 61 6e 69 66 65 73 74 20 6d 6b 73 6f 75 72  \manifest mksour
e120: 63 65 69 64 2e 65 78 65 20 24 28 54 4f 50 29 5c  ceid.exe $(TOP)\
e130: 56 45 52 53 49 4f 4e 0a 09 24 28 54 43 4c 53 48  VERSION..$(TCLSH
e140: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
e150: 6c 5c 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c  l\mksqlite3h.tcl
e160: 20 24 28 54 4f 50 3a 5c 3d 2f 29 20 3e 20 24 28   $(TOP:\=/) > $(
e170: 53 51 4c 49 54 45 33 48 29 20 24 28 4d 4b 53 51  SQLITE3H) $(MKSQ
e180: 4c 49 54 45 33 48 5f 41 52 47 53 29 0a 0a 73 71  LITE3H_ARGS)..sq
e190: 6c 69 74 65 33 65 78 74 2e 68 3a 09 2e 74 61 72  lite3ext.h:..tar
e1a0: 67 65 74 5f 73 6f 75 72 63 65 0a 21 49 46 20 24  get_source.!IF $
e1b0: 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30  (USE_STDCALL)!=0
e1c0: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10)
e1d0: 21 3d 30 0a 09 74 79 70 65 20 74 73 72 63 5c 73  !=0..type tsrc\s
e1e0: 71 6c 69 74 65 33 65 78 74 2e 68 20 7c 20 24 28  qlite3ext.h | $(
e1f0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
e200: 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
e210: 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 5c  cl regsub "\(\*\
e220: 29 22 20 22 28 53 51 4c 49 54 45 5f 43 41 4c 4c  )" "(SQLITE_CALL
e230: 42 41 43 4b 20 2a 29 22 20 5c 0a 09 09 7c 20 24  BACK *)" \...| $
e240: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
e250: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
e260: 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a  tcl regsub "\(\*
e270: 22 20 22 28 53 51 4c 49 54 45 5f 41 50 49 43 41  " "(SQLITE_APICA
e280: 4c 4c 20 2a 22 20 3e 20 73 71 6c 69 74 65 33 65  LL *" > sqlite3e
e290: 78 74 2e 68 0a 09 63 6f 70 79 20 2f 59 20 73 71  xt.h..copy /Y sq
e2a0: 6c 69 74 65 33 65 78 74 2e 68 20 74 73 72 63 5c  lite3ext.h tsrc\
e2b0: 73 71 6c 69 74 65 33 65 78 74 2e 68 0a 21 45 4c  sqlite3ext.h.!EL
e2c0: 53 45 0a 09 63 6f 70 79 20 2f 59 20 74 73 72 63  SE..copy /Y tsrc
e2d0: 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20 73 71  \sqlite3ext.h sq
e2e0: 6c 69 74 65 33 65 78 74 2e 68 0a 21 45 4e 44 49  lite3ext.h.!ENDI
e2f0: 46 0a 0a 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68  F..mkkeywordhash
e300: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
e310: 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e  l\mkkeywordhash.
e320: 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57  c..$(BCC) $(NO_W
e330: 41 52 4e 29 20 2d 46 65 24 40 20 24 28 52 45 51  ARN) -Fe$@ $(REQ
e340: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
e350: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(OPT_FEATURE_FL
e360: 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55  AGS) $(EXT_FEATU
e370: 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53  RE_FLAGS) $(OPTS
e380: 29 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f  ) \...$(TOP)\too
e390: 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e  l\mkkeywordhash.
e3a0: 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  c /link $(LDFLAG
e3b0: 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53  S) $(NLTLINKOPTS
e3c0: 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29  ) $(NLTLIBPATHS)
e3d0: 0a 0a 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 3a  ..keywordhash.h:
e3e0: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b  .$(TOP)\tool\mkk
e3f0: 65 79 77 6f 72 64 68 61 73 68 2e 63 20 6d 6b 6b  eywordhash.c mkk
e400: 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65 0a 09  eywordhash.exe..
e410: 2e 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e  .\mkkeywordhash.
e420: 65 78 65 20 3e 20 6b 65 79 77 6f 72 64 68 61 73  exe > keywordhas
e430: 68 2e 68 0a 0a 23 20 53 6f 75 72 63 65 20 66 69  h.h..# Source fi
e440: 6c 65 73 20 74 68 61 74 20 67 6f 20 69 6e 74 6f  les that go into
e450: 20 6d 61 6b 69 6e 67 20 73 68 65 6c 6c 2e 63 0a   making shell.c.
e460: 53 48 45 4c 4c 5f 53 52 43 20 3d 20 5c 0a 09 24  SHELL_SRC = \..$
e470: 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e  (TOP)\src\shell.
e480: 63 2e 69 6e 20 5c 0a 09 24 28 54 4f 50 29 5c 65  c.in \..$(TOP)\e
e490: 78 74 5c 6d 69 73 63 5c 73 68 61 74 68 72 65 65  xt\misc\shathree
e4a0: 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74  .c \..$(TOP)\ext
e4b0: 5c 6d 69 73 63 5c 66 69 6c 65 69 6f 2e 63 20 5c  \misc\fileio.c \
e4c0: 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  ..$(TOP)\ext\mis
e4d0: 63 5c 63 6f 6d 70 6c 65 74 69 6f 6e 2e 63 0a 0a  c\completion.c..
e4e0: 73 68 65 6c 6c 2e 63 3a 09 24 28 53 48 45 4c 4c  shell.c:.$(SHELL
e4f0: 5f 53 52 43 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _SRC) $(TOP)\too
e500: 6c 5c 6d 6b 73 68 65 6c 6c 63 2e 74 63 6c 0a 09  l\mkshellc.tcl..
e510: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
e520: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 68 65 6c 6c  OP)\tool\mkshell
e530: 63 2e 74 63 6c 20 3e 20 73 68 65 6c 6c 2e 63 0a  c.tcl > shell.c.
e540: 0a 7a 6c 69 62 3a 0a 09 70 75 73 68 64 20 24 28  .zlib:..pushd $(
e550: 5a 4c 49 42 44 49 52 29 20 26 26 20 24 28 4d 41  ZLIBDIR) && $(MA
e560: 4b 45 29 20 2f 66 20 77 69 6e 33 32 5c 4d 61 6b  KE) /f win32\Mak
e570: 65 66 69 6c 65 2e 6d 73 63 20 24 28 5a 4c 49 42  efile.msc $(ZLIB
e580: 4c 49 42 29 20 26 26 20 70 6f 70 64 0a 0a 23 20  LIB) && popd..# 
e590: 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74  Rules to build t
e5a0: 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 6f 62 6a  he extension obj
e5b0: 65 63 74 73 2e 0a 23 0a 69 63 75 2e 6c 6f 3a 09  ects..#.icu.lo:.
e5c0: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69  $(TOP)\ext\icu\i
e5d0: 63 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  cu.c $(HDR) $(EX
e5e0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
e5f0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
e600: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
e610: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
e620: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
e630: 69 63 75 5c 69 63 75 2e 63 0a 0a 66 74 73 32 2e  icu\icu.c..fts2.
e640: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
e650: 74 73 32 5c 66 74 73 32 2e 63 20 24 28 48 44 52  ts2\fts2.c $(HDR
e660: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
e670: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
e680: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
e690: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
e6a0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
e6b0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e  )\ext\fts2\fts2.
e6c0: 63 0a 0a 66 74 73 32 5f 68 61 73 68 2e 6c 6f 3a  c..fts2_hash.lo:
e6d0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32  .$(TOP)\ext\fts2
e6e0: 5c 66 74 73 32 5f 68 61 73 68 2e 63 20 24 28 48  \fts2_hash.c $(H
e6f0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
e700: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
e710: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
e720: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
e730: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
e740: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
e750: 32 5f 68 61 73 68 2e 63 0a 0a 66 74 73 32 5f 69  2_hash.c..fts2_i
e760: 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  cu.lo:.$(TOP)\ex
e770: 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e  t\fts2\fts2_icu.
e780: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
e790: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e7a0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
e7b0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
e7c0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
e7d0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
e7e0: 32 5c 66 74 73 32 5f 69 63 75 2e 63 0a 0a 66 74  2\fts2_icu.c..ft
e7f0: 73 32 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28  s2_porter.lo:.$(
e800: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
e810: 73 32 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 44  s2_porter.c $(HD
e820: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
e830: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
e840: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
e850: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
e860: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
e870: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
e880: 5f 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73 32 5f  _porter.c..fts2_
e890: 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28  tokenizer.lo:.$(
e8a0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
e8b0: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24  s2_tokenizer.c $
e8c0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
e8d0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
e8e0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e8f0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
e900: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
e910: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
e920: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a  ts2_tokenizer.c.
e930: 0a 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31  .fts2_tokenizer1
e940: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
e950: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69  fts2\fts2_tokeni
e960: 7a 65 72 31 2e 63 20 24 28 48 44 52 29 20 24 28  zer1.c $(HDR) $(
e970: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
e980: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
e990: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
e9a0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
e9b0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
e9c0: 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65  t\fts2\fts2_toke
e9d0: 6e 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33 2e 6c  nizer1.c..fts3.l
e9e0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
e9f0: 73 33 5c 66 74 73 33 2e 63 20 24 28 48 44 52 29  s3\fts3.c $(HDR)
ea00: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
ea10: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
ea20: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
ea30: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
ea40: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
ea50: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63  \ext\fts3\fts3.c
ea60: 0a 0a 66 74 73 33 5f 61 75 78 2e 6c 6f 3a 09 24  ..fts3_aux.lo:.$
ea70: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
ea80: 74 73 33 5f 61 75 78 2e 63 20 24 28 48 44 52 29  ts3_aux.c $(HDR)
ea90: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
eaa0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
eab0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
eac0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
ead0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
eae0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61  \ext\fts3\fts3_a
eaf0: 75 78 2e 63 0a 0a 66 74 73 33 5f 65 78 70 72 2e  ux.c..fts3_expr.
eb00: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
eb10: 74 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 20  ts3\fts3_expr.c 
eb20: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
eb30: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
eb40: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
eb50: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
eb60: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
eb70: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
eb80: 66 74 73 33 5f 65 78 70 72 2e 63 0a 0a 66 74 73  fts3_expr.c..fts
eb90: 33 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50  3_hash.lo:.$(TOP
eba0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
ebb0: 68 61 73 68 2e 63 20 24 28 48 44 52 29 20 24 28  hash.c $(HDR) $(
ebc0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
ebd0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
ebe0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
ebf0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
ec00: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
ec10: 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68  t\fts3\fts3_hash
ec20: 2e 63 0a 0a 66 74 73 33 5f 69 63 75 2e 6c 6f 3a  .c..fts3_icu.lo:
ec30: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
ec40: 5c 66 74 73 33 5f 69 63 75 2e 63 20 24 28 48 44  \fts3_icu.c $(HD
ec50: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
ec60: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
ec70: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
ec80: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
ec90: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
eca0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
ecb0: 5f 69 63 75 2e 63 0a 0a 66 74 73 33 5f 73 6e 69  _icu.c..fts3_sni
ecc0: 70 70 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  ppet.lo:.$(TOP)\
ecd0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e  ext\fts3\fts3_sn
ece0: 69 70 70 65 74 2e 63 20 24 28 48 44 52 29 20 24  ippet.c $(HDR) $
ecf0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
ed00: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
ed10: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
ed20: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
ed30: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
ed40: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69  xt\fts3\fts3_sni
ed50: 70 70 65 74 2e 63 0a 0a 66 74 73 33 5f 70 6f 72  ppet.c..fts3_por
ed60: 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ter.lo:.$(TOP)\e
ed70: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72  xt\fts3\fts3_por
ed80: 74 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45  ter.c $(HDR) $(E
ed90: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
eda0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
edb0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
edc0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
edd0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
ede0: 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65  \fts3\fts3_porte
edf0: 72 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69  r.c..fts3_tokeni
ee00: 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  zer.lo:.$(TOP)\e
ee10: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
ee20: 65 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20  enizer.c $(HDR) 
ee30: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
ee40: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
ee50: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
ee60: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
ee70: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
ee80: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
ee90: 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 33 5f  kenizer.c..fts3_
eea0: 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24  tokenizer1.lo:.$
eeb0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
eec0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63  ts3_tokenizer1.c
eed0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
eee0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
eef0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
ef00: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
ef10: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
ef20: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
ef30: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31  \fts3_tokenizer1
ef40: 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  .c..fts3_tokeniz
ef50: 65 5f 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50  e_vtab.lo:.$(TOP
ef60: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
ef70: 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 20  tokenize_vtab.c 
ef80: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
ef90: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
efa0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
efb0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
efc0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
efd0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
efe0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74  fts3_tokenize_vt
eff0: 61 62 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f  ab.c..fts3_unico
f000: 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  de.lo:.$(TOP)\ex
f010: 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63  t\fts3\fts3_unic
f020: 6f 64 65 2e 63 20 24 28 48 44 52 29 20 24 28 45  ode.c $(HDR) $(E
f030: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
f040: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
f050: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
f060: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
f070: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
f080: 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f  \fts3\fts3_unico
f090: 64 65 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f  de.c..fts3_unico
f0a0: 64 65 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  de2.lo:.$(TOP)\e
f0b0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69  xt\fts3\fts3_uni
f0c0: 63 6f 64 65 32 2e 63 20 24 28 48 44 52 29 20 24  code2.c $(HDR) $
f0d0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
f0e0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
f0f0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
f100: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
f110: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
f120: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69  xt\fts3\fts3_uni
f130: 63 6f 64 65 32 2e 63 0a 0a 66 74 73 33 5f 77 72  code2.c..fts3_wr
f140: 69 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ite.lo:.$(TOP)\e
f150: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69  xt\fts3\fts3_wri
f160: 74 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  te.c $(HDR) $(EX
f170: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
f180: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
f190: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
f1a0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
f1b0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
f1c0: 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65 2e  fts3\fts3_write.
f1d0: 63 0a 0a 72 74 72 65 65 2e 6c 6f 3a 09 24 28 54  c..rtree.lo:.$(T
f1e0: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74  OP)\ext\rtree\rt
f1f0: 72 65 65 2e 63 20 24 28 48 44 52 29 20 24 28 45  ree.c $(HDR) $(E
f200: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
f210: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
f220: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
f230: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
f240: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
f250: 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 63 0a 0a  \rtree\rtree.c..
f260: 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 6c  sqlite3session.l
f270: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 73 65  o:.$(TOP)\ext\se
f280: 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73  ssion\sqlite3ses
f290: 73 69 6f 6e 2e 63 20 24 28 48 44 52 29 20 24 28  sion.c $(HDR) $(
f2a0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
f2b0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
f2c0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
f2d0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
f2e0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
f2f0: 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65  t\session\sqlite
f300: 33 73 65 73 73 69 6f 6e 2e 63 0a 0a 23 20 46 54  3session.c..# FT
f310: 53 35 20 74 68 69 6e 67 73 0a 23 0a 46 54 53 35  S5 things.#.FTS5
f320: 5f 53 52 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f  _SRC = \.   $(TO
f330: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
f340: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .h \.   $(TOP)\e
f350: 78 74 5c 66 74 73 35 5c 66 74 73 35 49 6e 74 2e  xt\fts5\fts5Int.
f360: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  h \.   $(TOP)\ex
f370: 74 5c 66 74 73 35 5c 66 74 73 35 5f 61 75 78 2e  t\fts5\fts5_aux.
f380: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex
f390: 74 5c 66 74 73 35 5c 66 74 73 35 5f 62 75 66 66  t\fts5\fts5_buff
f3a0: 65 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  er.c \.   $(TOP)
f3b0: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 6d  \ext\fts5\fts5_m
f3c0: 61 69 6e 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  ain.c \.   $(TOP
f3d0: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
f3e0: 63 6f 6e 66 69 67 2e 63 20 5c 0a 20 20 20 24 28  config.c \.   $(
f3f0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
f400: 73 35 5f 65 78 70 72 2e 63 20 5c 0a 20 20 20 24  s5_expr.c \.   $
f410: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
f420: 74 73 35 5f 68 61 73 68 2e 63 20 5c 0a 20 20 20  ts5_hash.c \.   
f430: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\
f440: 66 74 73 35 5f 69 6e 64 65 78 2e 63 20 5c 0a 20  fts5_index.c \. 
f450: 20 20 66 74 73 35 70 61 72 73 65 2e 63 20 66 74    fts5parse.c ft
f460: 73 35 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 24  s5parse.h \.   $
f470: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
f480: 74 73 35 5f 73 74 6f 72 61 67 65 2e 63 20 5c 0a  ts5_storage.c \.
f490: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
f4a0: 73 35 5c 66 74 73 35 5f 74 6f 6b 65 6e 69 7a 65  s5\fts5_tokenize
f4b0: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e
f4c0: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 75 6e 69  xt\fts5\fts5_uni
f4d0: 63 6f 64 65 32 2e 63 20 5c 0a 20 20 20 24 28 54  code2.c \.   $(T
f4e0: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
f4f0: 35 5f 76 61 72 69 6e 74 2e 63 20 5c 0a 20 20 20  5_varint.c \.   
f500: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\
f510: 66 74 73 35 5f 76 6f 63 61 62 2e 63 0a 0a 4c 53  fts5_vocab.c..LS
f520: 4d 31 5f 53 52 43 20 3d 20 5c 0a 20 20 20 24 28  M1_SRC = \.   $(
f530: 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73  TOP)\ext\lsm1\ls
f540: 6d 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  m.h \.   $(TOP)\
f550: 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 49 6e 74 2e  ext\lsm1\lsmInt.
f560: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  h \.   $(TOP)\ex
f570: 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 63 6b 70 74 2e  t\lsm1\lsm_ckpt.
f580: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex
f590: 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 66 69 6c 65 2e  t\lsm1\lsm_file.
f5a0: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex
f5b0: 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6c 6f 67 2e 63  t\lsm1\lsm_log.c
f5c0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
f5d0: 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d 61 69 6e 2e 63  \lsm1\lsm_main.c
f5e0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
f5f0: 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d 65 6d 2e 63 20  \lsm1\lsm_mem.c 
f600: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
f610: 6c 73 6d 31 5c 6c 73 6d 5f 6d 75 74 65 78 2e 63  lsm1\lsm_mutex.c
f620: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
f630: 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 68 61 72 65 64  \lsm1\lsm_shared
f640: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e
f650: 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 6f 72 74  xt\lsm1\lsm_sort
f660: 65 64 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  ed.c \.   $(TOP)
f670: 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 74  \ext\lsm1\lsm_st
f680: 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  r.c \.   $(TOP)\
f690: 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 74 72 65  ext\lsm1\lsm_tre
f6a0: 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  e.c \.   $(TOP)\
f6b0: 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 75 6e 69  ext\lsm1\lsm_uni
f6c0: 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  x.c \.   $(TOP)\
f6d0: 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 76 61 72  ext\lsm1\lsm_var
f6e0: 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  int.c \.   $(TOP
f6f0: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 76  )\ext\lsm1\lsm_v
f700: 74 61 62 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  tab.c \.   $(TOP
f710: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 77  )\ext\lsm1\lsm_w
f720: 69 6e 33 32 2e 63 0a 0a 66 74 73 35 70 61 72 73  in32.c..fts5pars
f730: 65 2e 63 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  e.c:.$(TOP)\ext\
f740: 66 74 73 35 5c 66 74 73 35 70 61 72 73 65 2e 79  fts5\fts5parse.y
f750: 20 6c 65 6d 6f 6e 2e 65 78 65 0a 09 63 6f 70 79   lemon.exe..copy
f760: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
f770: 5c 66 74 73 35 70 61 72 73 65 2e 79 20 2e 0a 09  \fts5parse.y ...
f780: 64 65 6c 20 2f 51 20 66 74 73 35 70 61 72 73 65  del /Q fts5parse
f790: 2e 68 20 32 3e 4e 55 4c 0a 09 2e 5c 6c 65 6d 6f  .h 2>NUL...\lemo
f7a0: 6e 2e 65 78 65 20 24 28 52 45 51 5f 46 45 41 54  n.exe $(REQ_FEAT
f7b0: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54  URE_FLAGS) $(OPT
f7c0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
f7d0: 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(EXT_FEATURE_FL
f7e0: 41 47 53 29 20 24 28 4f 50 54 53 29 20 66 74 73  AGS) $(OPTS) fts
f7f0: 35 70 61 72 73 65 2e 79 0a 0a 66 74 73 35 70 61  5parse.y..fts5pa
f800: 72 73 65 2e 68 3a 09 66 74 73 35 70 61 72 73 65  rse.h:.fts5parse
f810: 2e 63 0a 0a 66 74 73 35 2e 63 3a 09 24 28 46 54  .c..fts5.c:.$(FT
f820: 53 35 5f 53 52 43 29 0a 09 24 28 54 43 4c 53 48  S5_SRC)..$(TCLSH
f830: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 65 78 74  _CMD) $(TOP)\ext
f840: 5c 66 74 73 35 5c 74 6f 6f 6c 5c 6d 6b 66 74 73  \fts5\tool\mkfts
f850: 35 63 2e 74 63 6c 0a 09 63 6f 70 79 20 24 28 54  5c.tcl..copy $(T
f860: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
f870: 35 2e 68 20 2e 0a 0a 6c 73 6d 31 2e 63 3a 09 24  5.h ...lsm1.c:.$
f880: 28 4c 53 4d 31 5f 53 52 43 29 0a 09 24 28 54 43  (LSM1_SRC)..$(TC
f890: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
f8a0: 65 78 74 5c 6c 73 6d 31 5c 74 6f 6f 6c 5c 6d 6b  ext\lsm1\tool\mk
f8b0: 6c 73 6d 31 63 2e 74 63 6c 0a 09 63 6f 70 79 20  lsm1c.tcl..copy 
f8c0: 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c  $(TOP)\ext\lsm1\
f8d0: 6c 73 6d 2e 68 20 2e 0a 0a 66 74 73 35 2e 6c 6f  lsm.h ...fts5.lo
f8e0: 3a 09 66 74 73 35 2e 63 20 24 28 48 44 52 29 20  :.fts5.c $(HDR) 
f8f0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
f900: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
f910: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
f920: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
f930: 5f 43 4f 52 45 20 2d 63 20 66 74 73 35 2e 63 0a  _CORE -c fts5.c.
f940: 0a 66 74 73 35 5f 65 78 74 2e 6c 6f 3a 09 66 74  .fts5_ext.lo:.ft
f950: 73 35 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  s5.c $(HDR) $(EX
f960: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
f970: 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  LE) $(NO_WARN) -
f980: 63 20 66 74 73 35 2e 63 0a 0a 66 74 73 35 2e 64  c fts5.c..fts5.d
f990: 6c 6c 3a 09 66 74 73 35 5f 65 78 74 2e 6c 6f 0a  ll:.fts5_ext.lo.
f9a0: 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53  .$(LD) $(LDFLAGS
f9b0: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  ) $(LTLINKOPTS) 
f9c0: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44  $(LTLIBPATHS) /D
f9d0: 4c 4c 20 2f 4f 55 54 3a 24 40 20 66 74 73 35 5f  LL /OUT:$@ fts5_
f9e0: 65 78 74 2e 6c 6f 0a 0a 73 71 6c 69 74 65 33 72  ext.lo..sqlite3r
f9f0: 62 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  bu.lo:.$(TOP)\ex
fa00: 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75  t\rbu\sqlite3rbu
fa10: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
fa20: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
fa30: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
fa40: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62  -c $(TOP)\ext\rb
fa50: 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 0a 0a  u\sqlite3rbu.c..
fa60: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64  # Rules to build
fa70: 20 74 68 65 20 27 74 65 73 74 66 69 78 74 75 72   the 'testfixtur
fa80: 65 27 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a  e' application..
fa90: 23 0a 23 20 49 66 20 75 73 69 6e 67 20 74 68 65  #.# If using the
faa0: 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2c 20 75   amalgamation, u
fab0: 73 65 20 73 71 6c 69 74 65 33 2e 63 20 64 69 72  se sqlite3.c dir
fac0: 65 63 74 6c 79 20 74 6f 20 62 75 69 6c 64 20 74  ectly to build t
fad0: 68 65 20 74 65 73 74 0a 23 20 66 69 78 74 75 72  he test.# fixtur
fae0: 65 2e 20 20 4f 74 68 65 72 77 69 73 65 20 6c 69  e.  Otherwise li
faf0: 6e 6b 20 61 67 61 69 6e 73 74 20 6c 69 62 73 71  nk against libsq
fb00: 6c 69 74 65 33 2e 6c 69 62 2e 20 20 28 54 68 69  lite3.lib.  (Thi
fb10: 73 20 64 69 73 74 69 6e 63 74 69 6f 6e 20 69 73  s distinction is
fb20: 0a 23 20 6e 65 63 65 73 73 61 72 79 20 62 65 63  .# necessary bec
fb30: 61 75 73 65 20 74 68 65 20 74 65 73 74 20 66 69  ause the test fi
fb40: 78 74 75 72 65 20 72 65 71 75 69 72 65 73 20 6e  xture requires n
fb50: 6f 6e 2d 41 50 49 20 73 79 6d 62 6f 6c 73 20 77  on-API symbols w
fb60: 68 69 63 68 20 61 72 65 0a 23 20 68 69 64 64 65  hich are.# hidde
fb70: 6e 20 77 68 65 6e 20 74 68 65 20 6c 69 62 72 61  n when the libra
fb80: 72 79 20 69 73 20 62 75 69 6c 74 20 76 69 61 20  ry is built via 
fb90: 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  the amalgamation
fba0: 29 2e 0a 23 0a 54 45 53 54 46 49 58 54 55 52 45  )..#.TESTFIXTURE
fbb0: 5f 46 4c 41 47 53 20 3d 20 2d 44 54 43 4c 53 48  _FLAGS = -DTCLSH
fbc0: 5f 49 4e 49 54 5f 50 52 4f 43 3d 73 71 6c 69 74  _INIT_PROC=sqlit
fbd0: 65 33 54 65 73 74 49 6e 69 74 20 2d 44 53 51 4c  e3TestInit -DSQL
fbe0: 49 54 45 5f 54 45 53 54 3d 31 20 2d 44 53 51 4c  ITE_TEST=1 -DSQL
fbf0: 49 54 45 5f 43 52 41 53 48 5f 54 45 53 54 3d 31  ITE_CRASH_TEST=1
fc00: 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  .TESTFIXTURE_FLA
fc10: 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55  GS = $(TESTFIXTU
fc20: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
fc30: 54 45 5f 53 45 52 56 45 52 3d 31 20 2d 44 53 51  TE_SERVER=1 -DSQ
fc40: 4c 49 54 45 5f 50 52 49 56 41 54 45 3d 22 22 0a  LITE_PRIVATE="".
fc50: 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
fc60: 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52  S = $(TESTFIXTUR
fc70: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
fc80: 45 5f 43 4f 52 45 20 24 28 4e 4f 5f 57 41 52 4e  E_CORE $(NO_WARN
fc90: 29 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  ).TESTFIXTURE_FL
fca0: 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54  AGS = $(TESTFIXT
fcb0: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
fcc0: 49 54 45 5f 53 45 52 49 45 53 5f 43 4f 4e 53 54  ITE_SERIES_CONST
fcd0: 52 41 49 4e 54 5f 56 45 52 49 46 59 3d 31 0a 54  RAINT_VERIFY=1.T
fce0: 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
fcf0: 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45   = $(TESTFIXTURE
fd00: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
fd10: 5f 44 45 46 41 55 4c 54 5f 50 41 47 45 5f 53 49  _DEFAULT_PAGE_SI
fd20: 5a 45 3d 31 30 32 34 0a 54 45 53 54 46 49 58 54  ZE=1024.TESTFIXT
fd30: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45  URE_FLAGS = $(TE
fd40: 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29  STFIXTURE_FLAGS)
fd50: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
fd60: 5f 53 54 4d 54 56 54 41 42 0a 54 45 53 54 46 49  _STMTVTAB.TESTFI
fd70: 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  XTURE_FLAGS = $(
fd80: 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
fd90: 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
fda0: 4c 45 5f 44 42 50 41 47 45 5f 56 54 41 42 0a 54  LE_DBPAGE_VTAB.T
fdb0: 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
fdc0: 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45   = $(TESTFIXTURE
fdd0: 5f 46 4c 41 47 53 29 20 24 28 54 45 53 54 5f 43  _FLAGS) $(TEST_C
fde0: 43 4f 4e 56 5f 4f 50 54 53 29 0a 0a 54 45 53 54  CONV_OPTS)..TEST
fdf0: 46 49 58 54 55 52 45 5f 53 52 43 30 20 3d 20 24  FIXTURE_SRC0 = $
fe00: 28 54 45 53 54 45 58 54 29 20 24 28 54 45 53 54  (TESTEXT) $(TEST
fe10: 53 52 43 32 29 0a 54 45 53 54 46 49 58 54 55 52  SRC2).TESTFIXTUR
fe20: 45 5f 53 52 43 31 20 3d 20 24 28 54 45 53 54 45  E_SRC1 = $(TESTE
fe30: 58 54 29 20 24 28 53 51 4c 49 54 45 33 43 29 0a  XT) $(SQLITE3C).
fe40: 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41  !IF $(USE_AMALGA
fe50: 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 45 53 54 46  MATION)==0.TESTF
fe60: 49 58 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54  IXTURE_SRC = $(T
fe70: 45 53 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73  ESTSRC) $(TOP)\s
fe80: 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24  rc\tclsqlite.c $
fe90: 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43  (TESTFIXTURE_SRC
fea0: 30 29 0a 21 45 4c 53 45 0a 54 45 53 54 46 49 58  0).!ELSE.TESTFIX
feb0: 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54 45 53  TURE_SRC = $(TES
fec0: 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73 72 63  TSRC) $(TOP)\src
fed0: 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54  \tclsqlite.c $(T
fee0: 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 31 29  ESTFIXTURE_SRC1)
fef0: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 55  .!ENDIF..!IF $(U
ff00: 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c  SE_STDCALL)!=0 |
ff10: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
ff20: 30 0a 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c  0.sqlite_tclDecl
ff30: 73 2e 68 3a 0a 09 65 63 68 6f 20 23 69 66 6e 64  s.h:..echo #ifnd
ff40: 65 66 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49  ef SQLITE_TCLAPI
ff50: 20 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45   > $(SQLITETCLDE
ff60: 43 4c 53 48 29 0a 09 65 63 68 6f 20 23 20 20 64  CLSH)..echo #  d
ff70: 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 54 43 4c  efine SQLITE_TCL
ff80: 41 50 49 20 3e 3e 20 24 28 53 51 4c 49 54 45 54  API >> $(SQLITET
ff90: 43 4c 44 45 43 4c 53 48 29 0a 09 65 63 68 6f 20  CLDECLSH)..echo 
ffa0: 23 65 6e 64 69 66 20 3e 3e 20 24 28 53 51 4c 49  #endif >> $(SQLI
ffb0: 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 74 79  TETCLDECLSH)..ty
ffc0: 70 65 20 22 24 28 54 43 4c 49 4e 43 44 49 52 29  pe "$(TCLINCDIR)
ffd0: 5c 74 63 6c 44 65 63 6c 73 2e 68 22 20 5c 0a 09  \tclDecls.h" \..
ffe0: 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  .| $(TCLSH_CMD) 
fff0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl
10000 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22  ace.tcl regsub "
10010 5e 28 45 58 54 45 52 4e 28 3f 3a 20 43 4f 4e 53  ^(EXTERN(?: CONS
10020 54 5c 64 2b 3f 29 3f 5c 73 2b 3f 5b 5e 5c 28 5d  T\d+?)?\s+?[^\(]
10030 2a 3f 5c 73 2b 3f 29 54 63 6c 5f 22 20 22 5c 31  *?\s+?)Tcl_" "\1
10040 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54   SQLITE_TCLAPI T
10050 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c  cl_" \...| $(TCL
10060 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
10070 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20  ool\replace.tcl 
10080 72 65 67 73 75 62 20 22 5e 28 45 58 54 45 52 4e  regsub "^(EXTERN
10090 5c 73 2b 3f 28 3f 3a 76 6f 69 64 7c 56 4f 49 44  \s+?(?:void|VOID
100a0 29 5c 73 2b 3f 29 54 63 6c 46 72 65 65 4f 62 6a  )\s+?)TclFreeObj
100b0 22 20 22 5c 31 20 53 51 4c 49 54 45 5f 54 43 4c  " "\1 SQLITE_TCL
100c0 41 50 49 20 54 63 6c 46 72 65 65 4f 62 6a 22 20  API TclFreeObj" 
100d0 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM
100e0 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r
100f0 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75  eplace.tcl regsu
10100 62 20 22 5c 28 5c 2a 74 63 6c 5f 22 20 22 28 53  b "\(\*tcl_" "(S
10110 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 74 63  QLITE_TCLAPI *tc
10120 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53  l_" \...| $(TCLS
10130 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
10140 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72  ol\replace.tcl r
10150 65 67 73 75 62 20 22 5c 28 5c 2a 74 63 6c 46 72  egsub "\(\*tclFr
10160 65 65 4f 62 6a 22 20 22 28 53 51 4c 49 54 45 5f  eeObj" "(SQLITE_
10170 54 43 4c 41 50 49 20 2a 74 63 6c 46 72 65 65 4f  TCLAPI *tclFreeO
10180 62 6a 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53  bj" \...| $(TCLS
10190 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
101a0 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72  ol\replace.tcl r
101b0 65 67 73 75 62 20 22 5c 28 5c 2a 22 20 22 28 53  egsub "\(\*" "(S
101c0 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 22 20  QLITE_TCLAPI *" 
101d0 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45  >> $(SQLITETCLDE
101e0 43 4c 53 48 29 0a 0a 73 71 6c 69 74 65 5f 74 63  CLSH)..sqlite_tc
101f0 6c 2e 68 3a 0a 09 74 79 70 65 20 22 24 28 54 43  l.h:..type "$(TC
10200 4c 49 4e 43 44 49 52 29 5c 74 63 6c 2e 68 22 20  LINCDIR)\tcl.h" 
10210 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
10220 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
10230 63 65 2e 74 63 6c 20 65 78 61 63 74 20 74 63 6c  ce.tcl exact tcl
10240 44 65 63 6c 73 2e 68 20 73 71 6c 69 74 65 5f 74  Decls.h sqlite_t
10250 63 6c 44 65 63 6c 73 2e 68 20 5c 0a 09 09 7c 20  clDecls.h \...| 
10260 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
10270 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
10280 2e 74 63 6c 20 72 65 67 73 75 62 20 22 74 79 70  .tcl regsub "typ
10290 65 64 65 66 20 28 2e 2a 3f 29 5c 28 54 63 6c 5f  edef (.*?)\(Tcl_
102a0 22 20 22 74 79 70 65 64 65 66 20 5c 31 20 28 53  " "typedef \1 (S
102b0 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c  QLITE_TCLAPI Tcl
102c0 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48  _" \...| $(TCLSH
102d0 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
102e0 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78  l\replace.tcl ex
102f0 61 63 74 20 22 76 6f 69 64 20 28 2a 66 72 65 65  act "void (*free
10300 50 72 6f 63 29 22 20 22 76 6f 69 64 20 28 53 51  Proc)" "void (SQ
10310 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 72 65  LITE_TCLAPI *fre
10320 65 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 24 28  eProc)" \...| $(
10330 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
10340 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
10350 63 6c 20 65 78 61 63 74 20 22 54 63 6c 5f 48 61  cl exact "Tcl_Ha
10360 73 68 45 6e 74 72 79 20 2a 28 2a 66 69 6e 64 50  shEntry *(*findP
10370 72 6f 63 29 22 20 22 54 63 6c 5f 48 61 73 68 45  roc)" "Tcl_HashE
10380 6e 74 72 79 20 2a 28 53 51 4c 49 54 45 5f 54 43  ntry *(SQLITE_TC
10390 4c 41 50 49 20 2a 66 69 6e 64 50 72 6f 63 29 22  LAPI *findProc)"
103a0 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43   \...| $(TCLSH_C
103b0 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
103c0 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63  replace.tcl exac
103d0 74 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79  t "Tcl_HashEntry
103e0 20 2a 28 2a 63 72 65 61 74 65 50 72 6f 63 29 22   *(*createProc)"
103f0 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20   "Tcl_HashEntry 
10400 2a 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20  *(SQLITE_TCLAPI 
10410 2a 63 72 65 61 74 65 50 72 6f 63 29 22 20 3e 3e  *createProc)" >>
10420 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21   $(SQLITETCLH).!
10430 45 4e 44 49 46 0a 0a 74 65 73 74 66 69 78 74 75  ENDIF..testfixtu
10440 72 65 2e 65 78 65 3a 09 24 28 54 45 53 54 46 49  re.exe:.$(TESTFI
10450 58 54 55 52 45 5f 53 52 43 29 20 24 28 53 51 4c  XTURE_SRC) $(SQL
10460 49 54 45 33 48 29 20 24 28 4c 49 42 52 45 53 4f  ITE3H) $(LIBRESO
10470 42 4a 53 29 20 24 28 48 44 52 29 20 24 28 53 51  BJS) $(HDR) $(SQ
10480 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24  LITE_TCL_DEP)..$
10490 28 4c 54 4c 49 4e 4b 29 20 2d 44 53 51 4c 49 54  (LTLINK) -DSQLIT
104a0 45 5f 4e 4f 5f 53 59 4e 43 3d 31 20 24 28 54 45  E_NO_SYNC=1 $(TE
104b0 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29  STFIXTURE_FLAGS)
104c0 20 5c 0a 09 09 2d 44 42 55 49 4c 44 5f 73 71 6c   \...-DBUILD_sql
104d0 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49  ite -I$(TCLINCDI
104e0 52 29 20 5c 0a 09 09 24 28 54 45 53 54 46 49 58  R) \...$(TESTFIX
104f0 54 55 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c  TURE_SRC) \.../l
10500 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
10510 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c  (LTLINKOPTS) $(L
10520 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42  TLIBPATHS) $(LIB
10530 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42  RESOBJS) $(LTLIB
10540 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 65 78 74  S) $(TLIBS)..ext
10550 65 6e 73 69 6f 6e 74 65 73 74 3a 09 74 65 73 74  ensiontest:.test
10560 66 69 78 74 75 72 65 2e 65 78 65 20 74 65 73 74  fixture.exe test
10570 6c 6f 61 64 65 78 74 2e 64 6c 6c 0a 09 40 73 65  loadext.dll..@se
10580 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50  t PATH=$(LIBTCLP
10590 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c  ATH);$(PATH)...\
105a0 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe 
105b0 24 28 54 4f 50 29 5c 74 65 73 74 5c 6c 6f 61 64  $(TOP)\test\load
105c0 65 78 74 2e 74 65 73 74 20 24 28 54 45 53 54 4f  ext.test $(TESTO
105d0 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74 3a 09  PTS)..fulltest:.
105e0 24 28 54 45 53 54 50 52 4f 47 53 29 20 66 75 7a  $(TESTPROGS) fuz
105f0 7a 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 48  ztest..@set PATH
10600 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24  =$(LIBTCLPATH);$
10610 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69  (PATH)...\testfi
10620 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29  xture.exe $(TOP)
10630 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74 20 24  \test\all.test $
10640 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 6f 61 6b  (TESTOPTS)..soak
10650 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47  test:.$(TESTPROG
10660 53 29 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28  S)..@set PATH=$(
10670 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41  LIBTCLPATH);$(PA
10680 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75  TH)...\testfixtu
10690 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65  re.exe $(TOP)\te
106a0 73 74 5c 61 6c 6c 2e 74 65 73 74 20 2d 73 6f 61  st\all.test -soa
106b0 6b 3d 31 20 24 28 54 45 53 54 4f 50 54 53 29 0a  k=1 $(TESTOPTS).
106c0 0a 66 75 6c 6c 74 65 73 74 6f 6e 6c 79 3a 09 24  .fulltestonly:.$
106d0 28 54 45 53 54 50 52 4f 47 53 29 20 66 75 7a 7a  (TESTPROGS) fuzz
106e0 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d  test..@set PATH=
106f0 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28  $(LIBTCLPATH);$(
10700 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78  PATH)...\testfix
10710 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c  ture.exe $(TOP)\
10720 74 65 73 74 5c 66 75 6c 6c 2e 74 65 73 74 0a 0a  test\full.test..
10730 71 75 65 72 79 70 6c 61 6e 74 65 73 74 3a 09 74  queryplantest:.t
10740 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 73  estfixture.exe s
10750 68 65 6c 6c 0a 09 40 73 65 74 20 50 41 54 48 3d  hell..@set PATH=
10760 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28  $(LIBTCLPATH);$(
10770 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78  PATH)...\testfix
10780 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c  ture.exe $(TOP)\
10790 74 65 73 74 5c 70 65 72 6d 75 74 61 74 69 6f 6e  test\permutation
107a0 73 2e 74 65 73 74 20 71 75 65 72 79 70 6c 61 6e  s.test queryplan
107b0 6e 65 72 20 24 28 54 45 53 54 4f 50 54 53 29 0a  ner $(TESTOPTS).
107c0 0a 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63  .fuzztest:.fuzzc
107d0 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a  heck.exe...\fuzz
107e0 63 68 65 63 6b 2e 65 78 65 20 24 28 46 55 5a 5a  check.exe $(FUZZ
107f0 44 41 54 41 29 0a 0a 66 61 73 74 66 75 7a 7a 74  DATA)..fastfuzzt
10800 65 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b 2e 65  est:.fuzzcheck.e
10810 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e  xe...\fuzzcheck.
10820 65 78 65 20 2d 2d 6c 69 6d 69 74 2d 6d 65 6d 20  exe --limit-mem 
10830 31 30 30 4d 20 24 28 46 55 5a 5a 44 41 54 41 29  100M $(FUZZDATA)
10840 0a 0a 23 20 4d 69 6e 69 6d 61 6c 20 74 65 73 74  ..# Minimal test
10850 69 6e 67 20 74 68 61 74 20 72 75 6e 73 20 69 6e  ing that runs in
10860 20 6c 65 73 73 20 74 68 61 6e 20 33 20 6d 69 6e   less than 3 min
10870 75 74 65 73 20 28 6f 6e 20 61 20 66 61 73 74 20  utes (on a fast 
10880 6d 61 63 68 69 6e 65 29 0a 23 0a 71 75 69 63 6b  machine).#.quick
10890 74 65 73 74 3a 09 74 65 73 74 66 69 78 74 75 72  test:.testfixtur
108a0 65 2e 65 78 65 20 73 6f 75 72 63 65 74 65 73 74  e.exe sourcetest
108b0 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI
108c0 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH
108d0 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
108e0 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test
108f0 5c 65 78 74 72 61 71 75 69 63 6b 2e 74 65 73 74  \extraquick.test
10900 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 23 20   $(TESTOPTS)..# 
10910 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 6d 6d  This is the comm
10920 6f 6e 20 63 61 73 65 2e 20 20 52 75 6e 20 6d 61  on case.  Run ma
10930 6e 79 20 74 65 73 74 73 20 74 68 61 74 20 64 6f  ny tests that do
10940 20 6e 6f 74 20 74 61 6b 65 20 74 6f 6f 20 6c 6f   not take too lo
10950 6e 67 2c 0a 23 20 69 6e 63 6c 75 64 69 6e 67 20  ng,.# including 
10960 66 75 7a 7a 63 68 65 63 6b 2c 20 73 71 6c 69 74  fuzzcheck, sqlit
10970 65 33 5f 61 6e 61 6c 79 7a 65 72 2c 20 61 6e 64  e3_analyzer, and
10980 20 73 71 6c 64 69 66 66 20 74 65 73 74 73 2e 0a   sqldiff tests..
10990 23 0a 74 65 73 74 3a 09 24 28 54 45 53 54 50 52  #.test:.$(TESTPR
109a0 4f 47 53 29 20 73 6f 75 72 63 65 74 65 73 74 20  OGS) sourcetest 
109b0 66 61 73 74 66 75 7a 7a 74 65 73 74 0a 09 40 73  fastfuzztest..@s
109c0 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL
109d0 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)...
109e0 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
109f0 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 76 65 72   $(TOP)\test\ver
10a00 79 71 75 69 63 6b 2e 74 65 73 74 20 24 28 54 45  yquick.test $(TE
10a10 53 54 4f 50 54 53 29 0a 0a 73 6d 6f 6b 65 74 65  STOPTS)..smokete
10a20 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29  st:.$(TESTPROGS)
10a30 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI
10a40 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH
10a50 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
10a60 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test
10a70 5c 6d 61 69 6e 2e 74 65 73 74 20 24 28 54 45 53  \main.test $(TES
10a80 54 4f 50 54 53 29 0a 0a 73 71 6c 69 74 65 33 5f  TOPTS)..sqlite3_
10a90 61 6e 61 6c 79 7a 65 72 2e 63 3a 09 24 28 53 51  analyzer.c:.$(SQ
10aa0 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
10ab0 33 48 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  3H) $(TOP)\src\t
10ac0 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 4f 50  clsqlite.c $(TOP
10ad0 29 5c 74 6f 6f 6c 5c 73 70 61 63 65 61 6e 61 6c  )\tool\spaceanal
10ae0 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  .tcl $(TOP)\tool
10af0 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54  \mkccode.tcl $(T
10b00 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 69 74 65 33  OP)\tool\sqlite3
10b10 5f 61 6e 61 6c 79 7a 65 72 2e 63 2e 69 6e 20 24  _analyzer.c.in $
10b20 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29  (SQLITE_TCL_DEP)
10b30 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  ..$(TCLSH_CMD) $
10b40 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f  (TOP)\tool\mkcco
10b50 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f  de.tcl $(TOP)\to
10b60 6f 6c 5c 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79  ol\sqlite3_analy
10b70 7a 65 72 2e 63 2e 69 6e 20 3e 20 24 40 0a 0a 73  zer.c.in > $@..s
10b80 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
10b90 65 78 65 3a 09 73 71 6c 69 74 65 33 5f 61 6e 61  exe:.sqlite3_ana
10ba0 6c 79 7a 65 72 2e 63 20 24 28 4c 49 42 52 45 53  lyzer.c $(LIBRES
10bb0 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  OBJS)..$(LTLINK)
10bc0 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55   $(NO_WARN) -DBU
10bd0 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54  ILD_sqlite -I$(T
10be0 43 4c 49 4e 43 44 49 52 29 20 73 71 6c 69 74 65  CLINCDIR) sqlite
10bf0 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 5c 0a 09  3_analyzer.c \..
10c00 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53  ./link $(LDFLAGS
10c10 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  ) $(LTLINKOPTS) 
10c20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28  $(LTLIBPATHS) $(
10c30 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54  LIBRESOBJS) $(LT
10c40 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS)..
10c50 73 71 6c 69 74 65 33 5f 65 78 70 65 72 74 2e 65  sqlite3_expert.e
10c60 78 65 3a 20 24 28 53 51 4c 49 54 45 33 43 29 20  xe: $(SQLITE3C) 
10c70 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72  $(TOP)\ext\exper
10c80 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e  t\sqlite3expert.
10c90 68 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70  h $(TOP)\ext\exp
10ca0 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72  ert\sqlite3exper
10cb0 74 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 65  t.c $(TOP)\ext\e
10cc0 78 70 65 72 74 5c 65 78 70 65 72 74 2e 63 0a 09  xpert\expert.c..
10cd0 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
10ce0 41 52 4e 29 09 24 28 54 4f 50 29 5c 65 78 74 5c  ARN).$(TOP)\ext\
10cf0 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78  expert\sqlite3ex
10d00 70 65 72 74 2e 63 20 24 28 54 4f 50 29 5c 65 78  pert.c $(TOP)\ex
10d10 74 5c 65 78 70 65 72 74 5c 65 78 70 65 72 74 2e  t\expert\expert.
10d20 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
10d30 54 4c 49 42 53 29 0a 0a 43 48 45 43 4b 45 52 5f  TLIBS)..CHECKER_
10d40 44 45 50 53 20 3d 5c 0a 20 20 24 28 54 4f 50 29  DEPS =\.  $(TOP)
10d50 2f 74 6f 6f 6c 2f 6d 6b 63 63 6f 64 65 2e 74 63  /tool/mkccode.tc
10d60 6c 20 5c 0a 20 20 73 71 6c 69 74 65 33 2e 63 20  l \.  sqlite3.c 
10d70 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74  \.  $(TOP)/src/t
10d80 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24  clsqlite.c \.  $
10d90 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61 69 72  (TOP)/ext/repair
10da0 2f 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72  /sqlite3_checker
10db0 2e 74 63 6c 20 5c 0a 20 20 24 28 54 4f 50 29 2f  .tcl \.  $(TOP)/
10dc0 65 78 74 2f 72 65 70 61 69 72 2f 63 68 65 63 6b  ext/repair/check
10dd0 69 6e 64 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f  index.c \.  $(TO
10de0 50 29 2f 65 78 74 2f 72 65 70 61 69 72 2f 63 68  P)/ext/repair/ch
10df0 65 63 6b 66 72 65 65 6c 69 73 74 2e 63 20 5c 0a  eckfreelist.c \.
10e00 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 6d 69 73    $(TOP)/ext/mis
10e10 63 2f 62 74 72 65 65 69 6e 66 6f 2e 63 20 5c 0a  c/btreeinfo.c \.
10e20 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70    $(TOP)/ext/rep
10e30 61 69 72 2f 73 71 6c 69 74 65 33 5f 63 68 65 63  air/sqlite3_chec
10e40 6b 65 72 2e 63 2e 69 6e 0a 0a 73 71 6c 69 74 65  ker.c.in..sqlite
10e50 33 5f 63 68 65 63 6b 65 72 2e 63 3a 09 24 28 43  3_checker.c:.$(C
10e60 48 45 43 4b 45 52 5f 44 45 50 53 29 0a 09 24 28  HECKER_DEPS)..$(
10e70 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
10e80 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74  )\tool\mkccode.t
10e90 63 6c 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 65  cl $(TOP)\ext\re
10ea0 70 61 69 72 5c 73 71 6c 69 74 65 33 5f 63 68 65  pair\sqlite3_che
10eb0 63 6b 65 72 2e 63 2e 69 6e 20 3e 20 24 40 0a 0a  cker.c.in > $@..
10ec0 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e  sqlite3_checker.
10ed0 65 78 65 3a 09 73 71 6c 69 74 65 33 5f 63 68 65  exe:.sqlite3_che
10ee0 63 6b 65 72 2e 63 20 24 28 4c 49 42 52 45 53 4f  cker.c $(LIBRESO
10ef0 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  BJS)..$(LTLINK) 
10f00 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49  $(NO_WARN) -DBUI
10f10 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43  LD_sqlite -I$(TC
10f20 4c 49 4e 43 44 49 52 29 20 73 71 6c 69 74 65 33  LINCDIR) sqlite3
10f30 5f 63 68 65 63 6b 65 72 2e 63 20 5c 0a 09 09 2f  _checker.c \.../
10f40 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
10f50 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS) $(
10f60 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49  LTLIBPATHS) $(LI
10f70 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49  BRESOBJS) $(LTLI
10f80 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 64 62  BS) $(TLIBS)..db
10f90 64 75 6d 70 2e 65 78 65 3a 09 24 28 54 4f 50 29  dump.exe:.$(TOP)
10fa0 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64 75 6d 70  \ext\misc\dbdump
10fb0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
10fc0 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
10fd0 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
10fe0 20 2d 44 44 42 44 55 4d 50 5f 53 54 41 4e 44 41   -DDBDUMP_STANDA
10ff0 4c 4f 4e 45 20 24 28 54 4f 50 29 5c 65 78 74 5c  LONE $(TOP)\ext\
11000 6d 69 73 63 5c 64 62 64 75 6d 70 2e 63 20 24 28  misc\dbdump.c $(
11010 53 51 4c 49 54 45 33 43 29 20 5c 0a 09 09 2f 6c  SQLITE3C) \.../l
11020 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
11030 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c  (LTLINKOPTS) $(L
11040 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42  TLIBPATHS) $(LIB
11050 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42  RESOBJS) $(LTLIB
11060 53 29 0a 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e  S)..testloadext.
11070 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74  lo:.$(TOP)\src\t
11080 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63 0a 09 24  est_loadext.c..$
11090 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f  (LTCOMPILE) $(NO
110a0 5f 57 41 52 4e 29 20 2d 63 20 24 28 54 4f 50 29  _WARN) -c $(TOP)
110b0 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78  \src\test_loadex
110c0 74 2e 63 0a 0a 74 65 73 74 6c 6f 61 64 65 78 74  t.c..testloadext
110d0 2e 64 6c 6c 3a 09 74 65 73 74 6c 6f 61 64 65 78  .dll:.testloadex
110e0 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 24 28 4c 44  t.lo..$(LD) $(LD
110f0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
11100 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48  PTS) $(LTLIBPATH
11110 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40 20  S) /DLL /OUT:$@ 
11120 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a 0a  testloadext.lo..
11130 73 68 6f 77 64 62 2e 65 78 65 3a 09 24 28 54 4f  showdb.exe:.$(TO
11140 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63  P)\tool\showdb.c
11150 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
11160 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
11170 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) -
11180 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
11190 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  FE=0 -DSQLITE_OM
111a0 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
111b0 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f  N \...$(TOP)\too
111c0 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28 53 51 4c  l\showdb.c $(SQL
111d0 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
111e0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
111f0 4f 50 54 53 29 0a 0a 73 68 6f 77 73 74 61 74 34  OPTS)..showstat4
11200 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
11210 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63 20 24 28  l\showstat4.c $(
11220 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
11230 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
11240 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
11250 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
11260 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  0 -DSQLITE_OMIT_
11270 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c  LOAD_EXTENSION \
11280 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  ...$(TOP)\tool\s
11290 68 6f 77 73 74 61 74 34 2e 63 20 24 28 53 51 4c  howstat4.c $(SQL
112a0 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
112b0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
112c0 4f 50 54 53 29 0a 0a 73 68 6f 77 6a 6f 75 72 6e  OPTS)..showjourn
112d0 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  al.exe:.$(TOP)\t
112e0 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e  ool\showjournal.
112f0 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
11300 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
11310 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
11320 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
11330 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f  AFE=0 -DSQLITE_O
11340 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
11350 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f  ON \...$(TOP)\to
11360 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63  ol\showjournal.c
11370 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li
11380 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
11390 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f  LTLINKOPTS)..sho
113a0 77 77 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29  wwal.exe:.$(TOP)
113b0 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63 20  \tool\showwal.c 
113c0 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
113d0 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
113e0 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
113f0 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
11400 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  E=0 -DSQLITE_OMI
11410 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e  T_LOAD_EXTENSION
11420 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c   \...$(TOP)\tool
11430 5c 73 68 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c  \showwal.c $(SQL
11440 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
11450 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
11460 4f 50 54 53 29 0a 0a 73 68 6f 77 73 68 6d 2e 65  OPTS)..showshm.e
11470 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
11480 73 68 6f 77 73 68 6d 2e 63 0a 09 24 28 4c 54 4c  showshm.c..$(LTL
11490 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 09  INK) $(NO_WARN).
114a0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show
114b0 73 68 6d 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44  shm.c /link $(LD
114c0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
114d0 50 54 53 29 0a 0a 63 68 61 6e 67 65 73 65 74 2e  PTS)..changeset.
114e0 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  exe:.$(TOP)\ext\
114f0 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65  session\changese
11500 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
11510 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
11520 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
11530 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
11540 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
11550 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
11560 53 49 4f 4e 20 5c 0a 09 09 2d 44 53 51 4c 49 54  SION \...-DSQLIT
11570 45 5f 45 4e 41 42 4c 45 5f 53 45 53 53 49 4f 4e  E_ENABLE_SESSION
11580 3d 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  =1 -DSQLITE_ENAB
11590 4c 45 5f 50 52 45 55 50 44 41 54 45 5f 48 4f 4f  LE_PREUPDATE_HOO
115a0 4b 3d 31 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65  K=1 \...$(TOP)\e
115b0 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67  xt\session\chang
115c0 65 73 65 74 2e 63 20 24 28 53 51 4c 49 54 45 33  eset.c $(SQLITE3
115d0 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
115e0 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
115f0 29 0a 0a 66 74 73 33 76 69 65 77 2e 65 78 65 3a  )..fts3view.exe:
11600 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
11610 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63  \tool\fts3view.c
11620 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
11630 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
11640 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) -
11650 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
11660 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  FE=0 -DSQLITE_OM
11670 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
11680 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74  N \...$(TOP)\ext
11690 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 74 73 33 76  \fts3\tool\fts3v
116a0 69 65 77 2e 63 20 24 28 53 51 4c 49 54 45 33 43  iew.c $(SQLITE3C
116b0 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
116c0 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
116d0 0a 0a 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e  ..rollback-test.
116e0 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool
116f0 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63  \rollback-test.c
11700 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
11710 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
11720 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) -
11730 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
11740 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  FE=0 -DSQLITE_OM
11750 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
11760 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f  N \...$(TOP)\too
11770 6c 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e  l\rollback-test.
11780 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
11790 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
117a0 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4c 6f  (LTLINKOPTS)..Lo
117b0 67 45 73 74 2e 65 78 65 3a 09 24 28 54 4f 50 29  gEst.exe:.$(TOP)
117c0 5c 74 6f 6f 6c 5c 6c 6f 67 65 73 74 2e 63 20 24  \tool\logest.c $
117d0 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
117e0 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
117f0 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 4c 6f 67   $(TOP)\tool\Log
11800 45 73 74 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44  Est.c /link $(LD
11810 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
11820 50 54 53 29 0a 0a 77 6f 72 64 63 6f 75 6e 74 2e  PTS)..wordcount.
11830 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74  exe:.$(TOP)\test
11840 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24 28 53  \wordcount.c $(S
11850 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
11860 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
11870 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
11880 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
11890 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
118a0 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
118b0 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 77 6f  ..$(TOP)\test\wo
118c0 72 64 63 6f 75 6e 74 2e 63 20 24 28 53 51 4c 49  rdcount.c $(SQLI
118d0 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
118e0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
118f0 50 54 53 29 0a 0a 73 70 65 65 64 74 65 73 74 31  PTS)..speedtest1
11900 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73  .exe:.$(TOP)\tes
11910 74 5c 73 70 65 65 64 74 65 73 74 31 2e 63 20 24  t\speedtest1.c $
11920 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
11930 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
11940 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 53  ) $(NO_WARN) $(S
11950 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  T_COMPILE_OPTS) 
11960 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f  -DSQLITE_OMIT_LO
11970 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09  AD_EXTENSION \..
11980 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 70 65  .$(TOP)\test\spe
11990 65 64 74 65 73 74 31 2e 63 20 24 28 53 51 4c 49  edtest1.c $(SQLI
119a0 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
119b0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
119c0 50 54 53 29 0a 0a 6b 76 74 65 73 74 2e 65 78 65  PTS)..kvtest.exe
119d0 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 6b 76  :.$(TOP)\test\kv
119e0 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33  test.c $(SQLITE3
119f0 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
11a00 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
11a10 41 52 4e 29 20 24 28 4b 56 5f 43 4f 4d 50 49 4c  ARN) $(KV_COMPIL
11a20 45 5f 4f 50 54 53 29 20 5c 0a 09 09 24 28 54 4f  E_OPTS) \...$(TO
11a30 50 29 5c 74 65 73 74 5c 6b 76 74 65 73 74 2e 63  P)\test\kvtest.c
11a40 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li
11a50 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
11a60 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 64 62 73  LTLINKOPTS)..dbs
11a70 65 6c 66 74 65 73 74 2e 65 78 65 3a 09 24 28 54  elftest.exe:.$(T
11a80 4f 50 29 5c 74 65 73 74 5c 64 62 73 65 6c 66 74  OP)\test\dbselft
11a90 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  est.c $(SQLITE3C
11aa0 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
11ab0 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
11ac0 52 4e 29 20 24 28 44 42 53 45 4c 46 54 45 53 54  RN) $(DBSELFTEST
11ad0 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
11ae0 28 54 4f 50 29 5c 74 65 73 74 5c 64 62 73 65 6c  (TOP)\test\dbsel
11af0 66 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45  ftest.c $(SQLITE
11b00 33 43 29 0a 0a 72 62 75 2e 65 78 65 3a 09 24 28  3C)..rbu.exe:.$(
11b10 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72 62 75  TOP)\ext\rbu\rbu
11b20 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62  .c $(TOP)\ext\rb
11b30 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20 24  u\sqlite3rbu.c $
11b40 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
11b50 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
11b60 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
11b70 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52 42 55  QLITE_ENABLE_RBU
11b80 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74 5c   \...$(TOP)\ext\
11b90 72 62 75 5c 72 62 75 2e 63 20 24 28 53 51 4c 49  rbu\rbu.c $(SQLI
11ba0 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
11bb0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
11bc0 50 54 53 29 0a 0a 4c 53 4d 44 49 52 3d 24 28 54  PTS)..LSMDIR=$(T
11bd0 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 0a 21 49 4e  OP)\ext\lsm1.!IN
11be0 43 4c 55 44 45 20 24 28 4c 53 4d 44 49 52 29 5c  CLUDE $(LSMDIR)\
11bf0 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 0a 0a 6d 6f  Makefile.msc..mo
11c00 72 65 63 6c 65 61 6e 3a 09 63 6c 65 61 6e 0a 09  reclean:.clean..
11c10 64 65 6c 20 2f 51 20 24 28 53 51 4c 49 54 45 33  del /Q $(SQLITE3
11c20 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 20 32  C) $(SQLITE3H) 2
11c30 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  >NUL.# <</mark>>
11c40 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65 6c 20 2f 51  ..clean:..del /Q
11c50 20 2a 2e 65 78 70 20 2a 2e 6c 6f 20 2a 2e 69 6c   *.exp *.lo *.il
11c60 6b 20 2a 2e 6c 69 62 20 2a 2e 6f 62 6a 20 2a 2e  k *.lib *.obj *.
11c70 6e 63 62 20 2a 2e 70 64 62 20 2a 2e 73 64 66 20  ncb *.pdb *.sdf 
11c80 2a 2e 73 75 6f 20 32 3e 4e 55 4c 0a 09 64 65 6c  *.suo 2>NUL..del
11c90 20 2f 51 20 2a 2e 62 73 63 20 2a 2e 64 65 66 20   /Q *.bsc *.def 
11ca0 2a 2e 63 6f 64 20 2a 2e 64 61 20 2a 2e 62 62 20  *.cod *.da *.bb 
11cb0 2a 2e 62 62 67 20 2a 2e 76 63 20 67 6d 6f 6e 2e  *.bbg *.vc gmon.
11cc0 6f 75 74 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  out 2>NUL..del /
11cd0 51 20 24 28 53 51 4c 49 54 45 33 45 58 45 29 20  Q $(SQLITE3EXE) 
11ce0 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 20 52 65  $(SQLITE3DLL) Re
11cf0 70 6c 61 63 65 2e 65 78 65 20 32 3e 4e 55 4c 0a  place.exe 2>NUL.
11d00 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 09 64 65 6c 20  # <<mark>>..del 
11d10 2f 51 20 73 71 6c 69 74 65 33 2e 63 20 73 71 6c  /Q sqlite3.c sql
11d20 69 74 65 33 2e 68 20 32 3e 4e 55 4c 0a 09 64 65  ite3.h 2>NUL..de
11d30 6c 20 2f 51 20 6f 70 63 6f 64 65 73 2e 63 20 6f  l /Q opcodes.c o
11d40 70 63 6f 64 65 73 2e 68 20 32 3e 4e 55 4c 0a 09  pcodes.h 2>NUL..
11d50 64 65 6c 20 2f 51 20 6c 65 6d 6f 6e 2e 2a 20 6c  del /Q lemon.* l
11d60 65 6d 70 61 72 2e 63 20 70 61 72 73 65 2e 2a 20  empar.c parse.* 
11d70 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6d 6b  2>NUL..del /Q mk
11d80 73 6f 75 72 63 65 69 64 2e 2a 20 6d 6b 6b 65 79  sourceid.* mkkey
11d90 77 6f 72 64 68 61 73 68 2e 2a 20 6b 65 79 77 6f  wordhash.* keywo
11da0 72 64 68 61 73 68 2e 68 20 32 3e 4e 55 4c 0a 09  rdhash.h 2>NUL..
11db0 64 65 6c 20 2f 51 20 6e 6f 74 61 73 68 61 72 65  del /Q notashare
11dc0 64 6c 69 62 2e 2a 20 32 3e 4e 55 4c 0a 09 2d 72  dlib.* 2>NUL..-r
11dd0 6d 64 69 72 20 2f 51 2f 53 20 2e 64 65 70 73 20  mdir /Q/S .deps 
11de0 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51  2>NUL..-rmdir /Q
11df0 2f 53 20 2e 6c 69 62 73 20 32 3e 4e 55 4c 0a 09  /S .libs 2>NUL..
11e00 2d 72 6d 64 69 72 20 2f 51 2f 53 20 74 73 72 63  -rmdir /Q/S tsrc
11e10 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2e   2>NUL..del /Q .
11e20 74 61 72 67 65 74 5f 73 6f 75 72 63 65 20 32 3e  target_source 2>
11e30 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 63 6c 73  NUL..del /Q tcls
11e40 71 6c 69 74 65 33 2e 65 78 65 20 24 28 53 51 4c  qlite3.exe $(SQL
11e50 49 54 45 54 43 4c 48 29 20 24 28 53 51 4c 49 54  ITETCLH) $(SQLIT
11e60 45 54 43 4c 44 45 43 4c 53 48 29 20 32 3e 4e 55  ETCLDECLSH) 2>NU
11e70 4c 0a 09 64 65 6c 20 2f 51 20 6c 73 6d 2e 64 6c  L..del /Q lsm.dl
11e80 6c 20 6c 73 6d 74 65 73 74 2e 65 78 65 20 32 3e  l lsmtest.exe 2>
11e90 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 74  NUL..del /Q test
11ea0 6c 6f 61 64 65 78 74 2e 64 6c 6c 20 32 3e 4e 55  loadext.dll 2>NU
11eb0 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 74 66 69  L..del /Q testfi
11ec0 78 74 75 72 65 2e 65 78 65 20 74 65 73 74 2e 64  xture.exe test.d
11ed0 62 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  b 2>NUL..del /Q 
11ee0 4c 6f 67 45 73 74 2e 65 78 65 20 66 74 73 33 76  LogEst.exe fts3v
11ef0 69 65 77 2e 65 78 65 20 72 6f 6c 6c 62 61 63 6b  iew.exe rollback
11f00 2d 74 65 73 74 2e 65 78 65 20 73 68 6f 77 64 62  -test.exe showdb
11f10 2e 65 78 65 20 64 62 64 75 6d 70 2e 65 78 65 20  .exe dbdump.exe 
11f20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 63 68  2>NUL..del /Q ch
11f30 61 6e 67 65 73 65 74 2e 65 78 65 20 32 3e 4e 55  angeset.exe 2>NU
11f40 4c 0a 09 64 65 6c 20 2f 51 20 73 68 6f 77 6a 6f  L..del /Q showjo
11f50 75 72 6e 61 6c 2e 65 78 65 20 73 68 6f 77 73 74  urnal.exe showst
11f60 61 74 34 2e 65 78 65 20 73 68 6f 77 77 61 6c 2e  at4.exe showwal.
11f70 65 78 65 20 73 70 65 65 64 74 65 73 74 31 2e 65  exe speedtest1.e
11f80 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  xe 2>NUL..del /Q
11f90 20 6d 70 74 65 73 74 65 72 2e 65 78 65 20 77 6f   mptester.exe wo
11fa0 72 64 63 6f 75 6e 74 2e 65 78 65 20 72 62 75 2e  rdcount.exe rbu.
11fb0 65 78 65 20 73 72 63 63 6b 31 2e 65 78 65 20 32  exe srcck1.exe 2
11fc0 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c  >NUL..del /Q sql
11fd0 69 74 65 33 2e 63 20 73 71 6c 69 74 65 33 2d 2a  ite3.c sqlite3-*
11fe0 2e 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  .c 2>NUL..del /Q
11ff0 20 73 71 6c 69 74 65 33 72 63 2e 68 20 32 3e 4e   sqlite3rc.h 2>N
12000 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68 65 6c 6c  UL..del /Q shell
12010 2e 63 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20  .c sqlite3ext.h 
12020 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 68  sqlite3session.h
12030 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73   2>NUL..del /Q s
12040 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
12050 65 78 65 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c  exe sqlite3_anal
12060 79 7a 65 72 2e 63 20 32 3e 4e 55 4c 0a 09 64 65  yzer.c 2>NUL..de
12070 6c 20 2f 51 20 73 71 6c 69 74 65 2d 2a 2d 6f 75  l /Q sqlite-*-ou
12080 74 70 75 74 2e 76 73 69 78 20 32 3e 4e 55 4c 0a  tput.vsix 2>NUL.
12090 09 64 65 6c 20 2f 51 20 66 75 7a 7a 65 72 73 68  .del /Q fuzzersh
120a0 65 6c 6c 2e 65 78 65 20 66 75 7a 7a 63 68 65 63  ell.exe fuzzchec
120b0 6b 2e 65 78 65 20 73 71 6c 64 69 66 66 2e 65 78  k.exe sqldiff.ex
120c0 65 20 64 62 68 61 73 68 2e 65 78 65 20 32 3e 4e  e dbhash.exe 2>N
120d0 55 4c 0a 09 64 65 6c 20 2f 51 20 66 74 73 35 2e  UL..del /Q fts5.
120e0 2a 20 66 74 73 35 70 61 72 73 65 2e 2a 20 32 3e  * fts5parse.* 2>
120f0 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 73 6d 2e  NUL..del /Q lsm.
12100 68 20 6c 73 6d 31 2e 63 20 32 3e 4e 55 4c 0a 23  h lsm1.c 2>NUL.#
12110 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a                  <</mark>>.